diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 263bace8b8..29f1701b43 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -10,7 +10,7 @@ repos: - id: isort - repo: https://github.com/psf/black - rev: 23.7.0 + rev: 23.9.1 hooks: - id: black name: black diff --git a/pyproject.toml b/pyproject.toml index cfb46a3f4d..3f240d1bbf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["setuptools>=51.1.1", "wheel", "setuptools_scm[toml]>=5.0"] +requires = ["setuptools>=51.1.1", "wheel", "setuptools_scm[toml]>=5.0,<8"] [tool.mypy] exclude = ["build/", "dist/", "docs/", "tests/integration/cli/projects/"] diff --git a/setup.cfg b/setup.cfg index 6492cbd8be..664d5c307e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -5,6 +5,7 @@ exclude = docs build .eggs + tests/integration/cli/projects per-file-ignores = # Need signal handler before imports src/ape/__init__.py: E402 diff --git a/setup.py b/setup.py index 98cd45f630..28bf4c257c 100644 --- a/setup.py +++ b/setup.py @@ -18,7 +18,7 @@ "hypothesis-jsonschema==0.19.0", # JSON Schema fuzzer extension ], "lint": [ - "black>=23.7.0,<24", # Auto-formatter and linter + "black>=23.9.1,<24", # Auto-formatter and linter "mypy>=1.5.1,<2", # Static type analyzer "types-PyYAML", # Needed due to mypy typeshed "types-requests", # Needed due to mypy typeshed @@ -123,7 +123,7 @@ "web3[tester]>=6.7.0,<7", # ** Dependencies maintained by ApeWorX ** "eip712>=0.2.1,<0.3", - "ethpm-types>=0.5.5,<0.6", + "ethpm-types>=0.5.6,<0.6", "evm-trace>=0.1.0a23", ], entry_points={ diff --git a/src/ape/api/address.py b/src/ape/api/address.py index ae4e460e3b..9a14195bac 100644 --- a/src/ape/api/address.py +++ b/src/ape/api/address.py @@ -5,7 +5,6 @@ from ape.exceptions import ConversionError from ape.types import AddressType, ContractCode from ape.utils import BaseInterface, abstractmethod, cached_property -from ape.utils.abi import _convert_kwargs if TYPE_CHECKING: from ape.api.transactions import ReceiptAPI, TransactionAPI @@ -167,7 +166,7 @@ def history(self) -> "AccountHistory": return self.chain_manager.history[self.address] def as_transaction(self, **kwargs) -> "TransactionAPI": - converted_kwargs = _convert_kwargs(kwargs, self.conversion_manager.convert) + converted_kwargs = self.conversion_manager.convert_method_kwargs(kwargs) return self.provider.network.ecosystem.create_transaction( receiver=self.address, **converted_kwargs ) diff --git a/src/ape/api/config.py b/src/ape/api/config.py index 6bceb1b3ab..d683da2aea 100644 --- a/src/ape/api/config.py +++ b/src/ape/api/config.py @@ -40,7 +40,7 @@ def update(root: Dict, value_map: Dict): return cls(**update(default_values, overrides)) def __getattr__(self, attr_name: str) -> Any: - # allow hyphens in plugin config files + # Allow hyphens in plugin config files. attr_name = attr_name.replace("-", "_") return super().__getattribute__(attr_name) diff --git a/src/ape/api/networks.py b/src/ape/api/networks.py index 4d76b28b55..02339dc140 100644 --- a/src/ape/api/networks.py +++ b/src/ape/api/networks.py @@ -25,6 +25,7 @@ from ape.utils import ( DEFAULT_TRANSACTION_ACCEPTANCE_TIMEOUT, BaseInterfaceModel, + ExtraModelAttributes, ManagerAccessMixin, abstractmethod, cached_property, @@ -115,7 +116,7 @@ def encode_contract_blueprint( # type: ignore[empty-body] or Starknet's ``Declare`` transaction type. Args: - contract (``ContractType``): The type of contract to create a blueprint for. + contract_type (``ContractType``): The type of contract to create a blueprint for. This is the type of contract that will get created by factory contracts. *args: Calldata, if applicable. **kwargs: Transaction specifications, such as ``value``. @@ -142,9 +143,9 @@ def serialize_transaction(self, transaction: "TransactionAPI") -> bytes: unsigned_txn = serializable_unsigned_transaction_from_dict(txn_data) signature = ( - self.signature.v, # type: ignore - to_int(self.signature.r), # type: ignore - to_int(self.signature.s), # type: ignore + self.signature.v, + to_int(self.signature.r), + to_int(self.signature.s), ) signed_txn = encode_transaction(unsigned_txn, signature) @@ -221,45 +222,13 @@ def __post_init__(self): if len(self.networks) == 0: raise NetworkError("Must define at least one network in ecosystem") - def __getitem__(self, network_name: str) -> "NetworkAPI": - """ - Get a network by name. - - Raises: - :class:`~ape.exceptions.NetworkNotFoundError`: - When there is no network with the given name. - - Args: - network_name (str): The name of the network to retrieve. - - Returns: - :class:`~ape.api.networks.NetworkAPI` - """ - return self.get_network(network_name) - - def __getattr__(self, network_name: str) -> "NetworkAPI": - """ - Get a network by name using ``.`` access. - - Usage example:: - - from ape import networks - mainnet = networks.ecosystem.mainnet - - Raises: - :class:`~ape.exceptions.NetworkNotFoundError`: - When there is no network with the given name. - - Args: - network_name (str): The name of the network to retrieve. - - Returns: - :class:`~ape.api.networks.NetworkAPI` - """ - try: - return self.get_network(network_name.replace("_", "-")) - except NetworkNotFoundError: - return self.__getattribute__(network_name) + def __ape_extra_attributes__(self) -> Iterator[ExtraModelAttributes]: + yield ExtraModelAttributes( + name="networks", + attributes=self.networks, + include_getattr=True, + include_getitem=True, + ) def add_network(self, network_name: str, network: "NetworkAPI"): """ @@ -565,9 +534,11 @@ class ProviderContextManager(ManagerAccessMixin): connected_providers: Dict[str, "ProviderAPI"] = {} provider_stack: List[str] = [] + disconnect_map: Dict[str, bool] = {} - def __init__(self, provider: "ProviderAPI"): + def __init__(self, provider: "ProviderAPI", disconnect_after: bool = False): self._provider = provider + self._disconnect_after = disconnect_after @property def empty(self) -> bool: @@ -589,6 +560,7 @@ def push_provider(self): raise ProviderNotConnectedError() self.provider_stack.append(provider_id) + self.disconnect_map[provider_id] = self._disconnect_after if provider_id in self.connected_providers: # Using already connected instance if must_connect: @@ -609,6 +581,12 @@ def pop_provider(self): # Clear last provider exiting_provider_id = self.provider_stack.pop() + + # Disconnect the provider in same cases. + if self.disconnect_map[exiting_provider_id]: + if provider := self.network_manager.active_provider: + provider.disconnect() + if not self.provider_stack: self.network_manager.active_provider = None return @@ -619,8 +597,7 @@ def pop_provider(self): # Active provider is not changing return - previous_provider = self.connected_providers[previous_provider_id] - if previous_provider: + if previous_provider := self.connected_providers[previous_provider_id]: self.network_manager.active_provider = previous_provider def disconnect_all(self): @@ -678,7 +655,7 @@ def create_adhoc_network(cls) -> "NetworkAPI": return cls( name="adhoc", ecosystem=ethereum, - data_folder=data_folder, + data_folder=Path(data_folder), request_header=request_header, _default_provider="geth", ) @@ -889,6 +866,7 @@ def use_provider( self, provider_name: str, provider_settings: Optional[Dict] = None, + disconnect_after: bool = False, ) -> ProviderContextManager: """ Use and connect to a provider in a temporary context. When entering the context, it calls @@ -905,6 +883,9 @@ def use_provider( Args: provider_name (str): The name of the provider to use. + disconnect_after (bool): Set to ``True`` to force a disconnect after ending + the context. This defaults to ``False`` so you can re-connect to the + same network, such as in a multi-chain testing scenario. provider_settings (dict, optional): Settings to apply to the provider. Defaults to ``None``. @@ -913,9 +894,8 @@ def use_provider( """ settings = provider_settings or {} - return ProviderContextManager( - provider=self.get_provider(provider_name=provider_name, provider_settings=settings), - ) + provider = self.get_provider(provider_name=provider_name, provider_settings=settings) + return ProviderContextManager(provider=provider, disconnect_after=disconnect_after) @property def default_provider(self) -> Optional[str]: @@ -955,7 +935,9 @@ def set_default_provider(self, provider_name: str): raise NetworkError(f"Provider '{provider_name}' not found in network '{self.choice}'.") def use_default_provider( - self, provider_settings: Optional[Dict] = None + self, + provider_settings: Optional[Dict] = None, + disconnect_after: bool = False, ) -> ProviderContextManager: """ Temporarily connect and use the default provider. When entering the context, it calls @@ -973,13 +955,18 @@ def use_default_provider( Args: provider_settings (dict, optional): Settings to override the provider. + disconnect_after (bool): Set to ``True`` to force a disconnect after ending + the context. This defaults to ``False`` so you can re-connect to the + same network, such as in a multi-chain testing scenario. Returns: :class:`~ape.api.networks.ProviderContextManager` """ if self.default_provider: settings = provider_settings or {} - return self.use_provider(self.default_provider, provider_settings=settings) + return self.use_provider( + self.default_provider, provider_settings=settings, disconnect_after=disconnect_after + ) raise NetworkError(f"No providers for network '{self.name}'.") diff --git a/src/ape/api/projects.py b/src/ape/api/projects.py index 189066e994..7ff8c899ae 100644 --- a/src/ape/api/projects.py +++ b/src/ape/api/projects.py @@ -1,19 +1,19 @@ import os.path +import re import tempfile from pathlib import Path -from typing import TYPE_CHECKING, Any, Dict, List, Optional, Union +from typing import TYPE_CHECKING, Any, Dict, Iterator, List, Optional, Union from ethpm_types import Checksum, ContractType, PackageManifest, Source from ethpm_types.manifest import PackageName -from ethpm_types.utils import AnyUrl, compute_checksum +from ethpm_types.utils import Algorithm, AnyUrl, compute_checksum from packaging.version import InvalidVersion, Version from pydantic import ValidationError -from yaml import safe_dump -from ape.exceptions import ApeAttributeError from ape.logging import logger from ape.utils import ( BaseInterfaceModel, + ExtraModelAttributes, abstractmethod, cached_property, get_all_files_in_directory, @@ -200,13 +200,21 @@ def _create_source_dict( source_dict: Dict[str, Source] = {} for source_path in filepaths: key = str(get_relative_path(source_path, base_path)) + + try: + text = source_path.read_text("utf8") + except UnicodeDecodeError: + # Let it attempt to find the encoding. + # (this is much slower and a-typical). + text = source_path.read_text() + source_dict[key] = Source( checksum=Checksum( - algorithm="md5", + algorithm=Algorithm.MD5, hash=compute_checksum(source_path.read_bytes()), ), urls=[], - content=source_path.read_text("utf8"), + content=text, imports=source_imports.get(key, []), references=source_references.get(key, []), ) @@ -251,6 +259,14 @@ class DependencyAPI(BaseInterfaceModel): def __repr__(self): return f"<{self.__class__.__name__} name='{self.name}'>" + def __ape_extra_attributes__(self) -> Iterator[ExtraModelAttributes]: + yield ExtraModelAttributes( + name=self.name, + attributes=self.contracts, + include_getattr=True, + include_getitem=True, + ) + @property @abstractmethod def version_id(self) -> str: @@ -313,45 +329,19 @@ def cached_manifest(self) -> Optional[PackageManifest]: return self._cached_manifest - def __getitem__(self, contract_name: str) -> "ContractContainer": - try: - container = self.get(contract_name) - except Exception as err: - raise IndexError(str(err)) from err - - if not container: - raise IndexError(f"Contract '{contract_name}' not found.") - - return container - - def __getattr__(self, contract_name: str) -> "ContractContainer": - try: - return self.__getattribute__(contract_name) - except AttributeError: - pass - - try: - container = self.get(contract_name) - except Exception as err: - raise ApeAttributeError( - f"Dependency project '{self.name}' has no contract " - f"or attribute '{contract_name}'.\n{err}" - ) from err - - if not container: - raise ApeAttributeError( - f"Dependency project '{self.name}' has no contract '{contract_name}'." - ) - - return container + @cached_property + def contracts(self) -> Dict[str, "ContractContainer"]: + """ + A mapping of name to contract type of all the contracts + in this dependency. + """ + return { + n: self.chain_manager.contracts.get_container(c) + for n, c in (self.compile().contract_types or {}).items() + } def get(self, contract_name: str) -> Optional["ContractContainer"]: - manifest = self.compile() - if hasattr(manifest, contract_name): - contract_type = getattr(manifest, contract_name) - return self.chain_manager.contracts.get_container(contract_type) - - return None + return self.contracts.get(contract_name) def compile(self, use_cache: bool = True) -> PackageManifest: """ @@ -370,105 +360,25 @@ def compile(self, use_cache: bool = True) -> PackageManifest: # Already compiled return manifest - sources = manifest.sources or {} # NOTE: Already handled excluded files - compilers_touched = [] + # Figure the config data needed to compile this dependency. + # Use a combination of looking at the manifest's other artifacts + # as well, config overrides, and the base project's config. + config_data: Dict[str, Any] = { + **_get_compile_configs_from_manifest(manifest), + **_get_dependency_configs_from_manifest(manifest), + **self.config_override, + } + with tempfile.TemporaryDirectory() as temp_dir: - project = self._get_project(Path(temp_dir)) - contracts_folder = project.contracts_folder.absolute() - contracts_folder.mkdir(parents=True, exist_ok=True) - for source_id, source_obj in sources.items(): - content = source_obj.content or "" - absolute_path = contracts_folder / source_id - source_path = contracts_folder / get_relative_path( - absolute_path, contracts_folder.absolute() - ) - - # Create content, including sub-directories. - source_path.parent.mkdir(parents=True, exist_ok=True) - source_path.touch() - source_path.write_text(str(content)) - - # Handle import remapping entries indicated in the manifest file - target_config_file = project.path / project.config_file_name - packages_used = set() - config_data: Dict[str, Any] = {} - for compiler in [x for x in manifest.compilers or [] if x.settings]: - name = compiler.name.lower() - compiler_data = {} - settings = compiler.settings or {} - remapping_list = [] - for remapping in settings.get("remappings") or []: - parts = remapping.split("=") - key = parts[0] - link = parts[1] - if link.startswith(f".cache{os.path.sep}"): - link = os.path.sep.join(link.split(f".cache{os.path.sep}"))[1:] - - packages_used.add(link) - new_entry = f"{key}={link}" - remapping_list.append(new_entry) - - if remapping_list: - compiler_data["import_remapping"] = remapping_list - - if "evm_version" in settings: - compiler_data["evm_version"] = settings["evm_version"] - - for key, setting in self.config_override.items(): - if key == compiler.name.strip().lower(): - compiler_data = {**compiler_data, **setting} - compilers_touched.append(key) - break - - if compiler_data: - config_data[name] = compiler_data - - # Handle dependencies indicated in the manifest file - dependencies_config: List[Dict] = [] - dependencies = manifest.dependencies or {} - dependencies_used = { - p: d for p, d in dependencies.items() if any(p.lower() in x for x in packages_used) - } - for package_name, uri in dependencies_used.items(): - if "://" not in str(uri) and hasattr(uri, "scheme"): - uri_str = f"{uri.scheme}://{uri}" - else: - uri_str = str(uri) - - dependency = {"name": str(package_name)} - if uri_str.startswith("https://"): - # Assume GitHub dependency - version = uri_str.split("/")[-1] - dependency["github"] = uri_str.replace(f"/releases/tag/{version}", "") - dependency["github"] = dependency["github"].replace("https://github.com/", "") - - # NOTE: If version fails, the dependency system will automatically try `ref`. - dependency["version"] = version - - elif uri_str.startswith("file://"): - dependency["local"] = uri_str.replace("file://", "") - - dependencies_config.append(dependency) - - if dependencies_config: - config_data["dependencies"] = dependencies_config - - # Merge compiler data - overrides = self.config_override - for name in compilers_touched: - if name in overrides and name in config_data: - config_data[name] = {**config_data[name], **overrides[name]} - del overrides[name] - - config_data = {**config_data, **overrides} - if config_data: - target_config_file.unlink(missing_ok=True) - with open(target_config_file, "w") as cf: - safe_dump(config_data, cf) - - manifest = project.create_manifest() - self._write_manifest_to_cache(manifest) - return manifest + path = Path(temp_dir) + contracts_folder = path / config_data.get("contracts_folder", "contracts") + with self.config_manager.using_project( + path, contracts_folder=contracts_folder, **config_data + ) as project: + manifest.unpack_sources(contracts_folder) + compiled_manifest = project.local_project.create_manifest() + self._write_manifest_to_cache(compiled_manifest) + return compiled_manifest def _extract_local_manifest( self, project_path: Path, use_cache: bool = True @@ -488,8 +398,8 @@ def _extract_local_manifest( with self.config_manager.using_project( project_path, contracts_folder=(project_path / self.contracts_folder).expanduser().resolve(), - ): - project = self._get_project(project_path) + ) as pm: + project = pm.local_project sources = self._get_sources(project) dependencies = self.project_manager._extract_manifest_dependencies() project_manifest = project._create_manifest( @@ -506,7 +416,10 @@ def _extract_local_manifest( return project_manifest def _get_sources(self, project: ProjectAPI) -> List[Path]: - all_sources = get_all_files_in_directory(project.contracts_folder) + escaped_extensions = [re.escape(ext) for ext in self.compiler_manager.registered_compilers] + extension_pattern = "|".join(escaped_extensions) + pattern = rf".*({extension_pattern})" + all_sources = get_all_files_in_directory(project.contracts_folder, pattern=pattern) excluded_files = set() for pattern in set(self.exclude): @@ -514,16 +427,6 @@ def _get_sources(self, project: ProjectAPI) -> List[Path]: return [s for s in all_sources if s not in excluded_files] - def _get_project(self, project_path: Path) -> ProjectAPI: - project_path = project_path.resolve() - contracts_folder = project_path / self.contracts_folder - return self.project_manager.get_project( - project_path, - contracts_folder=contracts_folder, - name=self.name, - version=self.version, - ) - def _write_manifest_to_cache(self, manifest: PackageManifest): self._target_manifest_cache_file.unlink(missing_ok=True) self._target_manifest_cache_file.parent.mkdir(exist_ok=True, parents=True) @@ -541,3 +444,59 @@ def _load_manifest_from_file(file_path: Path) -> Optional[PackageManifest]: logger.warning(f"Existing manifest file '{file_path}' corrupted. Re-building.") logger.debug(str(err)) return None + + +def _get_compile_configs_from_manifest(manifest: PackageManifest) -> Dict[str, Dict]: + configs: Dict[str, Dict] = {} + for compiler in [x for x in manifest.compilers or [] if x.settings]: + name = compiler.name.strip().lower() + compiler_data = {} + settings = compiler.settings or {} + remapping_list = [] + for remapping in settings.get("remappings") or []: + parts = remapping.split("=") + key = parts[0] + link = parts[1] + if link.startswith(f".cache{os.path.sep}"): + link = os.path.sep.join(link.split(f".cache{os.path.sep}"))[1:] + + new_entry = f"{key}={link}" + remapping_list.append(new_entry) + + if remapping_list: + compiler_data["import_remapping"] = remapping_list + + if "evm_version" in settings: + compiler_data["evm_version"] = settings["evm_version"] + + if compiler_data: + configs[name] = compiler_data + + return configs + + +def _get_dependency_configs_from_manifest(manifest: PackageManifest) -> Dict: + dependencies_config: List[Dict] = [] + dependencies = manifest.dependencies or {} + for package_name, uri in dependencies.items(): + if "://" not in str(uri) and hasattr(uri, "scheme"): + uri_str = f"{uri.scheme}://{uri}" + else: + uri_str = str(uri) + + dependency: Dict = {"name": str(package_name)} + if uri_str.startswith("https://"): + # Assume GitHub dependency + version = uri_str.split("/")[-1] + dependency["github"] = uri_str.replace(f"/releases/tag/{version}", "") + dependency["github"] = dependency["github"].replace("https://github.com/", "") + + # NOTE: If version fails, the dependency system will automatically try `ref`. + dependency["version"] = version + + elif uri_str.startswith("file://"): + dependency["local"] = uri_str.replace("file://", "") + + dependencies_config.append(dependency) + + return {"dependencies": dependencies_config} if dependencies_config else {} diff --git a/src/ape/api/providers.py b/src/ape/api/providers.py index 6c24b8cf76..30bc5bcf38 100644 --- a/src/ape/api/providers.py +++ b/src/ape/api/providers.py @@ -104,7 +104,7 @@ def convert_parent_hash(cls, data): @validator("hash", "parent_hash", pre=True) def validate_hexbytes(cls, value): # NOTE: pydantic treats these values as bytes and throws an error - if value and not isinstance(value, HexBytes): + if value and not isinstance(value, bytes): return HexBytes(value) return value @@ -723,6 +723,11 @@ class Web3Provider(ProviderAPI, ABC): _web3: Optional[Web3] = None _client_version: Optional[str] = None + def __init__(self, *args, **kwargs): + logger.create_logger("web3.RequestManager") + logger.create_logger("web3.providers.HTTPProvider") + super().__init__(*args, **kwargs) + @property def web3(self) -> Web3: """ @@ -1205,7 +1210,7 @@ def get_receipt( HexBytes(txn_hash), timeout=timeout ) except TimeExhausted as err: - raise TransactionNotFoundError(txn_hash) from err + raise TransactionNotFoundError(txn_hash, error_messsage=str(err)) from err network_config: Dict = self.network.config.dict().get(self.network.name, {}) max_retries = network_config.get("max_get_transaction_retries", DEFAULT_MAX_RETRIES_TX) @@ -1245,8 +1250,8 @@ def get_transactions_by_block(self, block_id: BlockID) -> Iterator[TransactionAP def get_transactions_by_account_nonce( self, account: AddressType, - start_nonce: int, - stop_nonce: int, + start_nonce: int = 0, + stop_nonce: int = -1, ) -> Iterator[ReceiptAPI]: if start_nonce > stop_nonce: raise ValueError("Starting nonce cannot be greater than stop nonce for search") @@ -1321,7 +1326,7 @@ def block_ranges(self, start=0, stop=None, page=None): stop_block = min(stop, start_block + page - 1) yield start_block, stop_block - def get_contract_creation_receipts( # type: ignore[empty-body] + def get_contract_creation_receipts( self, address: AddressType, start_block: int = 0, @@ -1652,7 +1657,7 @@ class SubprocessProvider(ProviderAPI): A provider that manages a process, such as for ``ganache``. """ - PROCESS_WAIT_TIMEOUT = 15 + PROCESS_WAIT_TIMEOUT: int = 15 process: Optional[Popen] = None is_stopping: bool = False diff --git a/src/ape/api/query.py b/src/ape/api/query.py index 78263a629d..19e1a98de5 100644 --- a/src/ape/api/query.py +++ b/src/ape/api/query.py @@ -1,5 +1,5 @@ from functools import lru_cache -from typing import Any, Dict, Iterator, List, Optional, Set, Type, Union +from typing import Any, Dict, Iterator, List, Optional, Sequence, Set, Type, Union from ethpm_types.abi import EventABI, MethodABI from pydantic import BaseModel, NonNegativeInt, PositiveInt, root_validator @@ -53,7 +53,9 @@ def _all_columns(Model: Type[BaseInterfaceModel]) -> Set[str]: return columns -def validate_and_expand_columns(columns: List[str], Model: Type[BaseInterfaceModel]) -> List[str]: +def validate_and_expand_columns( + columns: Sequence[str], Model: Type[BaseInterfaceModel] +) -> List[str]: if len(columns) == 1 and columns[0] == "*": # NOTE: By default, only pull explicit fields # (because they are cheap to pull, but properties might not be) @@ -92,7 +94,7 @@ def extract_fields(item, columns): class _BaseQuery(BaseModel): - columns: List[str] + columns: Sequence[str] # TODO: Support "*" from getting the EcosystemAPI fields diff --git a/src/ape/api/transactions.py b/src/ape/api/transactions.py index 2b85df8d2e..1e3ef14074 100644 --- a/src/ape/api/transactions.py +++ b/src/ape/api/transactions.py @@ -27,7 +27,13 @@ TraceFrame, TransactionSignature, ) -from ape.utils import BaseInterfaceModel, abstractmethod, cached_property, raises_not_implemented +from ape.utils import ( + BaseInterfaceModel, + ExtraModelAttributes, + abstractmethod, + cached_property, + raises_not_implemented, +) if TYPE_CHECKING: from ape.api.providers import BlockAPI @@ -118,7 +124,7 @@ def total_transfer_value(self) -> int: to submit the transaction. """ if self.max_fee is None: - raise TransactionError("Max fee must not be null.") + raise TransactionError("`self.max_fee` must not be None.") return self.value + self.max_fee @@ -261,8 +267,8 @@ class ReceiptAPI(BaseInterfaceModel): def __repr__(self) -> str: return f"<{self.__class__.__name__} {self.txn_hash}>" - def __getattr__(self, item: str) -> Any: - return getattr(self.transaction, item) + def __ape_extra_attributes__(self) -> Iterator[ExtraModelAttributes]: + yield ExtraModelAttributes(name="transaction", attributes=self.transaction) @validator("transaction", pre=True) def confirm_transaction(cls, value): diff --git a/src/ape/cli/options.py b/src/ape/cli/options.py index 47804f2621..61ebb7c90a 100644 --- a/src/ape/cli/options.py +++ b/src/ape/cli/options.py @@ -12,7 +12,7 @@ ) from ape.cli.utils import Abort from ape.exceptions import ContractError -from ape.logging import DEFAULT_LOG_LEVEL, CliLogger, LogLevel, logger +from ape.logging import DEFAULT_LOG_LEVEL, ApeLogger, LogLevel, logger from ape.managers.base import ManagerAccessMixin _VERBOSITY_VALUES = ("--verbosity", "-v") @@ -47,7 +47,7 @@ def abort(msg: str, base_error: Optional[Exception] = None) -> NoReturn: raise Abort(msg) -def verbosity_option(cli_logger: Optional[CliLogger] = None, default: str = DEFAULT_LOG_LEVEL): +def verbosity_option(cli_logger: Optional[ApeLogger] = None, default: str = DEFAULT_LOG_LEVEL): """A decorator that adds a `--verbosity, -v` option to the decorated command. """ @@ -57,7 +57,7 @@ def verbosity_option(cli_logger: Optional[CliLogger] = None, default: str = DEFA def _create_verbosity_kwargs( - _logger: Optional[CliLogger] = None, default: str = DEFAULT_LOG_LEVEL + _logger: Optional[ApeLogger] = None, default: str = DEFAULT_LOG_LEVEL ) -> Dict: cli_logger = _logger or logger diff --git a/src/ape/contracts/base.py b/src/ape/contracts/base.py index a377d7179e..a463018ea4 100644 --- a/src/ape/contracts/base.py +++ b/src/ape/contracts/base.py @@ -1,3 +1,4 @@ +import difflib import types from functools import partial from itertools import islice @@ -25,7 +26,7 @@ from ape.logging import logger from ape.types import AddressType, ContractLog, LogFilter, MockContractLog from ape.utils import ManagerAccessMixin, cached_property, singledispatchmethod -from ape.utils.abi import _convert_args, _convert_kwargs +from ape.utils.abi import StructParser class ContractConstructor(ManagerAccessMixin): @@ -54,10 +55,10 @@ def decode_input(self, calldata: bytes) -> Tuple[str, Dict[str, Any]]: return self.abi.selector, decoded_inputs def serialize_transaction(self, *args, **kwargs) -> TransactionAPI: - arguments = _convert_args(args, self.conversion_manager.convert, self.abi) - kwargs = _convert_kwargs(kwargs, self.conversion_manager.convert) + arguments = self.conversion_manager.convert_method_args(self.abi, args) + converted_kwargs = self.conversion_manager.convert_method_kwargs(kwargs) return self.provider.network.ecosystem.encode_deployment( - self.deployment_bytecode, self.abi, *arguments, **kwargs + self.deployment_bytecode, self.abi, *arguments, **converted_kwargs ) def __call__(self, private: bool = False, *args, **kwargs) -> ReceiptAPI: @@ -86,9 +87,9 @@ def __repr__(self) -> str: return self.abi.signature def serialize_transaction(self, *args, **kwargs) -> TransactionAPI: - kwargs = _convert_kwargs(kwargs, self.conversion_manager.convert) + converted_kwargs = self.conversion_manager.convert_method_kwargs(kwargs) return self.provider.network.ecosystem.encode_transaction( - self.address, self.abi, *args, **kwargs + self.address, self.abi, *args, **converted_kwargs ) def __call__(self, *args, **kwargs) -> Any: @@ -130,9 +131,9 @@ def __str__(self) -> str: def encode_input(self, *args) -> HexBytes: selected_abi = _select_method_abi(self.abis, args) - args = self._convert_tuple(args, selected_abi) + arguments = self.conversion_manager.convert_method_args(selected_abi, args) ecosystem = self.provider.network.ecosystem - encoded_calldata = ecosystem.encode_calldata(selected_abi, *args) + encoded_calldata = ecosystem.encode_calldata(selected_abi, *arguments) method_id = ecosystem.get_method_selector(selected_abi) return HexBytes(method_id + encoded_calldata) @@ -179,9 +180,6 @@ def decode_input(self, calldata: bytes) -> Tuple[str, Dict[str, Any]]: raise err - def _convert_tuple(self, v: tuple, abi) -> tuple: - return _convert_args(v, self.conversion_manager.convert, abi) - class ContractCallHandler(ContractMethodHandler): def __call__(self, *args, **kwargs) -> Any: @@ -190,12 +188,12 @@ def __call__(self, *args, **kwargs) -> Any: raise _get_non_contract_error(self.contract.address, network) selected_abi = _select_method_abi(self.abis, args) - args = self._convert_tuple(args, selected_abi) + arguments = self.conversion_manager.convert_method_args(selected_abi, args) return ContractCall( abi=selected_abi, address=self.contract.address, - )(*args, **kwargs) + )(*arguments, **kwargs) def as_transaction(self, *args, **kwargs): """ @@ -236,7 +234,7 @@ def estimate_gas_cost(self, *args, **kwargs) -> int: """ selected_abi = _select_method_abi(self.abis, args) - arguments = _convert_args(args, self.conversion_manager.convert, selected_abi) + arguments = self.conversion_manager.convert_method_args(selected_abi, args) return self.transact.estimate_gas_cost(*arguments, **kwargs) @@ -271,10 +269,10 @@ def serialize_transaction(self, *args, **kwargs) -> TransactionAPI: # Automatically impersonate contracts (if API available) when sender kwargs["sender"] = self.account_manager.test_accounts[kwargs["sender"].address] - arguments = _convert_args(args, self.conversion_manager.convert, self.abi) - kwargs = _convert_kwargs(kwargs, self.conversion_manager.convert) + arguments = self.conversion_manager.convert_method_args(self.abi, args) + converted_kwargs = self.conversion_manager.convert_method_kwargs(kwargs) return self.provider.network.ecosystem.encode_transaction( - self.address, self.abi, *arguments, **kwargs + self.address, self.abi, *arguments, **converted_kwargs ) def __call__(self, *args, **kwargs) -> ReceiptAPI: @@ -328,7 +326,7 @@ def estimate_gas_cost(self, *args, **kwargs) -> int: reported in the fee-currency's smallest unit, e.g. Wei. """ selected_abi = _select_method_abi(self.abis, args) - arguments = _convert_args(args, self.conversion_manager.convert, selected_abi) + arguments = self.conversion_manager.convert_method_args(selected_abi, args) txn = self.as_transaction(*arguments, **kwargs) return self.provider.estimate_gas_cost(txn) @@ -356,7 +354,6 @@ def _as_transaction(self, *args) -> ContractTransaction: raise _get_non_contract_error(self.contract.address, network) selected_abi = _select_method_abi(self.abis, args) - args = self._convert_tuple(args, selected_abi) return ContractTransaction( abi=selected_abi, @@ -458,7 +455,7 @@ def __len__(self): def __call__(self, *args: Any, **kwargs: Any) -> MockContractLog: # Create a dictionary from the positional arguments - event_args: Dict[Any, Any] = dict(zip((input.name for input in self.abi.inputs), args)) + event_args: Dict[Any, Any] = dict(zip((ipt.name for ipt in self.abi.inputs), args)) overlapping_keys = set(k for k in event_args.keys() if k is not None) & set( k for k in kwargs.keys() if k is not None @@ -473,24 +470,44 @@ def __call__(self, *args: Any, **kwargs: Any) -> MockContractLog: event_args.update(kwargs) # Check that event_args.keys() is a subset of the expected input names - if unknown_input_names := set(event_args.keys()) - { - input.name for input in self.abi.inputs - }: - raise ValueError( - f"Invalid argument keys found, expected subset of {', '.join(unknown_input_names)}" - ) + keys_given = set(event_args.keys()) + keys_expected = {ipt.name for ipt in self.abi.inputs} + if unknown_input_names := keys_given - keys_expected: + message = "Unknown keys: " + sections = [] + for unknown in unknown_input_names: + if matches := difflib.get_close_matches(unknown, keys_expected, n=1, cutoff=0.5): + matches_str = ", ".join(matches) + sections.append(f"{unknown} (did you mean: '{matches_str}'?)") + else: + sections.append(unknown) + + message = f"{message} '{', '.join(sections)}'" + raise ValueError(message) # Convert the arguments using the conversion manager converted_args = {} + ecosystem = self.provider.network.ecosystem + parser = StructParser(self.abi) + for key, value in event_args.items(): if value is None: continue - input_abi = next(input for input in self.abi.inputs if input.name == key) - ecosystem = self.provider.network.ecosystem + + input_abi = next(ipt for ipt in self.abi.inputs if ipt.name == key) py_type = ecosystem.get_python_types(input_abi) - converted_args[key] = self.conversion_manager.convert(value, py_type) + if isinstance(value, dict): + ls_values = list(value.values()) + converted_values = self.conversion_manager.convert(ls_values, py_type) + converted_args[key] = parser.decode_input([converted_values]) + + elif isinstance(value, (list, tuple)): + converted_args[key] = parser.decode_input(value) + + else: + converted_args[key] = self.conversion_manager.convert(value, py_type) - properties = {"event_arguments": converted_args, "event_name": self.abi.name} + properties: Dict = {"event_arguments": converted_args, "event_name": self.abi.name} if hasattr(self.contract, "address"): # Only address if this is off an instance. properties["contract_address"] = self.contract.address @@ -541,7 +558,7 @@ def query( if columns[0] == "*": columns = list(ContractLog.__fields__) # type: ignore - query = { + query: Dict = { "columns": columns, "event": self.abi, "start_block": start_block, @@ -585,7 +602,7 @@ def range( Iterator[:class:`~ape.contracts.base.ContractLog`] """ - if not hasattr(self.contract, "address"): + if not (contract_address := getattr(self.contract, "address", None)): return start_block = None @@ -594,16 +611,16 @@ def range( if stop is None: contract = None try: - contract = self.chain_manager.contracts.instance_at(self.contract.address) + contract = self.chain_manager.contracts.instance_at(contract_address) except Exception: pass if contract: start_block = contract.receipt.block_number else: - start_block = self.chain_manager.contracts.get_creation_receipt( - self.contract.address - ).block_number + cache = self.chain_manager.contracts + receipt = cache.get_creation_receipt(contract_address) + start_block = receipt.block_number stop_block = start_or_stop elif start_or_stop is not None and stop is not None: @@ -612,7 +629,7 @@ def range( stop_block = min(stop_block, self.chain_manager.blocks.height) - addresses = set([self.contract.address] + (extra_addresses or [])) + addresses = list(set([contract_address] + (extra_addresses or []))) contract_event_query = ContractEventQuery( columns=list(ContractLog.__fields__.keys()), contract=addresses, @@ -1134,7 +1151,7 @@ def __getattr__(self, attr_name: str) -> Any: if attr_name in set(super(BaseAddress, self).__dir__()): return super(BaseAddress, self).__getattribute__(attr_name) - if attr_name not in { + elif attr_name not in { *self._view_methods_, *self._mutable_methods_, *self._events_, @@ -1379,7 +1396,7 @@ def declare(self, *args, **kwargs) -> ReceiptAPI: def _get_non_contract_error(address: str, network_name: str) -> ContractError: - raise ContractError( + return ContractError( f"Unable to make contract call. " f"'{address}' is not a contract on network '{network_name}'." ) diff --git a/src/ape/exceptions.py b/src/ape/exceptions.py index 45286d9c18..f5cefa8c21 100644 --- a/src/ape/exceptions.py +++ b/src/ape/exceptions.py @@ -5,9 +5,10 @@ from inspect import getframeinfo, stack from pathlib import Path from types import CodeType, TracebackType -from typing import TYPE_CHECKING, Any, Dict, Iterator, List, Optional, Union +from typing import TYPE_CHECKING, Any, Dict, Iterator, List, Optional, Union, cast import click +from eth_typing import Hash32 from eth_utils import humanize_hash from ethpm_types.abi import ConstructorABI, ErrorABI, MethodABI from rich import print as rich_print @@ -350,8 +351,10 @@ class TransactionNotFoundError(ProviderError): Raised when unable to find a transaction. """ - def __init__(self, txn_hash: str): - super().__init__(f"Transaction '{txn_hash}' not found.") + def __init__(self, txn_hash: str, error_messsage: Optional[str] = None): + message = f"Transaction '{txn_hash}' not found." + suffix = f" Error: {error_messsage}" if error_messsage else "" + super().__init__(f"{message}{suffix}") class NetworkMismatchError(ProviderError): @@ -416,7 +419,7 @@ class UnknownSnapshotError(ChainError): def __init__(self, snapshot_id: "SnapshotID"): if isinstance(snapshot_id, bytes): # Is block hash - snapshot_id = humanize_hash(snapshot_id) # type: ignore + snapshot_id = humanize_hash(cast(Hash32, snapshot_id)) super().__init__(f"Unknown snapshot ID '{str(snapshot_id)}'.") diff --git a/src/ape/logging.py b/src/ape/logging.py index abfb38697d..04c31f4f5a 100644 --- a/src/ape/logging.py +++ b/src/ape/logging.py @@ -102,15 +102,14 @@ def emit(self, record): self.handleError(record) -class CliLogger: +class ApeLogger: _mentioned_verbosity_option = False + _extra_loggers: Dict[str, logging.Logger] = {} def __init__( self, _logger: logging.Logger, fmt: str, - web3_request_logger: Optional[logging.Logger] = None, - web3_http_logger: Optional[logging.Logger] = None, ): self.error = _logger.error self.warning = _logger.warning @@ -118,30 +117,19 @@ def __init__( self.info = _logger.info self.debug = _logger.debug self._logger = _logger - self._web3_request_manager_logger = web3_request_logger - self._web3_http_provider_logger = web3_http_logger self._load_from_sys_argv() self.fmt = fmt @classmethod - def create(cls, fmt: Optional[str] = None, third_party: bool = True) -> "CliLogger": + def create(cls, fmt: Optional[str] = None) -> "ApeLogger": fmt = fmt or DEFAULT_LOG_FORMAT - kwargs = {} - if third_party: - kwargs["web3_request_logger"] = _get_logger("web3.RequestManager", fmt=fmt) - kwargs["web3_http_logger"] = _get_logger("web3.providers.HTTPProvider", fmt=fmt) - - _logger = _get_logger("ape", fmt=fmt) - return cls(_logger, fmt, **kwargs) + _logger = get_logger("ape", fmt=fmt) + return cls(_logger, fmt) def format(self, fmt: Optional[str] = None): self.fmt = fmt or DEFAULT_LOG_FORMAT fmt = fmt or DEFAULT_LOG_FORMAT _format_logger(self._logger, fmt) - if req_log := self._web3_request_manager_logger: - _format_logger(req_log, fmt) - if prov_log := self._web3_http_provider_logger: - _format_logger(prov_log, fmt) def _load_from_sys_argv(self, default: Optional[Union[str, int]] = None): """ @@ -179,13 +167,9 @@ def set_level(self, level: Union[str, int]): if level == self._logger.level: return - for log in ( - self._logger, - self._web3_http_provider_logger, - self._web3_request_manager_logger, - ): - if obj := log: - obj.setLevel(level) + self._logger.setLevel(level) + for _logger in self._extra_loggers.values(): + _logger.setLevel(level) def log_error(self, err: Exception): """ @@ -228,9 +212,11 @@ def log_debug_stack_trace(self): stack_trace = traceback.format_exc() self._logger.debug(stack_trace) - def _clear_web3_loggers(self): - self._web3_request_manager_logger = None - self._web3_http_provider_logger = None + def create_logger(self, new_name: str) -> logging.Logger: + _logger = get_logger(new_name, self.fmt) + _logger.setLevel(self.level) + self._extra_loggers[new_name] = _logger + return _logger def _format_logger(_logger: logging.Logger, fmt: str): @@ -246,11 +232,21 @@ def _format_logger(_logger: logging.Logger, fmt: str): _logger.addHandler(handler) -def _get_logger(name: str, fmt: Optional[str] = None) -> logging.Logger: - """Get a logger with the given ``name`` and configure it for usage with Click.""" - obj = logging.getLogger(name) - _format_logger(obj, fmt=fmt or DEFAULT_LOG_FORMAT) - return obj +def get_logger(name: str, fmt: Optional[str] = None) -> logging.Logger: + """ + Get a logger with the given ``name`` and configure it for usage with Ape. + + Args: + name (str): The name of the logger. + fmt (Optional[str]): The format of the logger. Defaults to the Ape + logger's default format: ``"%(levelname)s%(plugin)s: %(message)s"``. + + Returns: + ``logging.Logger`` + """ + _logger = logging.getLogger(name) + _format_logger(_logger, fmt=fmt or DEFAULT_LOG_FORMAT) + return _logger def _get_level(level: Optional[Union[str, int]] = None) -> str: @@ -262,7 +258,10 @@ def _get_level(level: Optional[Union[str, int]] = None) -> str: return level -logger = CliLogger.create() +logger = ApeLogger.create() + +# TODO: Can remove this type alias after 0.7 +CliLogger = ApeLogger -__all__ = ["DEFAULT_LOG_LEVEL", "logger", "LogLevel"] +__all__ = ["DEFAULT_LOG_LEVEL", "logger", "LogLevel", "ApeLogger"] diff --git a/src/ape/managers/chain.py b/src/ape/managers/chain.py index fd27243fd3..537aaafc83 100644 --- a/src/ape/managers/chain.py +++ b/src/ape/managers/chain.py @@ -113,7 +113,7 @@ def __iter__(self) -> Iterator[BlockAPI]: def query( self, - *columns: List[str], + *columns: str, start_block: int = 0, stop_block: Optional[int] = None, step: int = 1, @@ -130,7 +130,7 @@ def query( than the chain length. Args: - columns (List[str]): columns in the DataFrame to return + *columns (str): columns in the DataFrame to return start_block (int): The first block, by number, to include in the query. Defaults to 0. stop_block (Optional[int]): The last block, by number, to include @@ -438,12 +438,12 @@ def outgoing(self) -> Iterator[ReceiptAPI]: start_nonce = receipt.nonce + 1 # start next loop on the next item if start_nonce != stop_nonce: - # NOTE: there is no more sessional history, so just return query engine iterator + # NOTE: there is no more session history, so just return query engine iterator yield from iter(self[start_nonce : stop_nonce + 1]) # noqa: E203 def query( self, - *columns: List[str], + *columns: str, start_nonce: int = 0, stop_nonce: Optional[int] = None, engine_to_use: Optional[str] = None, @@ -459,7 +459,7 @@ def query( than the account's current nonce. Args: - columns (List[str]): columns in the DataFrame to return + *columns (str): columns in the DataFrame to return start_nonce (int): The first transaction, by nonce, to include in the query. Defaults to 0. stop_nonce (Optional[int]): The last transaction, by nonce, to include @@ -823,12 +823,30 @@ def __delitem__(self, address: AddressType): if address in self._local_contract_types: del self._local_contract_types[address] + # Delete proxy. + if address in self._local_proxies: + info = self._local_proxies[address] + target = info.target + del self._local_proxies[address] + + # Also delete target. + if target in self._local_contract_types: + del self._local_contract_types[target] + if self._is_live_network: - if not self._contract_types_cache.is_dir(): - return + if self._contract_types_cache.is_dir(): + address_file = self._contract_types_cache / f"{address}.json" + address_file.unlink(missing_ok=True) - address_file = self._contract_types_cache / f"{address}.json" - address_file.unlink(missing_ok=True) + if self._proxy_info_cache.is_dir(): + disk_info = self._get_proxy_info_from_disk(address) + if disk_info: + target = disk_info.target + address_file = self._proxy_info_cache / f"{address}.json" + address_file.unlink() + + # Also delete the target. + self.__delitem__(target) def __contains__(self, address: AddressType) -> bool: return self.get(address) is not None @@ -1300,15 +1318,6 @@ def get_deployments(self, contract_container: ContractContainer) -> List[Contrac if not deployments: return [] - if isinstance(deployments[0], str): - # TODO: Remove this migration logic >= version 0.6.0 - logger.debug("Migrating 'deployments_map.json'.") - deployments = [{"address": a} for a in deployments] - self._deployments = { - **self._deployments, - contract_type.name: deployments, - } - instances: List[ContractInstance] = [] for deployment in deployments: address = deployment["address"] diff --git a/src/ape/managers/compilers.py b/src/ape/managers/compilers.py index d3978fa09d..30cc0dda0e 100644 --- a/src/ape/managers/compilers.py +++ b/src/ape/managers/compilers.py @@ -7,10 +7,9 @@ from ape.api import CompilerAPI from ape.exceptions import ApeAttributeError, CompilerError, ContractLogicError from ape.logging import logger +from ape.managers.base import BaseManager from ape.utils import get_relative_path -from .base import BaseManager - class CompilerManager(BaseManager): """ diff --git a/src/ape/managers/config.py b/src/ape/managers/config.py index 531c9b3b57..8512447474 100644 --- a/src/ape/managers/config.py +++ b/src/ape/managers/config.py @@ -13,7 +13,7 @@ if TYPE_CHECKING: from .project import ProjectManager -from ethpm_types import PackageMeta +from ethpm_types import BaseModel, PackageMeta CONFIG_FILE_NAME = "ape-config.yaml" @@ -28,9 +28,16 @@ class CompilerConfig(PluginConfig): """List of globular files to ignore""" -class DeploymentConfigCollection(dict): - def __init__(self, data: Dict, valid_ecosystems: Dict, valid_networks: List[str]): - for ecosystem_name, networks in data.items(): +class DeploymentConfigCollection(BaseModel): + __root__: Dict + + @root_validator(pre=True) + def validate_deployments(cls, data: Dict): + root_data = data.get("__root__", data) + valid_ecosystems = root_data.pop("valid_ecosystems", {}) + valid_networks = root_data.pop("valid_networks", {}) + valid_data: Dict = {} + for ecosystem_name, networks in root_data.items(): if ecosystem_name not in valid_ecosystems: logger.warning(f"Invalid ecosystem '{ecosystem_name}' in deployments config.") continue @@ -41,21 +48,29 @@ def __init__(self, data: Dict, valid_ecosystems: Dict, valid_networks: List[str] logger.warning(f"Invalid network '{network_name}' in deployments config.") continue + valid_deployments = [] for deployment in [d for d in contract_deployments]: - address = deployment.get("address", None) - if "address" not in deployment: + if not (address := deployment.get("address")): logger.warning( f"Missing 'address' field in deployment " f"(ecosystem={ecosystem_name}, network={network_name})" ) continue + valid_deployment = {**deployment} try: - deployment["address"] = ecosystem.decode_address(address) + valid_deployment["address"] = ecosystem.decode_address(address) except ValueError as err: logger.warning(str(err)) - super().__init__(data) + valid_deployments.append(valid_deployment) + + valid_data[ecosystem_name] = { + **valid_data.get(ecosystem_name, {}), + network_name: valid_deployments, + } + + return {"__root__": valid_data} class ConfigManager(BaseInterfaceModel): @@ -194,7 +209,11 @@ def _plugin_configs(self) -> Dict[str, PluginConfig]: valid_ecosystems = dict(self.plugin_manager.ecosystems) valid_network_names = [n[1] for n in [e[1] for e in self.plugin_manager.networks]] self.deployments = configs["deployments"] = DeploymentConfigCollection( - deployments, valid_ecosystems, valid_network_names + __root__={ + **deployments, + "valid_ecosystems": valid_ecosystems, + "valid_networks": valid_network_names, + } ) for plugin_name, config_class in self.plugin_manager.config_class: @@ -255,7 +274,7 @@ def get_config(self, plugin_name: str) -> PluginConfig: @contextmanager def using_project( - self, project_folder: Path, contracts_folder: Optional[Path] = None + self, project_folder: Path, contracts_folder: Optional[Path] = None, **config ) -> Generator["ProjectManager", None, None]: """ Temporarily change the project context. @@ -303,7 +322,7 @@ def using_project( project = self.project_manager.get_project( project_folder, contracts_folder=contracts_folder ) - clean_config = project.process_config_file(contracts_folder=contracts_folder) + clean_config = project.process_config_file(contracts_folder=contracts_folder, **config) self.load(force_reload=True) yield self.project_manager diff --git a/src/ape/managers/converters.py b/src/ape/managers/converters.py index 89ca408b4a..199c70ca9f 100644 --- a/src/ape/managers/converters.py +++ b/src/ape/managers/converters.py @@ -1,6 +1,6 @@ from datetime import datetime, timedelta, timezone from decimal import Decimal -from typing import Any, Dict, List, Tuple, Type, Union +from typing import Any, Dict, List, Sequence, Tuple, Type, Union from dateutil.parser import parse # type: ignore from eth_utils import ( @@ -12,9 +12,9 @@ to_hex, to_int, ) -from ethpm_types import HexBytes +from ethpm_types import ConstructorABI, EventABI, HexBytes, MethodABI -from ape.api import ConverterAPI +from ape.api import ConverterAPI, TransactionAPI from ape.api.address import BaseAddress from ape.exceptions import ConversionError from ape.types import AddressType @@ -291,11 +291,7 @@ def is_type(self, value: Any, type: Type) -> bool: bool: ``True`` when we consider the given value to be the given type. """ - if type is AddressType: - return is_checksum_address(value) - - else: - return isinstance(value, type) + return is_checksum_address(value) if type is AddressType else isinstance(value, type) def convert(self, value: Any, type: Union[Type, Tuple, List]) -> Any: """ @@ -356,3 +352,31 @@ def convert(self, value: Any, type: Union[Type, Tuple, List]) -> Any: raise ConversionError(message) from err raise ConversionError(f"No conversion registered to handle '{value}'.") + + def convert_method_args( + self, + abi: Union[MethodABI, ConstructorABI, EventABI], + arguments: Sequence[Any], + ): + input_types = [i.canonical_type for i in abi.inputs] + pre_processed_args = [] + for ipt, argument in zip(input_types, arguments): + # Handle primitive-addresses separately since they may not occur + # on the tuple-conversion if they are integers or bytes. + if str(ipt) == "address": + converted_value = self.convert(argument, AddressType) + pre_processed_args.append(converted_value) + else: + pre_processed_args.append(argument) + + return self.convert(pre_processed_args, tuple) + + def convert_method_kwargs(self, kwargs) -> Dict: + fields = TransactionAPI.__fields__ + + kwargs_to_convert = {k: v for k, v in kwargs.items() if k == "sender" or k in fields} + converted_fields = { + k: self.convert(v, AddressType if k == "sender" else fields[k].type_) + for k, v in kwargs_to_convert.items() + } + return {**kwargs, **converted_fields} diff --git a/src/ape/managers/networks.py b/src/ape/managers/networks.py index 89d8f4f22f..ef752fef9e 100644 --- a/src/ape/managers/networks.py +++ b/src/ape/managers/networks.py @@ -96,9 +96,11 @@ def fork( provider_settings = provider_settings or {} if provider_name: - return forked_network.use_provider(provider_name, provider_settings) + return forked_network.use_provider( + provider_name, provider_settings, disconnect_after=True + ) - return forked_network.use_default_provider(provider_settings) + return forked_network.use_default_provider(provider_settings, disconnect_after=True) @property def ecosystem_names(self) -> Set[str]: @@ -441,6 +443,7 @@ def parse_network_choice( self, network_choice: Optional[str] = None, provider_settings: Optional[Dict] = None, + disconnect_after: bool = False, ) -> ProviderContextManager: """ Parse a network choice into a context manager for managing a temporary @@ -465,7 +468,7 @@ def parse_network_choice( provider = self.get_provider_from_choice( network_choice=network_choice, provider_settings=provider_settings ) - return ProviderContextManager(provider=provider) + return ProviderContextManager(provider=provider, disconnect_after=disconnect_after) @property def default_ecosystem(self) -> EcosystemAPI: diff --git a/src/ape/managers/project/dependency.py b/src/ape/managers/project/dependency.py index 401dea90a8..803064035d 100644 --- a/src/ape/managers/project/dependency.py +++ b/src/ape/managers/project/dependency.py @@ -18,6 +18,7 @@ class DependencyManager(ManagerAccessMixin): DATA_FOLDER: Path + _cached_dependencies: Dict[str, Dict[str, Dict[str, DependencyAPI]]] = {} def __init__(self, data_folder: Path): self.DATA_FOLDER = data_folder @@ -48,6 +49,40 @@ def decode_dependency(self, config_dependency_data: Dict) -> DependencyAPI: dep_id = config_dependency_data.get("name", json.dumps(config_dependency_data)) raise ProjectError(f"No installed dependency API that supports '{dep_id}'.") + def load_dependencies( + self, project_id: str, use_cache: bool = True + ) -> Dict[str, Dict[str, DependencyAPI]]: + if use_cache and project_id in self._cached_dependencies: + return self._cached_dependencies[project_id] + + for dependency_config in self.config_manager.dependencies: + dependency_name = dependency_config.name + version_id = dependency_config.version_id + project_dependencies = self._cached_dependencies.get(project_id, {}) + + if ( + use_cache + and dependency_name in project_dependencies + and version_id in project_dependencies[dependency_name] + ): + # Already cached + continue + + # Cache manifest for next time. + if dependency_name in project_dependencies: + # Dependency is cached but version is not. + project_dependencies[dependency_name][version_id] = dependency_config + else: + # First time caching dependency + project_dependencies[dependency_name] = {version_id: dependency_config} + + self._cached_dependencies[project_id] = project_dependencies + + # Only extract manifest if wasn't cached and must happen after caching. + dependency_config.extract_manifest(use_cache=use_cache) + + return self._cached_dependencies.get(project_id, {}) + def get_versions(self, name: str) -> List[Path]: path = self.packages_folder / name if not path.is_dir(): @@ -56,7 +91,11 @@ def get_versions(self, name: str) -> List[Path]: return [x for x in path.iterdir() if x.is_dir()] - def remove_dependency(self, name: str, versions: Optional[List[str]] = None): + def remove_dependency(self, project_id: str, name: str, versions: Optional[List[str]] = None): + self._remove_local_dependency(project_id, name, versions=versions) + self._remove_disk_dependency(name, versions=versions) + + def _remove_disk_dependency(self, name: str, versions: Optional[List[str]] = None): versions = versions or [] available_versions = self.get_versions(name) if not available_versions: @@ -99,6 +138,40 @@ def remove_dependency(self, name: str, versions: Optional[List[str]] = None): if not remaining_versions: shutil.rmtree(self.packages_folder / name, ignore_errors=True) + def _remove_local_dependency( + self, project_id: str, name: str, versions: Optional[List[str]] = None + ): + versions = versions or [] + if name in self._cached_dependencies.get(project_id, {}): + versions_available = self.dependency_manager.get_versions(name) + if not versions and len(versions_available) == 1: + versions = [x.name for x in versions_available] + elif not versions: + raise ProjectError("`versions` kwarg required.") + + local_versions = self._cached_dependencies.get(project_id, {}).get(name, {}) + for version in versions: + if version in local_versions: + version_key = version + elif f"v{version}" in local_versions: + version_key = f"v{version}" + else: + logger.warning(f"Version '{version}' not installed.") + continue + + del self._cached_dependencies[project_id][name][version_key] + + # Local clean ups. + if ( + project_id in self._cached_dependencies + and name in self._cached_dependencies[project_id] + and not self._cached_dependencies[project_id][name] + ): + del self._cached_dependencies[project_id][name] + + if project_id in self._cached_dependencies and not self._cached_dependencies[project_id]: + del self._cached_dependencies[project_id] + class GithubDependency(DependencyAPI): """ @@ -214,7 +287,7 @@ class LocalDependency(DependencyAPI): """ local: str - version = "local" + version: str = "local" @root_validator() def validate_contracts_folder(cls, value): @@ -239,11 +312,7 @@ def validate_contracts_folder(cls, value): @property def path(self) -> Path: - given_path = Path(self.local).resolve().absolute() - if not given_path.is_dir(): - raise ProjectError(f"No project exists at path '{given_path}'.") - - return given_path + return Path(self.local).resolve().absolute() @property def version_id(self) -> str: @@ -251,8 +320,7 @@ def version_id(self) -> str: @property def uri(self) -> AnyUrl: - path = self._target_manifest_cache_file.resolve().absolute() - return FileUrl(f"file://{path}", scheme="file") + return FileUrl(self.path.as_uri(), scheme="file") def extract_manifest(self, use_cache: bool = True) -> PackageManifest: return self._extract_local_manifest(self.path, use_cache=use_cache) diff --git a/src/ape/managers/project/manager.py b/src/ape/managers/project/manager.py index 41945e20c8..cb77f5b9f5 100644 --- a/src/ape/managers/project/manager.py +++ b/src/ape/managers/project/manager.py @@ -1,13 +1,13 @@ import shutil from pathlib import Path -from typing import Any, Dict, Iterable, List, Optional, Type, Union +from typing import Any, Dict, Iterable, List, Optional, Type, Union, cast from ethpm_types import ContractInstance as EthPMContractInstance from ethpm_types import ContractType, PackageManifest, PackageMeta, Source from ethpm_types.contract_type import BIP122_URI from ethpm_types.manifest import PackageName from ethpm_types.source import Compiler, ContractSource -from ethpm_types.utils import AnyUrl +from ethpm_types.utils import AnyUrl, Hex from ape.api import DependencyAPI, ProjectAPI from ape.api.networks import LOCAL_NETWORK_NAME @@ -44,13 +44,14 @@ class ProjectManager(BaseManager): """The project path.""" _cached_projects: Dict[str, ProjectAPI] = {} - _cached_dependencies: Dict[str, Dict[str, Dict[str, DependencyAPI]]] = {} def __init__( self, path: Path, ) -> None: self.path = Path(path) if isinstance(path, str) else path + if self.path.is_file(): + self.path = self.path.parent def __str__(self) -> str: return f'Project("{self.path}")' @@ -195,7 +196,7 @@ def _get_compiler_data(self, compile_if_needed: bool = True): filtered_contract_types = [ ct for ct in contract_types if ct.source_id in source_ids ] - contract_type_names = [ct.name for ct in filtered_contract_types] + contract_type_names = [ct.name for ct in filtered_contract_types if ct.name] compiler_list.append( Compiler( name=compiler.name, @@ -553,11 +554,10 @@ def get_contract(self, contract_name: str) -> ContractContainer: :class:`~ape.contracts.ContractContainer` """ - contract = self._get_contract(contract_name) - if not contract: - raise ProjectError(f"No contract found with name '{contract_name}'.") + if contract := self._get_contract(contract_name): + return contract - return contract + raise ProjectError(f"No contract found with name '{contract_name}'.") def extensions_with_missing_compilers( self, extensions: Optional[List[str]] = None @@ -621,10 +621,8 @@ def find_in_dir(dir_path: Path) -> Optional[Path]: return None for file_path in dir_path.iterdir(): - if file_path.is_dir(): - result = find_in_dir(file_path) - if result: - return result + if file_path.is_dir() and (result := find_in_dir(file_path)): + return result # If the user provided an extension, it has to match. ext_okay = ext == file_path.suffix if ext is not None else True @@ -680,79 +678,12 @@ def _get_cached_contract_types(self) -> Dict[str, ContractType]: return self.local_project.cached_manifest.contract_types or {} def load_dependencies(self, use_cache: bool = True) -> Dict[str, Dict[str, DependencyAPI]]: - project_id = str(self.path) - if use_cache and project_id in self._cached_dependencies: - return self._cached_dependencies[project_id] - - for dependency_config in self.config_manager.dependencies: - dependency_name = dependency_config.name - version_id = dependency_config.version_id - project_dependencies = self._cached_dependencies.get(project_id, {}) - - if ( - use_cache - and dependency_name in project_dependencies - and version_id in project_dependencies[dependency_name] - ): - # Already cached - continue - - # Cache manifest for next time. - if dependency_name in project_dependencies: - # Dependency is cached but version is not. - project_dependencies[dependency_name][version_id] = dependency_config - else: - # First time caching dependency - project_dependencies[dependency_name] = {version_id: dependency_config} - - self._cached_dependencies[project_id] = project_dependencies - - # Only extract manifest if wasn't cached and must happen after caching. - dependency_config.extract_manifest(use_cache=use_cache) - - return self._cached_dependencies.get(project_id, {}) + return self.dependency_manager.load_dependencies(self.path.as_posix(), use_cache=use_cache) def remove_dependency(self, dependency_name: str, versions: Optional[List[str]] = None): - project_id = str(self.path) - - try: - self.dependency_manager.remove_dependency(dependency_name, versions=versions) - finally: - # Delete locally. - if dependency_name in self._cached_dependencies.get(project_id, {}): - versions_available = self.dependency_manager.get_versions(dependency_name) - if not versions and len(versions_available) == 1: - versions = [x.name for x in versions_available] - elif not versions: - raise ProjectError("`versions` kwarg required.") - - local_versions = self._cached_dependencies.get(project_id, {}).get( - dependency_name, {} - ) - for version in versions: - if version in local_versions: - version_key = version - elif f"v{version}" in local_versions: - version_key = f"v{version}" - else: - logger.warning(f"Version '{version}' not installed.") - continue - - del self._cached_dependencies[project_id][dependency_name][version_key] - - # Clean ups. - if ( - project_id in self._cached_dependencies - and dependency_name in self._cached_dependencies[project_id] - and not self._cached_dependencies[project_id][dependency_name] - ): - del self._cached_dependencies[project_id][dependency_name] - - if ( - project_id in self._cached_dependencies - and not self._cached_dependencies[project_id] - ): - del self._cached_dependencies[project_id] + self.dependency_manager.remove_dependency( + self.path.as_posix(), dependency_name, versions=versions + ) def track_deployment(self, contract: ContractInstance): """ @@ -772,6 +703,9 @@ def track_deployment(self, contract: ContractInstance): raise ProjectError("Can only publish deployments on a live network.") contract_name = contract.contract_type.name + if not (contract_name := contract.contract_type.name): + raise ProjectError("Contract name required when publishing.") + try: receipt = contract.receipt except ChainError as err: @@ -790,10 +724,10 @@ def track_deployment(self, contract: ContractInstance): block_hash = block_hash_bytes.hex() artifact = EthPMContractInstance( - address=contract.address, + address=cast(Hex, contract.address), block=block_hash, contractType=contract_name, - transaction=contract.txn_hash, + transaction=cast(Hex, contract.txn_hash), runtimeBytecode=contract.contract_type.runtime_bytecode, ) diff --git a/src/ape/managers/project/types.py b/src/ape/managers/project/types.py index 4a15c1bc3a..705b1a46ad 100644 --- a/src/ape/managers/project/types.py +++ b/src/ape/managers/project/types.py @@ -1,5 +1,4 @@ import os -from contextlib import contextmanager from pathlib import Path from typing import Any, Dict, List, Optional @@ -152,73 +151,52 @@ def process_config_file(self, **kwargs) -> bool: config_data["contracts_folder"] = contracts_folder_config_item self.config_file.parent.mkdir(parents=True, exist_ok=True) self.config_file.touch() - with open(self.config_file, "w") as file: safe_dump(config_data, file) return True - @contextmanager - def _as_ape_project(self, **kwargs): - # Create and clean-up the temporary ape-config.yaml file if there is one. - - created_temporary_config_file = False - try: - created_temporary_config_file = self.process_config_file(**kwargs) - if created_temporary_config_file: - self.config_manager.load(force_reload=True) - - yield - - finally: - if created_temporary_config_file and self.config_file.is_file(): - self.config_file.unlink() - def create_manifest( self, file_paths: Optional[List[Path]] = None, use_cache: bool = True ) -> PackageManifest: # Read the project config and migrate project-settings to Ape settings if needed. compile_config = self.config_manager.get_config("compile") - with self._as_ape_project(): - self.project_manager.load_dependencies() - manifest = self._get_base_manifest(use_cache=use_cache) - source_paths: List[Path] = list( - set( - [p for p in self.source_paths if p in file_paths] - if file_paths - else [ - p - for p in self.source_paths - if not any(p.match(e) for e in compile_config.exclude) - ] - ) + self.project_manager.load_dependencies() + manifest = self._get_base_manifest(use_cache=use_cache) + source_paths: List[Path] = list( + set( + [p for p in self.source_paths if p in file_paths] + if file_paths + else [ + p + for p in self.source_paths + if not any(p.match(e) for e in compile_config.exclude) + ] ) - project_sources = _ProjectSources(manifest, source_paths, self.contracts_folder) - contract_types = project_sources.remaining_cached_contract_types - compiled_contract_types = self._compile(project_sources) - contract_types.update(compiled_contract_types) - manifest = self._create_manifest( - source_paths, - self.contracts_folder, - contract_types, - initial_manifest=manifest, - name=self.name, - version=self.version, - ) - # Cache the updated manifest so `self.cached_manifest` reads it next time - self.manifest_cachefile.write_text(manifest.json()) - self._cached_manifest = manifest - if compiled_contract_types: - for name, contract_type in compiled_contract_types.items(): - (self.project_manager.local_project._cache_folder / f"{name}.json").write_text( - contract_type.json() - ) - if self._contracts is None: - self._contracts = {} - - self._contracts[name] = contract_type + ) + project_sources = _ProjectSources(manifest, source_paths, self.contracts_folder) + contract_types = project_sources.remaining_cached_contract_types + compiled_contract_types = self._compile(project_sources) + contract_types.update(compiled_contract_types) + manifest = self._create_manifest( + source_paths, + self.contracts_folder, + contract_types, + initial_manifest=manifest, + name=self.name, + version=self.version, + ) + # Cache the updated manifest so `self.cached_manifest` reads it next time + self.manifest_cachefile.write_text(manifest.json()) + self._cached_manifest = manifest + if compiled_contract_types: + for name, contract_type in compiled_contract_types.items(): + file = self.project_manager.local_project._cache_folder / f"{name}.json" + file.write_text(contract_type.json()) + self._contracts = self._contracts or {} + self._contracts[name] = contract_type - return manifest + return manifest def _compile(self, project_sources: _ProjectSources) -> Dict[str, ContractType]: # Set the context in case compiling a dependency (or anything outside the root project). @@ -252,7 +230,7 @@ class ApeProject(BaseProject): class BrownieProject(BaseProject): - config_file_name = "brownie-config.yaml" + config_file_name: str = "brownie-config.yaml" @property def brownie_config_path(self) -> Path: diff --git a/src/ape/plugins/pluggy_patch.py b/src/ape/plugins/pluggy_patch.py index d9ae186286..fdf24bb99b 100644 --- a/src/ape/plugins/pluggy_patch.py +++ b/src/ape/plugins/pluggy_patch.py @@ -1,6 +1,6 @@ from typing import Any, Callable, TypeVar, cast -import pluggy # type: ignore +import pluggy F = TypeVar("F", bound=Callable[..., Any]) hookimpl = cast(Callable[[F], F], pluggy.HookimplMarker("ape")) diff --git a/src/ape/types/__init__.py b/src/ape/types/__init__.py index e59ce03523..b9713a2510 100644 --- a/src/ape/types/__init__.py +++ b/src/ape/types/__init__.py @@ -1,10 +1,21 @@ from dataclasses import dataclass -from typing import TYPE_CHECKING, Any, Dict, List, Literal, Optional, Union +from typing import ( + TYPE_CHECKING, + Any, + Dict, + Iterator, + List, + Literal, + Optional, + Sequence, + Union, + cast, +) from eth_abi.abi import encode from eth_abi.packed import encode_packed -from eth_typing import HexStr -from eth_utils import encode_hex, keccak +from eth_typing import Hash32, HexStr +from eth_utils import encode_hex, keccak, to_hex from ethpm_types import ( ABI, Bytecode, @@ -21,7 +32,6 @@ from pydantic import BaseModel, root_validator, validator from web3.types import FilterParams -from ape.exceptions import ApeAttributeError from ape.types.address import AddressType, RawAddress from ape.types.coverage import ( ContractCoverage, @@ -32,7 +42,7 @@ ) from ape.types.signatures import MessageSignature, SignableMessage, TransactionSignature from ape.types.trace import CallTreeNode, ControlFlow, GasReport, SourceTraceback, TraceFrame -from ape.utils import BaseInterfaceModel, cached_property +from ape.utils import BaseInterfaceModel, ExtraModelAttributes, cached_property from ape.utils.misc import ZERO_ADDRESS, to_int if TYPE_CHECKING: @@ -88,7 +98,7 @@ def validate_multiplier(cls, value): """ -TopicFilter = List[Union[Optional[HexStr], List[Optional[HexStr]]]] +TopicFilter = Sequence[Union[Optional[HexStr], List[Optional[HexStr]]]] @dataclass @@ -126,7 +136,7 @@ class LogFilter(BaseModel): @root_validator() def compute_selectors(cls, values): values["selectors"] = { - encode_hex(keccak(text=event.selector)): event for event in values["events"] + encode_hex(keccak(text=event.selector)): event for event in values.get("events", []) } return values @@ -142,17 +152,19 @@ def validate_addresses(cls, value): return convert(value, AddressType) def dict(self, client=None): + _Hash32 = Union[Hash32, HexBytes, HexStr] + topics = cast(Sequence[Optional[Union[_Hash32, Sequence[_Hash32]]]], self.topic_filter) return FilterParams( address=self.addresses, - fromBlock=hex(self.start_block), # type: ignore - toBlock=hex(self.stop_block), # type: ignore - topics=self.topic_filter, # type: ignore + fromBlock=to_hex(self.start_block), + toBlock=to_hex(self.stop_block), + topics=topics, ) @classmethod def from_event( cls, - event: EventABI, + event: Union[EventABI, "ContractEvent"], search_topics: Optional[Dict[str, Any]] = None, addresses: Optional[List[AddressType]] = None, start_block=None, @@ -164,7 +176,7 @@ def from_event( from ape import convert from ape.utils.abi import LogInputABICollection, is_dynamic_sized_type - event_abi: EventABI = getattr(event, "abi", event) # type: ignore[assignment] + event_abi: EventABI = getattr(event, "abi", event) # type: ignore search_topics = search_topics or {} topic_filter: List[Optional[HexStr]] = [encode_hex(keccak(text=event_abi.selector))] abi_inputs = LogInputABICollection(event_abi) @@ -262,18 +274,20 @@ class ContractLog(BaseContractLog): @validator("block_number", "log_index", "transaction_index", pre=True) def validate_hex_ints(cls, value): - if not isinstance(value, int): + if value is None: + # Should only happen for optionals. + return value + + elif not isinstance(value, int): return to_int(value) return value @validator("contract_address", pre=True) def validate_address(cls, value): - from ape import convert - - return convert(value, AddressType) + return cls.conversion_manager.convert(value, AddressType) - # NOTE: This class has an overrided `__getattr__` method, but `block` is a reserved keyword + # NOTE: This class has an overridden `__getattr__` method, but `block` is a reserved keyword # in most smart contract languages, so it is safe to use. Purposely avoid adding # `.datetime` and `.timestamp` in case they are used as event arg names. @cached_property @@ -294,24 +308,13 @@ def __str__(self) -> str: def __repr__(self) -> str: return f"<{self.event_name} {self._event_args_str}>" - def __getattr__(self, item: str) -> Any: - """ - Access properties from the log via ``.`` access. - - Args: - item (str): The name of the property. - """ - - try: - normal_attribute = self.__getattribute__(item) - return normal_attribute - except AttributeError: - pass - - if item not in self.event_arguments: - raise ApeAttributeError(f"{self.__class__.__name__} has no attribute '{item}'.") - - return self.event_arguments[item] + def __ape_extra_attributes__(self) -> Iterator[ExtraModelAttributes]: + yield ExtraModelAttributes( + name=self.event_name, + attributes=self.event_arguments, + include_getattr=True, + include_getitem=True, + ) def __contains__(self, item: str) -> bool: return item in self.event_arguments @@ -339,13 +342,25 @@ def __eq__(self, other: Any) -> bool: # call __eq__ on parent class return super().__eq__(other) - def __getitem__(self, item: str) -> Any: - return self.event_arguments[item] - def get(self, item: str, default: Optional[Any] = None) -> Any: return self.event_arguments.get(item, default) +def _equal_event_inputs(mock_input: Any, real_input: Any) -> bool: + if mock_input is None: + # Check is skipped. + return True + + elif isinstance(mock_input, (list, tuple)): + if not isinstance(real_input, (list, tuple)) or len(real_input) != len(mock_input): + return False + + return all(_equal_event_inputs(m, r) for m, r in zip(mock_input, real_input)) + + else: + return mock_input == real_input + + class MockContractLog(BaseContractLog): """ A mock version of the ContractLog class used for testing purposes. @@ -369,9 +384,9 @@ def __eq__(self, other: Any) -> bool: # NOTE: `self.event_arguments` contains a subset of items from `other.event_arguments`, # but we skip those the user doesn't care to check for name, value in self.event_arguments.items(): - # Make sure `value` is not `None` (user explicitly set it `None`) - # NOTE: `other.event_arguments[name]` will raise `IndexError` only if ABIs don't match - if value is not None and value != other.event_arguments[name]: + other_input = other.event_arguments.get(name) + if not _equal_event_inputs(value, other_input): + # Only exit on False; Else, keep checking. return False return True @@ -410,7 +425,6 @@ def __contains__(self, val: Any) -> bool: "ContractLogContainer", "ContractType", "ControlFlow", - "CoverageItem", "CoverageProject", "CoverageReport", "CoverageStatement", diff --git a/src/ape/types/signatures.py b/src/ape/types/signatures.py index 979f971286..fdd182aa28 100644 --- a/src/ape/types/signatures.py +++ b/src/ape/types/signatures.py @@ -9,10 +9,7 @@ def _left_pad_bytes(val: bytes, num_bytes: int) -> bytes: - if len(val) < num_bytes: - return b"\x00" * (num_bytes - len(val)) + val - - return val + return b"\x00" * (num_bytes - len(val)) + val if len(val) < num_bytes else val @dataclass(frozen=True) diff --git a/src/ape/utils/__init__.py b/src/ape/utils/__init__.py index 84bff51e82..3fccd224aa 100644 --- a/src/ape/utils/__init__.py +++ b/src/ape/utils/__init__.py @@ -13,6 +13,7 @@ from ape.utils.basemodel import ( BaseInterface, BaseInterfaceModel, + ExtraModelAttributes, ManagerAccessMixin, injected_before_use, ) @@ -75,6 +76,7 @@ "EMPTY_BYTES32", "expand_environment_variables", "extract_nested_value", + "ExtraModelAttributes", "get_relative_path", "gas_estimation_error_message", "get_package_version", diff --git a/src/ape/utils/abi.py b/src/ape/utils/abi.py index 76fc799914..25d6a97d60 100644 --- a/src/ape/utils/abi.py +++ b/src/ape/utils/abi.py @@ -1,13 +1,14 @@ import re from dataclasses import make_dataclass -from typing import Any, Dict, List, Optional, Tuple, Union +from typing import Any, Dict, List, Optional, Sequence, Tuple, Union from eth_abi import decode, grammar -from eth_utils import decode_hex, to_checksum_address +from eth_abi.exceptions import DecodingError, InsufficientDataBytes +from eth_utils import decode_hex from ethpm_types import HexBytes from ethpm_types.abi import ABIType, ConstructorABI, EventABI, EventABIType, MethodABI -from ape.types import AddressType +from ape.logging import logger ARRAY_PATTERN = re.compile(r"[(*\w,? )]*\[\d*]") @@ -40,7 +41,7 @@ def returns_array(abi: MethodABI) -> bool: return _is_array_return(abi.outputs) -def _is_array_return(outputs: List[ABIType]): +def _is_array_return(outputs: Sequence[ABIType]): return len(outputs) == 1 and is_array(outputs[0].type) @@ -49,7 +50,7 @@ class StructParser: A utility class responsible for parsing structs out of values. """ - def __init__(self, method_abi: Union[ConstructorABI, MethodABI]): + def __init__(self, method_abi: Union[ConstructorABI, MethodABI, EventABI]): self.abi = method_abi @property @@ -62,7 +63,7 @@ def default_name(self) -> str: name = self.abi.name if isinstance(self.abi, MethodABI) else "constructor" return f"{name}_return" - def encode_input(self, values: Union[List, Tuple]) -> Any: + def encode_input(self, values: Union[List, Tuple, Dict]) -> Any: """ Convert dicts and other objects to struct inputs. @@ -73,31 +74,38 @@ def encode_input(self, values: Union[List, Tuple]) -> Any: Any: The same input values only decoded into structs when applicable. """ - return [self._encode_input(ipt, v) for ipt, v in zip(self.abi.inputs, values)] + return [self._encode(ipt, v) for ipt, v in zip(self.abi.inputs, values)] - def _encode_input(self, input_type, value): + def decode_input(self, values: Union[Sequence, Dict[str, Any]]) -> Any: + return ( + self._decode(self.abi.inputs, values) + if isinstance(self.abi, (EventABI, MethodABI)) + else None + ) + + def _encode(self, _type: ABIType, value: Any): if ( - input_type.type == "tuple" - and input_type.components - and all(m.name for m in input_type.components) + _type.type == "tuple" + and _type.components + and all(m.name for m in _type.components) and not isinstance(value, tuple) ): if isinstance(value, dict): - return tuple([value[m.name] for m in input_type.components]) + return tuple([value[m.name] for m in _type.components]) else: - arg = [getattr(value, m.name) for m in input_type.components if m.name] + arg = [getattr(value, m.name) for m in _type.components if m.name] return tuple(arg) elif ( - str(input_type.type).startswith("tuple[") + str(_type.type).startswith("tuple[") and isinstance(value, (list, tuple)) - and len(input_type.components) > 0 + and len(_type.components or []) > 0 ): - non_array_type_data = input_type.dict() + non_array_type_data = _type.dict() non_array_type_data["type"] = "tuple" non_array_type = ABIType(**non_array_type_data) - return [self._encode_input(non_array_type, v) for v in value] + return [self._encode(non_array_type, v) for v in value] return value @@ -114,46 +122,41 @@ def decode_output(self, values: Union[List, Tuple]) -> Any: Any: The same input values only decoded into structs when applicable. """ - return ( - self._decode_output(self.abi.outputs, values) - if isinstance(self.abi, MethodABI) - else None - ) + return self._decode(self.abi.outputs, values) if isinstance(self.abi, MethodABI) else None - def _decode_output(self, output_types: List[ABIType], values: Union[List, Tuple]): - if is_struct(output_types): - return_value = self._create_struct(output_types[0], values) - return return_value + def _decode(self, _types: Sequence[ABIType], values: Union[Sequence, Dict[str, Any]]): + if is_struct(_types): + return self._create_struct(_types[0], values) - elif is_named_tuple(output_types, values): + elif isinstance(values, (list, tuple)) and is_named_tuple(_types, values): # Handle tuples. NOTE: unnamed output structs appear as tuples with named members - return create_struct(self.default_name, output_types, values) + return create_struct(self.default_name, _types, values) return_values: List = [] - has_array_return = _is_array_return(output_types) + has_array_return = _is_array_return(_types) has_array_of_tuples_return = ( - has_array_return and len(output_types) == 1 and "tuple" in output_types[0].type + has_array_return and len(_types) == 1 and "tuple" in _types[0].type ) if has_array_return and not has_array_of_tuples_return: # Normal array return values elif has_array_of_tuples_return: - item_type_str = str(output_types[0].type).split("[")[0] - data = {**output_types[0].dict(), "type": item_type_str, "internalType": item_type_str} + item_type_str = str(_types[0].type).split("[")[0] + data = {**_types[0].dict(), "type": item_type_str, "internalType": item_type_str} output_type = ABIType.parse_obj(data) - if not values[0]: + if isinstance(values, (list, tuple)) and not values[0]: # Only returned an empty list. return_values.append([]) - else: + elif isinstance(values, (list, tuple)): for value in values[0]: - item = self._decode_output([output_type], [value]) + item = self._decode([output_type], [value]) return_values.append(item) else: - for output_type, value in zip(output_types, values): + for output_type, value in zip(_types, values): if isinstance(value, (tuple, list)): item_type_str = str(output_type.type).split("[")[0] if item_type_str == "tuple": @@ -166,10 +169,10 @@ def _decode_output(self, output_types: List[ABIType], values: Union[List, Tuple] item_type = ABIType.parse_obj(item_type_data) if is_struct(output_type): - parsed_item = self._decode_output([item_type], [value]) + parsed_item = self._decode([item_type], [value]) else: # Is array of structs. - parsed_item = [self._decode_output([item_type], [v]) for v in value] + parsed_item = [self._decode([item_type], [v]) for v in value] # If it's an empty dynamic array of structs, replace `None` with empty list output_raw_type = output_type.type @@ -190,7 +193,7 @@ def _decode_output(self, output_types: List[ABIType], values: Union[List, Tuple] return return_values - def _create_struct(self, out_abi: ABIType, out_value) -> Optional[Any]: + def _create_struct(self, out_abi: ABIType, out_value: Any) -> Optional[Any]: if not out_abi.components or not out_value[0]: # Likely an empty tuple or not a struct. return None @@ -202,12 +205,11 @@ def _create_struct(self, out_abi: ABIType, out_value) -> Optional[Any]: name = out_abi.name or self.default_name components = self._parse_components(out_abi.components, out_value[0]) - result = create_struct( + return create_struct( name, out_abi.components, components, ) - return result def _parse_components(self, components: List[ABIType], values) -> List: parsed_values = [] @@ -216,7 +218,7 @@ def _parse_components(self, components: List[ABIType], values) -> List: new_value = self._create_struct(component, (value,)) parsed_values.append(new_value) elif is_array(component.type) and "tuple" in component.type and component.components: - new_value = [self._decode_output(component.components, v) for v in value] + new_value = [self._decode(component.components, v) for v in value] parsed_values.append(new_value) else: parsed_values.append(value) @@ -224,23 +226,21 @@ def _parse_components(self, components: List[ABIType], values) -> List: return parsed_values -def is_struct(outputs: Union[ABIType, List[ABIType]]) -> bool: +def is_struct(outputs: Union[ABIType, Sequence[ABIType]]) -> bool: """ Returns ``True`` if the given output is a struct. """ - if not isinstance(outputs, (tuple, list)): - outputs = [outputs] - + outputs_seq = outputs if isinstance(outputs, (tuple, list)) else [outputs] return ( - len(outputs) == 1 - and "[" not in outputs[0].type - and outputs[0].components not in (None, []) - and all(c.name != "" for c in outputs[0].components or []) + len(outputs_seq) == 1 + and "[" not in outputs_seq[0].type + and outputs_seq[0].components not in (None, []) + and all(c.name != "" for c in outputs_seq[0].components or []) ) -def is_named_tuple(outputs: List[ABIType], output_values: Union[List, Tuple]) -> bool: +def is_named_tuple(outputs: Sequence[ABIType], output_values: Sequence) -> bool: """ Returns ``True`` if the given output is a tuple where every item is named. """ @@ -257,10 +257,12 @@ def items(self) -> Dict: """Override""" return {} + def __setitem__(self, key, value): + """Override""" + pass + -def create_struct( - name: str, types: List[ABIType], output_values: Union[List[Any], Tuple[Any, ...]] -) -> Any: +def create_struct(name: str, types: Sequence[ABIType], output_values: Sequence) -> Any: """ Create a dataclass representing an ABI struct that can be used as inputs or outputs. The struct properties can be accessed via ``.`` notation, as keys in a dictionary, or @@ -278,13 +280,21 @@ def create_struct( Any: The struct dataclass. """ - def get_item(struct, index) -> Any: + def get_item(struct, key) -> Any: # NOTE: Allow struct to function as a tuple and dict as well struct_values = tuple(getattr(struct, field) for field in struct.__dataclass_fields__) - if isinstance(index, str): - return dict(zip(struct.__dataclass_fields__, struct_values))[index] + if isinstance(key, str): + return dict(zip(struct.__dataclass_fields__, struct_values))[key] - return struct_values[index] + return struct_values[key] + + def set_item(struct, key, value): + if isinstance(key, str): + setattr(struct, key, value) + else: + struct_values = tuple(getattr(struct, field) for field in struct.__dataclass_fields__) + field_to_set = struct_values[key] + setattr(struct, field_to_set, value) def is_equal(struct, other) -> bool: _len = len(other) @@ -296,11 +306,20 @@ def length(struct) -> int: def items(struct) -> List[Tuple]: return [(k, struct[k]) for k, v in struct.__dataclass_fields__.items()] + # NOTE: Should never be "_{i}", but mypy complains and we need a unique value + properties = [m.name or f"_{i}" for i, m in enumerate(types)] + methods = { + "__eq__": is_equal, + "__getitem__": get_item, + "__setitem__": set_item, + "__len__": length, + "items": items, + } + struct_def = make_dataclass( name, - # NOTE: Should never be "_{i}", but mypy complains and we need a unique value - [m.name or f"_{i}" for i, m in enumerate(types)], - namespace={"__getitem__": get_item, "__eq__": is_equal, "__len__": length, "items": items}, + properties, + namespace=methods, bases=(Struct,), # We set a base class for subclass checking elsewhere. ) @@ -326,56 +345,102 @@ def __init__(self, abi: EventABI): def event_name(self): return self.abi.name - def decode(self, topics: List[str], data: str) -> Dict: + def decode(self, topics: List[str], data: str, use_hex_on_fail: bool = False) -> Dict: decoded = {} for abi, topic_value in zip(self.topic_abi_types, topics[1:]): # reference types as indexed arguments are written as a hash # https://docs.soliditylang.org/en/v0.8.15/contracts.html#events abi_type = "bytes32" if is_dynamic_sized_type(abi.type) else abi.canonical_type - value = decode([abi_type], decode_hex(topic_value))[0] - decoded[abi.name] = self.decode_value(abi_type, value) + hex_value = decode_hex(topic_value) + + try: + value = decode([abi_type], hex_value)[0] + except InsufficientDataBytes as err: + warning_message = f"Failed to decode log topic '{self.event_name}'." + + # Try again with strict=False + try: + value = decode([abi_type], hex_value, strict=False)[0] + except Exception: + # Even with strict=False, we failed to decode. + # This should be a rare occasion, if it ever happens. + logger.warn_from_exception(err, warning_message) + if use_hex_on_fail: + if abi.name not in decoded: + # This allow logs to still be findable on the receipt. + decoded[abi.name] = hex_value - data_abi_types = [abi.canonical_type for abi in self.data_abi_types] - hex_data = decode_hex(data) if isinstance(data, str) else data - data_values = decode(data_abi_types, hex_data) + else: + raise DecodingError(str(err)) from err - for abi, value in zip(self.data_abi_types, data_values): - decoded[abi.name] = self.decode_value(abi.canonical_type, value) + else: + # This happens when providers accidentally leave off trailing zeroes. + warning_message = ( + f"{warning_message} " + "However, we are able to get a value using decode(strict=False)" + ) + logger.warn_from_exception(err, warning_message) + decoded[abi.name] = self.decode_value(abi_type, value) - return decoded + else: + # The data was formatted correctly and we were able to decode logs. + result = self.decode_value(abi_type, value) + decoded[abi.name] = result - def decode_value(self, abi_type, value): - if abi_type == "address": - return to_checksum_address(value) - elif abi_type == "bytes32": - return HexBytes(value) + data_abi_types = [abi.canonical_type for abi in self.data_abi_types] + hex_data = decode_hex(data) if isinstance(data, str) else data - return value + try: + data_values = decode(data_abi_types, hex_data) + except InsufficientDataBytes as err: + warning_message = f"Failed to decode log data '{self.event_name}'." + + # Try again with strict=False + try: + data_values = decode(data_abi_types, hex_data, strict=False) + except Exception: + # Even with strict=False, we failed to decode. + # This should be a rare occasion, if it ever happens. + logger.warn_from_exception(err, warning_message) + if use_hex_on_fail: + for abi in self.data_abi_types: + if abi.name not in decoded: + # This allow logs to still be findable on the receipt. + decoded[abi.name] = hex_data + else: + raise DecodingError(str(err)) from err + + else: + # This happens when providers accidentally leave off trailing zeroes. + warning_message = ( + f"{warning_message} " + "However, we are able to get a value using decode(strict=False)" + ) + logger.warn_from_exception(err, warning_message) + for abi, value in zip(self.data_abi_types, data_values): + decoded[abi.name] = self.decode_value(abi.canonical_type, value) -def _convert_args(arguments, converter, abi: Union[MethodABI, ConstructorABI]) -> Tuple: - input_types = [i.canonical_type for i in abi.inputs] - pre_processed_args = [] - for ipt, argument in zip(input_types, arguments): - # Handle primitive-addresses separately since they may not occur - # on the tuple-conversion if they are integers or bytes. - if str(ipt) == "address": - converted_value = converter(argument, AddressType) - pre_processed_args.append(converted_value) else: - pre_processed_args.append(argument) + # The data was formatted correctly and we were able to decode logs. + for abi, value in zip(self.data_abi_types, data_values): + decoded[abi.name] = self.decode_value(abi.canonical_type, value) + + return decoded - return converter(pre_processed_args, tuple) + def decode_value(self, abi_type: str, value: Any) -> Any: + if abi_type == "bytes32": + return HexBytes(value) + elif isinstance(value, (list, tuple)) and is_array(abi_type): + sub_type = "[".join(abi_type.split("[")[:-1]) + return [self.decode_value(sub_type, v) for v in value] -def _convert_kwargs(kwargs, converter) -> Dict: - from ape.api.transactions import TransactionAPI + elif isinstance(value, (list, tuple)): + parser = StructParser(self.abi) + return parser.decode_input([value]) - fields = TransactionAPI.__fields__ + # NOTE: All the rest of the types are handled by the + # ecosystem API through the calling function. - kwargs_to_convert = {k: v for k, v in kwargs.items() if k == "sender" or k in fields} - converted_fields = { - k: converter(v, AddressType if k == "sender" else fields[k].type_) - for k, v in kwargs_to_convert.items() - } - return {**kwargs, **converted_fields} + return value diff --git a/src/ape/utils/basemodel.py b/src/ape/utils/basemodel.py index d3e590449a..361a9a0786 100644 --- a/src/ape/utils/basemodel.py +++ b/src/ape/utils/basemodel.py @@ -1,9 +1,9 @@ from abc import ABC -from typing import TYPE_CHECKING, ClassVar, Dict, List, Optional, cast +from typing import TYPE_CHECKING, Any, ClassVar, Dict, Iterator, List, Optional, Union, cast -from ethpm_types import BaseModel +from ethpm_types import BaseModel as _BaseModel -from ape.exceptions import ProviderNotConnectedError +from ape.exceptions import ApeAttributeError, ProviderNotConnectedError from ape.logging import logger from ape.utils.misc import cached_property, singledispatchmethod @@ -88,10 +88,10 @@ def provider(self) -> "ProviderAPI": Returns: :class:`~ape.api.providers.ProviderAPI` """ - if self.network_manager.active_provider is None: - raise ProviderNotConnectedError() + if provider := self.network_manager.active_provider: + return provider - return self.network_manager.active_provider + raise ProviderNotConnectedError() class BaseInterface(ManagerAccessMixin, ABC): @@ -100,6 +100,149 @@ class BaseInterface(ManagerAccessMixin, ABC): """ +def _get_alt(name: str) -> Optional[str]: + alt = None + if ("-" not in name and "_" not in name) or ("-" in name and "_" in name): + alt = None + elif "-" in name: + alt = name.replace("-", "_") + elif "_" in name: + alt = name.replace("_", "-") + + return alt + + +class ExtraModelAttributes(_BaseModel): + """ + A class for defining extra model attributes. + """ + + name: str + """ + The name of the attributes. This is important + in instances such as when an attribute is missing, + we can show a more accurate exception message. + """ + + attributes: Union[Dict[str, Any], "BaseModel"] + """The attributes.""" + + include_getattr: bool = True + """Whether to use these in ``__getattr__``.""" + + include_getitem: bool = False + """Whether to use these in ``__getitem__``.""" + + def __contains__(self, name: str) -> bool: + attr_dict = self.attributes if isinstance(self.attributes, dict) else self.attributes.dict() + if name in attr_dict: + return True + + elif alt := _get_alt(name): + return alt in attr_dict + + return False + + def get(self, name: str) -> Optional[Any]: + """ + Get an attribute. + + Args: + name (str): The name of the attribute. + + Returns: + Optional[Any]: The attribute if it exists, else ``None``. + """ + + res = self._get(name) + if res is not None: + return res + + if alt := _get_alt(name): + res = self._get(alt) + if res is not None: + return res + + return None + + def _get(self, name: str) -> Optional[Any]: + return ( + self.attributes.get(name) + if isinstance(self.attributes, dict) + else getattr(self.attributes, name, None) + ) + + +class BaseModel(_BaseModel): + """ + An ape-pydantic BaseModel. + """ + + def __ape_extra_attributes__(self) -> Iterator[ExtraModelAttributes]: + """ + Override this method to supply extra attributes + to a model in Ape; this allow more properties + to be available when invoking ``__getattr__``. + + Returns: + Iterator[:class:`~ape.utils.basemodel.ExtraModelAttributes`]: A + series of instances defining extra model attributes. + """ + return iter(()) + + def __getattr__(self, name: str) -> Any: + """ + An overridden ``__getattr__`` implementation that takes into + account :meth:`~ape.utils.basemodel.BaseModel.__ape_extra_attributes__`. + """ + + try: + return super().__getattr__(name) + except AttributeError: + extras_checked = set() + for ape_extra in self.__ape_extra_attributes__(): + if not ape_extra.include_getattr: + continue + + if name in ape_extra: + # Attribute was found in one of the supplied + # extra attributes mappings. + return ape_extra.get(name) + + extras_checked.add(ape_extra.name) + + # The error message mentions the alternative mappings, + # such as a contract-type map. + message = f"No attribute with name '{name}'." + if extras_checked: + extras_str = ", ".join(extras_checked) + message = f"{message} Also checked '{extras_str}'." + + raise ApeAttributeError(message) + + def __getitem__(self, name: Any) -> Any: + # For __getitem__, we first try the extra (unlike `__getattr__`). + extras_checked = set() + for extra in self.__ape_extra_attributes__(): + if not extra.include_getitem: + continue + + if name in extra: + return extra.get(name) + + extras_checked.add(extra.name) + + # NOTE: If extras were supplied, the user was expecting it to be + # there (unlike __getattr__). + if extras_checked: + extras_str = ", ".join(extras_checked) + raise IndexError(f"Unable to find '{name}' in any of '{extras_str}'.") + + # The user did not supply any extra __getitem__ attributes. + # Do what you would have normally done. + return super().__getitem__(name) + + class BaseInterfaceModel(BaseInterface, BaseModel): """ An abstract base-class with manager access on a pydantic base model. @@ -123,27 +266,3 @@ def __dir__(self) -> List[str]: """ # Filter out protected/private members return [member for member in super().__dir__() if not member.startswith("_")] - - def dict(self, *args, **kwargs) -> Dict: - if "by_alias" not in kwargs: - kwargs["by_alias"] = True - - if "exclude_none" not in kwargs: - kwargs["exclude_none"] = True - - return super().dict(*args, **kwargs) - - def json(self, *args, **kwargs) -> str: - if "separators" not in kwargs: - kwargs["separators"] = (",", ":") - - if "sort_keys" not in kwargs: - kwargs["sort_keys"] = True - - if "by_alias" not in kwargs: - kwargs["by_alias"] = True - - if "exclude_none" not in kwargs: - kwargs["exclude_none"] = True - - return super().json(*args, **kwargs) diff --git a/src/ape/utils/misc.py b/src/ape/utils/misc.py index fefa6fff94..3b6ea1b2c8 100644 --- a/src/ape/utils/misc.py +++ b/src/ape/utils/misc.py @@ -5,7 +5,7 @@ from datetime import datetime from functools import cached_property, lru_cache, singledispatchmethod, wraps from pathlib import Path -from typing import Any, Callable, Coroutine, Dict, List, Mapping, Optional, cast +from typing import TYPE_CHECKING, Any, Callable, Coroutine, Dict, List, Mapping, Optional, cast import requests import yaml @@ -17,11 +17,14 @@ from ape.exceptions import APINotImplementedError, ProviderNotConnectedError from ape.logging import logger -from ape.types import AddressType from ape.utils.os import expand_environment_variables +if TYPE_CHECKING: + from ape.types import AddressType + + EMPTY_BYTES32 = HexBytes("0x0000000000000000000000000000000000000000000000000000000000000000") -ZERO_ADDRESS: AddressType = cast(AddressType, "0x0000000000000000000000000000000000000000") +ZERO_ADDRESS: "AddressType" = cast("AddressType", "0x0000000000000000000000000000000000000000") DEFAULT_TRANSACTION_ACCEPTANCE_TIMEOUT = 120 DEFAULT_LOCAL_TRANSACTION_ACCEPTANCE_TIMEOUT = 20 DEFAULT_LIVE_NETWORK_BASE_FEE_MULTIPLIER = 1.4 diff --git a/src/ape_cache/query.py b/src/ape_cache/query.py index 63a1d58f59..8cca70eee1 100644 --- a/src/ape_cache/query.py +++ b/src/ape_cache/query.py @@ -419,7 +419,7 @@ def _get_block_txns_data( new_dict = {k: v for k, v in val.dict(by_alias=False).items() if k in table_columns} for col in table_columns: if col == "txn_hash": - new_dict["txn_hash"] = val.txn_hash # type: ignore + new_dict["txn_hash"] = val.txn_hash elif col == "sender": new_dict["sender"] = new_dict["sender"].encode() elif col == "receiver" and "receiver" in new_dict: @@ -429,7 +429,7 @@ def _get_block_txns_data( elif col == "block_hash": new_dict["block_hash"] = query.block_id elif col == "signature": - new_dict["signature"] = val.signature.encode_rsv() # type: ignore + new_dict["signature"] = val.signature.encode_rsv() elif col not in new_dict: new_dict[col] = None new_result.append(new_dict) diff --git a/src/ape_console/_cli.py b/src/ape_console/_cli.py index 366dff648e..10f05f68f5 100644 --- a/src/ape_console/_cli.py +++ b/src/ape_console/_cli.py @@ -9,8 +9,8 @@ from typing import Any, Dict, cast import click -import IPython # type: ignore -from IPython.terminal.ipapp import Config as IPythonConfig # type: ignore +import IPython +from IPython.terminal.ipapp import Config as IPythonConfig from ape import config from ape import project as default_project diff --git a/src/ape_console/plugin.py b/src/ape_console/plugin.py index e8c7080a25..60a22fcefa 100644 --- a/src/ape_console/plugin.py +++ b/src/ape_console/plugin.py @@ -3,8 +3,8 @@ import click from click.testing import CliRunner from eth_utils import is_hex -from IPython import get_ipython # type: ignore -from IPython.core.magic import Magics, line_magic, magics_class # type: ignore +from IPython import get_ipython +from IPython.core.magic import Magics, line_magic, magics_class import ape from ape._cli import cli diff --git a/src/ape_ethereum/ecosystem.py b/src/ape_ethereum/ecosystem.py index 06e08b1f13..7cef8c6796 100644 --- a/src/ape_ethereum/ecosystem.py +++ b/src/ape_ethereum/ecosystem.py @@ -4,7 +4,7 @@ from eth_abi import decode, encode from eth_abi.exceptions import InsufficientDataBytes, NonEmptyPaddingBytes -from eth_typing import Hash32 +from eth_typing import Hash32, HexStr from eth_utils import ( encode_hex, humanize_hash, @@ -28,7 +28,6 @@ ConversionError, DecodingError, ) -from ape.logging import logger from ape.types import ( AddressType, AutoGasLimit, @@ -51,7 +50,6 @@ returns_array, to_int, ) -from ape.utils.abi import _convert_kwargs from ape.utils.misc import DEFAULT_MAX_RETRIES_TX from ape_ethereum.proxies import ( IMPLEMENTATION_ABI, @@ -92,7 +90,7 @@ class NetworkConfig(PluginConfig): block_time: int = 0 transaction_acceptance_timeout: int = DEFAULT_TRANSACTION_ACCEPTANCE_TIMEOUT default_transaction_type: TransactionType = TransactionType.DYNAMIC - max_receipt_retries = DEFAULT_MAX_RETRIES_TX + max_receipt_retries: int = DEFAULT_MAX_RETRIES_TX gas_limit: GasLimit = "auto" """ @@ -200,17 +198,18 @@ def validate_ints(cls, value): class Ethereum(EcosystemAPI): - name: str = "ethereum" - """ - Default transaction type should be overidden id chain doesn't support EIP-1559 + Default transaction type should be overridden id chain doesn't support EIP-1559 """ + name: str = "ethereum" fee_token_symbol: str = "ETH" @property def config(self) -> EthereumConfig: - return self.config_manager.get_config("ethereum") # type: ignore + result = self.config_manager.get_config("ethereum") + assert isinstance(result, EthereumConfig) # For mypy + return result @property def default_transaction_type(self) -> TransactionType: @@ -239,7 +238,7 @@ def encode_contract_blueprint( deploy_bytecode = HexBytes( return_data_size + len_bytes + return_instructions + blueprint_bytecode ) - converted_kwargs = _convert_kwargs(kwargs, self.conversion_manager.convert) + converted_kwargs = self.conversion_manager.convert_method_kwargs(kwargs) return self.encode_deployment( deploy_bytecode, contract_type.constructor, **converted_kwargs ) @@ -266,11 +265,10 @@ def get_proxy_info(self, address: AddressType) -> Optional[ProxyInfo]: ProxyType.SplitsCWIA: r"36602f57343d527f9e4ac34f21c619cefc926c8bd93b54bf5a39c7ab2127a895af1cc0691d7e3dff60203da13d3df35b3d3d3d3d363d3d3761.{4}606736393661.{4}013d73(.{40})5af43d3d93803e606557fd5bf3.*", # noqa: E501 ProxyType.SoladyPush0: r"^5f5f365f5f37365f73(.{40})5af43d5f5f3e6029573d5ffd5b3d5ff3", } - for type, pattern in patterns.items(): - match = re.match(pattern, code) - if match: + for type_, pattern in patterns.items(): + if match := re.match(pattern, code): target = self.conversion_manager.convert(match.group(1), AddressType) - return ProxyInfo(type=type, target=target) + return ProxyInfo(type=type_, target=target) sequence_pattern = r"363d3d373d3d3d363d30545af43d82803e903d91601857fd5bf3" if re.match(sequence_pattern, code): @@ -288,7 +286,7 @@ def str_to_slot(text): ProxyType.OpenZeppelin: str_to_slot("org.zeppelinos.proxy.implementation"), ProxyType.UUPS: str_to_slot("PROXIABLE"), } - for type, slot in slots.items(): + for _type, slot in slots.items(): try: # TODO perf: use a batch call here when ape adds support storage = self.provider.get_storage_at(address, slot) @@ -300,10 +298,10 @@ def str_to_slot(text): target = self.conversion_manager.convert(storage[-20:], AddressType) # read `target.implementation()` - if type == ProxyType.Beacon: + if _type == ProxyType.Beacon: target = ContractCall(IMPLEMENTATION_ABI, target)(skip_trace=True) - return ProxyInfo(type=type, target=target) + return ProxyInfo(type=_type, target=target) # safe >=1.1.0 provides `masterCopy()`, which is also stored in slot 0 # detect safe-specific bytecode of push32 keccak256("masterCopy()") @@ -352,7 +350,7 @@ def decode_receipt(self, data: dict) -> ReceiptAPI: break if txn_hash: - txn_hash = txn_hash.hex() if isinstance(txn_hash, HexBytes) else txn_hash + txn_hash = txn_hash.hex() if isinstance(txn_hash, bytes) else txn_hash data_bytes = data.get("data", b"") if data_bytes and isinstance(data_bytes, str): @@ -361,8 +359,12 @@ def decode_receipt(self, data: dict) -> ReceiptAPI: elif "input" in data and isinstance(data["input"], str): data["input"] = HexBytes(data["input"]) + block_number = data.get("block_number") or data.get("blockNumber") + if block_number is None: + raise ValueError("Missing block number.") + receipt = Receipt( - block_number=data.get("block_number") or data.get("blockNumber"), + block_number=block_number, contract_address=data.get("contract_address") or data.get("contractAddress"), gas_limit=data.get("gas", data.get("gas_limit", data.get("gasLimit"))) or 0, gas_price=data.get("gas_price", data.get("gasPrice")) or 0, @@ -493,7 +495,7 @@ def decode_returndata(self, abi: MethodABI, raw_data: bytes) -> Tuple[Any, ...]: return tuple(output_values) def _enrich_value(self, value: Any, **kwargs) -> Any: - if isinstance(value, HexBytes): + if isinstance(value, bytes): try: string_value = value.strip(b"\x00").decode("utf8") return f'"{string_value}"' @@ -556,13 +558,14 @@ def encode_deployment( self, deployment_bytecode: HexBytes, abi: ConstructorABI, *args, **kwargs ) -> BaseTransaction: txn = self.create_transaction(**kwargs) - txn.data = deployment_bytecode + data = HexBytes(deployment_bytecode) # Encode args, if there are any if abi and args: - txn.data += self.encode_calldata(abi, *args) + data = HexBytes(data + self.encode_calldata(abi, *args)) - return txn # type: ignore + txn.data = data + return cast(BaseTransaction, txn) def encode_transaction( self, @@ -575,9 +578,9 @@ def encode_transaction( # Add method ID txn.data = self.get_method_selector(abi) - txn.data += self.encode_calldata(abi, *args) + txn.data = HexBytes(txn.data + self.encode_calldata(abi, *args)) - return txn # type: ignore + return cast(BaseTransaction, txn) def create_transaction(self, **kwargs) -> TransactionAPI: """ @@ -654,31 +657,62 @@ def decode_logs(self, logs: List[Dict], *events: EventABI) -> Iterator["Contract encode_hex(keccak(text=abi.selector)): LogInputABICollection(abi) for abi in events } + def get_abi(_topic: HexStr) -> Optional[LogInputABICollection]: + return abi_inputs[_topic] if _topic in abi_inputs else None + for log in logs: if log.get("anonymous"): raise NotImplementedError( "decoding anonymous logs is not supported with this method" ) topics = log["topics"] - # web3.py converts topics to hexbytes, data is always a hexstr + # web3.py converts topics to HexBytes, data is always a HexStr if isinstance(log["topics"][0], bytes): topics = [encode_hex(t) for t in log["topics"]] - try: - abi = abi_inputs[topics[0]] - except KeyError: + + elif not topics: continue - try: - event_arguments = abi.decode(topics, log["data"]) - except InsufficientDataBytes: - logger.debug("failed to decode log data for %s", log, exc_info=True) + if not (abi := get_abi(topics[0])): continue + event_arguments = abi.decode(topics, log["data"], use_hex_on_fail=True) + + # Since LogABICollection does not have access to the Ecosystem, + # the rest of the decoding must happen here. + _types = [x.canonical_type for x in abi.abi.inputs] + converted_arguments: Dict = {} + + for _type, (key, value) in zip(_types, event_arguments.items()): + if isinstance(value, Struct): + struct_types = _type.lstrip("(").rstrip(")").split(",") + for struct_type, (struct_key, struct_val) in zip(struct_types, value.items()): + if struct_type == "address": + value[struct_key] = self.decode_address(struct_val) + elif "bytes" in struct_type: + value[struct_key] = HexBytes(struct_val) + else: + value[struct_key] = struct_val + + converted_arguments[key] = value + + elif _type == "address": + converted_arguments[key] = self.decode_address(value) + + elif is_array(_type): + sub_type = "[".join(_type.split("[")[:-1]) + if sub_type == "address": + converted_arguments[key] = [self.decode_address(v) for v in value] + + else: + # No change. + converted_arguments[key] = value + yield ContractLog( block_hash=log["blockHash"], block_number=log["blockNumber"], contract_address=self.decode_address(log["address"]), - event_arguments=event_arguments, + event_arguments=converted_arguments, event_name=abi.event_name, log_index=log["logIndex"], transaction_hash=log["transactionHash"], @@ -813,10 +847,8 @@ def _enrich_calldata( **kwargs, ) -> CallTreeNode: calldata = call.inputs - if isinstance(calldata, str): + if isinstance(calldata, (str, bytes, int)): calldata_arg = HexBytes(calldata) - elif isinstance(calldata, HexBytes): - calldata_arg = calldata else: # Not sure if we can get here. # Mostly for mypy's sake. @@ -849,10 +881,10 @@ def _enrich_returndata( return call default_return_value = "" - if isinstance(call.outputs, str) and is_0x_prefixed(call.outputs): + if (isinstance(call.outputs, str) and is_0x_prefixed(call.outputs)) or isinstance( + call.outputs, (int, bytes) + ): return_value_bytes = HexBytes(call.outputs) - elif isinstance(call.outputs, HexBytes): - return_value_bytes = call.outputs else: return_value_bytes = None @@ -894,9 +926,9 @@ def get_python_types(self, abi_type: ABIType) -> Union[Type, Tuple, List]: return self._python_type_for_abi_type(abi_type) -def parse_type(type: Dict[str, Any]) -> Union[str, Tuple, List]: - if "tuple" not in type["type"]: - return type["type"] +def parse_type(type_: Dict[str, Any]) -> Union[str, Tuple, List]: + if "tuple" not in type_["type"]: + return type_["type"] - result = tuple([parse_type(c) for c in type["components"]]) - return [result] if is_array(type["type"]) else result + result = tuple([parse_type(c) for c in type_["components"]]) + return [result] if is_array(type_["type"]) else result diff --git a/src/ape_ethereum/proxies.py b/src/ape_ethereum/proxies.py index f485a4ea52..40fd31fa8e 100644 --- a/src/ape_ethereum/proxies.py +++ b/src/ape_ethereum/proxies.py @@ -1,15 +1,18 @@ from enum import IntEnum, auto +from typing import cast from ethpm_types import ContractType, MethodABI from ethpm_types.abi import ABIType +from ethpm_types.utils import Hex from lazyasd import LazyObject # type: ignore from ape.api.networks import ProxyInfoAPI from ape.contracts import ContractContainer +MINIMAL_PROXY_TARGET_PLACEHOLDER = "bebebebebebebebebebebebebebebebebebebebe" MINIMAL_PROXY_BYTES = ( "0x3d602d80600a3d3981f3363d3d373d3d3d363d73" - "bebebebebebebebebebebebebebebebebebebebe5af43d82803e903d91602b57fd5bf3" + f"{MINIMAL_PROXY_TARGET_PLACEHOLDER}5af43d82803e903d91602b57fd5bf3" ) @@ -87,8 +90,10 @@ class ProxyInfo(ProxyInfoAPI): ) -def _make_minimal_proxy() -> ContractContainer: - bytecode = {"bytecode": MINIMAL_PROXY_BYTES} +def _make_minimal_proxy(address: str = MINIMAL_PROXY_TARGET_PLACEHOLDER) -> ContractContainer: + address = address.replace("0x", "") + code = cast(Hex, MINIMAL_PROXY_BYTES.replace(MINIMAL_PROXY_TARGET_PLACEHOLDER, address)) + bytecode = {"bytecode": code} contract_type = ContractType(abi=[], deploymentBytecode=bytecode) return ContractContainer(contract_type=contract_type) diff --git a/src/ape_ethereum/transactions.py b/src/ape_ethereum/transactions.py index 2d3c70db4f..65d8f8bbcc 100644 --- a/src/ape_ethereum/transactions.py +++ b/src/ape_ethereum/transactions.py @@ -107,10 +107,7 @@ class DynamicFeeTransaction(BaseTransaction): @validator("type", allow_reuse=True) def check_type(cls, value): - if isinstance(value, TransactionType): - return value.value - - return value + return value.value if isinstance(value, TransactionType) else value class AccessListTransaction(BaseTransaction): @@ -124,10 +121,7 @@ class AccessListTransaction(BaseTransaction): @validator("type", allow_reuse=True) def check_type(cls, value): - if isinstance(value, TransactionType): - return value.value - - return value + return value.value if isinstance(value, TransactionType) else value class Receipt(ReceiptAPI): @@ -158,11 +152,10 @@ def call_tree(self) -> Optional[CallTreeNode]: @cached_property def contract_type(self) -> Optional[ContractType]: - address = self.receiver or self.contract_address - if not address: - return None + if address := (self.receiver or self.contract_address): + return self.chain_manager.contracts.get(address) - return self.chain_manager.contracts.get(address) + return None @cached_property def method_called(self) -> Optional[MethodABI]: @@ -270,22 +263,64 @@ def decode_logs( for address, contract in contract_types.items() } + def get_default_log( + _log: Dict, logs: ContractLogContainer, name: Optional[str] = None + ) -> ContractLog: + # For when we fail to decode. + if not name: + name = "UnknownLog" + index = _log.get("logIndex") + if index is not None: + name = f"{name}_WithIndex_{index}" + + return ContractLog( + block_hash=self.block.hash, + block_number=self.block_number, + event_arguments={"__root__": _log["data"]}, + event_name=f"<{name}>", + log_index=logs[-1].log_index + 1 if logs else 0, + transaction_hash=self.txn_hash, + transaction_index=logs[-1].transaction_index if logs else None, + ) + decoded_logs: ContractLogContainer = ContractLogContainer() for log in self.logs: - contract_address = log["address"] - if contract_address not in selectors: - continue - try: - selector = encode_hex(log["topics"][0]) - event_abi = selectors[contract_address][selector] - except KeyError: - # Likely a library log - if library_log := self._decode_ds_note(log): + if contract_address := log.get("address"): + if contract_address in selectors and (topics := log.get("topics")): + selector = encode_hex(topics[0]) + if selector in selectors[contract_address]: + event_abi = selectors[contract_address][selector] + decoded_logs.extend( + self.provider.network.ecosystem.decode_logs([log], event_abi) + ) + + elif library_log := self._decode_ds_note(log): + decoded_logs.append(library_log) + + else: + # Search for selector in other spots: + name = f"UnknownLogWithSelector_{selector}" + obj = get_default_log(log, decoded_logs, name=name) + decoded_logs.append(obj) + + elif library_log := self._decode_ds_note(log): decoded_logs.append(library_log) + + else: + name = f"UnknownLogAtAddress_{contract_address}" + index = log.get("logIndex") + if index is not None: + name = f"{name}_AndLogIndex_{index}" + + obj = get_default_log(log, decoded_logs, name=name) + decoded_logs.append(obj) + + elif library_log := self._decode_ds_note(log): + decoded_logs.append(library_log) + else: - decoded_logs.extend( - self.provider.network.ecosystem.decode_logs([log], event_abi) - ) + obj = get_default_log(log, decoded_logs) + decoded_logs.append(obj) return decoded_logs diff --git a/src/ape_geth/provider.py b/src/ape_geth/provider.py index dad84fd0ed..65d0e9ebc5 100644 --- a/src/ape_geth/provider.py +++ b/src/ape_geth/provider.py @@ -246,8 +246,8 @@ class BaseGethProvider(Web3Provider, ABC): _client_version: Optional[str] = None # optimal values for geth - block_page_size = 5000 - concurrency = 16 + block_page_size: int = 5000 + concurrency: int = 16 name: str = "geth" @@ -450,10 +450,10 @@ def __repr__(self): def connect(self): self._set_web3() - if not self.is_connected: - self.start() - else: + if self.is_connected: self._complete_connect() + else: + self.start() def start(self, timeout: int = 20): test_config = self.config_manager.get_config("test").dict() @@ -503,7 +503,8 @@ def disconnect(self): self._process = None # Also unset the subprocess-provider reference. - self.process = None + # NOTE: Type ignore is wrong; TODO: figure out why. + self.process = None # type: ignore[assignment] super().disconnect() @@ -670,7 +671,10 @@ def http_provider(): def ipc_provider(): # NOTE: This mypy complaint seems incorrect. - return IPCProvider(ipc_path=ipc_path) # type: ignore[arg-type] + if not (path := ipc_path): + raise ValueError("IPC Path required.") + + return IPCProvider(ipc_path=path) # NOTE: This tuple is ordered by try-attempt. # Try ENV, then IPC, and then HTTP last. diff --git a/src/ape_networks/_cli.py b/src/ape_networks/_cli.py index c9ee7c951b..c7b61f1cc4 100644 --- a/src/ape_networks/_cli.py +++ b/src/ape_networks/_cli.py @@ -85,8 +85,8 @@ def run(cli_ctx, network): Start a node process """ - # Ignore web3 logs - cli_ctx.logger._clear_web3_loggers() + # Ignore extra loggers, such as web3 loggers. + cli_ctx.logger._extra_loggers = {} network_ctx = cli_ctx.network_manager.parse_network_choice(network) provider = network_ctx._provider diff --git a/src/ape_plugins/_cli.py b/src/ape_plugins/_cli.py index 653388ef67..07cbe8f8bd 100644 --- a/src/ape_plugins/_cli.py +++ b/src/ape_plugins/_cli.py @@ -42,7 +42,7 @@ def plugins_argument(): """ def load_from_file(ctx, file_path: Path) -> List[PluginInstallRequest]: - if file_path.is_file() and file_path.name != CONFIG_FILE_NAME: + if file_path.is_dir() and (file_path / CONFIG_FILE_NAME).is_file(): file_path = file_path / CONFIG_FILE_NAME if file_path.is_file(): diff --git a/src/ape_plugins/utils.py b/src/ape_plugins/utils.py index 46468b1945..a27965a158 100644 --- a/src/ape_plugins/utils.py +++ b/src/ape_plugins/utils.py @@ -5,7 +5,7 @@ from pydantic import root_validator from ape.__modules__ import __modules__ -from ape.logging import CliLogger +from ape.logging import ApeLogger from ape.plugins import clean_plugin_name from ape.utils import BaseInterfaceModel, cached_property, get_package_version, github_client @@ -194,7 +194,7 @@ def __str__(self): class ModifyPluginResultHandler: - def __init__(self, logger: CliLogger, plugin: PluginInstallRequest): + def __init__(self, logger: ApeLogger, plugin: PluginInstallRequest): self._logger = logger self._plugin = plugin diff --git a/src/ape_test/__init__.py b/src/ape_test/__init__.py index dd5be81151..6a4507aecc 100644 --- a/src/ape_test/__init__.py +++ b/src/ape_test/__init__.py @@ -6,9 +6,8 @@ from ape.api import PluginConfig from ape.api.networks import LOCAL_NETWORK_NAME from ape.utils import DEFAULT_HD_PATH, DEFAULT_NUMBER_OF_TEST_ACCOUNTS, DEFAULT_TEST_MNEMONIC - -from .accounts import TestAccount, TestAccountContainer -from .provider import EthTesterProviderConfig, LocalProvider +from ape_test.accounts import TestAccount, TestAccountContainer +from ape_test.provider import EthTesterProviderConfig, LocalProvider class GasExclusion(PluginConfig): @@ -79,7 +78,7 @@ class CoverageConfig(PluginConfig): the ``--coverage`` flag. """ - reports = CoverageReportsConfig() + reports: CoverageReportsConfig = CoverageReportsConfig() """ Enable reports. """ diff --git a/src/ape_test/_cli.py b/src/ape_test/_cli.py index 4f989cc649..f8557cc335 100644 --- a/src/ape_test/_cli.py +++ b/src/ape_test/_cli.py @@ -8,8 +8,8 @@ import click import pytest -from watchdog import events # type: ignore -from watchdog.observers import Observer # type: ignore +from watchdog import events +from watchdog.observers import Observer from ape.cli import ape_cli_context from ape.utils import ManagerAccessMixin, cached_property diff --git a/src/ape_test/provider.py b/src/ape_test/provider.py index b4bd2b81a7..3cbb5e7db1 100644 --- a/src/ape_test/provider.py +++ b/src/ape_test/provider.py @@ -84,8 +84,9 @@ def estimate_gas_cost(self, txn: TransactionAPI, **kwargs) -> int: # Remove from dict before estimating txn_dict.pop("gas") + txn_data = cast(TxParams, txn_dict) try: - return estimate_gas(txn_dict, block_identifier=block_id) # type: ignore + return estimate_gas(txn_data, block_identifier=block_id) except (ValidationError, TransactionFailed) as err: ape_err = self.get_virtual_machine_error(err, txn=txn) gas_match = self._INVALID_NONCE_PATTERN.match(str(ape_err)) @@ -109,16 +110,16 @@ def estimate_gas_cost(self, txn: TransactionAPI, **kwargs) -> int: @property def chain_id(self) -> int: - try: - if self.cached_chain_id: - return self.cached_chain_id + if self.cached_chain_id: + return self.cached_chain_id + try: result = self._make_request("eth_chainId", []) - self.cached_chain_id = result - return result - except ProviderNotConnectedError: - return self.provider_settings.get("chain_id", self.config.provider.chain_id) + result = self.provider_settings.get("chain_id", self.config.provider.chain_id) + + self.cached_chain_id = result + return result @property def gas_price(self) -> int: diff --git a/tests/conftest.py b/tests/conftest.py index af0b9eb79b..d1c843c1a3 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,10 +1,11 @@ import json import shutil import tempfile +import time from contextlib import contextmanager from pathlib import Path from tempfile import mkdtemp -from typing import Dict, Optional +from typing import Any, Callable, Dict, Optional import pytest import yaml @@ -12,6 +13,7 @@ import ape from ape.exceptions import APINotImplementedError, UnknownSnapshotError +from ape.logging import LogLevel, logger from ape.managers.config import CONFIG_FILE_NAME from ape.types import AddressType from ape.utils import ZERO_ADDRESS @@ -387,3 +389,73 @@ def test_skip_from_converter(): @pytest.fixture def zero_address(): return ZERO_ADDRESS + + +@pytest.fixture +def ape_caplog(caplog): + class ApeCaplog: + def __init__(self): + self.messages_at_start = list(caplog.messages) + self.set_levels() + + def __getattr__(self, name: str) -> Any: + return getattr(caplog, name) + + @property + def fail_message(self) -> str: + if caplog.messages: + last_message = caplog.messages[-1] + return f"Actual last message: {last_message}" + + elif self.messages_at_start: + return ( + f"Failed to detect logs. " + f"However, we did have logs before the operation: " + f"{', '.join(self.messages_at_start)}" + ) + + else: + return "No logs found!" + + @property + def head(self) -> str: + """ + A str representing the latest logged line. + Initialized to empty str. + """ + return caplog.messages[-1] if len(caplog.messages) else "" + + @classmethod + def set_levels(cls): + logger.set_level(LogLevel.INFO) + caplog.set_level(LogLevel.WARNING) + + def assert_last_log(self, message: str): + assert message in self.head, self.fail_message + + def assert_last_log_with_retries( + self, op: Callable, message: str, tries: int = 2, delay: float = 5.0 + ): + times_tried = 0 + return_value = None + while times_tried <= tries: + result = op() + + # Only save the first return value. + if return_value is None and result is not None: + return_value = result + + times_tried += 1 + if message in self.head: + return return_value + + time.sleep(delay) + + # Reset levels in case they got switched. + self.set_levels() + logger.set_level(LogLevel.INFO) + caplog.set_level(LogLevel.WARNING) + + pytest.fail(self.fail_message) + + return ApeCaplog() diff --git a/tests/functional/conftest.py b/tests/functional/conftest.py index 240263294e..58d2378111 100644 --- a/tests/functional/conftest.py +++ b/tests/functional/conftest.py @@ -2,7 +2,7 @@ import time from distutils.dir_util import copy_tree from pathlib import Path -from typing import Optional +from typing import Optional, cast import pytest from ethpm_types import ContractType, HexBytes @@ -15,6 +15,7 @@ from ape.logging import LogLevel from ape.logging import logger as _logger from ape.types import AddressType, ContractLog +from ape_ethereum.proxies import minimal_proxy as _minimal_proxy_container PROJECT_PATH = Path(__file__).parent CONTRACTS_FOLDER = PROJECT_PATH / "data" / "contracts" / "ethereum" / "local" @@ -29,7 +30,7 @@ def fn(name: str) -> ContractType: ALIAS_2 = "__FUNCTIONAL_TESTS_ALIAS_2__" -TEST_ADDRESS = "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" +TEST_ADDRESS = cast(AddressType, "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045") BASE_PROJECTS_DIRECTORY = (Path(__file__).parent / "data" / "projects").absolute() PROJECT_WITH_LONG_CONTRACTS_FOLDER = BASE_PROJECTS_DIRECTORY / "LongContractsFolder" APE_PROJECT_FOLDER = BASE_PROJECTS_DIRECTORY / "ApeProject" @@ -377,7 +378,7 @@ def _assert_log_values( address: Optional[AddressType] = None, ): assert log.contract_address == address or contract_instance.address - assert isinstance(log.b, HexBytes) + assert isinstance(log.b, bytes) expected_previous_number = number - 1 if previous_number is None else previous_number assert log.prevNum == expected_previous_number, "Event param 'prevNum' has unexpected value" assert log.newNum == number, "Event param 'newNum' has unexpected value" @@ -503,3 +504,13 @@ def vyper_factory(owner, get_contract_type): def vyper_blueprint(owner, vyper_contract_container): receipt = owner.declare(vyper_contract_container) return receipt.contract_address + + +@pytest.fixture +def minimal_proxy_container(): + return _minimal_proxy_container + + +@pytest.fixture +def minimal_proxy(owner, minimal_proxy_container): + return owner.deploy(minimal_proxy_container) diff --git a/tests/functional/conversion/test_encode_structs.py b/tests/functional/conversion/test_encode_structs.py index 4df9cdc011..d2709ccaac 100644 --- a/tests/functional/conversion/test_encode_structs.py +++ b/tests/functional/conversion/test_encode_structs.py @@ -1,4 +1,4 @@ -from typing import Dict, Tuple +from typing import Dict, Tuple, cast import pytest from ethpm_types import HexBytes @@ -48,7 +48,7 @@ class SimilarStruct(Struct): "0000000000000000000000000000000000000000000000000000000000000001" "000000000000000000000000d9b7fdb3fc0a0aa3a507dcf0976bc23d49a9c7a3" ) -ADDRESS = "0xD9b7fdb3FC0A0Aa3A507dCf0976bc23D49a9C7A3" +ADDRESS = cast(AddressType, "0xD9b7fdb3FC0A0Aa3A507dCf0976bc23D49a9C7A3") DATA_BY_TYPE_KEY = { "tuple": (1, HexBytes("0x02"), True, ADDRESS), "dict": {"a": 1, "b": HexBytes("0x02"), "c": True, "d": ADDRESS}, diff --git a/tests/functional/data/contracts/ethereum/local/solidity_contract.json b/tests/functional/data/contracts/ethereum/local/solidity_contract.json index e9441856af..4f280cf0da 100644 --- a/tests/functional/data/contracts/ethereum/local/solidity_contract.json +++ b/tests/functional/data/contracts/ethereum/local/solidity_contract.json @@ -1 +1 @@ -{"abi":[{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"}],"name":"AddressChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"bar","type":"uint256"}],"name":"BarHappened","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"foo","type":"uint256"}],"name":"FooHappened","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"b","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"prevNum","type":"uint256"},{"indexed":false,"internalType":"string","name":"dynData","type":"string"},{"indexed":true,"internalType":"uint256","name":"newNum","type":"uint256"},{"indexed":true,"internalType":"string","name":"dynIndexed","type":"string"}],"name":"NumberChange","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fooAndBar","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"a0","type":"uint256"},{"internalType":"uint256","name":"a1","type":"uint256"},{"internalType":"uint256","name":"a2","type":"uint256"},{"internalType":"uint256","name":"a3","type":"uint256"},{"internalType":"uint256","name":"a4","type":"uint256"},{"internalType":"uint256","name":"a5","type":"uint256"},{"internalType":"uint256","name":"a6","type":"uint256"},{"internalType":"uint256","name":"a7","type":"uint256"},{"internalType":"uint256","name":"a8","type":"uint256"},{"internalType":"uint256","name":"a9","type":"uint256"}],"name":"functionWithUniqueAmountOfArguments","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAddressArray","outputs":[{"internalType":"address[2]","name":"","type":"address[2]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getArrayWithBiggerSize","outputs":[{"internalType":"uint256[20]","name":"","type":"uint256[20]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getDynamicStructArray","outputs":[{"components":[{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct","name":"t","type":"tuple"},{"internalType":"uint256","name":"foo","type":"uint256"}],"internalType":"struct TestContractSol.NestedStruct1[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getEmptyArray","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getEmptyDynArrayOfStructs","outputs":[{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct[]","name":"","type":"tuple[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getEmptyTupleOfArrayOfStructsAndDynArrayOfStructs","outputs":[{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct[3]","name":"","type":"tuple[3]"},{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct[]","name":"","type":"tuple[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getEmptyTupleOfDynArrayStructs","outputs":[{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct[]","name":"","type":"tuple[]"},{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct[]","name":"","type":"tuple[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getEmptyTupleOfIntAndDynArray","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"},{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct[]","name":"","type":"tuple[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getFilledArray","outputs":[{"internalType":"uint256[3]","name":"","type":"uint256[3]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getNamedSingleItem","outputs":[{"internalType":"uint256","name":"foo","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getNestedAddressArray","outputs":[{"internalType":"address[3][]","name":"","type":"address[3][]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedArrayDynamicFixed","outputs":[{"internalType":"uint256[2][]","name":"","type":"uint256[2][]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getNestedArrayFixedDynamic","outputs":[{"internalType":"uint256[][3]","name":"","type":"uint256[][3]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedArrayFixedFixed","outputs":[{"internalType":"uint256[2][3]","name":"","type":"uint256[2][3]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getNestedArrayMixedDynamic","outputs":[{"internalType":"uint256[][3][][5]","name":"","type":"uint256[][3][][5]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedStruct1","outputs":[{"components":[{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct","name":"t","type":"tuple"},{"internalType":"uint256","name":"foo","type":"uint256"}],"internalType":"struct TestContractSol.NestedStruct1","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedStruct2","outputs":[{"components":[{"internalType":"uint256","name":"foo","type":"uint256"},{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct","name":"t","type":"tuple"}],"internalType":"struct TestContractSol.NestedStruct2","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedStructWithTuple1","outputs":[{"components":[{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct","name":"t","type":"tuple"},{"internalType":"uint256","name":"foo","type":"uint256"}],"internalType":"struct TestContractSol.NestedStruct1","name":"","type":"tuple"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedStructWithTuple2","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"components":[{"internalType":"uint256","name":"foo","type":"uint256"},{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct","name":"t","type":"tuple"}],"internalType":"struct TestContractSol.NestedStruct2","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPartiallyNamedTuple","outputs":[{"internalType":"uint256","name":"foo","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getSingleItemArray","outputs":[{"internalType":"uint256[1]","name":"","type":"uint256[1]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getStaticStructArray","outputs":[{"components":[{"internalType":"uint256","name":"foo","type":"uint256"},{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct","name":"t","type":"tuple"}],"internalType":"struct TestContractSol.NestedStruct2[3]","name":"","type":"tuple[3]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStruct","outputs":[{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStructWithArray","outputs":[{"components":[{"internalType":"uint256","name":"foo","type":"uint256"},{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct[2]","name":"arr","type":"tuple[2]"},{"internalType":"uint256","name":"bar","type":"uint256"}],"internalType":"struct TestContractSol.WithArray","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTupleAllNamed","outputs":[{"internalType":"uint256","name":"foo","type":"uint256"},{"internalType":"uint256","name":"bar","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getTupleOfAddressArray","outputs":[{"internalType":"address[20]","name":"","type":"address[20]"},{"internalType":"int128[20]","name":"","type":"int128[20]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTupleOfArrays","outputs":[{"internalType":"uint256[20]","name":"","type":"uint256[20]"},{"internalType":"uint256[20]","name":"","type":"uint256[20]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getTupleOfIntAndStructArray","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"components":[{"internalType":"uint256","name":"one","type":"uint256"},{"internalType":"uint256","name":"two","type":"uint256"},{"internalType":"uint256","name":"three","type":"uint256"},{"internalType":"uint256","name":"four","type":"uint256"},{"internalType":"uint256","name":"five","type":"uint256"},{"internalType":"uint256","name":"six","type":"uint256"}],"internalType":"struct TestContractSol.IntStruct[5]","name":"","type":"tuple[5]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getUnnamedTuple","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"myNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"prevNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"setAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"bal","type":"uint256"}],"name":"setBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"setNumber","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"name":"setNumber","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct","name":"_my_struct","type":"tuple"}],"name":"setStruct","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct[2]","name":"_my_struct_array","type":"tuple[2]"}],"name":"setStructArray","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"theAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"ast":{"ast_type":"SourceUnit","children":[{"ast_type":"PragmaDirective","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":23,"start":32}},{"ast_type":"ContractDefinition","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"contract_id":6,"jump_code":"","length":7,"start":88}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"owner","src":{"contract_id":6,"jump_code":"","length":20,"start":88}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":114}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"myNumber","src":{"contract_id":6,"jump_code":"","length":23,"start":114}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":143}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"prevNumber","src":{"contract_id":6,"jump_code":"","length":25,"start":143}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"contract_id":6,"jump_code":"","length":7,"start":174}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"theAddress","src":{"contract_id":6,"jump_code":"","length":25,"start":174}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"Mapping","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"contract_id":6,"jump_code":"","length":7,"start":213}},{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":224}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":27,"start":205}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"balances","src":{"contract_id":6,"jump_code":"","length":43,"start":205}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":254}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":254}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":264}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":12,"start":254}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynArray","src":{"contract_id":6,"jump_code":"","length":21,"start":254}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":281}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":281}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":291}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":12,"start":281}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":14,"start":281}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":296}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":17,"start":281}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"mixedArray","src":{"contract_id":6,"jump_code":"","length":28,"start":281}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":316}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":343}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MAX_FOO","src":{"contract_id":6,"jump_code":"","length":28,"start":316}},{"ast_type":"EventDefinition","children":[{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"bytes32","src":{"contract_id":6,"jump_code":"","length":7,"start":379}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"b","src":{"contract_id":6,"jump_code":"","length":9,"start":379}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":398}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"prevNum","src":{"contract_id":6,"jump_code":"","length":15,"start":398}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"string","src":{"contract_id":6,"jump_code":"","length":6,"start":423}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynData","src":{"contract_id":6,"jump_code":"","length":14,"start":423}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":447}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"newNum","src":{"contract_id":6,"jump_code":"","length":22,"start":447}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"string","src":{"contract_id":6,"jump_code":"","length":6,"start":479}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynIndexed","src":{"contract_id":6,"jump_code":"","length":25,"start":479}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":141,"start":369}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NumberChange","src":{"contract_id":6,"jump_code":"","length":160,"start":351}},{"ast_type":"EventDefinition","children":[{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"contract_id":6,"jump_code":"","length":7,"start":546}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"newAddress","src":{"contract_id":6,"jump_code":"","length":26,"start":546}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":42,"start":536}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"AddressChange","src":{"contract_id":6,"jump_code":"","length":62,"start":517}},{"ast_type":"EventDefinition","children":[{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":612}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"foo","src":{"contract_id":6,"jump_code":"","length":19,"start":612}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":35,"start":602}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"FooHappened","src":{"contract_id":6,"jump_code":"","length":53,"start":585}},{"ast_type":"EventDefinition","children":[{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":671}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"bar","src":{"contract_id":6,"jump_code":"","length":19,"start":671}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":35,"start":661}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"BarHappened","src":{"contract_id":6,"jump_code":"","length":53,"start":644}},{"ast_type":"StructDefinition","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"contract_id":6,"jump_code":"","length":7,"start":729}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a","src":{"contract_id":6,"jump_code":"","length":9,"start":729}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"bytes32","src":{"contract_id":6,"jump_code":"","length":7,"start":748}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"b","src":{"contract_id":6,"jump_code":"","length":9,"start":748}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":61,"start":703}},{"ast_type":"StructDefinition","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":801}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":801}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"t","src":{"contract_id":6,"jump_code":"","length":10,"start":801}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":821}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"foo","src":{"contract_id":6,"jump_code":"","length":11,"start":821}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"contract_id":6,"jump_code":"","length":69,"start":770}},{"ast_type":"StructDefinition","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":876}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"foo","src":{"contract_id":6,"jump_code":"","length":11,"start":876}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":897}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":897}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"t","src":{"contract_id":6,"jump_code":"","length":10,"start":897}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"contract_id":6,"jump_code":"","length":69,"start":845}},{"ast_type":"StructDefinition","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":947}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"foo","src":{"contract_id":6,"jump_code":"","length":11,"start":947}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":968}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":968}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":977}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":968}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"contract_id":6,"jump_code":"","length":15,"start":968}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":993}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"bar","src":{"contract_id":6,"jump_code":"","length":11,"start":993}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"WithArray","src":{"contract_id":6,"jump_code":"","length":91,"start":920}},{"ast_type":"StructDefinition","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":1044}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"one","src":{"contract_id":6,"jump_code":"","length":11,"start":1044}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":1065}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"two","src":{"contract_id":6,"jump_code":"","length":11,"start":1065}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":1086}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"three","src":{"contract_id":6,"jump_code":"","length":13,"start":1086}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":1109}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"four","src":{"contract_id":6,"jump_code":"","length":12,"start":1109}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":1131}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"five","src":{"contract_id":6,"jump_code":"","length":12,"start":1131}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":1153}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"six","src":{"contract_id":6,"jump_code":"","length":11,"start":1153}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"IntStruct","src":{"contract_id":6,"jump_code":"","length":154,"start":1017}},{"ast_type":"ModifierDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"ExpressionStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"BinaryOperation","children":[{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"contract_id":6,"jump_code":"","length":3,"start":1216}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":1216}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"owner","src":{"contract_id":6,"jump_code":"","length":5,"start":1230}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":19,"start":1216}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":13,"start":1237}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"require","src":{"contract_id":6,"jump_code":"","length":7,"start":1208}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":43,"start":1208}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":43,"start":1208}},{"ast_type":"PlaceholderStatement","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":1261}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":71,"start":1198}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":1195}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"onlyOwner","src":{"contract_id":6,"jump_code":"","length":92,"start":1177}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"myNumber","src":{"contract_id":6,"jump_code":"","length":8,"start":1310}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"contract_id":6,"jump_code":"","length":3,"start":1321}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":14,"start":1310}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":14,"start":1310}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"owner","src":{"contract_id":6,"jump_code":"","length":5,"start":1334}},{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"contract_id":6,"jump_code":"","length":3,"start":1342}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":1342}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":18,"start":1334}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":18,"start":1334}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynArray","src":{"contract_id":6,"jump_code":"","length":8,"start":1363}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":1372}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":1363}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":1383}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"contract_id":6,"jump_code":"","length":4,"start":1378}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":4,"start":1378}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":7,"start":1378}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":1377}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":23,"start":1363}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":23,"start":1363}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynArray","src":{"contract_id":6,"jump_code":"","length":8,"start":1396}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":1405}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":1396}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":1416}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"contract_id":6,"jump_code":"","length":4,"start":1411}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":4,"start":1411}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":7,"start":1411}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":1420}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":12,"start":1410}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":26,"start":1396}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":26,"start":1396}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynArray","src":{"contract_id":6,"jump_code":"","length":8,"start":1432}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":1441}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":1432}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":1452}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"contract_id":6,"jump_code":"","length":4,"start":1447}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":4,"start":1447}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":7,"start":1447}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":1456}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":1459}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":15,"start":1446}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":29,"start":1432}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":29,"start":1432}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynArray","src":{"contract_id":6,"jump_code":"","length":8,"start":1491}},{"ast_type":"MemberAccess","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"mixedArray","src":{"contract_id":6,"jump_code":"","length":10,"start":1472}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":1483}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":13,"start":1472}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":18,"start":1472}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":28,"start":1472}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":28,"start":1472}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynArray","src":{"contract_id":6,"jump_code":"","length":8,"start":1529}},{"ast_type":"MemberAccess","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"mixedArray","src":{"contract_id":6,"jump_code":"","length":10,"start":1510}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":1521}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":13,"start":1510}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":18,"start":1510}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":28,"start":1510}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":28,"start":1510}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynArray","src":{"contract_id":6,"jump_code":"","length":8,"start":1567}},{"ast_type":"MemberAccess","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"mixedArray","src":{"contract_id":6,"jump_code":"","length":10,"start":1548}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":1559}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":13,"start":1548}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":18,"start":1548}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":28,"start":1548}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":28,"start":1548}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":283,"start":1300}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":1287}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"contract_id":6,"jump_code":"","length":11,"start":1287}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":13,"start":1286}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","start":1300}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":308,"start":1275}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"EmitStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":1644}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"FooHappened","src":{"contract_id":6,"jump_code":"","length":11,"start":1632}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":14,"start":1632}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":19,"start":1627}},{"ast_type":"EmitStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":1673}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"BarHappened","src":{"contract_id":6,"jump_code":"","length":11,"start":1661}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":14,"start":1661}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":19,"start":1656}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":65,"start":1617}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":1607}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","start":1617}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"fooAndBar","src":{"contract_id":6,"jump_code":"","length":93,"start":1589}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"ExpressionStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"BinaryOperation","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"contract_id":6,"jump_code":"","length":3,"start":1755}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":1762}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":1755}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"require","src":{"contract_id":6,"jump_code":"","length":7,"start":1747}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":17,"start":1747}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":17,"start":1747}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"prevNumber","src":{"contract_id":6,"jump_code":"","length":10,"start":1774}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"myNumber","src":{"contract_id":6,"jump_code":"","length":8,"start":1787}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":1774}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":1774}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"myNumber","src":{"contract_id":6,"jump_code":"","length":8,"start":1805}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"contract_id":6,"jump_code":"","length":3,"start":1816}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":14,"start":1805}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":14,"start":1805}},{"ast_type":"EmitStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"BinaryOperation","children":[{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"block","src":{"contract_id":6,"jump_code":"","length":5,"start":1857}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":12,"start":1857}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":1872}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":16,"start":1857}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"blockhash","src":{"contract_id":6,"jump_code":"","length":9,"start":1847}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":27,"start":1847}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"prevNumber","src":{"contract_id":6,"jump_code":"","length":10,"start":1876}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":1888}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"contract_id":6,"jump_code":"","length":3,"start":1899}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":1904}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NumberChange","src":{"contract_id":6,"jump_code":"","length":12,"start":1834}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":80,"start":1834}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":85,"start":1829}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":184,"start":1737}},{"ast_type":"ModifierInvocation","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"onlyOwner","src":{"contract_id":6,"jump_code":"","length":9,"start":1727}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":1727}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":1707}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"contract_id":6,"jump_code":"","length":11,"start":1707}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":13,"start":1706}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","start":1737}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"setNumber","src":{"contract_id":6,"jump_code":"","length":233,"start":1688}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"ExpressionStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"BinaryOperation","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"contract_id":6,"jump_code":"","length":3,"start":2086}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":2093}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":2086}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"require","src":{"contract_id":6,"jump_code":"","length":7,"start":2078}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":17,"start":2078}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":17,"start":2078}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"prevNumber","src":{"contract_id":6,"jump_code":"","length":10,"start":2105}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"myNumber","src":{"contract_id":6,"jump_code":"","length":8,"start":2118}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":2105}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":2105}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"myNumber","src":{"contract_id":6,"jump_code":"","length":8,"start":2136}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"contract_id":6,"jump_code":"","length":3,"start":2147}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":14,"start":2136}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":14,"start":2136}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"theAddress","src":{"contract_id":6,"jump_code":"","length":10,"start":2160}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_address","src":{"contract_id":6,"jump_code":"","length":8,"start":2173}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":2160}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":2160}},{"ast_type":"EmitStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"BinaryOperation","children":[{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"block","src":{"contract_id":6,"jump_code":"","length":5,"start":2219}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":12,"start":2219}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":2234}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":16,"start":2219}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"blockhash","src":{"contract_id":6,"jump_code":"","length":9,"start":2209}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":27,"start":2209}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"prevNumber","src":{"contract_id":6,"jump_code":"","length":10,"start":2238}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":2250}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"contract_id":6,"jump_code":"","length":3,"start":2261}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":2266}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NumberChange","src":{"contract_id":6,"jump_code":"","length":12,"start":2196}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":80,"start":2196}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":85,"start":2191}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":289,"start":1994}},{"ast_type":"ModifierInvocation","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"onlyOwner","src":{"contract_id":6,"jump_code":"","length":9,"start":1984}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":1984}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":1946}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"contract_id":6,"jump_code":"","length":11,"start":1946}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"contract_id":6,"jump_code":"","length":7,"start":1959}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_address","src":{"contract_id":6,"jump_code":"","length":16,"start":1959}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":31,"start":1945}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","start":1994}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"setNumber","src":{"contract_id":6,"jump_code":"","length":356,"start":1927}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"theAddress","src":{"contract_id":6,"jump_code":"","length":10,"start":2344}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_address","src":{"contract_id":6,"jump_code":"","length":8,"start":2357}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":2344}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":2344}},{"ast_type":"EmitStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_address","src":{"contract_id":6,"jump_code":"","length":8,"start":2394}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"AddressChange","src":{"contract_id":6,"jump_code":"","length":13,"start":2380}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":23,"start":2380}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":28,"start":2375}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":76,"start":2334}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"contract_id":6,"jump_code":"","length":7,"start":2309}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_address","src":{"contract_id":6,"jump_code":"","length":16,"start":2309}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":18,"start":2308}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","start":2334}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"setAddress","src":{"contract_id":6,"jump_code":"","length":121,"start":2289}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"balances","src":{"contract_id":6,"jump_code":"","length":8,"start":2484}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_address","src":{"contract_id":6,"jump_code":"","length":8,"start":2493}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":18,"start":2484}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"bal","src":{"contract_id":6,"jump_code":"","length":3,"start":2506}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":25,"start":2484}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":25,"start":2484}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":42,"start":2474}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"contract_id":6,"jump_code":"","length":7,"start":2436}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_address","src":{"contract_id":6,"jump_code":"","length":16,"start":2436}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":2454}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"bal","src":{"contract_id":6,"jump_code":"","length":11,"start":2454}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":31,"start":2435}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","start":2474}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"setBalance","src":{"contract_id":6,"jump_code":"","length":100,"start":2416}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"contract_id":6,"jump_code":"","length":3,"start":2606}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":2606}},{"ast_type":"FunctionCall","children":[{"ast_type":"BinaryOperation","children":[{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"block","src":{"contract_id":6,"jump_code":"","length":5,"start":2628}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":12,"start":2628}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":2643}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":16,"start":2628}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"blockhash","src":{"contract_id":6,"jump_code":"","length":9,"start":2618}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":27,"start":2618}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":2597}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":49,"start":2597}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":56,"start":2590}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":73,"start":2580}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":2540}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":2563}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":2563}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":15,"start":2563}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":17,"start":2562}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"contract_id":6,"jump_code":"","length":131,"start":2522}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"contract_id":6,"jump_code":"","length":9,"start":2760}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":2760}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":2773}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"contract_id":6,"jump_code":"","length":13,"start":2746}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":29,"start":2746}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":36,"start":2739}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":53,"start":2729}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":2684}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"contract_id":6,"jump_code":"","length":13,"start":2707}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":13,"start":2707}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":20,"start":2707}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":22,"start":2706}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNestedStruct1","src":{"contract_id":6,"jump_code":"","length":123,"start":2659}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":2889}},{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"contract_id":6,"jump_code":"","length":9,"start":2892}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":2892}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"contract_id":6,"jump_code":"","length":13,"start":2875}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":29,"start":2875}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":36,"start":2868}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":53,"start":2858}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":2813}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"contract_id":6,"jump_code":"","length":13,"start":2836}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":13,"start":2836}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":20,"start":2836}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":22,"start":2835}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNestedStruct2","src":{"contract_id":6,"jump_code":"","length":123,"start":2788}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"contract_id":6,"jump_code":"","length":9,"start":3037}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":3037}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":3050}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"contract_id":6,"jump_code":"","length":13,"start":3023}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":29,"start":3023}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":3054}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":34,"start":3022}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":41,"start":3015}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":58,"start":3005}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":2951}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"contract_id":6,"jump_code":"","length":13,"start":2974}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":13,"start":2974}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":20,"start":2974}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":2996}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":7,"start":2996}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":31,"start":2973}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNestedStructWithTuple1","src":{"contract_id":6,"jump_code":"","length":146,"start":2917}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":3175}},{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":3192}},{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"contract_id":6,"jump_code":"","length":9,"start":3195}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":3195}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"contract_id":6,"jump_code":"","length":13,"start":3178}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":29,"start":3178}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":34,"start":3174}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":41,"start":3167}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":58,"start":3157}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":3103}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":3126}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":7,"start":3126}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"contract_id":6,"jump_code":"","length":13,"start":3135}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":13,"start":3135}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":20,"start":3135}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":31,"start":3125}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNestedStructWithTuple2","src":{"contract_id":6,"jump_code":"","length":146,"start":3069}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":3307}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":3307}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":3307}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs","src":{"contract_id":6,"jump_code":"","length":29,"start":3307}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":29,"start":3307}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs","src":{"contract_id":6,"jump_code":"","length":11,"start":3353}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":18,"start":3346}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":74,"start":3297}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":3255}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":3278}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":3278}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":3278}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":17,"start":3278}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":19,"start":3277}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getEmptyDynArrayOfStructs","src":{"contract_id":6,"jump_code":"","length":150,"start":3221}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":3487}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":3487}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":3487}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs_0","src":{"contract_id":6,"jump_code":"","length":31,"start":3487}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":31,"start":3487}},{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":3528}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":3528}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":3528}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs_1","src":{"contract_id":6,"jump_code":"","length":31,"start":3528}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":31,"start":3528}},{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs_0","src":{"contract_id":6,"jump_code":"","length":13,"start":3577}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs_1","src":{"contract_id":6,"jump_code":"","length":13,"start":3592}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":30,"start":3576}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":37,"start":3569}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":136,"start":3477}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":3416}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":3439}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":3439}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":3439}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":17,"start":3439}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":3458}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":3458}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":3458}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":17,"start":3458}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":38,"start":3438}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getEmptyTupleOfDynArrayStructs","src":{"contract_id":6,"jump_code":"","length":236,"start":3377}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":3749}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":3749}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":3758}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":3749}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs_0","src":{"contract_id":6,"jump_code":"","length":32,"start":3749}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":32,"start":3749}},{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":3791}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":3791}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":3791}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs_1","src":{"contract_id":6,"jump_code":"","length":31,"start":3791}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":31,"start":3791}},{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs_0","src":{"contract_id":6,"jump_code":"","length":13,"start":3840}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs_1","src":{"contract_id":6,"jump_code":"","length":13,"start":3855}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":30,"start":3839}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":37,"start":3832}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":137,"start":3739}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":3677}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":3700}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":3700}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":3709}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":3700}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":18,"start":3700}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":3720}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":3720}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":3720}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":17,"start":3720}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":39,"start":3699}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getEmptyTupleOfArrayOfStructsAndDynArrayOfStructs","src":{"contract_id":6,"jump_code":"","length":257,"start":3619}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"IntStruct","src":{"contract_id":6,"jump_code":"","length":9,"start":3987}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":3987}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MAX_FOO","src":{"contract_id":6,"jump_code":"","length":7,"start":3997}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":18,"start":3987}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"result","src":{"contract_id":6,"jump_code":"","length":32,"start":3987}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":32,"start":3987}},{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":4037}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"result","src":{"contract_id":6,"jump_code":"","length":6,"start":4040}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":4036}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":18,"start":4029}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":77,"start":3977}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":3918}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":3941}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":7,"start":3941}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"IntStruct","src":{"contract_id":6,"jump_code":"","length":9,"start":3950}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":3950}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MAX_FOO","src":{"contract_id":6,"jump_code":"","length":7,"start":3960}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":18,"start":3950}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":25,"start":3950}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":36,"start":3940}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getTupleOfIntAndStructArray","src":{"contract_id":6,"jump_code":"","length":172,"start":3882}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":4168}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":4168}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_integers","src":{"contract_id":6,"jump_code":"","length":26,"start":4168}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":26,"start":4168}},{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":4204}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":4204}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":4204}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_structs","src":{"contract_id":6,"jump_code":"","length":26,"start":4204}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":26,"start":4204}},{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_integers","src":{"contract_id":6,"jump_code":"","length":9,"start":4248}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_structs","src":{"contract_id":6,"jump_code":"","length":8,"start":4259}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":4247}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":28,"start":4240}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":117,"start":4158}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":4098}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":4121}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":4121}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":16,"start":4121}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":4139}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":4139}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":4139}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":17,"start":4139}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":37,"start":4120}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getEmptyTupleOfIntAndDynArray","src":{"contract_id":6,"jump_code":"","length":215,"start":4060}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":4359}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":4359}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":4368}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":4359}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"contract_id":6,"jump_code":"","length":22,"start":4359}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"contract_id":6,"jump_code":"","length":9,"start":4385}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":4385}},{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"contract_id":6,"jump_code":"","length":9,"start":4398}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":4398}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":26,"start":4384}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":51,"start":4359}},{"ast_type":"Return","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":4437}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"contract_id":6,"jump_code":"","length":3,"start":4440}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":4445}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"WithArray","src":{"contract_id":6,"jump_code":"","length":9,"start":4427}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":20,"start":4427}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":27,"start":4420}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":105,"start":4349}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":4308}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"WithArray","src":{"contract_id":6,"jump_code":"","length":9,"start":4331}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":4331}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":16,"start":4331}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":18,"start":4330}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStructWithArray","src":{"contract_id":6,"jump_code":"","length":173,"start":4281}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":4533}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":4533}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"contract_id":6,"jump_code":"","length":21,"start":4533}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":4533}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"contract_id":6,"jump_code":"","length":4,"start":4571}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":4564}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":59,"start":4523}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":4482}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":4505}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":4505}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":16,"start":4505}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":18,"start":4504}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getEmptyArray","src":{"contract_id":6,"jump_code":"","length":122,"start":4460}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":4667}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":4675}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":4667}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"contract_id":6,"jump_code":"","length":22,"start":4667}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":4701}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":4693}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":7,"start":4693}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":4693}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":12,"start":4692}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":37,"start":4667}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"contract_id":6,"jump_code":"","length":4,"start":4721}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":4714}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":75,"start":4657}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":4615}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":4638}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":4646}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":4638}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":17,"start":4638}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":19,"start":4637}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getSingleItemArray","src":{"contract_id":6,"jump_code":"","length":144,"start":4588}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":4813}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":4821}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":4813}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"contract_id":6,"jump_code":"","length":22,"start":4813}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":4847}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":4839}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":7,"start":4839}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":4839}},{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":4859}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":4851}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":7,"start":4851}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":4851}},{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":4871}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":4863}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":7,"start":4863}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":4863}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":36,"start":4838}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":61,"start":4813}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"contract_id":6,"jump_code":"","length":4,"start":4891}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":4884}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":99,"start":4803}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":4761}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":4784}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":4792}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":4784}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":17,"start":4784}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":19,"start":4783}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getFilledArray","src":{"contract_id":6,"jump_code":"","length":164,"start":4738}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"contract_id":6,"jump_code":"","length":7,"start":4984}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":4992}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":4984}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"contract_id":6,"jump_code":"","length":22,"start":4984}},{"ast_type":"TupleExpression","children":[{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"contract_id":6,"jump_code":"","length":3,"start":5010}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":5010}},{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"contract_id":6,"jump_code":"","length":3,"start":5022}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":5022}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":24,"start":5009}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":49,"start":4984}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"contract_id":6,"jump_code":"","length":4,"start":5050}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":5043}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":87,"start":4974}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":4932}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"contract_id":6,"jump_code":"","length":7,"start":4955}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":4963}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":4955}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":17,"start":4955}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":19,"start":4954}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getAddressArray","src":{"contract_id":6,"jump_code":"","length":153,"start":4908}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"contract_id":6,"jump_code":"","length":13,"start":5154}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":13,"start":5154}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":15,"start":5154}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"contract_id":6,"jump_code":"","length":27,"start":5154}},{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":5204}},{"ast_type":"NewExpression","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"contract_id":6,"jump_code":"","length":13,"start":5188}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":13,"start":5188}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":15,"start":5188}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":19,"start":5184}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":22,"start":5184}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":52,"start":5154}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"contract_id":6,"jump_code":"","length":4,"start":5216}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":5221}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":7,"start":5216}},{"ast_type":"FunctionCall","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"contract_id":6,"jump_code":"","length":9,"start":5240}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":5240}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":5253}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"contract_id":6,"jump_code":"","length":13,"start":5226}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":29,"start":5226}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":39,"start":5216}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":39,"start":5216}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"contract_id":6,"jump_code":"","length":4,"start":5265}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":5270}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":7,"start":5265}},{"ast_type":"FunctionCall","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"contract_id":6,"jump_code":"","length":9,"start":5289}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":5289}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":5302}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"contract_id":6,"jump_code":"","length":13,"start":5275}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":29,"start":5275}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":39,"start":5265}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":39,"start":5265}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"contract_id":6,"jump_code":"","length":4,"start":5321}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":5314}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":188,"start":5144}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":5097}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"contract_id":6,"jump_code":"","length":13,"start":5120}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":13,"start":5120}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":15,"start":5120}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":22,"start":5120}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":24,"start":5119}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getDynamicStructArray","src":{"contract_id":6,"jump_code":"","length":265,"start":5067}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"contract_id":6,"jump_code":"","length":13,"start":5423}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":13,"start":5423}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":5437}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":16,"start":5423}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"contract_id":6,"jump_code":"","length":28,"start":5423}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":5469}},{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"contract_id":6,"jump_code":"","length":9,"start":5472}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":5472}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"contract_id":6,"jump_code":"","length":13,"start":5455}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":29,"start":5455}},{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":5500}},{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"contract_id":6,"jump_code":"","length":9,"start":5503}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":5503}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"contract_id":6,"jump_code":"","length":13,"start":5486}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":29,"start":5486}},{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":5531}},{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"contract_id":6,"jump_code":"","length":9,"start":5534}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":5534}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"contract_id":6,"jump_code":"","length":13,"start":5517}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":29,"start":5517}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":93,"start":5454}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":124,"start":5423}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"contract_id":6,"jump_code":"","length":4,"start":5562}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":5555}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":158,"start":5415}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":5367}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"contract_id":6,"jump_code":"","length":13,"start":5390}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":13,"start":5390}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":5404}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":16,"start":5390}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":23,"start":5390}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":25,"start":5389}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStaticStructArray","src":{"contract_id":6,"jump_code":"","length":235,"start":5338}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":5663}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":5671}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":5663}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"contract_id":6,"jump_code":"","length":23,"start":5663}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":23,"start":5663}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"contract_id":6,"jump_code":"","length":4,"start":5703}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":5696}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":61,"start":5653}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":5610}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":5633}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":5641}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":5633}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":18,"start":5633}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":20,"start":5632}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getArrayWithBiggerSize","src":{"contract_id":6,"jump_code":"","length":135,"start":5579}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":5818}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":5826}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":5818}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data0","src":{"contract_id":6,"jump_code":"","length":24,"start":5818}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":24,"start":5818}},{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":5852}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":5860}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":5852}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data1","src":{"contract_id":6,"jump_code":"","length":24,"start":5852}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":24,"start":5852}},{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data0","src":{"contract_id":6,"jump_code":"","length":5,"start":5894}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data1","src":{"contract_id":6,"jump_code":"","length":5,"start":5901}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":14,"start":5893}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":5886}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":106,"start":5808}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":5745}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":5768}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":5776}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":5768}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":18,"start":5768}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":5788}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":5796}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":5788}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":18,"start":5788}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":40,"start":5767}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getTupleOfArrays","src":{"contract_id":6,"jump_code":"","length":194,"start":5720}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":3,"start":6000}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":5993}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":27,"start":5983}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":5947}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":5970}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"foo","src":{"contract_id":6,"jump_code":"","length":11,"start":5970}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":13,"start":5969}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNamedSingleItem","src":{"contract_id":6,"jump_code":"","length":90,"start":5920}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":3,"start":6108}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":3,"start":6113}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":6107}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":17,"start":6100}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":34,"start":6090}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":6041}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":6064}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"foo","src":{"contract_id":6,"jump_code":"","length":11,"start":6064}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":6077}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"bar","src":{"contract_id":6,"jump_code":"","length":11,"start":6077}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":26,"start":6063}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getTupleAllNamed","src":{"contract_id":6,"jump_code":"","length":108,"start":6016}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6213}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6216}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":6,"start":6212}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":13,"start":6205}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":30,"start":6195}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":6154}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":6177}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":7,"start":6177}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":6186}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":7,"start":6186}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":18,"start":6176}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getUnnamedTuple","src":{"contract_id":6,"jump_code":"","length":95,"start":6130}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":3,"start":6325}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":3,"start":6330}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":6324}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":17,"start":6317}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":34,"start":6307}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":6262}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":6285}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"foo","src":{"contract_id":6,"jump_code":"","length":11,"start":6285}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":6298}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":7,"start":6298}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":22,"start":6284}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getPartiallyNamedTuple","src":{"contract_id":6,"jump_code":"","length":110,"start":6231}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"contract_id":6,"jump_code":"","length":7,"start":6450}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":6458}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":6450}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"addresses","src":{"contract_id":6,"jump_code":"","length":28,"start":6450}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":28,"start":6450}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"addresses","src":{"contract_id":6,"jump_code":"","length":9,"start":6488}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6498}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":12,"start":6488}},{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"contract_id":6,"jump_code":"","length":3,"start":6503}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":6503}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":25,"start":6488}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":25,"start":6488}},{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"int128","src":{"contract_id":6,"jump_code":"","length":6,"start":6523}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":6530}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":6523}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"contract_id":6,"jump_code":"","length":22,"start":6523}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":22,"start":6523}},{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"addresses","src":{"contract_id":6,"jump_code":"","length":9,"start":6563}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"contract_id":6,"jump_code":"","length":4,"start":6574}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":17,"start":6562}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":24,"start":6555}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":146,"start":6440}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":6378}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"contract_id":6,"jump_code":"","length":7,"start":6401}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":6409}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":6401}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":18,"start":6401}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"int128","src":{"contract_id":6,"jump_code":"","length":6,"start":6421}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":6428}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":6421}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":17,"start":6421}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":39,"start":6400}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getTupleOfAddressArray","src":{"contract_id":6,"jump_code":"","length":239,"start":6347}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"contract_id":6,"jump_code":"","length":4,"start":6680}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6685}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":7,"start":6680}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6688}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":6680}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"contract_id":6,"jump_code":"","length":21,"start":6680}},{"ast_type":"TupleExpression","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6711}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"contract_id":6,"jump_code":"","length":4,"start":6706}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":4,"start":6706}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":7,"start":6706}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6714}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":6705}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6724}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"contract_id":6,"jump_code":"","length":4,"start":6719}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":4,"start":6719}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":7,"start":6719}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6728}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":12,"start":6718}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6738}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"contract_id":6,"jump_code":"","length":4,"start":6733}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":4,"start":6733}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":7,"start":6733}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6742}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":12,"start":6732}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":41,"start":6704}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":65,"start":6680}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"contract_id":6,"jump_code":"","length":3,"start":6762}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":6755}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":102,"start":6670}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":6625}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":6648}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6656}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":6648}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6659}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":13,"start":6648}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":20,"start":6648}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":22,"start":6647}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNestedArrayFixedFixed","src":{"contract_id":6,"jump_code":"","length":180,"start":6592}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"contract_id":6,"jump_code":"","length":4,"start":6867}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6872}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":7,"start":6867}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":6867}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"contract_id":6,"jump_code":"","length":20,"start":6867}},{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6904}},{"ast_type":"NewExpression","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"contract_id":6,"jump_code":"","length":4,"start":6894}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6899}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":7,"start":6894}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":6894}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":13,"start":6890}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":16,"start":6890}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":39,"start":6867}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"contract_id":6,"jump_code":"","length":3,"start":6916}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6920}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":6,"start":6916}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6931}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"contract_id":6,"jump_code":"","length":4,"start":6926}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":4,"start":6926}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":7,"start":6926}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6935}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":12,"start":6925}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":6916}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":6916}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"contract_id":6,"jump_code":"","length":3,"start":6947}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6951}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":6,"start":6947}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6962}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"contract_id":6,"jump_code":"","length":4,"start":6957}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":4,"start":6957}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":7,"start":6957}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6966}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":12,"start":6956}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":6947}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":6947}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"contract_id":6,"jump_code":"","length":3,"start":6978}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6982}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":6,"start":6978}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6993}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"contract_id":6,"jump_code":"","length":4,"start":6988}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":4,"start":6988}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":7,"start":6988}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6997}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":12,"start":6987}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":6978}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":6978}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"contract_id":6,"jump_code":"","length":3,"start":7016}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":7009}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":169,"start":6857}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":6813}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":6836}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":6844}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":6836}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":12,"start":6836}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":19,"start":6836}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":6835}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNestedArrayDynamicFixed","src":{"contract_id":6,"jump_code":"","length":248,"start":6778}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynArray","src":{"contract_id":6,"jump_code":"","length":8,"start":7128}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":15,"start":7121}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":32,"start":7111}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":7067}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":7090}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":7090}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":7100}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":12,"start":7090}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":19,"start":7090}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":7089}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNestedArrayFixedDynamic","src":{"contract_id":6,"jump_code":"","length":111,"start":7032}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"mixedArray","src":{"contract_id":6,"jump_code":"","length":10,"start":7250}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":17,"start":7243}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":34,"start":7233}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":7184}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":7207}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":9,"start":7207}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":7217}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":12,"start":7207}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":14,"start":7207}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":7222}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":17,"start":7207}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":24,"start":7207}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":26,"start":7206}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNestedArrayMixedDynamic","src":{"contract_id":6,"jump_code":"","length":118,"start":7149}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"contract_id":6,"jump_code":"","length":7,"start":7357}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":7365}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":7357}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":12,"start":7357}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"contract_id":6,"jump_code":"","length":23,"start":7357}},{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":7400}},{"ast_type":"NewExpression","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"contract_id":6,"jump_code":"","length":7,"start":7387}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":7395}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":7387}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":12,"start":7387}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":16,"start":7383}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":19,"start":7383}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":45,"start":7357}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"contract_id":6,"jump_code":"","length":3,"start":7412}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":7416}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":6,"start":7412}},{"ast_type":"TupleExpression","children":[{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"contract_id":6,"jump_code":"","length":3,"start":7422}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":7422}},{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"contract_id":6,"jump_code":"","length":3,"start":7434}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":7434}},{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"contract_id":6,"jump_code":"","length":3,"start":7446}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":7446}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":36,"start":7421}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":45,"start":7412}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":45,"start":7412}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"contract_id":6,"jump_code":"","length":3,"start":7474}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":7467}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":137,"start":7347}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":2,"start":7303}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"contract_id":6,"jump_code":"","length":7,"start":7326}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":7334}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":10,"start":7326}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":12,"start":7326}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"contract_id":6,"jump_code":"","length":19,"start":7326}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":21,"start":7325}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNestedAddressArray","src":{"contract_id":6,"jump_code":"","length":211,"start":7273}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":7753}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":7544}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a0","src":{"contract_id":6,"jump_code":"","length":10,"start":7544}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":7564}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a1","src":{"contract_id":6,"jump_code":"","length":10,"start":7564}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":7584}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a2","src":{"contract_id":6,"jump_code":"","length":10,"start":7584}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":7604}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a3","src":{"contract_id":6,"jump_code":"","length":10,"start":7604}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":7624}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a4","src":{"contract_id":6,"jump_code":"","length":10,"start":7624}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":7644}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a5","src":{"contract_id":6,"jump_code":"","length":10,"start":7644}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":7664}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a6","src":{"contract_id":6,"jump_code":"","length":10,"start":7664}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":7684}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a7","src":{"contract_id":6,"jump_code":"","length":10,"start":7684}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":7704}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a8","src":{"contract_id":6,"jump_code":"","length":10,"start":7704}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"contract_id":6,"jump_code":"","length":7,"start":7724}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a9","src":{"contract_id":6,"jump_code":"","length":10,"start":7724}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":206,"start":7534}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","start":7753}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"functionWithUniqueAmountOfArguments","src":{"contract_id":6,"jump_code":"","length":271,"start":7490}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":7826}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":7786}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":7786}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_struct","src":{"contract_id":6,"jump_code":"","length":26,"start":7786}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":28,"start":7785}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","start":7826}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"setStruct","src":{"contract_id":6,"jump_code":"","length":67,"start":7767}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":7913}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"contract_id":6,"jump_code":"","length":8,"start":7864}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":8,"start":7864}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":1,"start":7873}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":11,"start":7864}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_struct_array","src":{"contract_id":6,"jump_code":"","length":35,"start":7864}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":37,"start":7863}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","start":7913}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"setStructArray","src":{"contract_id":6,"jump_code":"","length":81,"start":7840}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"TestContractSol","src":{"contract_id":6,"jump_code":"","length":7866,"start":57}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"contract_id":6,"jump_code":"","length":7892,"start":32}},"contractName":"TestContractSol","deploymentBytecode":{"bytecode":"0x608060405234801562000010575f80fd5b5060405162001d4338038062001d4383398101604081905262000033916200029c565b60018181555f80546001600160a01b0319163317815560408051602081019091529081526200006691600591906200016f565b50604080518082019091525f8152600160208201526200008b9060069060026200016f565b50604080516060810182525f815260016020820152600291810191909152620000b99060079060036200016f565b50600880546001810182555f91909152620000ff9060039081027ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30190600590620001bd565b50600980546001810182555f91909152620001339060039081025f8051602062001d238339815191520190600590620001bd565b50600980546001810182555f91909152620001679060039081025f8051602062001d238339815191520190600590620001bd565b5050620002b4565b828054828255905f5260205f20908101928215620001ab579160200282015b82811115620001ab5782518255916020019190600101906200018e565b50620001b992915062000207565b5090565b8260038101928215620001f9579182015b82811115620001f9578254620001e890839085906200021d565b5091600101919060010190620001ce565b50620001b99291506200025c565b5b80821115620001b9575f815560010162000208565b828054828255905f5260205f20908101928215620001ab575f5260205f209182015b82811115620001ab5782548255916001019190600101906200023f565b80821115620001b9575f6200027282826200027c565b506001016200025c565b5080545f8255905f5260205f209081019062000299919062000207565b50565b5f60208284031215620002ad575f80fd5b5051919050565b611a6180620002c25f395ff3fe608060405234801561000f575f80fd5b5060043610610255575f3560e01c80637b92b7ce11610140578063a5b0930d116100bf578063c2f1483911610084578063c2f1483914610514578063ccd62aa41461052a578063d4d64b351461053f578063e30081a014610555578063e30443bc14610568578063e9f7fd141461057b575f80fd5b8063a5b0930d146104aa578063a5c1b662146104bf578063abeb2022146104d0578063acab48d8146104e5578063b345ad96146104ff575f80fd5b80639bfb2ad8116101055780639bfb2ad8146104465780639e6b154b1461045b578063a2fbee531461046e578063a420b5a514610484578063a4f6d26b14610499575f80fd5b80637b92b7ce146103e65780638ba6052d146103f45780638da5cb5b1461040a57806394a66fc91461041c57806399e74a4c14610431575f80fd5b80633ce80e94116101d757806348d17a781161019c57806348d17a781461037c57806351c039801461037c5780636126c87f146103865780636cbceeec1461039b57806378c067b0146103c65780637a79591d146103d7575f80fd5b80633ce80e94146103215780633fb5c1cb1461033657806342ce1ec61461034957806343790b641461035e5780634825cf6f14610373575f80fd5b8063243e09631161021d578063243e0963146102b5578063252e423e146102cd57806327e235e3146102e35780632beb17111461030257806335417bf41461030c575f80fd5b806302f487d614610259578063039b504414610277578063052f3e761461028857806309b1b3f21461029757806323fd0e40146102ac575b5f80fd5b610261610591565b60405161026e919061112f565b60405180910390f35b607b5b60405190815260200161026e565b606060405161026e919061117c565b61029f6105bb565b60405161026e9190611195565b61027a60015481565b5f805b6040805192835260208301919091520161026e565b6102d56105f2565b60405161026e929190611200565b61027a6102f1366004611277565b60046020525f908152604090205481565b61030a61060d565b005b610314610664565b60405161026e9190611290565b61032961068e565b60405161026e91906112c0565b61030a610344366004611307565b61070a565b6103516107fa565b60405161026e919061131e565b610366610847565b60405161026e91906113a9565b61027a60025481565b607b6101416102b8565b61038e61085c565b60405161026e91906113eb565b6003546103ae906001600160a01b031681565b6040516001600160a01b03909116815260200161026e565b61030a6103d436600461149d565b50565b606060405161026e91906114b7565b61030a6103d43660046114c9565b6103fc610937565b60405161026e92919061152f565b5f546103ae906001600160a01b031681565b610424610963565b60405161026e9190611602565b6104396109ed565b60405161026e9190611614565b61044e610a52565b60405161026e9190611686565b61030a6104693660046116c7565b610af2565b610476610bf9565b60405161026e9291906116f1565b61048c610c29565b60405161026e9190611723565b60608060405161026e92919061174c565b6104b2610c52565b60405161026e9190611779565b60608060405161026e9291906117a9565b6104d8610c71565b60405161026e91906117bb565b61030a6104f3366004611851565b50505050505050505050565b610507610d6a565b60405161026e91906118b3565b61051c610d85565b60405161026e9291906118e4565b610532610d9f565b60405161026e9190611950565b610547610dff565b60405161026e92919061197d565b61030a610563366004611277565b610e1f565b61030a61057636600461199a565b610e68565b610583610e98565b60405161026e9291906119c2565b610599610ec8565b60405180604001604052806105ac6105bb565b81526020016001815250905090565b604080518082019091525f808252602082015260408051808201909152338152602081016105ea6001436119f1565b409052919050565b6105fa610ef1565b6060610604610ef1565b92606092509050565b6040515f907f1a7c56fae0af54ebae73bc4699b9de9835e7bb86b050dff7e80695b633f17abd908290a26040516001907fe5299d63f5ecdd1740024ea0902bd82cc8dc6b51d69078e007096f907615ced5905f90a2565b61066c610f29565b5060408051606081018252600181526002602082015260039181019190915290565b610696610f47565b5f60405180606001604052806040518060400160405280600181526020016106bc6105bb565b81525081526020016040518060400160405280600281526020016106de6105bb565b81525081526020016040518060400160405280600381526020016107006105bb565b9052905292915050565b5f546001600160a01b031633146107565760405162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b60448201526064015b60405180910390fd5b80600503610762575f80fd5b600180546002558190556040516644796e616d696360c81b8152600701604051908190039020817fa84473122c11e32cd505595f246a28418b8ecd6cf819f4e3915363fad1b8f9686107b56001436119f1565b406002546040516107ef92919091825260208201526060604082018190526007908201526644796e616d696360c81b608082015260a00190565b60405180910390a350565b610802610f74565b5f60405180604001604052806108166105bb565b81526020016108236105bb565b90526040805160608101825260018152602081019290925260029082015292915050565b61084f610f8d565b610857610f8d565b919050565b604080516003808252608082019092526060915f9190816020015b61087f610fac565b8152602001906001900390816108775790505090506040518060400160405280600181526020016002815250815f815181106108bd576108bd611a04565b60200260200101819052506040518060400160405280600381526020016004815250816001815181106108f2576108f2611a04565b602002602001018190525060405180604001604052806005815260200160068152508160028151811061092757610927611a04565b6020908102919091010152919050565b61093f610f8d565b610947610f8d565b61094f610f8d565b33815261095a610f8d565b90939092509050565b61096b610fca565b6040805160608101909152600560035f835b828210156109e4578382018054806020026020016040519081016040528092919081815260200182805480156109d057602002820191905f5260205f20905b8154815260200190600101908083116109bc575b50505050508152602001906001019061097d565b50505050905090565b60408051600280825260608281019093525f9190816020015b610a0e610f29565b815260200190600190039081610a065750506040805160608101825233808252602082018190529181019190915281519192509082905f9061092757610927611a04565b60408051600280825260608281019093525f9190816020015b610a73610ec8565b815260200190600190039081610a6b5790505090506040518060400160405280610a9b6105bb565b81526020016001815250815f81518110610ab757610ab7611a04565b60200260200101819052506040518060400160405280610ad56105bb565b815260200160028152508160018151811061092757610927611a04565b5f546001600160a01b03163314610b395760405162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b604482015260640161074d565b81600503610b45575f80fd5b60018054600255829055600380546001600160a01b0319166001600160a01b0383161790556040516644796e616d696360c81b8152600701604051908190039020827fa84473122c11e32cd505595f246a28418b8ecd6cf819f4e3915363fad1b8f968610bb36001436119f1565b40600254604051610bed92919091825260208201526060604082018190526007908201526644796e616d696360c81b608082015260a00190565b60405180910390a35050565b5f610c02610ff1565b6002604051806040016040528060028152602001610c1e6105bb565b815250915091509091565b610c31610ff1565b604051806040016040528060028152602001610c4b6105bb565b9052919050565b610c5a610fac565b506040805180820190915233808252602082015290565b610c79611020565b6040805160a08101909152600860055f835b828210156109e457838201805480602002602001604051908101604052809291908181526020015f905b82821015610d57575f8481526020812060408051606081019091529160038086029092019190835b82821015610d4457838201805480602002602001604051908101604052809291908181526020018280548015610d3057602002820191905f5260205f20905b815481526020019060010190808311610d1c575b505050505081526020019060010190610cdd565b5050505081526020019060010190610cb5565b5050505081526020019060010190610c8b565b610d7261103a565b5060408051602081019091526001815290565b5f610d8e611058565b610d96611058565b5f939092509050565b610da76110b0565b506040805160a081018252600160608201908152600260808301528152815180830183526003815260046020828101919091528083019190915282518084018452600581526006918101919091529181019190915290565b610e07610f8d565b610e0f610f8d565b610e17610f8d565b61095a610f8d565b600380546001600160a01b0319166001600160a01b0383169081179091556040517f7ff7bacc6cd661809ed1ddce28d4ad2c5b37779b61b9e3235f8262be529101a9905f90a250565b6001600160a01b0382165f9081526004602052604081208054839290610e8f908490611a18565b90915550505050565b610ea0610ec8565b5f6040518060400160405280610eb46105bb565b815260200160018152506001915091509091565b604080516080810182525f91810182815260608201929092529081905b81526020015f81525090565b60405180606001604052806003905b604080518082019091525f8082526020820152815260200190600190039081610f005790505090565b60405180606001604052806003906020820280368337509192915050565b60405180606001604052806003905b610f5e610ff1565b815260200190600190039081610f565790505090565b60405180606001604052805f8152602001610ee56110dd565b6040518061028001604052806014906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b60405180606001604052806003905b6060815260200190600190039081610fd95790505090565b60405180604001604052805f815260200161101b604080518082019091525f808252602082015290565b905290565b6040805160a0810190915260608152600460208201610fd9565b60405180602001604052806001906020820280368337509192915050565b6040518060a001604052806005905b61109a6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b8152602001906001900390816110675790505090565b60405180606001604052806003905b6110c7610fac565b8152602001906001900390816110bf5790505090565b604080516080810182525f9181018281526060820192909252908152600160208201610f00565b61112282825180516001600160a01b03168252602090810151910152565b6020015160409190910152565b6060810161113d8284611104565b92915050565b5f8151808452602080850194508084015f5b8381101561117157815187529582019590820190600101611155565b509495945050505050565b602081525f61118e6020830184611143565b9392505050565b81516001600160a01b03168152602080830151908201526040810161113d565b5f8151808452602080850194508084015f5b83811015611171576111ed87835180516001600160a01b03168252602090810151910152565b60409690960195908201906001016111c7565b5f8184825b60038110156112425761122c83835180516001600160a01b03168252602090810151910152565b6040929092019160209190910190600101611205565b50505060e060c083015261125960e08301846111b5565b949350505050565b80356001600160a01b0381168114610857575f80fd5b5f60208284031215611287575f80fd5b61118e82611261565b6060810181835f5b60038110156112b7578151835260209283019290910190600101611298565b50505092915050565b610120810181835f5b60038110156112b75781518051845260209081015180516001600160a01b0316828601528101516040850152606090930192909101906001016112c9565b5f60208284031215611317575f80fd5b5035919050565b8151815260208083015160c0830191908184015f5b600281101561136d5761135a82845180516001600160a01b03168252602090810151910152565b9183019160409190910190600101611333565b50505050604083015160a083015292915050565b805f5b60148110156113a3578151845260209384019390910190600101611384565b50505050565b610280810161113d8284611381565b5f8282825b60028110156113dc5781518352602092830192909101906001016113bd565b50505060408301905092915050565b602080825282518282018190525f9190848201906040850190845b81811015611427576114198385516113b8565b938501939250600101611406565b50909695505050505050565b6040805190810167ffffffffffffffff8111828210171561146257634e487b7160e01b5f52604160045260245ffd5b60405290565b5f60408284031215611478575f80fd5b611480611433565b905061148b82611261565b81526020820135602082015292915050565b5f604082840312156114ad575f80fd5b61118e8383611468565b602081525f61118e60208301846111b5565b5f608082840312156114d9575f80fd5b82601f8301126114e7575f80fd5b6114ef611433565b806080840185811115611500575f80fd5b845b81811015611524576115148782611468565b8452602090930192604001611502565b509095945050505050565b610500810181845f5b60148110156115605781516001600160a01b0316835260209283019290910190600101611538565b5050506102808201835f5b601481101561158d578151600f0b83526020928301929091019060010161156b565b5050509392505050565b5f8260608101835f805b60038110156115f6578484038852825180518086526020918201918087019190855b828110156115df578451845293810193928101926001016115c3565b509a8b019a919650509390930192506001016115a1565b50919695505050505050565b602081525f61118e6020830184611597565b602080825282518282018190525f919084820190604085019084805b8281101561167957845184835b60038110156116635782516001600160a01b03168252918801919088019060010161163d565b5050509385019360609390930192600101611630565b5091979650505050505050565b602080825282518282018190525f9190848201906040850190845b81811015611427576116b4838551611104565b92840192606092909201916001016116a1565b5f80604083850312156116d8575f80fd5b823591506116e860208401611261565b90509250929050565b8281526080810161118e60208301848051825260209081015180516001600160a01b0316828401520151604090910152565b8151815260208083015180516001600160a01b031682840152015160408201526060810161113d565b604081525f61175e60408301856111b5565b828103602084015261177081856111b5565b95945050505050565b6040810181835f5b60028110156112b75781516001600160a01b0316835260209283019290910190600101611781565b604081525f61175e6040830185611143565b60208082525f9060c083018382018584805b60058082106117dc5750611844565b601f1989870381018652845180518089529283901b88018901929089019089890190865b8181101561182c57848b870301835261181a868551611597565b9550928b0192918b0191600101611800565b509398505050948701945050918501916001016117cd565b5092979650505050505050565b5f805f805f805f805f806101408b8d03121561186b575f80fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b60208181019082845f5b60018110156118da578151835291830191908301906001016118bd565b5050505092915050565b8281526103e081016020808301845f5b600581101561194557815180518452848101518585015260408082015190850152606080820151908501526080808201519085015260a0908101519084015260c090920191908301906001016118f4565b505050509392505050565b60c0810181835f5b60038110156112b75761196c8383516113b8565b925060209190910190600101611958565b610500810161198c8285611381565b61118e610280830184611381565b5f80604083850312156119ab575f80fd5b6119b483611261565b946020939093013593505050565b608081016119d08285611104565b8260608301529392505050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561113d5761113d6119dd565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561113d5761113d6119dd56fea2646970667358221220d1ad6212225f581fce98f062e4d2d77c6dd18e14ac9664a986f68c2dc37fa3ca64736f6c634300081500336e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af"},"devdoc":{"kind":"dev","methods":{},"version":1},"runtimeBytecode":{"bytecode":"0x608060405234801561000f575f80fd5b5060043610610255575f3560e01c80637b92b7ce11610140578063a5b0930d116100bf578063c2f1483911610084578063c2f1483914610514578063ccd62aa41461052a578063d4d64b351461053f578063e30081a014610555578063e30443bc14610568578063e9f7fd141461057b575f80fd5b8063a5b0930d146104aa578063a5c1b662146104bf578063abeb2022146104d0578063acab48d8146104e5578063b345ad96146104ff575f80fd5b80639bfb2ad8116101055780639bfb2ad8146104465780639e6b154b1461045b578063a2fbee531461046e578063a420b5a514610484578063a4f6d26b14610499575f80fd5b80637b92b7ce146103e65780638ba6052d146103f45780638da5cb5b1461040a57806394a66fc91461041c57806399e74a4c14610431575f80fd5b80633ce80e94116101d757806348d17a781161019c57806348d17a781461037c57806351c039801461037c5780636126c87f146103865780636cbceeec1461039b57806378c067b0146103c65780637a79591d146103d7575f80fd5b80633ce80e94146103215780633fb5c1cb1461033657806342ce1ec61461034957806343790b641461035e5780634825cf6f14610373575f80fd5b8063243e09631161021d578063243e0963146102b5578063252e423e146102cd57806327e235e3146102e35780632beb17111461030257806335417bf41461030c575f80fd5b806302f487d614610259578063039b504414610277578063052f3e761461028857806309b1b3f21461029757806323fd0e40146102ac575b5f80fd5b610261610591565b60405161026e919061112f565b60405180910390f35b607b5b60405190815260200161026e565b606060405161026e919061117c565b61029f6105bb565b60405161026e9190611195565b61027a60015481565b5f805b6040805192835260208301919091520161026e565b6102d56105f2565b60405161026e929190611200565b61027a6102f1366004611277565b60046020525f908152604090205481565b61030a61060d565b005b610314610664565b60405161026e9190611290565b61032961068e565b60405161026e91906112c0565b61030a610344366004611307565b61070a565b6103516107fa565b60405161026e919061131e565b610366610847565b60405161026e91906113a9565b61027a60025481565b607b6101416102b8565b61038e61085c565b60405161026e91906113eb565b6003546103ae906001600160a01b031681565b6040516001600160a01b03909116815260200161026e565b61030a6103d436600461149d565b50565b606060405161026e91906114b7565b61030a6103d43660046114c9565b6103fc610937565b60405161026e92919061152f565b5f546103ae906001600160a01b031681565b610424610963565b60405161026e9190611602565b6104396109ed565b60405161026e9190611614565b61044e610a52565b60405161026e9190611686565b61030a6104693660046116c7565b610af2565b610476610bf9565b60405161026e9291906116f1565b61048c610c29565b60405161026e9190611723565b60608060405161026e92919061174c565b6104b2610c52565b60405161026e9190611779565b60608060405161026e9291906117a9565b6104d8610c71565b60405161026e91906117bb565b61030a6104f3366004611851565b50505050505050505050565b610507610d6a565b60405161026e91906118b3565b61051c610d85565b60405161026e9291906118e4565b610532610d9f565b60405161026e9190611950565b610547610dff565b60405161026e92919061197d565b61030a610563366004611277565b610e1f565b61030a61057636600461199a565b610e68565b610583610e98565b60405161026e9291906119c2565b610599610ec8565b60405180604001604052806105ac6105bb565b81526020016001815250905090565b604080518082019091525f808252602082015260408051808201909152338152602081016105ea6001436119f1565b409052919050565b6105fa610ef1565b6060610604610ef1565b92606092509050565b6040515f907f1a7c56fae0af54ebae73bc4699b9de9835e7bb86b050dff7e80695b633f17abd908290a26040516001907fe5299d63f5ecdd1740024ea0902bd82cc8dc6b51d69078e007096f907615ced5905f90a2565b61066c610f29565b5060408051606081018252600181526002602082015260039181019190915290565b610696610f47565b5f60405180606001604052806040518060400160405280600181526020016106bc6105bb565b81525081526020016040518060400160405280600281526020016106de6105bb565b81525081526020016040518060400160405280600381526020016107006105bb565b9052905292915050565b5f546001600160a01b031633146107565760405162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b60448201526064015b60405180910390fd5b80600503610762575f80fd5b600180546002558190556040516644796e616d696360c81b8152600701604051908190039020817fa84473122c11e32cd505595f246a28418b8ecd6cf819f4e3915363fad1b8f9686107b56001436119f1565b406002546040516107ef92919091825260208201526060604082018190526007908201526644796e616d696360c81b608082015260a00190565b60405180910390a350565b610802610f74565b5f60405180604001604052806108166105bb565b81526020016108236105bb565b90526040805160608101825260018152602081019290925260029082015292915050565b61084f610f8d565b610857610f8d565b919050565b604080516003808252608082019092526060915f9190816020015b61087f610fac565b8152602001906001900390816108775790505090506040518060400160405280600181526020016002815250815f815181106108bd576108bd611a04565b60200260200101819052506040518060400160405280600381526020016004815250816001815181106108f2576108f2611a04565b602002602001018190525060405180604001604052806005815260200160068152508160028151811061092757610927611a04565b6020908102919091010152919050565b61093f610f8d565b610947610f8d565b61094f610f8d565b33815261095a610f8d565b90939092509050565b61096b610fca565b6040805160608101909152600560035f835b828210156109e4578382018054806020026020016040519081016040528092919081815260200182805480156109d057602002820191905f5260205f20905b8154815260200190600101908083116109bc575b50505050508152602001906001019061097d565b50505050905090565b60408051600280825260608281019093525f9190816020015b610a0e610f29565b815260200190600190039081610a065750506040805160608101825233808252602082018190529181019190915281519192509082905f9061092757610927611a04565b60408051600280825260608281019093525f9190816020015b610a73610ec8565b815260200190600190039081610a6b5790505090506040518060400160405280610a9b6105bb565b81526020016001815250815f81518110610ab757610ab7611a04565b60200260200101819052506040518060400160405280610ad56105bb565b815260200160028152508160018151811061092757610927611a04565b5f546001600160a01b03163314610b395760405162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b604482015260640161074d565b81600503610b45575f80fd5b60018054600255829055600380546001600160a01b0319166001600160a01b0383161790556040516644796e616d696360c81b8152600701604051908190039020827fa84473122c11e32cd505595f246a28418b8ecd6cf819f4e3915363fad1b8f968610bb36001436119f1565b40600254604051610bed92919091825260208201526060604082018190526007908201526644796e616d696360c81b608082015260a00190565b60405180910390a35050565b5f610c02610ff1565b6002604051806040016040528060028152602001610c1e6105bb565b815250915091509091565b610c31610ff1565b604051806040016040528060028152602001610c4b6105bb565b9052919050565b610c5a610fac565b506040805180820190915233808252602082015290565b610c79611020565b6040805160a08101909152600860055f835b828210156109e457838201805480602002602001604051908101604052809291908181526020015f905b82821015610d57575f8481526020812060408051606081019091529160038086029092019190835b82821015610d4457838201805480602002602001604051908101604052809291908181526020018280548015610d3057602002820191905f5260205f20905b815481526020019060010190808311610d1c575b505050505081526020019060010190610cdd565b5050505081526020019060010190610cb5565b5050505081526020019060010190610c8b565b610d7261103a565b5060408051602081019091526001815290565b5f610d8e611058565b610d96611058565b5f939092509050565b610da76110b0565b506040805160a081018252600160608201908152600260808301528152815180830183526003815260046020828101919091528083019190915282518084018452600581526006918101919091529181019190915290565b610e07610f8d565b610e0f610f8d565b610e17610f8d565b61095a610f8d565b600380546001600160a01b0319166001600160a01b0383169081179091556040517f7ff7bacc6cd661809ed1ddce28d4ad2c5b37779b61b9e3235f8262be529101a9905f90a250565b6001600160a01b0382165f9081526004602052604081208054839290610e8f908490611a18565b90915550505050565b610ea0610ec8565b5f6040518060400160405280610eb46105bb565b815260200160018152506001915091509091565b604080516080810182525f91810182815260608201929092529081905b81526020015f81525090565b60405180606001604052806003905b604080518082019091525f8082526020820152815260200190600190039081610f005790505090565b60405180606001604052806003906020820280368337509192915050565b60405180606001604052806003905b610f5e610ff1565b815260200190600190039081610f565790505090565b60405180606001604052805f8152602001610ee56110dd565b6040518061028001604052806014906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b60405180606001604052806003905b6060815260200190600190039081610fd95790505090565b60405180604001604052805f815260200161101b604080518082019091525f808252602082015290565b905290565b6040805160a0810190915260608152600460208201610fd9565b60405180602001604052806001906020820280368337509192915050565b6040518060a001604052806005905b61109a6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b8152602001906001900390816110675790505090565b60405180606001604052806003905b6110c7610fac565b8152602001906001900390816110bf5790505090565b604080516080810182525f9181018281526060820192909252908152600160208201610f00565b61112282825180516001600160a01b03168252602090810151910152565b6020015160409190910152565b6060810161113d8284611104565b92915050565b5f8151808452602080850194508084015f5b8381101561117157815187529582019590820190600101611155565b509495945050505050565b602081525f61118e6020830184611143565b9392505050565b81516001600160a01b03168152602080830151908201526040810161113d565b5f8151808452602080850194508084015f5b83811015611171576111ed87835180516001600160a01b03168252602090810151910152565b60409690960195908201906001016111c7565b5f8184825b60038110156112425761122c83835180516001600160a01b03168252602090810151910152565b6040929092019160209190910190600101611205565b50505060e060c083015261125960e08301846111b5565b949350505050565b80356001600160a01b0381168114610857575f80fd5b5f60208284031215611287575f80fd5b61118e82611261565b6060810181835f5b60038110156112b7578151835260209283019290910190600101611298565b50505092915050565b610120810181835f5b60038110156112b75781518051845260209081015180516001600160a01b0316828601528101516040850152606090930192909101906001016112c9565b5f60208284031215611317575f80fd5b5035919050565b8151815260208083015160c0830191908184015f5b600281101561136d5761135a82845180516001600160a01b03168252602090810151910152565b9183019160409190910190600101611333565b50505050604083015160a083015292915050565b805f5b60148110156113a3578151845260209384019390910190600101611384565b50505050565b610280810161113d8284611381565b5f8282825b60028110156113dc5781518352602092830192909101906001016113bd565b50505060408301905092915050565b602080825282518282018190525f9190848201906040850190845b81811015611427576114198385516113b8565b938501939250600101611406565b50909695505050505050565b6040805190810167ffffffffffffffff8111828210171561146257634e487b7160e01b5f52604160045260245ffd5b60405290565b5f60408284031215611478575f80fd5b611480611433565b905061148b82611261565b81526020820135602082015292915050565b5f604082840312156114ad575f80fd5b61118e8383611468565b602081525f61118e60208301846111b5565b5f608082840312156114d9575f80fd5b82601f8301126114e7575f80fd5b6114ef611433565b806080840185811115611500575f80fd5b845b81811015611524576115148782611468565b8452602090930192604001611502565b509095945050505050565b610500810181845f5b60148110156115605781516001600160a01b0316835260209283019290910190600101611538565b5050506102808201835f5b601481101561158d578151600f0b83526020928301929091019060010161156b565b5050509392505050565b5f8260608101835f805b60038110156115f6578484038852825180518086526020918201918087019190855b828110156115df578451845293810193928101926001016115c3565b509a8b019a919650509390930192506001016115a1565b50919695505050505050565b602081525f61118e6020830184611597565b602080825282518282018190525f919084820190604085019084805b8281101561167957845184835b60038110156116635782516001600160a01b03168252918801919088019060010161163d565b5050509385019360609390930192600101611630565b5091979650505050505050565b602080825282518282018190525f9190848201906040850190845b81811015611427576116b4838551611104565b92840192606092909201916001016116a1565b5f80604083850312156116d8575f80fd5b823591506116e860208401611261565b90509250929050565b8281526080810161118e60208301848051825260209081015180516001600160a01b0316828401520151604090910152565b8151815260208083015180516001600160a01b031682840152015160408201526060810161113d565b604081525f61175e60408301856111b5565b828103602084015261177081856111b5565b95945050505050565b6040810181835f5b60028110156112b75781516001600160a01b0316835260209283019290910190600101611781565b604081525f61175e6040830185611143565b60208082525f9060c083018382018584805b60058082106117dc5750611844565b601f1989870381018652845180518089529283901b88018901929089019089890190865b8181101561182c57848b870301835261181a868551611597565b9550928b0192918b0191600101611800565b509398505050948701945050918501916001016117cd565b5092979650505050505050565b5f805f805f805f805f806101408b8d03121561186b575f80fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b60208181019082845f5b60018110156118da578151835291830191908301906001016118bd565b5050505092915050565b8281526103e081016020808301845f5b600581101561194557815180518452848101518585015260408082015190850152606080820151908501526080808201519085015260a0908101519084015260c090920191908301906001016118f4565b505050509392505050565b60c0810181835f5b60038110156112b75761196c8383516113b8565b925060209190910190600101611958565b610500810161198c8285611381565b61118e610280830184611381565b5f80604083850312156119ab575f80fd5b6119b483611261565b946020939093013593505050565b608081016119d08285611104565b8260608301529392505050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561113d5761113d6119dd565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561113d5761113d6119dd56fea2646970667358221220d1ad6212225f581fce98f062e4d2d77c6dd18e14ac9664a986f68c2dc37fa3ca64736f6c63430008150033"},"sourceId":"TestContractSol.sol","sourcemap":"57:7866:6:-:0;;;1275:308;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1310:8;:14;;;1334:5;:18;;-1:-1:-1;;;;;;1334:18:6;1342:10;1334:18;;;1363:23;;;;;;;;;;;;;;:8;;:23;;:::i;:::-;-1:-1:-1;1396:26:6;;;;;;;;;-1:-1:-1;1396:26:6;;1420:1;1396:26;;;;;;:11;;:26;;:::i;:::-;-1:-1:-1;1432:29:6;;;;;;;;-1:-1:-1;1432:29:6;;1456:1;1432:29;;;;1459:1;1432:29;;;;;;;;;:11;;:29;;:::i;:::-;-1:-1:-1;1472:10:6;:28;;;;;;;1483:1;1472:28;;;;;;;;;;;;;1491:8;;1472:28;:::i;:::-;-1:-1:-1;1510:13:6;:28;;1521:1;1510:28;;;;-1:-1:-1;1510:28:6;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1510:28:6;;1529:8;;1510:28;:::i;:::-;-1:-1:-1;1548:13:6;:28;;1559:1;1548:28;;;;-1:-1:-1;1548:28:6;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1548:28:6;;1567:8;;1548:28;:::i;:::-;;1275:308;57:7866;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;57:7866:6;;;-1:-1:-1;57:7866:6;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;57:7866:6;;;-1:-1:-1;57:7866:6;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;14:184:7:-;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;-1:-1:-1;176:16:7;;14:184;-1:-1:-1;14:184:7:o;203:127::-;57:7866:6;;;;;;","userdoc":{"kind":"user","methods":{},"version":1}} \ No newline at end of file +{"abi":[{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"}],"name":"AddressChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"bar","type":"uint256"}],"name":"BarHappened","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"some_id","type":"uint32"},{"indexed":true,"internalType":"address","name":"some_address","type":"address"},{"indexed":false,"internalType":"address[]","name":"participants","type":"address[]"},{"indexed":false,"internalType":"address[1]","name":"agents","type":"address[1]"}],"name":"EventWithAddressArray","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"indexed":false,"internalType":"struct TestContractSol.MyStruct","name":"a_struct","type":"tuple"}],"name":"EventWithStruct","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"foo","type":"uint256"}],"name":"FooHappened","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"b","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"prevNum","type":"uint256"},{"indexed":false,"internalType":"string","name":"dynData","type":"string"},{"indexed":true,"internalType":"uint256","name":"newNum","type":"uint256"},{"indexed":true,"internalType":"string","name":"dynIndexed","type":"string"}],"name":"NumberChange","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fooAndBar","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"a0","type":"uint256"},{"internalType":"uint256","name":"a1","type":"uint256"},{"internalType":"uint256","name":"a2","type":"uint256"},{"internalType":"uint256","name":"a3","type":"uint256"},{"internalType":"uint256","name":"a4","type":"uint256"},{"internalType":"uint256","name":"a5","type":"uint256"},{"internalType":"uint256","name":"a6","type":"uint256"},{"internalType":"uint256","name":"a7","type":"uint256"},{"internalType":"uint256","name":"a8","type":"uint256"},{"internalType":"uint256","name":"a9","type":"uint256"}],"name":"functionWithUniqueAmountOfArguments","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAddressArray","outputs":[{"internalType":"address[2]","name":"","type":"address[2]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getArrayWithBiggerSize","outputs":[{"internalType":"uint256[20]","name":"","type":"uint256[20]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getDynamicStructArray","outputs":[{"components":[{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct","name":"t","type":"tuple"},{"internalType":"uint256","name":"foo","type":"uint256"}],"internalType":"struct TestContractSol.NestedStruct1[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getEmptyArray","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getEmptyDynArrayOfStructs","outputs":[{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct[]","name":"","type":"tuple[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getEmptyTupleOfArrayOfStructsAndDynArrayOfStructs","outputs":[{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct[3]","name":"","type":"tuple[3]"},{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct[]","name":"","type":"tuple[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getEmptyTupleOfDynArrayStructs","outputs":[{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct[]","name":"","type":"tuple[]"},{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct[]","name":"","type":"tuple[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getEmptyTupleOfIntAndDynArray","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"},{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct[]","name":"","type":"tuple[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getFilledArray","outputs":[{"internalType":"uint256[3]","name":"","type":"uint256[3]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getNamedSingleItem","outputs":[{"internalType":"uint256","name":"foo","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getNestedAddressArray","outputs":[{"internalType":"address[3][]","name":"","type":"address[3][]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedArrayDynamicFixed","outputs":[{"internalType":"uint256[2][]","name":"","type":"uint256[2][]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getNestedArrayFixedDynamic","outputs":[{"internalType":"uint256[][3]","name":"","type":"uint256[][3]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedArrayFixedFixed","outputs":[{"internalType":"uint256[2][3]","name":"","type":"uint256[2][3]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getNestedArrayMixedDynamic","outputs":[{"internalType":"uint256[][3][][5]","name":"","type":"uint256[][3][][5]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedStruct1","outputs":[{"components":[{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct","name":"t","type":"tuple"},{"internalType":"uint256","name":"foo","type":"uint256"}],"internalType":"struct TestContractSol.NestedStruct1","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedStruct2","outputs":[{"components":[{"internalType":"uint256","name":"foo","type":"uint256"},{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct","name":"t","type":"tuple"}],"internalType":"struct TestContractSol.NestedStruct2","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedStructWithTuple1","outputs":[{"components":[{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct","name":"t","type":"tuple"},{"internalType":"uint256","name":"foo","type":"uint256"}],"internalType":"struct TestContractSol.NestedStruct1","name":"","type":"tuple"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedStructWithTuple2","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"components":[{"internalType":"uint256","name":"foo","type":"uint256"},{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct","name":"t","type":"tuple"}],"internalType":"struct TestContractSol.NestedStruct2","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPartiallyNamedTuple","outputs":[{"internalType":"uint256","name":"foo","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getSingleItemArray","outputs":[{"internalType":"uint256[1]","name":"","type":"uint256[1]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getStaticStructArray","outputs":[{"components":[{"internalType":"uint256","name":"foo","type":"uint256"},{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct","name":"t","type":"tuple"}],"internalType":"struct TestContractSol.NestedStruct2[3]","name":"","type":"tuple[3]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStruct","outputs":[{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStructWithArray","outputs":[{"components":[{"internalType":"uint256","name":"foo","type":"uint256"},{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct[2]","name":"arr","type":"tuple[2]"},{"internalType":"uint256","name":"bar","type":"uint256"}],"internalType":"struct TestContractSol.WithArray","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTupleAllNamed","outputs":[{"internalType":"uint256","name":"foo","type":"uint256"},{"internalType":"uint256","name":"bar","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getTupleOfAddressArray","outputs":[{"internalType":"address[20]","name":"","type":"address[20]"},{"internalType":"int128[20]","name":"","type":"int128[20]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTupleOfArrays","outputs":[{"internalType":"uint256[20]","name":"","type":"uint256[20]"},{"internalType":"uint256[20]","name":"","type":"uint256[20]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getTupleOfIntAndStructArray","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"components":[{"internalType":"uint256","name":"one","type":"uint256"},{"internalType":"uint256","name":"two","type":"uint256"},{"internalType":"uint256","name":"three","type":"uint256"},{"internalType":"uint256","name":"four","type":"uint256"},{"internalType":"uint256","name":"five","type":"uint256"},{"internalType":"uint256","name":"six","type":"uint256"}],"internalType":"struct TestContractSol.IntStruct[5]","name":"","type":"tuple[5]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getUnnamedTuple","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"logAddressArray","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"logStruct","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"myNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"prevNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"setAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"bal","type":"uint256"}],"name":"setBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"setNumber","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"name":"setNumber","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct","name":"_my_struct","type":"tuple"}],"name":"setStruct","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bytes32","name":"b","type":"bytes32"}],"internalType":"struct TestContractSol.MyStruct[2]","name":"_my_struct_array","type":"tuple[2]"}],"name":"setStructArray","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"theAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"ast":{"ast_type":"SourceUnit","children":[{"ast_type":"PragmaDirective","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":23,"start":32}},{"ast_type":"ContractDefinition","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":88}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"owner","src":{"jump_code":"","length":20,"start":88}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":114}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"myNumber","src":{"jump_code":"","length":23,"start":114}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":143}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"prevNumber","src":{"jump_code":"","length":25,"start":143}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":174}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"theAddress","src":{"jump_code":"","length":25,"start":174}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"Mapping","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":213}},{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":224}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":27,"start":205}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"balances","src":{"jump_code":"","length":43,"start":205}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":254}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":254}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":264}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":254}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynArray","src":{"jump_code":"","length":21,"start":254}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":281}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":281}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":291}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":281}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":14,"start":281}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":296}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":17,"start":281}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"mixedArray","src":{"jump_code":"","length":28,"start":281}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":316}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":343}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MAX_FOO","src":{"jump_code":"","length":28,"start":316}},{"ast_type":"EventDefinition","children":[{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"bytes32","src":{"jump_code":"","length":7,"start":379}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"b","src":{"jump_code":"","length":9,"start":379}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":398}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"prevNum","src":{"jump_code":"","length":15,"start":398}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"string","src":{"jump_code":"","length":6,"start":423}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynData","src":{"jump_code":"","length":14,"start":423}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":447}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"newNum","src":{"jump_code":"","length":22,"start":447}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"string","src":{"jump_code":"","length":6,"start":479}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynIndexed","src":{"jump_code":"","length":25,"start":479}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":141,"start":369}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NumberChange","src":{"jump_code":"","length":160,"start":351}},{"ast_type":"EventDefinition","children":[{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":546}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"newAddress","src":{"jump_code":"","length":26,"start":546}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":42,"start":536}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"AddressChange","src":{"jump_code":"","length":62,"start":517}},{"ast_type":"EventDefinition","children":[{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":612}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"foo","src":{"jump_code":"","length":19,"start":612}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":35,"start":602}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"FooHappened","src":{"jump_code":"","length":53,"start":585}},{"ast_type":"EventDefinition","children":[{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":671}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"bar","src":{"jump_code":"","length":19,"start":671}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":35,"start":661}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"BarHappened","src":{"jump_code":"","length":53,"start":644}},{"ast_type":"EventDefinition","children":[{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":734}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":734}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a_struct","src":{"jump_code":"","length":17,"start":734}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":33,"start":724}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"EventWithStruct","src":{"jump_code":"","length":55,"start":703}},{"ast_type":"EventDefinition","children":[{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint32","src":{"jump_code":"","length":6,"start":801}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"some_id","src":{"jump_code":"","length":22,"start":801}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":833}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"some_address","src":{"jump_code":"","length":28,"start":833}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":871}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":871}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"participants","src":{"jump_code":"","length":22,"start":871}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":903}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":911}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":903}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"agents","src":{"jump_code":"","length":17,"start":903}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":135,"start":791}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"EventWithAddressArray","src":{"jump_code":"","length":163,"start":764}},{"ast_type":"StructDefinition","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":959}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a","src":{"jump_code":"","length":9,"start":959}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"bytes32","src":{"jump_code":"","length":7,"start":978}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"b","src":{"jump_code":"","length":9,"start":978}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":61,"start":933}},{"ast_type":"StructDefinition","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":1031}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":1031}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"t","src":{"jump_code":"","length":10,"start":1031}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":1051}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"foo","src":{"jump_code":"","length":11,"start":1051}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"jump_code":"","length":69,"start":1000}},{"ast_type":"StructDefinition","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":1106}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"foo","src":{"jump_code":"","length":11,"start":1106}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":1127}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":1127}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"t","src":{"jump_code":"","length":10,"start":1127}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"jump_code":"","length":69,"start":1075}},{"ast_type":"StructDefinition","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":1177}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"foo","src":{"jump_code":"","length":11,"start":1177}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":1198}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":1198}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":1207}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":1198}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"jump_code":"","length":15,"start":1198}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":1223}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"bar","src":{"jump_code":"","length":11,"start":1223}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"WithArray","src":{"jump_code":"","length":91,"start":1150}},{"ast_type":"StructDefinition","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":1274}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"one","src":{"jump_code":"","length":11,"start":1274}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":1295}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"two","src":{"jump_code":"","length":11,"start":1295}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":1316}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"three","src":{"jump_code":"","length":13,"start":1316}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":1339}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"four","src":{"jump_code":"","length":12,"start":1339}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":1361}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"five","src":{"jump_code":"","length":12,"start":1361}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":1383}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"six","src":{"jump_code":"","length":11,"start":1383}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"IntStruct","src":{"jump_code":"","length":154,"start":1247}},{"ast_type":"ModifierDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"ExpressionStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"BinaryOperation","children":[{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"jump_code":"","length":3,"start":1446}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":1446}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"owner","src":{"jump_code":"","length":5,"start":1460}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":19,"start":1446}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":1467}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"require","src":{"jump_code":"","length":7,"start":1438}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":43,"start":1438}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":43,"start":1438}},{"ast_type":"PlaceholderStatement","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":1491}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":71,"start":1428}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":1425}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"onlyOwner","src":{"jump_code":"","length":92,"start":1407}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"myNumber","src":{"jump_code":"","length":8,"start":1540}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"jump_code":"","length":3,"start":1551}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":14,"start":1540}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":14,"start":1540}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"owner","src":{"jump_code":"","length":5,"start":1564}},{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"jump_code":"","length":3,"start":1572}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":1572}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":18,"start":1564}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":18,"start":1564}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynArray","src":{"jump_code":"","length":8,"start":1593}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":1602}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":1593}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":1613}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"jump_code":"","length":4,"start":1608}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":4,"start":1608}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":7,"start":1608}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":1607}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":23,"start":1593}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":23,"start":1593}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynArray","src":{"jump_code":"","length":8,"start":1626}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":1635}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":1626}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":1646}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"jump_code":"","length":4,"start":1641}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":4,"start":1641}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":7,"start":1641}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":1650}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":1640}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":26,"start":1626}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":26,"start":1626}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynArray","src":{"jump_code":"","length":8,"start":1662}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":1671}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":1662}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":1682}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"jump_code":"","length":4,"start":1677}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":4,"start":1677}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":7,"start":1677}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":1686}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":1689}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":15,"start":1676}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":29,"start":1662}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":29,"start":1662}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynArray","src":{"jump_code":"","length":8,"start":1721}},{"ast_type":"MemberAccess","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"mixedArray","src":{"jump_code":"","length":10,"start":1702}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":1713}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":1702}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":18,"start":1702}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":28,"start":1702}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":28,"start":1702}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynArray","src":{"jump_code":"","length":8,"start":1759}},{"ast_type":"MemberAccess","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"mixedArray","src":{"jump_code":"","length":10,"start":1740}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":1751}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":1740}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":18,"start":1740}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":28,"start":1740}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":28,"start":1740}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynArray","src":{"jump_code":"","length":8,"start":1797}},{"ast_type":"MemberAccess","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"mixedArray","src":{"jump_code":"","length":10,"start":1778}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":1789}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":1778}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":18,"start":1778}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":28,"start":1778}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":28,"start":1778}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":283,"start":1530}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":1517}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"jump_code":"","length":11,"start":1517}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":1516}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","start":1530}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":308,"start":1505}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"EmitStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":1874}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"FooHappened","src":{"jump_code":"","length":11,"start":1862}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":14,"start":1862}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":19,"start":1857}},{"ast_type":"EmitStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":1903}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"BarHappened","src":{"jump_code":"","length":11,"start":1891}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":14,"start":1891}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":19,"start":1886}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":65,"start":1847}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":1837}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","start":1847}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"fooAndBar","src":{"jump_code":"","length":93,"start":1819}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"ExpressionStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"BinaryOperation","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"jump_code":"","length":3,"start":1985}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":1992}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":1985}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"require","src":{"jump_code":"","length":7,"start":1977}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":17,"start":1977}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":17,"start":1977}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"prevNumber","src":{"jump_code":"","length":10,"start":2004}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"myNumber","src":{"jump_code":"","length":8,"start":2017}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":2004}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":2004}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"myNumber","src":{"jump_code":"","length":8,"start":2035}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"jump_code":"","length":3,"start":2046}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":14,"start":2035}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":14,"start":2035}},{"ast_type":"EmitStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"BinaryOperation","children":[{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"block","src":{"jump_code":"","length":5,"start":2087}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":2087}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":2102}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":16,"start":2087}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"blockhash","src":{"jump_code":"","length":9,"start":2077}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":27,"start":2077}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"prevNumber","src":{"jump_code":"","length":10,"start":2106}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":2118}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"jump_code":"","length":3,"start":2129}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":2134}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NumberChange","src":{"jump_code":"","length":12,"start":2064}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":80,"start":2064}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":85,"start":2059}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":184,"start":1967}},{"ast_type":"ModifierInvocation","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"onlyOwner","src":{"jump_code":"","length":9,"start":1957}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":1957}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":1937}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"jump_code":"","length":11,"start":1937}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":1936}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","start":1967}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"setNumber","src":{"jump_code":"","length":233,"start":1918}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"ExpressionStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"BinaryOperation","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"jump_code":"","length":3,"start":2316}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":2323}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":2316}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"require","src":{"jump_code":"","length":7,"start":2308}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":17,"start":2308}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":17,"start":2308}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"prevNumber","src":{"jump_code":"","length":10,"start":2335}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"myNumber","src":{"jump_code":"","length":8,"start":2348}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":2335}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":2335}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"myNumber","src":{"jump_code":"","length":8,"start":2366}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"jump_code":"","length":3,"start":2377}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":14,"start":2366}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":14,"start":2366}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"theAddress","src":{"jump_code":"","length":10,"start":2390}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_address","src":{"jump_code":"","length":8,"start":2403}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":2390}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":2390}},{"ast_type":"EmitStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"BinaryOperation","children":[{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"block","src":{"jump_code":"","length":5,"start":2449}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":2449}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":2464}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":16,"start":2449}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"blockhash","src":{"jump_code":"","length":9,"start":2439}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":27,"start":2439}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"prevNumber","src":{"jump_code":"","length":10,"start":2468}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":2480}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"jump_code":"","length":3,"start":2491}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":2496}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NumberChange","src":{"jump_code":"","length":12,"start":2426}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":80,"start":2426}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":85,"start":2421}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":289,"start":2224}},{"ast_type":"ModifierInvocation","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"onlyOwner","src":{"jump_code":"","length":9,"start":2214}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":2214}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":2176}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"num","src":{"jump_code":"","length":11,"start":2176}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":2189}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_address","src":{"jump_code":"","length":16,"start":2189}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":31,"start":2175}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","start":2224}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"setNumber","src":{"jump_code":"","length":356,"start":2157}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"theAddress","src":{"jump_code":"","length":10,"start":2574}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_address","src":{"jump_code":"","length":8,"start":2587}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":2574}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":2574}},{"ast_type":"EmitStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_address","src":{"jump_code":"","length":8,"start":2624}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"AddressChange","src":{"jump_code":"","length":13,"start":2610}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":23,"start":2610}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":28,"start":2605}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":76,"start":2564}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":2539}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_address","src":{"jump_code":"","length":16,"start":2539}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":18,"start":2538}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","start":2564}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"setAddress","src":{"jump_code":"","length":121,"start":2519}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"balances","src":{"jump_code":"","length":8,"start":2714}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_address","src":{"jump_code":"","length":8,"start":2723}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":18,"start":2714}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"bal","src":{"jump_code":"","length":3,"start":2736}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":25,"start":2714}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":25,"start":2714}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":42,"start":2704}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":2666}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_address","src":{"jump_code":"","length":16,"start":2666}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":2684}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"bal","src":{"jump_code":"","length":11,"start":2684}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":31,"start":2665}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","start":2704}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"setBalance","src":{"jump_code":"","length":100,"start":2646}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"jump_code":"","length":3,"start":2836}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":2836}},{"ast_type":"FunctionCall","children":[{"ast_type":"BinaryOperation","children":[{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"block","src":{"jump_code":"","length":5,"start":2858}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":2858}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":2873}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":16,"start":2858}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"blockhash","src":{"jump_code":"","length":9,"start":2848}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":27,"start":2848}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":2827}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":49,"start":2827}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":56,"start":2820}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":73,"start":2810}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":2770}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":2793}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":2793}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":15,"start":2793}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":17,"start":2792}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"jump_code":"","length":131,"start":2752}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"jump_code":"","length":9,"start":2990}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":2990}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":3003}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"jump_code":"","length":13,"start":2976}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":29,"start":2976}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":36,"start":2969}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":53,"start":2959}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":2914}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"jump_code":"","length":13,"start":2937}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":2937}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":20,"start":2937}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":22,"start":2936}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNestedStruct1","src":{"jump_code":"","length":123,"start":2889}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":3119}},{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"jump_code":"","length":9,"start":3122}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":3122}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"jump_code":"","length":13,"start":3105}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":29,"start":3105}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":36,"start":3098}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":53,"start":3088}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":3043}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"jump_code":"","length":13,"start":3066}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":3066}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":20,"start":3066}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":22,"start":3065}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNestedStruct2","src":{"jump_code":"","length":123,"start":3018}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"jump_code":"","length":9,"start":3267}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":3267}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":3280}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"jump_code":"","length":13,"start":3253}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":29,"start":3253}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":3284}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":34,"start":3252}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":41,"start":3245}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":58,"start":3235}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":3181}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"jump_code":"","length":13,"start":3204}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":3204}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":20,"start":3204}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":3226}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":7,"start":3226}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":31,"start":3203}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNestedStructWithTuple1","src":{"jump_code":"","length":146,"start":3147}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":3405}},{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":3422}},{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"jump_code":"","length":9,"start":3425}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":3425}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"jump_code":"","length":13,"start":3408}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":29,"start":3408}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":34,"start":3404}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":41,"start":3397}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":58,"start":3387}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":3333}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":3356}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":7,"start":3356}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"jump_code":"","length":13,"start":3365}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":3365}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":20,"start":3365}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":31,"start":3355}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNestedStructWithTuple2","src":{"jump_code":"","length":146,"start":3299}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":3537}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":3537}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":3537}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs","src":{"jump_code":"","length":29,"start":3537}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":29,"start":3537}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs","src":{"jump_code":"","length":11,"start":3583}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":18,"start":3576}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":74,"start":3527}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":3485}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":3508}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":3508}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":3508}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":17,"start":3508}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":19,"start":3507}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getEmptyDynArrayOfStructs","src":{"jump_code":"","length":150,"start":3451}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":3717}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":3717}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":3717}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs_0","src":{"jump_code":"","length":31,"start":3717}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":31,"start":3717}},{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":3758}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":3758}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":3758}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs_1","src":{"jump_code":"","length":31,"start":3758}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":31,"start":3758}},{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs_0","src":{"jump_code":"","length":13,"start":3807}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs_1","src":{"jump_code":"","length":13,"start":3822}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":30,"start":3806}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":37,"start":3799}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":136,"start":3707}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":3646}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":3669}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":3669}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":3669}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":17,"start":3669}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":3688}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":3688}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":3688}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":17,"start":3688}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":38,"start":3668}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getEmptyTupleOfDynArrayStructs","src":{"jump_code":"","length":236,"start":3607}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":3979}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":3979}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":3988}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":3979}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs_0","src":{"jump_code":"","length":32,"start":3979}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":32,"start":3979}},{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":4021}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":4021}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":4021}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs_1","src":{"jump_code":"","length":31,"start":4021}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":31,"start":4021}},{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs_0","src":{"jump_code":"","length":13,"start":4070}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_structs_1","src":{"jump_code":"","length":13,"start":4085}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":30,"start":4069}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":37,"start":4062}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":137,"start":3969}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":3907}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":3930}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":3930}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":3939}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":3930}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":18,"start":3930}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":3950}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":3950}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":3950}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":17,"start":3950}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":39,"start":3929}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getEmptyTupleOfArrayOfStructsAndDynArrayOfStructs","src":{"jump_code":"","length":257,"start":3849}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"IntStruct","src":{"jump_code":"","length":9,"start":4217}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":4217}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MAX_FOO","src":{"jump_code":"","length":7,"start":4227}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":18,"start":4217}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"result","src":{"jump_code":"","length":32,"start":4217}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":32,"start":4217}},{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":4267}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"result","src":{"jump_code":"","length":6,"start":4270}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":4266}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":18,"start":4259}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":77,"start":4207}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":4148}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":4171}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":7,"start":4171}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"IntStruct","src":{"jump_code":"","length":9,"start":4180}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":4180}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MAX_FOO","src":{"jump_code":"","length":7,"start":4190}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":18,"start":4180}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":25,"start":4180}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":36,"start":4170}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getTupleOfIntAndStructArray","src":{"jump_code":"","length":172,"start":4112}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":4398}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":4398}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_integers","src":{"jump_code":"","length":26,"start":4398}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":26,"start":4398}},{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":4434}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":4434}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":4434}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_structs","src":{"jump_code":"","length":26,"start":4434}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":26,"start":4434}},{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_integers","src":{"jump_code":"","length":9,"start":4478}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_structs","src":{"jump_code":"","length":8,"start":4489}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":4477}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":28,"start":4470}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":117,"start":4388}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":4328}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":4351}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":4351}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":16,"start":4351}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":4369}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":4369}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":4369}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":17,"start":4369}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":37,"start":4350}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getEmptyTupleOfIntAndDynArray","src":{"jump_code":"","length":215,"start":4290}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":4589}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":4589}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":4598}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":4589}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"jump_code":"","length":22,"start":4589}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"jump_code":"","length":9,"start":4615}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":4615}},{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"jump_code":"","length":9,"start":4628}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":4628}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":26,"start":4614}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":51,"start":4589}},{"ast_type":"Return","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":4667}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"jump_code":"","length":3,"start":4670}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":4675}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"WithArray","src":{"jump_code":"","length":9,"start":4657}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":20,"start":4657}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":27,"start":4650}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":105,"start":4579}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":4538}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"WithArray","src":{"jump_code":"","length":9,"start":4561}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":4561}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":16,"start":4561}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":18,"start":4560}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStructWithArray","src":{"jump_code":"","length":173,"start":4511}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":4763}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":4763}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"jump_code":"","length":21,"start":4763}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":4763}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"jump_code":"","length":4,"start":4801}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":4794}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":59,"start":4753}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":4712}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":4735}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":4735}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":16,"start":4735}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":18,"start":4734}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getEmptyArray","src":{"jump_code":"","length":122,"start":4690}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":4897}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":4905}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":4897}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"jump_code":"","length":22,"start":4897}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":4931}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":4923}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":7,"start":4923}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":4923}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":4922}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":37,"start":4897}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"jump_code":"","length":4,"start":4951}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":4944}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":75,"start":4887}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":4845}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":4868}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":4876}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":4868}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":17,"start":4868}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":19,"start":4867}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getSingleItemArray","src":{"jump_code":"","length":144,"start":4818}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":5043}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":5051}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":5043}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"jump_code":"","length":22,"start":5043}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":5077}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":5069}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":7,"start":5069}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":5069}},{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":5089}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":5081}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":7,"start":5081}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":5081}},{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":5101}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":5093}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":7,"start":5093}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":5093}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":36,"start":5068}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":61,"start":5043}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"jump_code":"","length":4,"start":5121}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":5114}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":99,"start":5033}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":4991}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":5014}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":5022}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":5014}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":17,"start":5014}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":19,"start":5013}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getFilledArray","src":{"jump_code":"","length":164,"start":4968}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":5214}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":5222}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":5214}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"jump_code":"","length":22,"start":5214}},{"ast_type":"TupleExpression","children":[{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"jump_code":"","length":3,"start":5240}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":5240}},{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"jump_code":"","length":3,"start":5252}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":5252}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":24,"start":5239}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":49,"start":5214}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"jump_code":"","length":4,"start":5280}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":5273}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":87,"start":5204}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":5162}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":5185}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":5193}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":5185}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":17,"start":5185}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":19,"start":5184}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getAddressArray","src":{"jump_code":"","length":153,"start":5138}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"jump_code":"","length":13,"start":5384}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":5384}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":15,"start":5384}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"jump_code":"","length":27,"start":5384}},{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":5434}},{"ast_type":"NewExpression","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"jump_code":"","length":13,"start":5418}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":5418}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":15,"start":5418}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":19,"start":5414}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":22,"start":5414}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":52,"start":5384}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"jump_code":"","length":4,"start":5446}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":5451}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":7,"start":5446}},{"ast_type":"FunctionCall","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"jump_code":"","length":9,"start":5470}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":5470}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":5483}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"jump_code":"","length":13,"start":5456}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":29,"start":5456}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":39,"start":5446}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":39,"start":5446}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"jump_code":"","length":4,"start":5495}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":5500}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":7,"start":5495}},{"ast_type":"FunctionCall","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"jump_code":"","length":9,"start":5519}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":5519}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":5532}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"jump_code":"","length":13,"start":5505}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":29,"start":5505}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":39,"start":5495}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":39,"start":5495}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"jump_code":"","length":4,"start":5551}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":5544}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":188,"start":5374}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":5327}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct1","src":{"jump_code":"","length":13,"start":5350}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":5350}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":15,"start":5350}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":22,"start":5350}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":24,"start":5349}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getDynamicStructArray","src":{"jump_code":"","length":265,"start":5297}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"jump_code":"","length":13,"start":5653}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":5653}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":5667}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":16,"start":5653}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"jump_code":"","length":28,"start":5653}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":5699}},{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"jump_code":"","length":9,"start":5702}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":5702}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"jump_code":"","length":13,"start":5685}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":29,"start":5685}},{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":5730}},{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"jump_code":"","length":9,"start":5733}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":5733}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"jump_code":"","length":13,"start":5716}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":29,"start":5716}},{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":5761}},{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStruct","src":{"jump_code":"","length":9,"start":5764}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":5764}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"jump_code":"","length":13,"start":5747}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":29,"start":5747}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":93,"start":5684}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":124,"start":5653}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"jump_code":"","length":4,"start":5792}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":5785}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":158,"start":5645}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":5597}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"NestedStruct2","src":{"jump_code":"","length":13,"start":5620}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":5620}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":5634}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":16,"start":5620}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":23,"start":5620}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":25,"start":5619}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getStaticStructArray","src":{"jump_code":"","length":235,"start":5568}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":5893}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":5901}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":5893}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"jump_code":"","length":23,"start":5893}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":23,"start":5893}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"jump_code":"","length":4,"start":5933}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":5926}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":61,"start":5883}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":5840}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":5863}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":5871}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":5863}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":18,"start":5863}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":20,"start":5862}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getArrayWithBiggerSize","src":{"jump_code":"","length":135,"start":5809}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":6048}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":6056}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":6048}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data0","src":{"jump_code":"","length":24,"start":6048}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":24,"start":6048}},{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":6082}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":6090}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":6082}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data1","src":{"jump_code":"","length":24,"start":6082}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":24,"start":6082}},{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data0","src":{"jump_code":"","length":5,"start":6124}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data1","src":{"jump_code":"","length":5,"start":6131}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":14,"start":6123}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":6116}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":106,"start":6038}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":5975}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":5998}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":6006}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":5998}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":18,"start":5998}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":6018}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":6026}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":6018}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":18,"start":6018}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":40,"start":5997}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getTupleOfArrays","src":{"jump_code":"","length":194,"start":5950}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":3,"start":6230}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":6223}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":27,"start":6213}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":6177}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":6200}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"foo","src":{"jump_code":"","length":11,"start":6200}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":6199}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNamedSingleItem","src":{"jump_code":"","length":90,"start":6150}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":3,"start":6338}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":3,"start":6343}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":6337}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":17,"start":6330}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":34,"start":6320}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":6271}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":6294}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"foo","src":{"jump_code":"","length":11,"start":6294}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":6307}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"bar","src":{"jump_code":"","length":11,"start":6307}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":26,"start":6293}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getTupleAllNamed","src":{"jump_code":"","length":108,"start":6246}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":6443}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":6446}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":6,"start":6442}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":6435}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":30,"start":6425}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":6384}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":6407}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":7,"start":6407}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":6416}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":7,"start":6416}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":18,"start":6406}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getUnnamedTuple","src":{"jump_code":"","length":95,"start":6360}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":3,"start":6555}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":3,"start":6560}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":6554}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":17,"start":6547}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":34,"start":6537}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":6492}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":6515}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"foo","src":{"jump_code":"","length":11,"start":6515}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":6528}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":7,"start":6528}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":22,"start":6514}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getPartiallyNamedTuple","src":{"jump_code":"","length":110,"start":6461}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":6680}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":6688}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":6680}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"addresses","src":{"jump_code":"","length":28,"start":6680}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":28,"start":6680}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"addresses","src":{"jump_code":"","length":9,"start":6718}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":6728}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":6718}},{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"jump_code":"","length":3,"start":6733}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":6733}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":25,"start":6718}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":25,"start":6718}},{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"int128","src":{"jump_code":"","length":6,"start":6753}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":6760}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":6753}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"jump_code":"","length":22,"start":6753}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":22,"start":6753}},{"ast_type":"Return","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"addresses","src":{"jump_code":"","length":9,"start":6793}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"data","src":{"jump_code":"","length":4,"start":6804}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":17,"start":6792}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":24,"start":6785}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":146,"start":6670}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":6608}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":6631}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":6639}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":6631}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":18,"start":6631}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"int128","src":{"jump_code":"","length":6,"start":6651}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":6658}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":6651}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":17,"start":6651}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":39,"start":6630}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getTupleOfAddressArray","src":{"jump_code":"","length":239,"start":6577}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"jump_code":"","length":4,"start":6910}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":6915}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":7,"start":6910}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":6918}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":6910}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"jump_code":"","length":21,"start":6910}},{"ast_type":"TupleExpression","children":[{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":6941}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"jump_code":"","length":4,"start":6936}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":4,"start":6936}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":7,"start":6936}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":6944}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":6935}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":6954}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"jump_code":"","length":4,"start":6949}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":4,"start":6949}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":7,"start":6949}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":6958}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":6948}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":6968}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"jump_code":"","length":4,"start":6963}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":4,"start":6963}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":7,"start":6963}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":6972}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":6962}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":41,"start":6934}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":65,"start":6910}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"jump_code":"","length":3,"start":6992}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":6985}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":102,"start":6900}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":6855}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":6878}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":6886}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":6878}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":6889}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":6878}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":20,"start":6878}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":22,"start":6877}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNestedArrayFixedFixed","src":{"jump_code":"","length":180,"start":6822}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"jump_code":"","length":4,"start":7097}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7102}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":7,"start":7097}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":7097}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"jump_code":"","length":20,"start":7097}},{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7134}},{"ast_type":"NewExpression","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"jump_code":"","length":4,"start":7124}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7129}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":7,"start":7124}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":7124}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":7120}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":16,"start":7120}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":39,"start":7097}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"jump_code":"","length":3,"start":7146}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7150}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":6,"start":7146}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7161}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"jump_code":"","length":4,"start":7156}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":4,"start":7156}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":7,"start":7156}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7165}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":7155}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":7146}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":7146}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"jump_code":"","length":3,"start":7177}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7181}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":6,"start":7177}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7192}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"jump_code":"","length":4,"start":7187}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":4,"start":7187}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":7,"start":7187}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7196}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":7186}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":7177}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":7177}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"jump_code":"","length":3,"start":7208}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7212}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":6,"start":7208}},{"ast_type":"TupleExpression","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7223}},{"ast_type":"ElementaryTypeNameExpression","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint","src":{"jump_code":"","length":4,"start":7218}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":4,"start":7218}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":7,"start":7218}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7227}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":7217}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":7208}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":7208}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"jump_code":"","length":3,"start":7246}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":7239}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":169,"start":7087}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":7043}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":7066}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7074}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":7066}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":7066}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":19,"start":7066}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":7065}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNestedArrayDynamicFixed","src":{"jump_code":"","length":248,"start":7008}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"dynArray","src":{"jump_code":"","length":8,"start":7358}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":15,"start":7351}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":32,"start":7341}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":7297}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":7320}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":7320}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7330}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":7320}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":19,"start":7320}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":7319}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNestedArrayFixedDynamic","src":{"jump_code":"","length":111,"start":7262}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"mixedArray","src":{"jump_code":"","length":10,"start":7480}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":17,"start":7473}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":34,"start":7463}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":7414}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":7437}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":7437}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7447}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":7437}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":14,"start":7437}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7452}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":17,"start":7437}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":24,"start":7437}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":26,"start":7436}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNestedArrayMixedDynamic","src":{"jump_code":"","length":118,"start":7379}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":7587}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7595}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":7587}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":7587}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"jump_code":"","length":23,"start":7587}},{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7630}},{"ast_type":"NewExpression","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":7617}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7625}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":7617}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":7617}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":16,"start":7613}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":19,"start":7613}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":45,"start":7587}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"jump_code":"","length":3,"start":7642}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7646}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":6,"start":7642}},{"ast_type":"TupleExpression","children":[{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"jump_code":"","length":3,"start":7652}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":7652}},{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"jump_code":"","length":3,"start":7664}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":7664}},{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"jump_code":"","length":3,"start":7676}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":7676}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":36,"start":7651}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":45,"start":7642}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":45,"start":7642}},{"ast_type":"Return","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"arr","src":{"jump_code":"","length":3,"start":7704}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":7697}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":137,"start":7577}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":7533}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":7556}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":7564}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":7556}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":7556}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"","src":{"jump_code":"","length":19,"start":7556}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":21,"start":7555}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"getNestedAddressArray","src":{"jump_code":"","length":211,"start":7503}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":7983}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":7774}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a0","src":{"jump_code":"","length":10,"start":7774}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":7794}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a1","src":{"jump_code":"","length":10,"start":7794}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":7814}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a2","src":{"jump_code":"","length":10,"start":7814}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":7834}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a3","src":{"jump_code":"","length":10,"start":7834}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":7854}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a4","src":{"jump_code":"","length":10,"start":7854}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":7874}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a5","src":{"jump_code":"","length":10,"start":7874}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":7894}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a6","src":{"jump_code":"","length":10,"start":7894}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":7914}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a7","src":{"jump_code":"","length":10,"start":7914}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":7934}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a8","src":{"jump_code":"","length":10,"start":7934}},{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"uint256","src":{"jump_code":"","length":7,"start":7954}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"a9","src":{"jump_code":"","length":10,"start":7954}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":206,"start":7764}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","start":7983}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"functionWithUniqueAmountOfArguments","src":{"jump_code":"","length":271,"start":7720}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":8056}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":8016}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":8016}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_struct","src":{"jump_code":"","length":26,"start":8016}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":28,"start":8015}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","start":8056}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"setStruct","src":{"jump_code":"","length":67,"start":7997}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":8143}},{"ast_type":"ParameterList","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":8094}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":8094}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":8103}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":11,"start":8094}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_my_struct_array","src":{"jump_code":"","length":35,"start":8094}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":37,"start":8093}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","start":8143}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"setStructArray","src":{"jump_code":"","length":81,"start":8070}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"bytes32","src":{"jump_code":"","length":7,"start":8195}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_bytes","src":{"jump_code":"","length":14,"start":8195}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":66,"start":8212}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":83,"start":8195}},{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"UserDefinedTypeName","children":[{"ast_type":"IdentifierPath","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":8288}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8,"start":8288}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_struct","src":{"jump_code":"","length":23,"start":8288}},{"ast_type":"FunctionCall","children":[{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"jump_code":"","length":3,"start":8323}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":8323}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_bytes","src":{"jump_code":"","length":6,"start":8335}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"MyStruct","src":{"jump_code":"","length":8,"start":8314}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":28,"start":8314}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":54,"start":8288}},{"ast_type":"EmitStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"_struct","src":{"jump_code":"","length":7,"start":8373}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"EventWithStruct","src":{"jump_code":"","length":15,"start":8357}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":24,"start":8357}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":29,"start":8352}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":203,"start":8185}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":8175}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","start":8185}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"logStruct","src":{"jump_code":"","length":231,"start":8157}},{"ast_type":"FunctionDefinition","children":[{"ast_type":"Block","children":[{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":8438}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":8438}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"ppl","src":{"jump_code":"","length":20,"start":8438}},{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":8475}},{"ast_type":"NewExpression","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":8465}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":9,"start":8465}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":13,"start":8461}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":16,"start":8461}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":39,"start":8438}},{"ast_type":"ExpressionStatement","children":[{"ast_type":"Assignment","children":[{"ast_type":"IndexAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"ppl","src":{"jump_code":"","length":3,"start":8487}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":8491}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":6,"start":8487}},{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"jump_code":"","length":3,"start":8496}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":8496}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":19,"start":8487}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":19,"start":8487}},{"ast_type":"VariableDeclarationStatement","children":[{"ast_type":"VariableDeclaration","children":[{"ast_type":"ArrayTypeName","children":[{"ast_type":"ElementaryTypeName","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"address","src":{"jump_code":"","length":7,"start":8516}},{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":1,"start":8524}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":8516}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"agts","src":{"jump_code":"","length":22,"start":8516}},{"ast_type":"TupleExpression","children":[{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"jump_code":"","length":3,"start":8542}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":8542}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":12,"start":8541}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":37,"start":8516}},{"ast_type":"EmitStatement","children":[{"ast_type":"FunctionCall","children":[{"ast_type":"Literal","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":4,"start":8590}},{"ast_type":"MemberAccess","children":[{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"msg","src":{"jump_code":"","length":3,"start":8596}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":10,"start":8596}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"ppl","src":{"jump_code":"","length":3,"start":8608}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"agts","src":{"jump_code":"","length":4,"start":8613}},{"ast_type":"Identifier","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"EventWithAddressArray","src":{"jump_code":"","length":21,"start":8568}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":50,"start":8568}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":55,"start":8563}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":197,"start":8428}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":2,"start":8418}},{"ast_type":"ParameterList","children":[],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","start":8428}}],"classification":1,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"logAddressArray","src":{"jump_code":"","length":231,"start":8394}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"name":"TestContractSol","src":{"jump_code":"","length":8570,"start":57}}],"classification":0,"col_offset":-1,"end_col_offset":-1,"end_lineno":-1,"lineno":-1,"src":{"jump_code":"","length":8596,"start":32}},"contractName":"TestContractSol","deploymentBytecode":{"bytecode":"0x608060405234801562000010575f80fd5b5060405162001ed838038062001ed883398101604081905262000033916200029c565b60018181555f80546001600160a01b0319163317815560408051602081019091529081526200006691600591906200016f565b50604080518082019091525f8152600160208201526200008b9060069060026200016f565b50604080516060810182525f815260016020820152600291810191909152620000b99060079060036200016f565b50600880546001810182555f91909152620000ff9060039081027ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30190600590620001bd565b50600980546001810182555f91909152620001339060039081025f8051602062001eb88339815191520190600590620001bd565b50600980546001810182555f91909152620001679060039081025f8051602062001eb88339815191520190600590620001bd565b5050620002b4565b828054828255905f5260205f20908101928215620001ab579160200282015b82811115620001ab5782518255916020019190600101906200018e565b50620001b992915062000207565b5090565b8260038101928215620001f9579182015b82811115620001f9578254620001e890839085906200021d565b5091600101919060010190620001ce565b50620001b99291506200025c565b5b80821115620001b9575f815560010162000208565b828054828255905f5260205f20908101928215620001ab575f5260205f209182015b82811115620001ab5782548255916001019190600101906200023f565b80821115620001b9575f6200027282826200027c565b506001016200025c565b5080545f8255905f5260205f209081019062000299919062000207565b50565b5f60208284031215620002ad575f80fd5b5051919050565b611bf680620002c25f395ff3fe608060405234801561000f575f80fd5b506004361061026b575f3560e01c80637a79591d1161014b578063a5b0930d116100bf578063c2f1483911610084578063c2f148391461053a578063ccd62aa414610550578063d4d64b3514610565578063e30081a01461057b578063e30443bc1461058e578063e9f7fd14146105a1575f80fd5b8063a5b0930d146104d0578063a5c1b662146104e5578063abeb2022146104f6578063acab48d81461050b578063b345ad9614610525575f80fd5b806399e74a4c1161011057806399e74a4c146104575780639bfb2ad81461046c5780639e6b154b14610481578063a2fbee5314610494578063a420b5a5146104aa578063a4f6d26b146104bf575f80fd5b80637a79591d146103fd5780637b92b7ce1461040c5780638ba6052d1461041a5780638da5cb5b1461043057806394a66fc914610442575f80fd5b806335417bf4116101e25780634825cf6f116101a75780634825cf6f1461039957806348d17a78146103a257806351c03980146103a25780636126c87f146103ac5780636cbceeec146103c157806378c067b0146103ec575f80fd5b806335417bf4146103325780633ce80e94146103475780633fb5c1cb1461035c57806342ce1ec61461036f57806343790b6414610384575f80fd5b8063136af17f11610233578063136af17f146102cc57806323fd0e40146102d4578063243e0963146102dd578063252e423e146102f557806327e235e31461030b5780632beb17111461032a575f80fd5b806302f487d61461026f578063039b50441461028d578063052f3e761461029e57806309b1b3f2146102ad5780630cce7676146102c2575b5f80fd5b6102776105b7565b6040516102849190611251565b60405180910390f35b607b5b604051908152602001610284565b6060604051610284919061129e565b6102b56105e1565b60405161028491906112b7565b6102ca610618565b005b6102ca6106b1565b61029060015481565b5f805b60408051928352602083019190915201610284565b6102fd610720565b604051610284929190611322565b610290610319366004611399565b60046020525f908152604090205481565b6102ca61073b565b61033a610792565b60405161028491906113b2565b61034f6107bc565b60405161028491906113e2565b6102ca61036a366004611429565b610838565b610377610928565b6040516102849190611440565b61038c610975565b60405161028491906114cb565b61029060025481565b607b6101416102e0565b6103b461098a565b604051610284919061150d565b6003546103d4906001600160a01b031681565b6040516001600160a01b039091168152602001610284565b6102ca6103fa3660046115bf565b50565b606060405161028491906115d9565b6102ca6103fa3660046115eb565b610422610a65565b604051610284929190611651565b5f546103d4906001600160a01b031681565b61044a610a91565b6040516102849190611724565b61045f610b1b565b6040516102849190611736565b610474610b80565b60405161028491906117a8565b6102ca61048f3660046117e9565b610c20565b61049c610d1b565b604051610284929190611813565b6104b2610d4b565b6040516102849190611845565b60608060405161028492919061186e565b6104d8610d74565b604051610284919061189b565b6060806040516102849291906118cb565b6104fe610d93565b60405161028491906118dd565b6102ca610519366004611973565b50505050505050505050565b61052d610e8c565b60405161028491906119d5565b610542610ea7565b604051610284929190611a06565b610558610ec1565b6040516102849190611a72565b61056d610f21565b604051610284929190611a9f565b6102ca610589366004611399565b610f41565b6102ca61059c366004611abc565b610f8a565b6105a9610fba565b604051610284929190611ae4565b6105bf610fea565b60405180604001604052806105d26105e1565b81526020016001815250905090565b604080518082019091525f80825260208201526040805180820190915233815260208101610610600143611b13565b409052919050565b6040805160018082528183019092525f916020808301908036833701905050905033815f8151811061064c5761064c611b26565b6001600160a01b039092166020928302919091018201526040805191820181523380835290516103e9907f7dba788c1fe7f1164dec800b61c5cff1499d9f96bbd6fb4deff3e11f2c109a17906106a59086908690611b3a565b60405180910390a35050565b6040805180820182523381527f1234567890abcdef0123456789abcdef0123456789abcdef0123456789abcdef6020820181905291517fa731a78d94f9b7de7d6ab1ba8b80641702fa1c4a60a45d52c8db2bbc0a2e80a8906107149083906112b7565b60405180910390a15050565b610728611013565b6060610732611013565b92606092509050565b6040515f907f1a7c56fae0af54ebae73bc4699b9de9835e7bb86b050dff7e80695b633f17abd908290a26040516001907fe5299d63f5ecdd1740024ea0902bd82cc8dc6b51d69078e007096f907615ced5905f90a2565b61079a61104b565b5060408051606081018252600181526002602082015260039181019190915290565b6107c4611069565b5f60405180606001604052806040518060400160405280600181526020016107ea6105e1565b815250815260200160405180604001604052806002815260200161080c6105e1565b815250815260200160405180604001604052806003815260200161082e6105e1565b9052905292915050565b5f546001600160a01b031633146108845760405162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b60448201526064015b60405180910390fd5b80600503610890575f80fd5b600180546002558190556040516644796e616d696360c81b8152600701604051908190039020817fa84473122c11e32cd505595f246a28418b8ecd6cf819f4e3915363fad1b8f9686108e3600143611b13565b4060025460405161091d92919091825260208201526060604082018190526007908201526644796e616d696360c81b608082015260a00190565b60405180910390a350565b610930611096565b5f60405180604001604052806109446105e1565b81526020016109516105e1565b90526040805160608101825260018152602081019290925260029082015292915050565b61097d6110af565b6109856110af565b919050565b604080516003808252608082019092526060915f9190816020015b6109ad6110ce565b8152602001906001900390816109a55790505090506040518060400160405280600181526020016002815250815f815181106109eb576109eb611b26565b6020026020010181905250604051806040016040528060038152602001600481525081600181518110610a2057610a20611b26565b6020026020010181905250604051806040016040528060058152602001600681525081600281518110610a5557610a55611b26565b6020908102919091010152919050565b610a6d6110af565b610a756110af565b610a7d6110af565b338152610a886110af565b90939092509050565b610a996110ec565b6040805160608101909152600560035f835b82821015610b1257838201805480602002602001604051908101604052809291908181526020018280548015610afe57602002820191905f5260205f20905b815481526020019060010190808311610aea575b505050505081526020019060010190610aab565b50505050905090565b60408051600280825260608281019093525f9190816020015b610b3c61104b565b815260200190600190039081610b345750506040805160608101825233808252602082018190529181019190915281519192509082905f90610a5557610a55611b26565b60408051600280825260608281019093525f9190816020015b610ba1610fea565b815260200190600190039081610b995790505090506040518060400160405280610bc96105e1565b81526020016001815250815f81518110610be557610be5611b26565b60200260200101819052506040518060400160405280610c036105e1565b8152602001600281525081600181518110610a5557610a55611b26565b5f546001600160a01b03163314610c675760405162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b604482015260640161087b565b81600503610c73575f80fd5b60018054600255829055600380546001600160a01b0319166001600160a01b0383161790556040516644796e616d696360c81b8152600701604051908190039020827fa84473122c11e32cd505595f246a28418b8ecd6cf819f4e3915363fad1b8f968610ce1600143611b13565b406002546040516106a592919091825260208201526060604082018190526007908201526644796e616d696360c81b608082015260a00190565b5f610d24611113565b6002604051806040016040528060028152602001610d406105e1565b815250915091509091565b610d53611113565b604051806040016040528060028152602001610d6d6105e1565b9052919050565b610d7c6110ce565b506040805180820190915233808252602082015290565b610d9b611142565b6040805160a08101909152600860055f835b82821015610b1257838201805480602002602001604051908101604052809291908181526020015f905b82821015610e79575f8481526020812060408051606081019091529160038086029092019190835b82821015610e6657838201805480602002602001604051908101604052809291908181526020018280548015610e5257602002820191905f5260205f20905b815481526020019060010190808311610e3e575b505050505081526020019060010190610dff565b5050505081526020019060010190610dd7565b5050505081526020019060010190610dad565b610e9461115c565b5060408051602081019091526001815290565b5f610eb061117a565b610eb861117a565b5f939092509050565b610ec96111d2565b506040805160a081018252600160608201908152600260808301528152815180830183526003815260046020828101919091528083019190915282518084018452600581526006918101919091529181019190915290565b610f296110af565b610f316110af565b610f396110af565b610a886110af565b600380546001600160a01b0319166001600160a01b0383169081179091556040517f7ff7bacc6cd661809ed1ddce28d4ad2c5b37779b61b9e3235f8262be529101a9905f90a250565b6001600160a01b0382165f9081526004602052604081208054839290610fb1908490611bad565b90915550505050565b610fc2610fea565b5f6040518060400160405280610fd66105e1565b815260200160018152506001915091509091565b604080516080810182525f91810182815260608201929092529081905b81526020015f81525090565b60405180606001604052806003905b604080518082019091525f80825260208201528152602001906001900390816110225790505090565b60405180606001604052806003906020820280368337509192915050565b60405180606001604052806003905b611080611113565b8152602001906001900390816110785790505090565b60405180606001604052805f81526020016110076111ff565b6040518061028001604052806014906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b60405180606001604052806003905b60608152602001906001900390816110fb5790505090565b60405180604001604052805f815260200161113d604080518082019091525f808252602082015290565b905290565b6040805160a08101909152606081526004602082016110fb565b60405180602001604052806001906020820280368337509192915050565b6040518060a001604052806005905b6111bc6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b8152602001906001900390816111895790505090565b60405180606001604052806003905b6111e96110ce565b8152602001906001900390816111e15790505090565b604080516080810182525f9181018281526060820192909252908152600160208201611022565b61124482825180516001600160a01b03168252602090810151910152565b6020015160409190910152565b6060810161125f8284611226565b92915050565b5f8151808452602080850194508084015f5b8381101561129357815187529582019590820190600101611277565b509495945050505050565b602081525f6112b06020830184611265565b9392505050565b81516001600160a01b03168152602080830151908201526040810161125f565b5f8151808452602080850194508084015f5b838110156112935761130f87835180516001600160a01b03168252602090810151910152565b60409690960195908201906001016112e9565b5f8184825b60038110156113645761134e83835180516001600160a01b03168252602090810151910152565b6040929092019160209190910190600101611327565b50505060e060c083015261137b60e08301846112d7565b949350505050565b80356001600160a01b0381168114610985575f80fd5b5f602082840312156113a9575f80fd5b6112b082611383565b6060810181835f5b60038110156113d95781518352602092830192909101906001016113ba565b50505092915050565b610120810181835f5b60038110156113d95781518051845260209081015180516001600160a01b0316828601528101516040850152606090930192909101906001016113eb565b5f60208284031215611439575f80fd5b5035919050565b8151815260208083015160c0830191908184015f5b600281101561148f5761147c82845180516001600160a01b03168252602090810151910152565b9183019160409190910190600101611455565b50505050604083015160a083015292915050565b805f5b60148110156114c55781518452602093840193909101906001016114a6565b50505050565b610280810161125f82846114a3565b5f8282825b60028110156114fe5781518352602092830192909101906001016114df565b50505060408301905092915050565b602080825282518282018190525f9190848201906040850190845b818110156115495761153b8385516114da565b938501939250600101611528565b50909695505050505050565b6040805190810167ffffffffffffffff8111828210171561158457634e487b7160e01b5f52604160045260245ffd5b60405290565b5f6040828403121561159a575f80fd5b6115a2611555565b90506115ad82611383565b81526020820135602082015292915050565b5f604082840312156115cf575f80fd5b6112b0838361158a565b602081525f6112b060208301846112d7565b5f608082840312156115fb575f80fd5b82601f830112611609575f80fd5b611611611555565b806080840185811115611622575f80fd5b845b8181101561164657611636878261158a565b8452602090930192604001611624565b509095945050505050565b610500810181845f5b60148110156116825781516001600160a01b031683526020928301929091019060010161165a565b5050506102808201835f5b60148110156116af578151600f0b83526020928301929091019060010161168d565b5050509392505050565b5f8260608101835f805b6003811015611718578484038852825180518086526020918201918087019190855b82811015611701578451845293810193928101926001016116e5565b509a8b019a919650509390930192506001016116c3565b50919695505050505050565b602081525f6112b060208301846116b9565b602080825282518282018190525f919084820190604085019084805b8281101561179b57845184835b60038110156117855782516001600160a01b03168252918801919088019060010161175f565b5050509385019360609390930192600101611752565b5091979650505050505050565b602080825282518282018190525f9190848201906040850190845b81811015611549576117d6838551611226565b92840192606092909201916001016117c3565b5f80604083850312156117fa575f80fd5b8235915061180a60208401611383565b90509250929050565b828152608081016112b060208301848051825260209081015180516001600160a01b0316828401520151604090910152565b8151815260208083015180516001600160a01b031682840152015160408201526060810161125f565b604081525f61188060408301856112d7565b828103602084015261189281856112d7565b95945050505050565b6040810181835f5b60028110156113d95781516001600160a01b03168352602092830192909101906001016118a3565b604081525f6118806040830185611265565b60208082525f9060c083018382018584805b60058082106118fe5750611966565b601f1989870381018652845180518089529283901b88018901929089019089890190865b8181101561194e57848b870301835261193c8685516116b9565b9550928b0192918b0191600101611922565b509398505050948701945050918501916001016118ef565b5092979650505050505050565b5f805f805f805f805f806101408b8d03121561198d575f80fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b60208181019082845f5b60018110156119fc578151835291830191908301906001016119df565b5050505092915050565b8281526103e081016020808301845f5b6005811015611a6757815180518452848101518585015260408082015190850152606080820151908501526080808201519085015260a0908101519084015260c09092019190830190600101611a16565b505050509392505050565b60c0810181835f5b60038110156113d957611a8e8383516114da565b925060209190910190600101611a7a565b6105008101611aae82856114a3565b6112b06102808301846114a3565b5f8060408385031215611acd575f80fd5b611ad683611383565b946020939093013593505050565b60808101611af28285611226565b8260608301529392505050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561125f5761125f611aff565b634e487b7160e01b5f52603260045260245ffd5b604080825283519082018190525f906020906060840190828701845b82811015611b7b5781516001600160a01b031684529284019290840190600101611b56565b509193505050828101845f5b6001811015611a675781516001600160a01b031683529183019190830190600101611b87565b8082018082111561125f5761125f611aff56fea264697066735822122022f886ade30522c149ea6aaccc52ffbee3e99391ac37b663ba3cb2a5a6ba419764736f6c634300081500336e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af"},"devdoc":{"kind":"dev","methods":{},"version":1},"runtimeBytecode":{"bytecode":"0x608060405234801561000f575f80fd5b506004361061026b575f3560e01c80637a79591d1161014b578063a5b0930d116100bf578063c2f1483911610084578063c2f148391461053a578063ccd62aa414610550578063d4d64b3514610565578063e30081a01461057b578063e30443bc1461058e578063e9f7fd14146105a1575f80fd5b8063a5b0930d146104d0578063a5c1b662146104e5578063abeb2022146104f6578063acab48d81461050b578063b345ad9614610525575f80fd5b806399e74a4c1161011057806399e74a4c146104575780639bfb2ad81461046c5780639e6b154b14610481578063a2fbee5314610494578063a420b5a5146104aa578063a4f6d26b146104bf575f80fd5b80637a79591d146103fd5780637b92b7ce1461040c5780638ba6052d1461041a5780638da5cb5b1461043057806394a66fc914610442575f80fd5b806335417bf4116101e25780634825cf6f116101a75780634825cf6f1461039957806348d17a78146103a257806351c03980146103a25780636126c87f146103ac5780636cbceeec146103c157806378c067b0146103ec575f80fd5b806335417bf4146103325780633ce80e94146103475780633fb5c1cb1461035c57806342ce1ec61461036f57806343790b6414610384575f80fd5b8063136af17f11610233578063136af17f146102cc57806323fd0e40146102d4578063243e0963146102dd578063252e423e146102f557806327e235e31461030b5780632beb17111461032a575f80fd5b806302f487d61461026f578063039b50441461028d578063052f3e761461029e57806309b1b3f2146102ad5780630cce7676146102c2575b5f80fd5b6102776105b7565b6040516102849190611251565b60405180910390f35b607b5b604051908152602001610284565b6060604051610284919061129e565b6102b56105e1565b60405161028491906112b7565b6102ca610618565b005b6102ca6106b1565b61029060015481565b5f805b60408051928352602083019190915201610284565b6102fd610720565b604051610284929190611322565b610290610319366004611399565b60046020525f908152604090205481565b6102ca61073b565b61033a610792565b60405161028491906113b2565b61034f6107bc565b60405161028491906113e2565b6102ca61036a366004611429565b610838565b610377610928565b6040516102849190611440565b61038c610975565b60405161028491906114cb565b61029060025481565b607b6101416102e0565b6103b461098a565b604051610284919061150d565b6003546103d4906001600160a01b031681565b6040516001600160a01b039091168152602001610284565b6102ca6103fa3660046115bf565b50565b606060405161028491906115d9565b6102ca6103fa3660046115eb565b610422610a65565b604051610284929190611651565b5f546103d4906001600160a01b031681565b61044a610a91565b6040516102849190611724565b61045f610b1b565b6040516102849190611736565b610474610b80565b60405161028491906117a8565b6102ca61048f3660046117e9565b610c20565b61049c610d1b565b604051610284929190611813565b6104b2610d4b565b6040516102849190611845565b60608060405161028492919061186e565b6104d8610d74565b604051610284919061189b565b6060806040516102849291906118cb565b6104fe610d93565b60405161028491906118dd565b6102ca610519366004611973565b50505050505050505050565b61052d610e8c565b60405161028491906119d5565b610542610ea7565b604051610284929190611a06565b610558610ec1565b6040516102849190611a72565b61056d610f21565b604051610284929190611a9f565b6102ca610589366004611399565b610f41565b6102ca61059c366004611abc565b610f8a565b6105a9610fba565b604051610284929190611ae4565b6105bf610fea565b60405180604001604052806105d26105e1565b81526020016001815250905090565b604080518082019091525f80825260208201526040805180820190915233815260208101610610600143611b13565b409052919050565b6040805160018082528183019092525f916020808301908036833701905050905033815f8151811061064c5761064c611b26565b6001600160a01b039092166020928302919091018201526040805191820181523380835290516103e9907f7dba788c1fe7f1164dec800b61c5cff1499d9f96bbd6fb4deff3e11f2c109a17906106a59086908690611b3a565b60405180910390a35050565b6040805180820182523381527f1234567890abcdef0123456789abcdef0123456789abcdef0123456789abcdef6020820181905291517fa731a78d94f9b7de7d6ab1ba8b80641702fa1c4a60a45d52c8db2bbc0a2e80a8906107149083906112b7565b60405180910390a15050565b610728611013565b6060610732611013565b92606092509050565b6040515f907f1a7c56fae0af54ebae73bc4699b9de9835e7bb86b050dff7e80695b633f17abd908290a26040516001907fe5299d63f5ecdd1740024ea0902bd82cc8dc6b51d69078e007096f907615ced5905f90a2565b61079a61104b565b5060408051606081018252600181526002602082015260039181019190915290565b6107c4611069565b5f60405180606001604052806040518060400160405280600181526020016107ea6105e1565b815250815260200160405180604001604052806002815260200161080c6105e1565b815250815260200160405180604001604052806003815260200161082e6105e1565b9052905292915050565b5f546001600160a01b031633146108845760405162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b60448201526064015b60405180910390fd5b80600503610890575f80fd5b600180546002558190556040516644796e616d696360c81b8152600701604051908190039020817fa84473122c11e32cd505595f246a28418b8ecd6cf819f4e3915363fad1b8f9686108e3600143611b13565b4060025460405161091d92919091825260208201526060604082018190526007908201526644796e616d696360c81b608082015260a00190565b60405180910390a350565b610930611096565b5f60405180604001604052806109446105e1565b81526020016109516105e1565b90526040805160608101825260018152602081019290925260029082015292915050565b61097d6110af565b6109856110af565b919050565b604080516003808252608082019092526060915f9190816020015b6109ad6110ce565b8152602001906001900390816109a55790505090506040518060400160405280600181526020016002815250815f815181106109eb576109eb611b26565b6020026020010181905250604051806040016040528060038152602001600481525081600181518110610a2057610a20611b26565b6020026020010181905250604051806040016040528060058152602001600681525081600281518110610a5557610a55611b26565b6020908102919091010152919050565b610a6d6110af565b610a756110af565b610a7d6110af565b338152610a886110af565b90939092509050565b610a996110ec565b6040805160608101909152600560035f835b82821015610b1257838201805480602002602001604051908101604052809291908181526020018280548015610afe57602002820191905f5260205f20905b815481526020019060010190808311610aea575b505050505081526020019060010190610aab565b50505050905090565b60408051600280825260608281019093525f9190816020015b610b3c61104b565b815260200190600190039081610b345750506040805160608101825233808252602082018190529181019190915281519192509082905f90610a5557610a55611b26565b60408051600280825260608281019093525f9190816020015b610ba1610fea565b815260200190600190039081610b995790505090506040518060400160405280610bc96105e1565b81526020016001815250815f81518110610be557610be5611b26565b60200260200101819052506040518060400160405280610c036105e1565b8152602001600281525081600181518110610a5557610a55611b26565b5f546001600160a01b03163314610c675760405162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b604482015260640161087b565b81600503610c73575f80fd5b60018054600255829055600380546001600160a01b0319166001600160a01b0383161790556040516644796e616d696360c81b8152600701604051908190039020827fa84473122c11e32cd505595f246a28418b8ecd6cf819f4e3915363fad1b8f968610ce1600143611b13565b406002546040516106a592919091825260208201526060604082018190526007908201526644796e616d696360c81b608082015260a00190565b5f610d24611113565b6002604051806040016040528060028152602001610d406105e1565b815250915091509091565b610d53611113565b604051806040016040528060028152602001610d6d6105e1565b9052919050565b610d7c6110ce565b506040805180820190915233808252602082015290565b610d9b611142565b6040805160a08101909152600860055f835b82821015610b1257838201805480602002602001604051908101604052809291908181526020015f905b82821015610e79575f8481526020812060408051606081019091529160038086029092019190835b82821015610e6657838201805480602002602001604051908101604052809291908181526020018280548015610e5257602002820191905f5260205f20905b815481526020019060010190808311610e3e575b505050505081526020019060010190610dff565b5050505081526020019060010190610dd7565b5050505081526020019060010190610dad565b610e9461115c565b5060408051602081019091526001815290565b5f610eb061117a565b610eb861117a565b5f939092509050565b610ec96111d2565b506040805160a081018252600160608201908152600260808301528152815180830183526003815260046020828101919091528083019190915282518084018452600581526006918101919091529181019190915290565b610f296110af565b610f316110af565b610f396110af565b610a886110af565b600380546001600160a01b0319166001600160a01b0383169081179091556040517f7ff7bacc6cd661809ed1ddce28d4ad2c5b37779b61b9e3235f8262be529101a9905f90a250565b6001600160a01b0382165f9081526004602052604081208054839290610fb1908490611bad565b90915550505050565b610fc2610fea565b5f6040518060400160405280610fd66105e1565b815260200160018152506001915091509091565b604080516080810182525f91810182815260608201929092529081905b81526020015f81525090565b60405180606001604052806003905b604080518082019091525f80825260208201528152602001906001900390816110225790505090565b60405180606001604052806003906020820280368337509192915050565b60405180606001604052806003905b611080611113565b8152602001906001900390816110785790505090565b60405180606001604052805f81526020016110076111ff565b6040518061028001604052806014906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b60405180606001604052806003905b60608152602001906001900390816110fb5790505090565b60405180604001604052805f815260200161113d604080518082019091525f808252602082015290565b905290565b6040805160a08101909152606081526004602082016110fb565b60405180602001604052806001906020820280368337509192915050565b6040518060a001604052806005905b6111bc6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b8152602001906001900390816111895790505090565b60405180606001604052806003905b6111e96110ce565b8152602001906001900390816111e15790505090565b604080516080810182525f9181018281526060820192909252908152600160208201611022565b61124482825180516001600160a01b03168252602090810151910152565b6020015160409190910152565b6060810161125f8284611226565b92915050565b5f8151808452602080850194508084015f5b8381101561129357815187529582019590820190600101611277565b509495945050505050565b602081525f6112b06020830184611265565b9392505050565b81516001600160a01b03168152602080830151908201526040810161125f565b5f8151808452602080850194508084015f5b838110156112935761130f87835180516001600160a01b03168252602090810151910152565b60409690960195908201906001016112e9565b5f8184825b60038110156113645761134e83835180516001600160a01b03168252602090810151910152565b6040929092019160209190910190600101611327565b50505060e060c083015261137b60e08301846112d7565b949350505050565b80356001600160a01b0381168114610985575f80fd5b5f602082840312156113a9575f80fd5b6112b082611383565b6060810181835f5b60038110156113d95781518352602092830192909101906001016113ba565b50505092915050565b610120810181835f5b60038110156113d95781518051845260209081015180516001600160a01b0316828601528101516040850152606090930192909101906001016113eb565b5f60208284031215611439575f80fd5b5035919050565b8151815260208083015160c0830191908184015f5b600281101561148f5761147c82845180516001600160a01b03168252602090810151910152565b9183019160409190910190600101611455565b50505050604083015160a083015292915050565b805f5b60148110156114c55781518452602093840193909101906001016114a6565b50505050565b610280810161125f82846114a3565b5f8282825b60028110156114fe5781518352602092830192909101906001016114df565b50505060408301905092915050565b602080825282518282018190525f9190848201906040850190845b818110156115495761153b8385516114da565b938501939250600101611528565b50909695505050505050565b6040805190810167ffffffffffffffff8111828210171561158457634e487b7160e01b5f52604160045260245ffd5b60405290565b5f6040828403121561159a575f80fd5b6115a2611555565b90506115ad82611383565b81526020820135602082015292915050565b5f604082840312156115cf575f80fd5b6112b0838361158a565b602081525f6112b060208301846112d7565b5f608082840312156115fb575f80fd5b82601f830112611609575f80fd5b611611611555565b806080840185811115611622575f80fd5b845b8181101561164657611636878261158a565b8452602090930192604001611624565b509095945050505050565b610500810181845f5b60148110156116825781516001600160a01b031683526020928301929091019060010161165a565b5050506102808201835f5b60148110156116af578151600f0b83526020928301929091019060010161168d565b5050509392505050565b5f8260608101835f805b6003811015611718578484038852825180518086526020918201918087019190855b82811015611701578451845293810193928101926001016116e5565b509a8b019a919650509390930192506001016116c3565b50919695505050505050565b602081525f6112b060208301846116b9565b602080825282518282018190525f919084820190604085019084805b8281101561179b57845184835b60038110156117855782516001600160a01b03168252918801919088019060010161175f565b5050509385019360609390930192600101611752565b5091979650505050505050565b602080825282518282018190525f9190848201906040850190845b81811015611549576117d6838551611226565b92840192606092909201916001016117c3565b5f80604083850312156117fa575f80fd5b8235915061180a60208401611383565b90509250929050565b828152608081016112b060208301848051825260209081015180516001600160a01b0316828401520151604090910152565b8151815260208083015180516001600160a01b031682840152015160408201526060810161125f565b604081525f61188060408301856112d7565b828103602084015261189281856112d7565b95945050505050565b6040810181835f5b60028110156113d95781516001600160a01b03168352602092830192909101906001016118a3565b604081525f6118806040830185611265565b60208082525f9060c083018382018584805b60058082106118fe5750611966565b601f1989870381018652845180518089529283901b88018901929089019089890190865b8181101561194e57848b870301835261193c8685516116b9565b9550928b0192918b0191600101611922565b509398505050948701945050918501916001016118ef565b5092979650505050505050565b5f805f805f805f805f806101408b8d03121561198d575f80fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b60208181019082845f5b60018110156119fc578151835291830191908301906001016119df565b5050505092915050565b8281526103e081016020808301845f5b6005811015611a6757815180518452848101518585015260408082015190850152606080820151908501526080808201519085015260a0908101519084015260c09092019190830190600101611a16565b505050509392505050565b60c0810181835f5b60038110156113d957611a8e8383516114da565b925060209190910190600101611a7a565b6105008101611aae82856114a3565b6112b06102808301846114a3565b5f8060408385031215611acd575f80fd5b611ad683611383565b946020939093013593505050565b60808101611af28285611226565b8260608301529392505050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561125f5761125f611aff565b634e487b7160e01b5f52603260045260245ffd5b604080825283519082018190525f906020906060840190828701845b82811015611b7b5781516001600160a01b031684529284019290840190600101611b56565b509193505050828101845f5b6001811015611a675781516001600160a01b031683529183019190830190600101611b87565b8082018082111561125f5761125f611aff56fea264697066735822122022f886ade30522c149ea6aaccc52ffbee3e99391ac37b663ba3cb2a5a6ba419764736f6c63430008150033"},"sourceId":"TestContractSol.sol","sourcemap":"57:8570:0:-:0;;;1505:308;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1540:8;:14;;;1564:5;:18;;-1:-1:-1;;;;;;1564:18:0;1572:10;1564:18;;;1593:23;;;;;;;;;;;;;;:8;;:23;;:::i;:::-;-1:-1:-1;1626:26:0;;;;;;;;;-1:-1:-1;1626:26:0;;1650:1;1626:26;;;;;;:11;;:26;;:::i;:::-;-1:-1:-1;1662:29:0;;;;;;;;-1:-1:-1;1662:29:0;;1686:1;1662:29;;;;1689:1;1662:29;;;;;;;;;:11;;:29;;:::i;:::-;-1:-1:-1;1702:10:0;:28;;;;;;;1713:1;1702:28;;;;;;;;;;;;;1721:8;;1702:28;:::i;:::-;-1:-1:-1;1740:13:0;:28;;1751:1;1740:28;;;;-1:-1:-1;1740:28:0;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1740:28:0;;1759:8;;1740:28;:::i;:::-;-1:-1:-1;1778:13:0;:28;;1789:1;1778:28;;;;-1:-1:-1;1778:28:0;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1778:28:0;;1797:8;;1778:28;:::i;:::-;;1505:308;57:8570;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;57:8570:0;;;-1:-1:-1;57:8570:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;57:8570:0;;;-1:-1:-1;57:8570:0;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;14:184:1:-;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;-1:-1:-1;176:16:1;;14:184;-1:-1:-1;14:184:1:o;203:127::-;57:8570:0;;;;;;","userdoc":{"kind":"user","methods":{},"version":1}} diff --git a/tests/functional/data/contracts/ethereum/local/vyper_contract.json b/tests/functional/data/contracts/ethereum/local/vyper_contract.json index 1a723e0831..0e4039d576 100644 --- a/tests/functional/data/contracts/ethereum/local/vyper_contract.json +++ b/tests/functional/data/contracts/ethereum/local/vyper_contract.json @@ -1 +1 @@ -{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"name":"b","type":"bytes32"},{"indexed":false,"name":"prevNum","type":"uint256"},{"indexed":false,"name":"dynData","type":"string"},{"indexed":true,"name":"newNum","type":"uint256"},{"indexed":true,"name":"dynIndexed","type":"string"}],"name":"NumberChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newAddress","type":"address"}],"name":"AddressChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"foo","type":"uint256"}],"name":"FooHappened","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"bar","type":"uint256"}],"name":"BarHappened","type":"event"},{"inputs":[{"name":"num","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"fooAndBar","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"num","type":"uint256"}],"name":"setNumber","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_address","type":"address"}],"name":"setAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_address","type":"address"},{"name":"bal","type":"uint256"}],"name":"setBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getStruct","outputs":[{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedStruct1","outputs":[{"components":[{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"t","type":"tuple"},{"name":"foo","type":"uint256"}],"name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedStruct2","outputs":[{"components":[{"name":"foo","type":"uint256"},{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"t","type":"tuple"}],"name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedStructWithTuple1","outputs":[{"components":[{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"t","type":"tuple"},{"name":"foo","type":"uint256"}],"name":"","type":"tuple"},{"name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedStructWithTuple2","outputs":[{"name":"","type":"uint256"},{"components":[{"name":"foo","type":"uint256"},{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"t","type":"tuple"}],"name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getEmptyDynArrayOfStructs","outputs":[{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"","type":"tuple[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getEmptyTupleOfDynArrayStructs","outputs":[{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"","type":"tuple[]"},{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"","type":"tuple[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getEmptyTupleOfArrayOfStructsAndDynArrayOfStructs","outputs":[{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"","type":"tuple[3]"},{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTupleOfIntAndStructArray","outputs":[{"name":"","type":"uint256"},{"components":[{"name":"one","type":"uint256"},{"name":"two","type":"uint256"},{"name":"three","type":"uint256"},{"name":"four","type":"uint256"},{"name":"five","type":"uint256"},{"name":"six","type":"uint256"}],"name":"","type":"tuple[5]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getEmptyTupleOfIntAndDynArray","outputs":[{"name":"","type":"uint256[]"},{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"","type":"tuple[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getStructWithArray","outputs":[{"components":[{"name":"foo","type":"uint256"},{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"arr","type":"tuple[2]"},{"name":"bar","type":"uint256"}],"name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getEmptyArray","outputs":[{"name":"","type":"uint256[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getSingleItemArray","outputs":[{"name":"","type":"uint256[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getFilledArray","outputs":[{"name":"","type":"uint256[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getAddressArray","outputs":[{"name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDynamicStructArray","outputs":[{"components":[{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"t","type":"tuple"},{"name":"foo","type":"uint256"}],"name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStaticStructArray","outputs":[{"components":[{"name":"foo","type":"uint256"},{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"t","type":"tuple"}],"name":"","type":"tuple[2]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getArrayWithBiggerSize","outputs":[{"name":"","type":"uint256[20]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getTupleOfArrays","outputs":[{"name":"","type":"uint256[20]"},{"name":"","type":"uint256[20]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getMultipleValues","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getUnnamedTuple","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getTupleOfAddressArray","outputs":[{"name":"","type":"address[20]"},{"name":"","type":"uint128[20]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedArrayFixedFixed","outputs":[{"name":"","type":"uint256[2][3]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedArrayDynamicFixed","outputs":[{"name":"","type":"uint256[2][]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedArrayFixedDynamic","outputs":[{"name":"","type":"uint256[][3]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedArrayMixedDynamic","outputs":[{"name":"","type":"uint256[][3][][5]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedAddressArray","outputs":[{"name":"","type":"address[3][]"}],"stateMutability":"view","type":"function"},{"inputs":[{"name":"a0","type":"uint256"},{"name":"a1","type":"uint256"},{"name":"a2","type":"uint256"},{"name":"a3","type":"uint256"},{"name":"a4","type":"uint256"},{"name":"a5","type":"uint256"},{"name":"a6","type":"uint256"},{"name":"a7","type":"uint256"},{"name":"a8","type":"uint256"},{"name":"a9","type":"uint256"}],"name":"functionWithUniqueAmountOfArguments","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"_my_struct","type":"tuple"}],"name":"setStruct","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"_my_struct_array","type":"tuple[2]"}],"name":"setStructArray","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"myNumber","outputs":[{"name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"prevNumber","outputs":[{"name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"theAddress","outputs":[{"name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"name":"arg0","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"name":"arg0","type":"uint256"},{"name":"arg1","type":"uint256"}],"name":"dynArray","outputs":[{"name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"name":"arg0","type":"uint256"},{"name":"arg1","type":"uint256"},{"name":"arg2","type":"uint256"},{"name":"arg3","type":"uint256"}],"name":"mixedArray","outputs":[{"name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"ast":{"ast_type":"Module","children":[{"ast_type":"EventDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":7,"end_col_offset":14,"end_lineno":4,"lineno":4,"src":{"contract_id":2,"jump_code":"","length":7,"start":45}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":5,"end_lineno":4,"lineno":4,"src":{"contract_id":2,"jump_code":"","length":1,"start":42}}],"classification":0,"col_offset":4,"end_col_offset":14,"end_lineno":4,"lineno":4,"src":{"contract_id":2,"jump_code":"","length":10,"start":42}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":13,"end_col_offset":20,"end_lineno":5,"lineno":5,"src":{"contract_id":2,"jump_code":"","length":7,"start":66}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":11,"end_lineno":5,"lineno":5,"src":{"contract_id":2,"jump_code":"","length":7,"start":57}}],"classification":0,"col_offset":4,"end_col_offset":20,"end_lineno":5,"lineno":5,"src":{"contract_id":2,"jump_code":"","length":16,"start":57}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":20,"end_col_offset":22,"end_lineno":6,"lineno":6,"src":{"contract_id":2,"jump_code":"","length":2,"start":94}}],"classification":0,"col_offset":20,"end_col_offset":22,"end_lineno":6,"lineno":6,"src":{"contract_id":2,"jump_code":"","length":2,"start":94}},{"ast_type":"Name","children":[],"classification":1,"col_offset":13,"end_col_offset":19,"end_lineno":6,"lineno":6,"src":{"contract_id":2,"jump_code":"","length":6,"start":87}}],"classification":0,"col_offset":13,"end_col_offset":23,"end_lineno":6,"lineno":6,"src":{"contract_id":2,"jump_code":"","length":10,"start":87}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":11,"end_lineno":6,"lineno":6,"src":{"contract_id":2,"jump_code":"","length":7,"start":78}}],"classification":0,"col_offset":4,"end_col_offset":23,"end_lineno":6,"lineno":6,"src":{"contract_id":2,"jump_code":"","length":19,"start":78}},{"ast_type":"AnnAssign","children":[{"ast_type":"Call","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":20,"end_col_offset":27,"end_lineno":7,"lineno":7,"src":{"contract_id":2,"jump_code":"","length":7,"start":118}},{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":19,"end_lineno":7,"lineno":7,"src":{"contract_id":2,"jump_code":"","length":7,"start":110}}],"classification":0,"col_offset":12,"end_col_offset":28,"end_lineno":7,"lineno":7,"src":{"contract_id":2,"jump_code":"","length":16,"start":110}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":10,"end_lineno":7,"lineno":7,"src":{"contract_id":2,"jump_code":"","length":6,"start":102}}],"classification":0,"col_offset":4,"end_col_offset":28,"end_lineno":7,"lineno":7,"src":{"contract_id":2,"jump_code":"","length":24,"start":102}},{"ast_type":"AnnAssign","children":[{"ast_type":"Call","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":31,"end_col_offset":33,"end_lineno":8,"lineno":8,"src":{"contract_id":2,"jump_code":"","length":2,"start":158}}],"classification":0,"col_offset":31,"end_col_offset":33,"end_lineno":8,"lineno":8,"src":{"contract_id":2,"jump_code":"","length":2,"start":158}},{"ast_type":"Name","children":[],"classification":1,"col_offset":24,"end_col_offset":30,"end_lineno":8,"lineno":8,"src":{"contract_id":2,"jump_code":"","length":6,"start":151}}],"classification":0,"col_offset":24,"end_col_offset":34,"end_lineno":8,"lineno":8,"src":{"contract_id":2,"jump_code":"","length":10,"start":151}},{"ast_type":"Name","children":[],"classification":1,"col_offset":16,"end_col_offset":23,"end_lineno":8,"lineno":8,"src":{"contract_id":2,"jump_code":"","length":7,"start":143}}],"classification":0,"col_offset":16,"end_col_offset":35,"end_lineno":8,"lineno":8,"src":{"contract_id":2,"jump_code":"","length":19,"start":143}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":14,"end_lineno":8,"lineno":8,"src":{"contract_id":2,"jump_code":"","length":10,"start":131}}],"classification":0,"col_offset":4,"end_col_offset":35,"end_lineno":8,"lineno":8,"src":{"contract_id":2,"jump_code":"","length":31,"start":131}}],"classification":0,"col_offset":0,"end_col_offset":35,"end_lineno":8,"lineno":3,"name":"NumberChange","src":{"contract_id":2,"jump_code":"","length":144,"start":18}},{"ast_type":"EventDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Call","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":24,"end_col_offset":31,"end_lineno":11,"lineno":11,"src":{"contract_id":2,"jump_code":"","length":7,"start":209}},{"ast_type":"Name","children":[],"classification":1,"col_offset":16,"end_col_offset":23,"end_lineno":11,"lineno":11,"src":{"contract_id":2,"jump_code":"","length":7,"start":201}}],"classification":0,"col_offset":16,"end_col_offset":32,"end_lineno":11,"lineno":11,"src":{"contract_id":2,"jump_code":"","length":16,"start":201}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":14,"end_lineno":11,"lineno":11,"src":{"contract_id":2,"jump_code":"","length":10,"start":189}}],"classification":0,"col_offset":4,"end_col_offset":32,"end_lineno":11,"lineno":11,"src":{"contract_id":2,"jump_code":"","length":28,"start":189}}],"classification":0,"col_offset":0,"end_col_offset":32,"end_lineno":11,"lineno":10,"name":"AddressChange","src":{"contract_id":2,"jump_code":"","length":53,"start":164}},{"ast_type":"EventDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Call","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":17,"end_col_offset":24,"end_lineno":14,"lineno":14,"src":{"contract_id":2,"jump_code":"","length":7,"start":255}},{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":16,"end_lineno":14,"lineno":14,"src":{"contract_id":2,"jump_code":"","length":7,"start":247}}],"classification":0,"col_offset":9,"end_col_offset":25,"end_lineno":14,"lineno":14,"src":{"contract_id":2,"jump_code":"","length":16,"start":247}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":14,"lineno":14,"src":{"contract_id":2,"jump_code":"","length":3,"start":242}}],"classification":0,"col_offset":4,"end_col_offset":25,"end_lineno":14,"lineno":14,"src":{"contract_id":2,"jump_code":"","length":21,"start":242}}],"classification":0,"col_offset":0,"end_col_offset":25,"end_lineno":14,"lineno":13,"name":"FooHappened","src":{"contract_id":2,"jump_code":"","length":44,"start":219}},{"ast_type":"EventDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Call","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":17,"end_col_offset":24,"end_lineno":17,"lineno":17,"src":{"contract_id":2,"jump_code":"","length":7,"start":301}},{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":16,"end_lineno":17,"lineno":17,"src":{"contract_id":2,"jump_code":"","length":7,"start":293}}],"classification":0,"col_offset":9,"end_col_offset":25,"end_lineno":17,"lineno":17,"src":{"contract_id":2,"jump_code":"","length":16,"start":293}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":17,"lineno":17,"src":{"contract_id":2,"jump_code":"","length":3,"start":288}}],"classification":0,"col_offset":4,"end_col_offset":25,"end_lineno":17,"lineno":17,"src":{"contract_id":2,"jump_code":"","length":21,"start":288}}],"classification":0,"col_offset":0,"end_col_offset":25,"end_lineno":17,"lineno":16,"name":"BarHappened","src":{"contract_id":2,"jump_code":"","length":44,"start":265}},{"ast_type":"StructDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":7,"end_col_offset":14,"end_lineno":20,"lineno":20,"src":{"contract_id":2,"jump_code":"","length":7,"start":335}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":5,"end_lineno":20,"lineno":20,"src":{"contract_id":2,"jump_code":"","length":1,"start":332}}],"classification":0,"col_offset":4,"end_col_offset":14,"end_lineno":20,"lineno":20,"src":{"contract_id":2,"jump_code":"","length":10,"start":332}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":7,"end_col_offset":14,"end_lineno":21,"lineno":21,"src":{"contract_id":2,"jump_code":"","length":7,"start":350}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":5,"end_lineno":21,"lineno":21,"src":{"contract_id":2,"jump_code":"","length":1,"start":347}}],"classification":0,"col_offset":4,"end_col_offset":14,"end_lineno":21,"lineno":21,"src":{"contract_id":2,"jump_code":"","length":10,"start":347}}],"classification":0,"col_offset":0,"end_col_offset":14,"end_lineno":21,"lineno":19,"name":"MyStruct","src":{"contract_id":2,"jump_code":"","length":46,"start":311}},{"ast_type":"StructDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":7,"end_col_offset":15,"end_lineno":24,"lineno":24,"src":{"contract_id":2,"jump_code":"","length":8,"start":388}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":5,"end_lineno":24,"lineno":24,"src":{"contract_id":2,"jump_code":"","length":1,"start":385}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":24,"lineno":24,"src":{"contract_id":2,"jump_code":"","length":11,"start":385}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":16,"end_lineno":25,"lineno":25,"src":{"contract_id":2,"jump_code":"","length":7,"start":406}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":25,"lineno":25,"src":{"contract_id":2,"jump_code":"","length":3,"start":401}}],"classification":0,"col_offset":4,"end_col_offset":16,"end_lineno":25,"lineno":25,"src":{"contract_id":2,"jump_code":"","length":12,"start":401}}],"classification":0,"col_offset":0,"end_col_offset":16,"end_lineno":25,"lineno":23,"name":"NestedStruct1","src":{"contract_id":2,"jump_code":"","length":54,"start":359}},{"ast_type":"StructDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":16,"end_lineno":28,"lineno":28,"src":{"contract_id":2,"jump_code":"","length":7,"start":446}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":28,"lineno":28,"src":{"contract_id":2,"jump_code":"","length":3,"start":441}}],"classification":0,"col_offset":4,"end_col_offset":16,"end_lineno":28,"lineno":28,"src":{"contract_id":2,"jump_code":"","length":12,"start":441}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":7,"end_col_offset":15,"end_lineno":29,"lineno":29,"src":{"contract_id":2,"jump_code":"","length":8,"start":461}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":5,"end_lineno":29,"lineno":29,"src":{"contract_id":2,"jump_code":"","length":1,"start":458}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":29,"lineno":29,"src":{"contract_id":2,"jump_code":"","length":11,"start":458}}],"classification":0,"col_offset":0,"end_col_offset":15,"end_lineno":29,"lineno":27,"name":"NestedStruct2","src":{"contract_id":2,"jump_code":"","length":54,"start":415}},{"ast_type":"StructDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":16,"end_lineno":32,"lineno":32,"src":{"contract_id":2,"jump_code":"","length":7,"start":498}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":32,"lineno":32,"src":{"contract_id":2,"jump_code":"","length":3,"start":493}}],"classification":0,"col_offset":4,"end_col_offset":16,"end_lineno":32,"lineno":32,"src":{"contract_id":2,"jump_code":"","length":12,"start":493}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":18,"end_col_offset":19,"end_lineno":33,"lineno":33,"src":{"contract_id":2,"jump_code":"","length":1,"start":524}}],"classification":0,"col_offset":18,"end_col_offset":19,"end_lineno":33,"lineno":33,"src":{"contract_id":2,"jump_code":"","length":1,"start":524}},{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":17,"end_lineno":33,"lineno":33,"src":{"contract_id":2,"jump_code":"","length":8,"start":515}}],"classification":0,"col_offset":9,"end_col_offset":20,"end_lineno":33,"lineno":33,"src":{"contract_id":2,"jump_code":"","length":11,"start":515}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":33,"lineno":33,"src":{"contract_id":2,"jump_code":"","length":3,"start":510}}],"classification":0,"col_offset":4,"end_col_offset":20,"end_lineno":33,"lineno":33,"src":{"contract_id":2,"jump_code":"","length":16,"start":510}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":16,"end_lineno":34,"lineno":34,"src":{"contract_id":2,"jump_code":"","length":7,"start":536}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":34,"lineno":34,"src":{"contract_id":2,"jump_code":"","length":3,"start":531}}],"classification":0,"col_offset":4,"end_col_offset":16,"end_lineno":34,"lineno":34,"src":{"contract_id":2,"jump_code":"","length":12,"start":531}}],"classification":0,"col_offset":0,"end_col_offset":16,"end_lineno":34,"lineno":31,"name":"WithArray","src":{"contract_id":2,"jump_code":"","length":72,"start":471}},{"ast_type":"StructDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":16,"end_lineno":37,"lineno":37,"src":{"contract_id":2,"jump_code":"","length":7,"start":572}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":37,"lineno":37,"src":{"contract_id":2,"jump_code":"","length":3,"start":567}}],"classification":0,"col_offset":4,"end_col_offset":16,"end_lineno":37,"lineno":37,"src":{"contract_id":2,"jump_code":"","length":12,"start":567}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":16,"end_lineno":38,"lineno":38,"src":{"contract_id":2,"jump_code":"","length":7,"start":589}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":38,"lineno":38,"src":{"contract_id":2,"jump_code":"","length":3,"start":584}}],"classification":0,"col_offset":4,"end_col_offset":16,"end_lineno":38,"lineno":38,"src":{"contract_id":2,"jump_code":"","length":12,"start":584}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":18,"end_lineno":39,"lineno":39,"src":{"contract_id":2,"jump_code":"","length":7,"start":608}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":9,"end_lineno":39,"lineno":39,"src":{"contract_id":2,"jump_code":"","length":5,"start":601}}],"classification":0,"col_offset":4,"end_col_offset":18,"end_lineno":39,"lineno":39,"src":{"contract_id":2,"jump_code":"","length":14,"start":601}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":10,"end_col_offset":17,"end_lineno":40,"lineno":40,"src":{"contract_id":2,"jump_code":"","length":7,"start":626}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":40,"lineno":40,"src":{"contract_id":2,"jump_code":"","length":4,"start":620}}],"classification":0,"col_offset":4,"end_col_offset":17,"end_lineno":40,"lineno":40,"src":{"contract_id":2,"jump_code":"","length":13,"start":620}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":10,"end_col_offset":17,"end_lineno":41,"lineno":41,"src":{"contract_id":2,"jump_code":"","length":7,"start":644}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":41,"lineno":41,"src":{"contract_id":2,"jump_code":"","length":4,"start":638}}],"classification":0,"col_offset":4,"end_col_offset":17,"end_lineno":41,"lineno":41,"src":{"contract_id":2,"jump_code":"","length":13,"start":638}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":16,"end_lineno":42,"lineno":42,"src":{"contract_id":2,"jump_code":"","length":7,"start":661}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":42,"lineno":42,"src":{"contract_id":2,"jump_code":"","length":3,"start":656}}],"classification":0,"col_offset":4,"end_col_offset":16,"end_lineno":42,"lineno":42,"src":{"contract_id":2,"jump_code":"","length":12,"start":656}}],"classification":0,"col_offset":0,"end_col_offset":16,"end_lineno":42,"lineno":36,"name":"IntStruct","src":{"contract_id":2,"jump_code":"","length":123,"start":545}},{"ast_type":"VariableDecl","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":14,"end_col_offset":21,"end_lineno":44,"lineno":44,"src":{"contract_id":2,"jump_code":"","length":7,"start":684}},{"ast_type":"Name","children":[],"classification":1,"col_offset":0,"end_col_offset":5,"end_lineno":44,"lineno":44,"src":{"contract_id":2,"jump_code":"","length":5,"start":670}}],"classification":0,"col_offset":0,"end_col_offset":22,"end_lineno":44,"lineno":44,"src":{"contract_id":2,"jump_code":"","length":22,"start":670}},{"ast_type":"VariableDecl","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":17,"end_col_offset":24,"end_lineno":45,"lineno":45,"src":{"contract_id":2,"jump_code":"","length":7,"start":710}},{"ast_type":"Name","children":[],"classification":1,"col_offset":0,"end_col_offset":8,"end_lineno":45,"lineno":45,"src":{"contract_id":2,"jump_code":"","length":8,"start":693}}],"classification":0,"col_offset":0,"end_col_offset":25,"end_lineno":45,"lineno":45,"src":{"contract_id":2,"jump_code":"","length":25,"start":693}},{"ast_type":"VariableDecl","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":26,"end_lineno":46,"lineno":46,"src":{"contract_id":2,"jump_code":"","length":7,"start":738}},{"ast_type":"Name","children":[],"classification":1,"col_offset":0,"end_col_offset":10,"end_lineno":46,"lineno":46,"src":{"contract_id":2,"jump_code":"","length":10,"start":719}}],"classification":0,"col_offset":0,"end_col_offset":27,"end_lineno":46,"lineno":46,"src":{"contract_id":2,"jump_code":"","length":27,"start":719}},{"ast_type":"VariableDecl","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":26,"end_lineno":47,"lineno":47,"src":{"contract_id":2,"jump_code":"","length":7,"start":766}},{"ast_type":"Name","children":[],"classification":1,"col_offset":0,"end_col_offset":10,"end_lineno":47,"lineno":47,"src":{"contract_id":2,"jump_code":"","length":10,"start":747}}],"classification":0,"col_offset":0,"end_col_offset":27,"end_lineno":47,"lineno":47,"src":{"contract_id":2,"jump_code":"","length":27,"start":747}},{"ast_type":"VariableDecl","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":25,"end_col_offset":32,"end_lineno":48,"lineno":48,"src":{"contract_id":2,"jump_code":"","length":7,"start":800}},{"ast_type":"Name","children":[],"classification":1,"col_offset":34,"end_col_offset":41,"end_lineno":48,"lineno":48,"src":{"contract_id":2,"jump_code":"","length":7,"start":809}}],"classification":0,"col_offset":25,"end_col_offset":41,"end_lineno":48,"lineno":48,"src":{"contract_id":2,"jump_code":"","length":16,"start":800}}],"classification":0,"col_offset":25,"end_col_offset":41,"end_lineno":48,"lineno":48,"src":{"contract_id":2,"jump_code":"","length":16,"start":800}},{"ast_type":"Name","children":[],"classification":1,"col_offset":17,"end_col_offset":24,"end_lineno":48,"lineno":48,"src":{"contract_id":2,"jump_code":"","length":7,"start":792}}],"classification":0,"col_offset":17,"end_col_offset":42,"end_lineno":48,"lineno":48,"src":{"contract_id":2,"jump_code":"","length":25,"start":792}},{"ast_type":"Name","children":[],"classification":1,"col_offset":0,"end_col_offset":8,"end_lineno":48,"lineno":48,"src":{"contract_id":2,"jump_code":"","length":8,"start":775}}],"classification":0,"col_offset":0,"end_col_offset":43,"end_lineno":48,"lineno":48,"src":{"contract_id":2,"jump_code":"","length":43,"start":775}},{"ast_type":"VariableDecl","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":41,"end_col_offset":42,"end_lineno":49,"lineno":49,"src":{"contract_id":2,"jump_code":"","length":1,"start":860}}],"classification":0,"col_offset":41,"end_col_offset":42,"end_lineno":49,"lineno":49,"src":{"contract_id":2,"jump_code":"","length":1,"start":860}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":33,"end_lineno":49,"lineno":49,"src":{"contract_id":2,"jump_code":"","length":7,"start":845}},{"ast_type":"Int","children":[],"classification":0,"col_offset":35,"end_col_offset":39,"end_lineno":49,"lineno":49,"src":{"contract_id":2,"jump_code":"","length":4,"start":854}}],"classification":0,"col_offset":26,"end_col_offset":39,"end_lineno":49,"lineno":49,"src":{"contract_id":2,"jump_code":"","length":13,"start":845}}],"classification":0,"col_offset":26,"end_col_offset":39,"end_lineno":49,"lineno":49,"src":{"contract_id":2,"jump_code":"","length":13,"start":845}},{"ast_type":"Name","children":[],"classification":1,"col_offset":17,"end_col_offset":25,"end_lineno":49,"lineno":49,"src":{"contract_id":2,"jump_code":"","length":8,"start":836}}],"classification":0,"col_offset":17,"end_col_offset":40,"end_lineno":49,"lineno":49,"src":{"contract_id":2,"jump_code":"","length":23,"start":836}}],"classification":0,"col_offset":17,"end_col_offset":43,"end_lineno":49,"lineno":49,"src":{"contract_id":2,"jump_code":"","length":26,"start":836}},{"ast_type":"Name","children":[],"classification":1,"col_offset":0,"end_col_offset":8,"end_lineno":49,"lineno":49,"src":{"contract_id":2,"jump_code":"","length":8,"start":819}}],"classification":0,"col_offset":0,"end_col_offset":44,"end_lineno":49,"lineno":49,"src":{"contract_id":2,"jump_code":"","length":44,"start":819}},{"ast_type":"VariableDecl","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":62,"end_col_offset":63,"end_lineno":50,"lineno":50,"src":{"contract_id":2,"jump_code":"","length":1,"start":926}}],"classification":0,"col_offset":62,"end_col_offset":63,"end_lineno":50,"lineno":50,"src":{"contract_id":2,"jump_code":"","length":1,"start":926}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":52,"end_col_offset":53,"end_lineno":50,"lineno":50,"src":{"contract_id":2,"jump_code":"","length":1,"start":916}}],"classification":0,"col_offset":52,"end_col_offset":53,"end_lineno":50,"lineno":50,"src":{"contract_id":2,"jump_code":"","length":1,"start":916}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":37,"end_col_offset":44,"end_lineno":50,"lineno":50,"src":{"contract_id":2,"jump_code":"","length":7,"start":901}},{"ast_type":"Int","children":[],"classification":0,"col_offset":46,"end_col_offset":50,"end_lineno":50,"lineno":50,"src":{"contract_id":2,"jump_code":"","length":4,"start":910}}],"classification":0,"col_offset":37,"end_col_offset":50,"end_lineno":50,"lineno":50,"src":{"contract_id":2,"jump_code":"","length":13,"start":901}}],"classification":0,"col_offset":37,"end_col_offset":50,"end_lineno":50,"lineno":50,"src":{"contract_id":2,"jump_code":"","length":13,"start":901}},{"ast_type":"Name","children":[],"classification":1,"col_offset":28,"end_col_offset":36,"end_lineno":50,"lineno":50,"src":{"contract_id":2,"jump_code":"","length":8,"start":892}}],"classification":0,"col_offset":28,"end_col_offset":51,"end_lineno":50,"lineno":50,"src":{"contract_id":2,"jump_code":"","length":23,"start":892}}],"classification":0,"col_offset":28,"end_col_offset":54,"end_lineno":50,"lineno":50,"src":{"contract_id":2,"jump_code":"","length":26,"start":892}},{"ast_type":"Int","children":[],"classification":0,"col_offset":56,"end_col_offset":60,"end_lineno":50,"lineno":50,"src":{"contract_id":2,"jump_code":"","length":4,"start":920}}],"classification":0,"col_offset":28,"end_col_offset":60,"end_lineno":50,"lineno":50,"src":{"contract_id":2,"jump_code":"","length":32,"start":892}}],"classification":0,"col_offset":28,"end_col_offset":60,"end_lineno":50,"lineno":50,"src":{"contract_id":2,"jump_code":"","length":32,"start":892}},{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":27,"end_lineno":50,"lineno":50,"src":{"contract_id":2,"jump_code":"","length":8,"start":883}}],"classification":0,"col_offset":19,"end_col_offset":61,"end_lineno":50,"lineno":50,"src":{"contract_id":2,"jump_code":"","length":42,"start":883}}],"classification":0,"col_offset":19,"end_col_offset":64,"end_lineno":50,"lineno":50,"src":{"contract_id":2,"jump_code":"","length":45,"start":883}},{"ast_type":"Name","children":[],"classification":1,"col_offset":0,"end_col_offset":10,"end_lineno":50,"lineno":50,"src":{"contract_id":2,"jump_code":"","length":10,"start":864}}],"classification":0,"col_offset":0,"end_col_offset":65,"end_lineno":50,"lineno":50,"src":{"contract_id":2,"jump_code":"","length":65,"start":864}},{"ast_type":"VariableDecl","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":26,"end_lineno":52,"lineno":52,"src":{"contract_id":2,"jump_code":"","length":7,"start":950}},{"ast_type":"Name","children":[],"classification":1,"col_offset":0,"end_col_offset":7,"end_lineno":52,"lineno":52,"src":{"contract_id":2,"jump_code":"","length":7,"start":931}},{"ast_type":"Int","children":[],"classification":0,"col_offset":30,"end_col_offset":31,"end_lineno":52,"lineno":52,"src":{"contract_id":2,"jump_code":"","length":1,"start":961}}],"classification":0,"col_offset":0,"end_col_offset":31,"end_lineno":52,"lineno":52,"src":{"contract_id":2,"jump_code":"","length":31,"start":931}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":18,"end_col_offset":25,"end_lineno":55,"lineno":55,"src":{"contract_id":2,"jump_code":"","length":7,"start":992}}],"classification":0,"col_offset":13,"end_col_offset":25,"end_lineno":55,"lineno":55,"src":{"contract_id":2,"jump_code":"","length":12,"start":987}}],"classification":1,"col_offset":13,"end_col_offset":25,"end_lineno":55,"lineno":55,"src":{"contract_id":2,"jump_code":"","length":12,"start":987}},{"ast_type":"Assign","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":56,"lineno":56,"src":{"contract_id":2,"jump_code":"","length":4,"start":1006}}],"classification":0,"col_offset":4,"end_col_offset":17,"end_lineno":56,"lineno":56,"src":{"contract_id":2,"jump_code":"","length":13,"start":1006}},{"ast_type":"Name","children":[],"classification":1,"col_offset":20,"end_col_offset":23,"end_lineno":56,"lineno":56,"src":{"contract_id":2,"jump_code":"","length":3,"start":1022}}],"classification":0,"col_offset":4,"end_col_offset":23,"end_lineno":56,"lineno":56,"src":{"contract_id":2,"jump_code":"","length":19,"start":1006}},{"ast_type":"Assign","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":57,"lineno":57,"src":{"contract_id":2,"jump_code":"","length":4,"start":1030}}],"classification":0,"col_offset":4,"end_col_offset":14,"end_lineno":57,"lineno":57,"src":{"contract_id":2,"jump_code":"","length":10,"start":1030}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":17,"end_col_offset":20,"end_lineno":57,"lineno":57,"src":{"contract_id":2,"jump_code":"","length":3,"start":1043}}],"classification":0,"col_offset":17,"end_col_offset":27,"end_lineno":57,"lineno":57,"src":{"contract_id":2,"jump_code":"","length":10,"start":1043}}],"classification":0,"col_offset":4,"end_col_offset":27,"end_lineno":57,"lineno":57,"src":{"contract_id":2,"jump_code":"","length":23,"start":1030}},{"ast_type":"Assign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":18,"end_col_offset":19,"end_lineno":58,"lineno":58,"src":{"contract_id":2,"jump_code":"","length":1,"start":1072}}],"classification":0,"col_offset":18,"end_col_offset":19,"end_lineno":58,"lineno":58,"src":{"contract_id":2,"jump_code":"","length":1,"start":1072}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":58,"lineno":58,"src":{"contract_id":2,"jump_code":"","length":4,"start":1058}}],"classification":0,"col_offset":4,"end_col_offset":17,"end_lineno":58,"lineno":58,"src":{"contract_id":2,"jump_code":"","length":13,"start":1058}}],"classification":0,"col_offset":4,"end_col_offset":20,"end_lineno":58,"lineno":58,"src":{"contract_id":2,"jump_code":"","length":16,"start":1058}},{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":24,"end_col_offset":25,"end_lineno":58,"lineno":58,"src":{"contract_id":2,"jump_code":"","length":1,"start":1078}}],"classification":0,"col_offset":23,"end_col_offset":26,"end_lineno":58,"lineno":58,"src":{"contract_id":2,"jump_code":"","length":3,"start":1077}}],"classification":0,"col_offset":4,"end_col_offset":26,"end_lineno":58,"lineno":58,"src":{"contract_id":2,"jump_code":"","length":22,"start":1058}},{"ast_type":"Assign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":18,"end_col_offset":19,"end_lineno":59,"lineno":59,"src":{"contract_id":2,"jump_code":"","length":1,"start":1099}}],"classification":0,"col_offset":18,"end_col_offset":19,"end_lineno":59,"lineno":59,"src":{"contract_id":2,"jump_code":"","length":1,"start":1099}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":59,"lineno":59,"src":{"contract_id":2,"jump_code":"","length":4,"start":1085}}],"classification":0,"col_offset":4,"end_col_offset":17,"end_lineno":59,"lineno":59,"src":{"contract_id":2,"jump_code":"","length":13,"start":1085}}],"classification":0,"col_offset":4,"end_col_offset":20,"end_lineno":59,"lineno":59,"src":{"contract_id":2,"jump_code":"","length":16,"start":1085}},{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":24,"end_col_offset":25,"end_lineno":59,"lineno":59,"src":{"contract_id":2,"jump_code":"","length":1,"start":1105}},{"ast_type":"Int","children":[],"classification":0,"col_offset":27,"end_col_offset":28,"end_lineno":59,"lineno":59,"src":{"contract_id":2,"jump_code":"","length":1,"start":1108}}],"classification":0,"col_offset":23,"end_col_offset":29,"end_lineno":59,"lineno":59,"src":{"contract_id":2,"jump_code":"","length":6,"start":1104}}],"classification":0,"col_offset":4,"end_col_offset":29,"end_lineno":59,"lineno":59,"src":{"contract_id":2,"jump_code":"","length":25,"start":1085}},{"ast_type":"Assign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":18,"end_col_offset":19,"end_lineno":60,"lineno":60,"src":{"contract_id":2,"jump_code":"","length":1,"start":1129}}],"classification":0,"col_offset":18,"end_col_offset":19,"end_lineno":60,"lineno":60,"src":{"contract_id":2,"jump_code":"","length":1,"start":1129}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":60,"lineno":60,"src":{"contract_id":2,"jump_code":"","length":4,"start":1115}}],"classification":0,"col_offset":4,"end_col_offset":17,"end_lineno":60,"lineno":60,"src":{"contract_id":2,"jump_code":"","length":13,"start":1115}}],"classification":0,"col_offset":4,"end_col_offset":20,"end_lineno":60,"lineno":60,"src":{"contract_id":2,"jump_code":"","length":16,"start":1115}},{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":24,"end_col_offset":25,"end_lineno":60,"lineno":60,"src":{"contract_id":2,"jump_code":"","length":1,"start":1135}},{"ast_type":"Int","children":[],"classification":0,"col_offset":27,"end_col_offset":28,"end_lineno":60,"lineno":60,"src":{"contract_id":2,"jump_code":"","length":1,"start":1138}},{"ast_type":"Int","children":[],"classification":0,"col_offset":30,"end_col_offset":31,"end_lineno":60,"lineno":60,"src":{"contract_id":2,"jump_code":"","length":1,"start":1141}}],"classification":0,"col_offset":23,"end_col_offset":32,"end_lineno":60,"lineno":60,"src":{"contract_id":2,"jump_code":"","length":9,"start":1134}}],"classification":0,"col_offset":4,"end_col_offset":32,"end_lineno":60,"lineno":60,"src":{"contract_id":2,"jump_code":"","length":28,"start":1115}},{"ast_type":"Expr","children":[{"ast_type":"Call","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":30,"end_col_offset":34,"end_lineno":61,"lineno":61,"src":{"contract_id":2,"jump_code":"","length":4,"start":1174}}],"classification":0,"col_offset":30,"end_col_offset":43,"end_lineno":61,"lineno":61,"src":{"contract_id":2,"jump_code":"","length":13,"start":1174}},{"ast_type":"Attribute","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":20,"end_col_offset":21,"end_lineno":61,"lineno":61,"src":{"contract_id":2,"jump_code":"","length":1,"start":1164}}],"classification":0,"col_offset":20,"end_col_offset":21,"end_lineno":61,"lineno":61,"src":{"contract_id":2,"jump_code":"","length":1,"start":1164}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":61,"lineno":61,"src":{"contract_id":2,"jump_code":"","length":4,"start":1148}}],"classification":0,"col_offset":4,"end_col_offset":19,"end_lineno":61,"lineno":61,"src":{"contract_id":2,"jump_code":"","length":15,"start":1148}}],"classification":0,"col_offset":4,"end_col_offset":22,"end_lineno":61,"lineno":61,"src":{"contract_id":2,"jump_code":"","length":18,"start":1148}}],"classification":0,"col_offset":4,"end_col_offset":29,"end_lineno":61,"lineno":61,"src":{"contract_id":2,"jump_code":"","length":25,"start":1148}}],"classification":0,"col_offset":4,"end_col_offset":44,"end_lineno":61,"lineno":61,"src":{"contract_id":2,"jump_code":"","length":40,"start":1148}}],"classification":0,"col_offset":4,"end_col_offset":44,"end_lineno":61,"lineno":61,"src":{"contract_id":2,"jump_code":"","length":40,"start":1148}},{"ast_type":"Expr","children":[{"ast_type":"Call","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":30,"end_col_offset":34,"end_lineno":62,"lineno":62,"src":{"contract_id":2,"jump_code":"","length":4,"start":1219}}],"classification":0,"col_offset":30,"end_col_offset":43,"end_lineno":62,"lineno":62,"src":{"contract_id":2,"jump_code":"","length":13,"start":1219}},{"ast_type":"Attribute","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":20,"end_col_offset":21,"end_lineno":62,"lineno":62,"src":{"contract_id":2,"jump_code":"","length":1,"start":1209}}],"classification":0,"col_offset":20,"end_col_offset":21,"end_lineno":62,"lineno":62,"src":{"contract_id":2,"jump_code":"","length":1,"start":1209}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":62,"lineno":62,"src":{"contract_id":2,"jump_code":"","length":4,"start":1193}}],"classification":0,"col_offset":4,"end_col_offset":19,"end_lineno":62,"lineno":62,"src":{"contract_id":2,"jump_code":"","length":15,"start":1193}}],"classification":0,"col_offset":4,"end_col_offset":22,"end_lineno":62,"lineno":62,"src":{"contract_id":2,"jump_code":"","length":18,"start":1193}}],"classification":0,"col_offset":4,"end_col_offset":29,"end_lineno":62,"lineno":62,"src":{"contract_id":2,"jump_code":"","length":25,"start":1193}}],"classification":0,"col_offset":4,"end_col_offset":44,"end_lineno":62,"lineno":62,"src":{"contract_id":2,"jump_code":"","length":40,"start":1193}}],"classification":0,"col_offset":4,"end_col_offset":44,"end_lineno":62,"lineno":62,"src":{"contract_id":2,"jump_code":"","length":40,"start":1193}},{"ast_type":"Expr","children":[{"ast_type":"Call","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":30,"end_col_offset":34,"end_lineno":63,"lineno":63,"src":{"contract_id":2,"jump_code":"","length":4,"start":1264}}],"classification":0,"col_offset":30,"end_col_offset":43,"end_lineno":63,"lineno":63,"src":{"contract_id":2,"jump_code":"","length":13,"start":1264}},{"ast_type":"Attribute","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":20,"end_col_offset":21,"end_lineno":63,"lineno":63,"src":{"contract_id":2,"jump_code":"","length":1,"start":1254}}],"classification":0,"col_offset":20,"end_col_offset":21,"end_lineno":63,"lineno":63,"src":{"contract_id":2,"jump_code":"","length":1,"start":1254}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":63,"lineno":63,"src":{"contract_id":2,"jump_code":"","length":4,"start":1238}}],"classification":0,"col_offset":4,"end_col_offset":19,"end_lineno":63,"lineno":63,"src":{"contract_id":2,"jump_code":"","length":15,"start":1238}}],"classification":0,"col_offset":4,"end_col_offset":22,"end_lineno":63,"lineno":63,"src":{"contract_id":2,"jump_code":"","length":18,"start":1238}}],"classification":0,"col_offset":4,"end_col_offset":29,"end_lineno":63,"lineno":63,"src":{"contract_id":2,"jump_code":"","length":25,"start":1238}}],"classification":0,"col_offset":4,"end_col_offset":44,"end_lineno":63,"lineno":63,"src":{"contract_id":2,"jump_code":"","length":40,"start":1238}}],"classification":0,"col_offset":4,"end_col_offset":44,"end_lineno":63,"lineno":63,"src":{"contract_id":2,"jump_code":"","length":40,"start":1238}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":54,"lineno":54,"src":{"contract_id":2,"jump_code":"","length":8,"start":965}}],"classification":1,"col_offset":0,"end_col_offset":44,"end_lineno":63,"lineno":55,"name":"__init__","src":{"contract_id":2,"jump_code":"","length":304,"start":974}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":66,"lineno":66,"src":{"contract_id":2,"jump_code":"","length":3,"start":1290}},{"ast_type":"Log","children":[{"ast_type":"Call","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":22,"end_col_offset":22,"end_lineno":67,"lineno":67,"src":{"contract_id":2,"jump_code":"","start":1329}},{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":19,"end_lineno":67,"lineno":67,"src":{"contract_id":2,"jump_code":"","length":11,"start":1315}}],"classification":0,"col_offset":8,"end_col_offset":22,"end_lineno":67,"lineno":67,"src":{"contract_id":2,"jump_code":"","length":14,"start":1315}}],"classification":0,"col_offset":4,"end_col_offset":22,"end_lineno":67,"lineno":67,"src":{"contract_id":2,"jump_code":"","length":18,"start":1311}},{"ast_type":"Log","children":[{"ast_type":"Call","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":22,"end_col_offset":22,"end_lineno":68,"lineno":68,"src":{"contract_id":2,"jump_code":"","start":1352}},{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":19,"end_lineno":68,"lineno":68,"src":{"contract_id":2,"jump_code":"","length":11,"start":1338}}],"classification":0,"col_offset":8,"end_col_offset":22,"end_lineno":68,"lineno":68,"src":{"contract_id":2,"jump_code":"","length":14,"start":1338}}],"classification":0,"col_offset":4,"end_col_offset":22,"end_lineno":68,"lineno":68,"src":{"contract_id":2,"jump_code":"","length":18,"start":1334}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":65,"lineno":65,"src":{"contract_id":2,"jump_code":"","length":8,"start":1281}}],"classification":1,"col_offset":0,"end_col_offset":22,"end_lineno":68,"lineno":66,"name":"fooAndBar","src":{"contract_id":2,"jump_code":"","length":62,"start":1290}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":26,"end_lineno":71,"lineno":71,"src":{"contract_id":2,"jump_code":"","length":7,"start":1383}}],"classification":0,"col_offset":14,"end_col_offset":26,"end_lineno":71,"lineno":71,"src":{"contract_id":2,"jump_code":"","length":12,"start":1378}}],"classification":1,"col_offset":14,"end_col_offset":26,"end_lineno":71,"lineno":71,"src":{"contract_id":2,"jump_code":"","length":12,"start":1378}},{"ast_type":"Assert","children":[{"ast_type":"Str","children":[],"classification":0,"col_offset":37,"end_col_offset":50,"end_lineno":72,"lineno":72,"src":{"contract_id":2,"jump_code":"","length":13,"start":1430}},{"ast_type":"Compare","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":14,"end_lineno":72,"lineno":72,"src":{"contract_id":2,"jump_code":"","length":3,"start":1404}}],"classification":0,"col_offset":11,"end_col_offset":21,"end_lineno":72,"lineno":72,"src":{"contract_id":2,"jump_code":"","length":10,"start":1404}},{"ast_type":"Eq","children":[],"classification":0,"col_offset":11,"end_col_offset":35,"end_lineno":72,"lineno":72,"src":{"contract_id":2,"jump_code":"","length":24,"start":1404}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":25,"end_col_offset":29,"end_lineno":72,"lineno":72,"src":{"contract_id":2,"jump_code":"","length":4,"start":1418}}],"classification":0,"col_offset":25,"end_col_offset":35,"end_lineno":72,"lineno":72,"src":{"contract_id":2,"jump_code":"","length":10,"start":1418}}],"classification":0,"col_offset":11,"end_col_offset":35,"end_lineno":72,"lineno":72,"src":{"contract_id":2,"jump_code":"","length":24,"start":1404}}],"classification":0,"col_offset":4,"end_col_offset":50,"end_lineno":72,"lineno":72,"src":{"contract_id":2,"jump_code":"","length":46,"start":1397}},{"ast_type":"Assert","children":[{"ast_type":"Compare","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":14,"end_lineno":73,"lineno":73,"src":{"contract_id":2,"jump_code":"","length":3,"start":1455}},{"ast_type":"NotEq","children":[],"classification":0,"col_offset":11,"end_col_offset":19,"end_lineno":73,"lineno":73,"src":{"contract_id":2,"jump_code":"","length":8,"start":1455}},{"ast_type":"Int","children":[],"classification":0,"col_offset":18,"end_col_offset":19,"end_lineno":73,"lineno":73,"src":{"contract_id":2,"jump_code":"","length":1,"start":1462}}],"classification":0,"col_offset":11,"end_col_offset":19,"end_lineno":73,"lineno":73,"src":{"contract_id":2,"jump_code":"","length":8,"start":1455}}],"classification":0,"col_offset":4,"end_col_offset":19,"end_lineno":73,"lineno":73,"src":{"contract_id":2,"jump_code":"","length":15,"start":1448}},{"ast_type":"Assign","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":74,"lineno":74,"src":{"contract_id":2,"jump_code":"","length":4,"start":1468}}],"classification":0,"col_offset":4,"end_col_offset":19,"end_lineno":74,"lineno":74,"src":{"contract_id":2,"jump_code":"","length":15,"start":1468}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":22,"end_col_offset":26,"end_lineno":74,"lineno":74,"src":{"contract_id":2,"jump_code":"","length":4,"start":1486}}],"classification":0,"col_offset":22,"end_col_offset":35,"end_lineno":74,"lineno":74,"src":{"contract_id":2,"jump_code":"","length":13,"start":1486}}],"classification":0,"col_offset":4,"end_col_offset":35,"end_lineno":74,"lineno":74,"src":{"contract_id":2,"jump_code":"","length":31,"start":1468}},{"ast_type":"Assign","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":75,"lineno":75,"src":{"contract_id":2,"jump_code":"","length":4,"start":1504}}],"classification":0,"col_offset":4,"end_col_offset":17,"end_lineno":75,"lineno":75,"src":{"contract_id":2,"jump_code":"","length":13,"start":1504}},{"ast_type":"Name","children":[],"classification":1,"col_offset":20,"end_col_offset":23,"end_lineno":75,"lineno":75,"src":{"contract_id":2,"jump_code":"","length":3,"start":1520}}],"classification":0,"col_offset":4,"end_col_offset":23,"end_lineno":75,"lineno":75,"src":{"contract_id":2,"jump_code":"","length":19,"start":1504}},{"ast_type":"Log","children":[{"ast_type":"Call","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":21,"end_col_offset":26,"end_lineno":76,"lineno":76,"src":{"contract_id":2,"jump_code":"","length":5,"start":1545}}],"classification":0,"col_offset":21,"end_col_offset":35,"end_lineno":76,"lineno":76,"src":{"contract_id":2,"jump_code":"","length":14,"start":1545}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":37,"end_col_offset":41,"end_lineno":76,"lineno":76,"src":{"contract_id":2,"jump_code":"","length":4,"start":1561}}],"classification":0,"col_offset":37,"end_col_offset":52,"end_lineno":76,"lineno":76,"src":{"contract_id":2,"jump_code":"","length":15,"start":1561}},{"ast_type":"Str","children":[],"classification":0,"col_offset":54,"end_col_offset":63,"end_lineno":76,"lineno":76,"src":{"contract_id":2,"jump_code":"","length":9,"start":1578}},{"ast_type":"Name","children":[],"classification":1,"col_offset":65,"end_col_offset":68,"end_lineno":76,"lineno":76,"src":{"contract_id":2,"jump_code":"","length":3,"start":1589}},{"ast_type":"Str","children":[],"classification":0,"col_offset":70,"end_col_offset":79,"end_lineno":76,"lineno":76,"src":{"contract_id":2,"jump_code":"","length":9,"start":1594}},{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":20,"end_lineno":76,"lineno":76,"src":{"contract_id":2,"jump_code":"","length":12,"start":1532}}],"classification":0,"col_offset":8,"end_col_offset":80,"end_lineno":76,"lineno":76,"src":{"contract_id":2,"jump_code":"","length":72,"start":1532}}],"classification":0,"col_offset":4,"end_col_offset":80,"end_lineno":76,"lineno":76,"src":{"contract_id":2,"jump_code":"","length":76,"start":1528}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":70,"lineno":70,"src":{"contract_id":2,"jump_code":"","length":8,"start":1355}}],"classification":1,"col_offset":0,"end_col_offset":80,"end_lineno":76,"lineno":71,"name":"setNumber","src":{"contract_id":2,"jump_code":"","length":240,"start":1364}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":25,"end_col_offset":32,"end_lineno":79,"lineno":79,"src":{"contract_id":2,"jump_code":"","length":7,"start":1641}}],"classification":0,"col_offset":15,"end_col_offset":32,"end_lineno":79,"lineno":79,"src":{"contract_id":2,"jump_code":"","length":17,"start":1631}}],"classification":1,"col_offset":15,"end_col_offset":32,"end_lineno":79,"lineno":79,"src":{"contract_id":2,"jump_code":"","length":17,"start":1631}},{"ast_type":"Assign","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":80,"lineno":80,"src":{"contract_id":2,"jump_code":"","length":4,"start":1655}}],"classification":0,"col_offset":4,"end_col_offset":19,"end_lineno":80,"lineno":80,"src":{"contract_id":2,"jump_code":"","length":15,"start":1655}},{"ast_type":"Name","children":[],"classification":1,"col_offset":22,"end_col_offset":30,"end_lineno":80,"lineno":80,"src":{"contract_id":2,"jump_code":"","length":8,"start":1673}}],"classification":0,"col_offset":4,"end_col_offset":30,"end_lineno":80,"lineno":80,"src":{"contract_id":2,"jump_code":"","length":26,"start":1655}},{"ast_type":"Log","children":[{"ast_type":"Call","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":22,"end_col_offset":30,"end_lineno":81,"lineno":81,"src":{"contract_id":2,"jump_code":"","length":8,"start":1704}},{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":21,"end_lineno":81,"lineno":81,"src":{"contract_id":2,"jump_code":"","length":13,"start":1690}}],"classification":0,"col_offset":8,"end_col_offset":31,"end_lineno":81,"lineno":81,"src":{"contract_id":2,"jump_code":"","length":23,"start":1690}}],"classification":0,"col_offset":4,"end_col_offset":31,"end_lineno":81,"lineno":81,"src":{"contract_id":2,"jump_code":"","length":27,"start":1686}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":78,"lineno":78,"src":{"contract_id":2,"jump_code":"","length":8,"start":1607}}],"classification":1,"col_offset":0,"end_col_offset":31,"end_lineno":81,"lineno":79,"name":"setAddress","src":{"contract_id":2,"jump_code":"","length":97,"start":1616}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":25,"end_col_offset":32,"end_lineno":84,"lineno":84,"src":{"contract_id":2,"jump_code":"","length":7,"start":1750}}],"classification":0,"col_offset":15,"end_col_offset":32,"end_lineno":84,"lineno":84,"src":{"contract_id":2,"jump_code":"","length":17,"start":1740}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":39,"end_col_offset":46,"end_lineno":84,"lineno":84,"src":{"contract_id":2,"jump_code":"","length":7,"start":1764}}],"classification":0,"col_offset":34,"end_col_offset":46,"end_lineno":84,"lineno":84,"src":{"contract_id":2,"jump_code":"","length":12,"start":1759}}],"classification":1,"col_offset":15,"end_col_offset":46,"end_lineno":84,"lineno":84,"src":{"contract_id":2,"jump_code":"","length":31,"start":1740}},{"ast_type":"AugAssign","children":[{"ast_type":"Add","children":[],"classification":0,"col_offset":4,"end_col_offset":34,"end_lineno":85,"lineno":85,"src":{"contract_id":2,"jump_code":"","length":30,"start":1778}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":18,"end_col_offset":26,"end_lineno":85,"lineno":85,"src":{"contract_id":2,"jump_code":"","length":8,"start":1792}}],"classification":0,"col_offset":18,"end_col_offset":26,"end_lineno":85,"lineno":85,"src":{"contract_id":2,"jump_code":"","length":8,"start":1792}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":85,"lineno":85,"src":{"contract_id":2,"jump_code":"","length":4,"start":1778}}],"classification":0,"col_offset":4,"end_col_offset":17,"end_lineno":85,"lineno":85,"src":{"contract_id":2,"jump_code":"","length":13,"start":1778}}],"classification":0,"col_offset":4,"end_col_offset":27,"end_lineno":85,"lineno":85,"src":{"contract_id":2,"jump_code":"","length":23,"start":1778}},{"ast_type":"Name","children":[],"classification":1,"col_offset":31,"end_col_offset":34,"end_lineno":85,"lineno":85,"src":{"contract_id":2,"jump_code":"","length":3,"start":1805}}],"classification":0,"col_offset":4,"end_col_offset":34,"end_lineno":85,"lineno":85,"src":{"contract_id":2,"jump_code":"","length":30,"start":1778}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":83,"lineno":83,"src":{"contract_id":2,"jump_code":"","length":8,"start":1716}}],"classification":1,"col_offset":0,"end_col_offset":34,"end_lineno":85,"lineno":84,"name":"setBalance","src":{"contract_id":2,"jump_code":"","length":83,"start":1725}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":89,"lineno":89,"src":{"contract_id":2,"jump_code":"","length":3,"start":1826}},{"ast_type":"Return","children":[{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":21,"end_col_offset":22,"end_lineno":90,"lineno":90,"src":{"contract_id":2,"jump_code":"","length":1,"start":1876}},{"ast_type":"Name","children":[],"classification":1,"col_offset":36,"end_col_offset":37,"end_lineno":90,"lineno":90,"src":{"contract_id":2,"jump_code":"","length":1,"start":1891}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":24,"end_col_offset":27,"end_lineno":90,"lineno":90,"src":{"contract_id":2,"jump_code":"","length":3,"start":1879}}],"classification":0,"col_offset":24,"end_col_offset":34,"end_lineno":90,"lineno":90,"src":{"contract_id":2,"jump_code":"","length":10,"start":1879}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":39,"end_col_offset":44,"end_lineno":90,"lineno":90,"src":{"contract_id":2,"jump_code":"","length":5,"start":1894}}],"classification":0,"col_offset":39,"end_col_offset":53,"end_lineno":90,"lineno":90,"src":{"contract_id":2,"jump_code":"","length":14,"start":1894}}],"classification":0,"col_offset":20,"end_col_offset":54,"end_lineno":90,"lineno":90,"src":{"contract_id":2,"jump_code":"","length":34,"start":1875}},{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":19,"end_lineno":90,"lineno":90,"src":{"contract_id":2,"jump_code":"","length":8,"start":1866}}],"classification":0,"col_offset":11,"end_col_offset":55,"end_lineno":90,"lineno":90,"src":{"contract_id":2,"jump_code":"","length":44,"start":1866}}],"classification":0,"col_offset":4,"end_col_offset":55,"end_lineno":90,"lineno":90,"src":{"contract_id":2,"jump_code":"","length":51,"start":1859}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":87,"lineno":87,"src":{"contract_id":2,"jump_code":"","length":4,"start":1811}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":88,"lineno":88,"src":{"contract_id":2,"jump_code":"","length":8,"start":1817}},{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":27,"end_lineno":89,"lineno":89,"src":{"contract_id":2,"jump_code":"","length":8,"start":1845}}],"classification":1,"col_offset":0,"end_col_offset":55,"end_lineno":90,"lineno":89,"name":"getStruct","src":{"contract_id":2,"jump_code":"","length":84,"start":1826}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":94,"lineno":94,"src":{"contract_id":2,"jump_code":"","length":3,"start":1928}},{"ast_type":"Return","children":[{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":27,"end_lineno":95,"lineno":95,"src":{"contract_id":2,"jump_code":"","length":1,"start":1995}},{"ast_type":"Name","children":[],"classification":1,"col_offset":75,"end_col_offset":78,"end_lineno":95,"lineno":95,"src":{"contract_id":2,"jump_code":"","length":3,"start":2044}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":39,"end_col_offset":40,"end_lineno":95,"lineno":95,"src":{"contract_id":2,"jump_code":"","length":1,"start":2008}},{"ast_type":"Name","children":[],"classification":1,"col_offset":54,"end_col_offset":55,"end_lineno":95,"lineno":95,"src":{"contract_id":2,"jump_code":"","length":1,"start":2023}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":42,"end_col_offset":45,"end_lineno":95,"lineno":95,"src":{"contract_id":2,"jump_code":"","length":3,"start":2011}}],"classification":0,"col_offset":42,"end_col_offset":52,"end_lineno":95,"lineno":95,"src":{"contract_id":2,"jump_code":"","length":10,"start":2011}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":57,"end_col_offset":62,"end_lineno":95,"lineno":95,"src":{"contract_id":2,"jump_code":"","length":5,"start":2026}}],"classification":0,"col_offset":57,"end_col_offset":71,"end_lineno":95,"lineno":95,"src":{"contract_id":2,"jump_code":"","length":14,"start":2026}}],"classification":0,"col_offset":38,"end_col_offset":72,"end_lineno":95,"lineno":95,"src":{"contract_id":2,"jump_code":"","length":34,"start":2007}},{"ast_type":"Name","children":[],"classification":1,"col_offset":29,"end_col_offset":37,"end_lineno":95,"lineno":95,"src":{"contract_id":2,"jump_code":"","length":8,"start":1998}}],"classification":0,"col_offset":29,"end_col_offset":73,"end_lineno":95,"lineno":95,"src":{"contract_id":2,"jump_code":"","length":44,"start":1998}},{"ast_type":"Int","children":[],"classification":0,"col_offset":80,"end_col_offset":81,"end_lineno":95,"lineno":95,"src":{"contract_id":2,"jump_code":"","length":1,"start":2049}}],"classification":0,"col_offset":25,"end_col_offset":82,"end_lineno":95,"lineno":95,"src":{"contract_id":2,"jump_code":"","length":57,"start":1994}},{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":24,"end_lineno":95,"lineno":95,"src":{"contract_id":2,"jump_code":"","length":13,"start":1980}}],"classification":0,"col_offset":11,"end_col_offset":83,"end_lineno":95,"lineno":95,"src":{"contract_id":2,"jump_code":"","length":72,"start":1980}}],"classification":0,"col_offset":4,"end_col_offset":83,"end_lineno":95,"lineno":95,"src":{"contract_id":2,"jump_code":"","length":79,"start":1973}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":92,"lineno":92,"src":{"contract_id":2,"jump_code":"","length":4,"start":1913}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":93,"lineno":93,"src":{"contract_id":2,"jump_code":"","length":8,"start":1919}},{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":39,"end_lineno":94,"lineno":94,"src":{"contract_id":2,"jump_code":"","length":13,"start":1954}}],"classification":1,"col_offset":0,"end_col_offset":83,"end_lineno":95,"lineno":94,"name":"getNestedStruct1","src":{"contract_id":2,"jump_code":"","length":124,"start":1928}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":99,"lineno":99,"src":{"contract_id":2,"jump_code":"","length":3,"start":2070}},{"ast_type":"Return","children":[{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":29,"end_lineno":100,"lineno":100,"src":{"contract_id":2,"jump_code":"","length":3,"start":2137}},{"ast_type":"Name","children":[],"classification":1,"col_offset":34,"end_col_offset":35,"end_lineno":100,"lineno":100,"src":{"contract_id":2,"jump_code":"","length":1,"start":2145}},{"ast_type":"Int","children":[],"classification":0,"col_offset":31,"end_col_offset":32,"end_lineno":100,"lineno":100,"src":{"contract_id":2,"jump_code":"","length":1,"start":2142}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":47,"end_col_offset":48,"end_lineno":100,"lineno":100,"src":{"contract_id":2,"jump_code":"","length":1,"start":2158}},{"ast_type":"Name","children":[],"classification":1,"col_offset":62,"end_col_offset":63,"end_lineno":100,"lineno":100,"src":{"contract_id":2,"jump_code":"","length":1,"start":2173}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":50,"end_col_offset":53,"end_lineno":100,"lineno":100,"src":{"contract_id":2,"jump_code":"","length":3,"start":2161}}],"classification":0,"col_offset":50,"end_col_offset":60,"end_lineno":100,"lineno":100,"src":{"contract_id":2,"jump_code":"","length":10,"start":2161}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":65,"end_col_offset":70,"end_lineno":100,"lineno":100,"src":{"contract_id":2,"jump_code":"","length":5,"start":2176}}],"classification":0,"col_offset":65,"end_col_offset":79,"end_lineno":100,"lineno":100,"src":{"contract_id":2,"jump_code":"","length":14,"start":2176}}],"classification":0,"col_offset":46,"end_col_offset":80,"end_lineno":100,"lineno":100,"src":{"contract_id":2,"jump_code":"","length":34,"start":2157}},{"ast_type":"Name","children":[],"classification":1,"col_offset":37,"end_col_offset":45,"end_lineno":100,"lineno":100,"src":{"contract_id":2,"jump_code":"","length":8,"start":2148}}],"classification":0,"col_offset":37,"end_col_offset":81,"end_lineno":100,"lineno":100,"src":{"contract_id":2,"jump_code":"","length":44,"start":2148}}],"classification":0,"col_offset":25,"end_col_offset":82,"end_lineno":100,"lineno":100,"src":{"contract_id":2,"jump_code":"","length":57,"start":2136}},{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":24,"end_lineno":100,"lineno":100,"src":{"contract_id":2,"jump_code":"","length":13,"start":2122}}],"classification":0,"col_offset":11,"end_col_offset":83,"end_lineno":100,"lineno":100,"src":{"contract_id":2,"jump_code":"","length":72,"start":2122}}],"classification":0,"col_offset":4,"end_col_offset":83,"end_lineno":100,"lineno":100,"src":{"contract_id":2,"jump_code":"","length":79,"start":2115}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":97,"lineno":97,"src":{"contract_id":2,"jump_code":"","length":4,"start":2055}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":98,"lineno":98,"src":{"contract_id":2,"jump_code":"","length":8,"start":2061}},{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":39,"end_lineno":99,"lineno":99,"src":{"contract_id":2,"jump_code":"","length":13,"start":2096}}],"classification":1,"col_offset":0,"end_col_offset":83,"end_lineno":100,"lineno":99,"name":"getNestedStruct2","src":{"contract_id":2,"jump_code":"","length":124,"start":2070}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":104,"lineno":104,"src":{"contract_id":2,"jump_code":"","length":3,"start":2212}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":27,"end_col_offset":28,"end_lineno":105,"lineno":105,"src":{"contract_id":2,"jump_code":"","length":1,"start":2300}},{"ast_type":"Name","children":[],"classification":1,"col_offset":76,"end_col_offset":79,"end_lineno":105,"lineno":105,"src":{"contract_id":2,"jump_code":"","length":3,"start":2349}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":40,"end_col_offset":41,"end_lineno":105,"lineno":105,"src":{"contract_id":2,"jump_code":"","length":1,"start":2313}},{"ast_type":"Name","children":[],"classification":1,"col_offset":55,"end_col_offset":56,"end_lineno":105,"lineno":105,"src":{"contract_id":2,"jump_code":"","length":1,"start":2328}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":43,"end_col_offset":46,"end_lineno":105,"lineno":105,"src":{"contract_id":2,"jump_code":"","length":3,"start":2316}}],"classification":0,"col_offset":43,"end_col_offset":53,"end_lineno":105,"lineno":105,"src":{"contract_id":2,"jump_code":"","length":10,"start":2316}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":58,"end_col_offset":63,"end_lineno":105,"lineno":105,"src":{"contract_id":2,"jump_code":"","length":5,"start":2331}}],"classification":0,"col_offset":58,"end_col_offset":72,"end_lineno":105,"lineno":105,"src":{"contract_id":2,"jump_code":"","length":14,"start":2331}}],"classification":0,"col_offset":39,"end_col_offset":73,"end_lineno":105,"lineno":105,"src":{"contract_id":2,"jump_code":"","length":34,"start":2312}},{"ast_type":"Name","children":[],"classification":1,"col_offset":30,"end_col_offset":38,"end_lineno":105,"lineno":105,"src":{"contract_id":2,"jump_code":"","length":8,"start":2303}}],"classification":0,"col_offset":30,"end_col_offset":74,"end_lineno":105,"lineno":105,"src":{"contract_id":2,"jump_code":"","length":44,"start":2303}},{"ast_type":"Int","children":[],"classification":0,"col_offset":81,"end_col_offset":82,"end_lineno":105,"lineno":105,"src":{"contract_id":2,"jump_code":"","length":1,"start":2354}}],"classification":0,"col_offset":26,"end_col_offset":83,"end_lineno":105,"lineno":105,"src":{"contract_id":2,"jump_code":"","length":57,"start":2299}},{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":25,"end_lineno":105,"lineno":105,"src":{"contract_id":2,"jump_code":"","length":13,"start":2285}}],"classification":0,"col_offset":12,"end_col_offset":84,"end_lineno":105,"lineno":105,"src":{"contract_id":2,"jump_code":"","length":72,"start":2285}},{"ast_type":"Int","children":[],"classification":0,"col_offset":86,"end_col_offset":87,"end_lineno":105,"lineno":105,"src":{"contract_id":2,"jump_code":"","length":1,"start":2359}}],"classification":0,"col_offset":11,"end_col_offset":88,"end_lineno":105,"lineno":105,"src":{"contract_id":2,"jump_code":"","length":77,"start":2284}}],"classification":0,"col_offset":4,"end_col_offset":88,"end_lineno":105,"lineno":105,"src":{"contract_id":2,"jump_code":"","length":84,"start":2277}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":102,"lineno":102,"src":{"contract_id":2,"jump_code":"","length":4,"start":2197}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":103,"lineno":103,"src":{"contract_id":2,"jump_code":"","length":8,"start":2203}},{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":36,"end_col_offset":49,"end_lineno":104,"lineno":104,"src":{"contract_id":2,"jump_code":"","length":13,"start":2248}},{"ast_type":"Name","children":[],"classification":1,"col_offset":51,"end_col_offset":58,"end_lineno":104,"lineno":104,"src":{"contract_id":2,"jump_code":"","length":7,"start":2263}}],"classification":0,"col_offset":35,"end_col_offset":59,"end_lineno":104,"lineno":104,"src":{"contract_id":2,"jump_code":"","length":24,"start":2247}}],"classification":1,"col_offset":0,"end_col_offset":88,"end_lineno":105,"lineno":104,"name":"getNestedStructWithTuple1","src":{"contract_id":2,"jump_code":"","length":149,"start":2212}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":109,"lineno":109,"src":{"contract_id":2,"jump_code":"","length":3,"start":2379}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":12,"end_col_offset":13,"end_lineno":110,"lineno":110,"src":{"contract_id":2,"jump_code":"","length":1,"start":2452}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":30,"end_col_offset":33,"end_lineno":110,"lineno":110,"src":{"contract_id":2,"jump_code":"","length":3,"start":2470}},{"ast_type":"Name","children":[],"classification":1,"col_offset":38,"end_col_offset":39,"end_lineno":110,"lineno":110,"src":{"contract_id":2,"jump_code":"","length":1,"start":2478}},{"ast_type":"Int","children":[],"classification":0,"col_offset":35,"end_col_offset":36,"end_lineno":110,"lineno":110,"src":{"contract_id":2,"jump_code":"","length":1,"start":2475}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":51,"end_col_offset":52,"end_lineno":110,"lineno":110,"src":{"contract_id":2,"jump_code":"","length":1,"start":2491}},{"ast_type":"Name","children":[],"classification":1,"col_offset":66,"end_col_offset":67,"end_lineno":110,"lineno":110,"src":{"contract_id":2,"jump_code":"","length":1,"start":2506}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":54,"end_col_offset":57,"end_lineno":110,"lineno":110,"src":{"contract_id":2,"jump_code":"","length":3,"start":2494}}],"classification":0,"col_offset":54,"end_col_offset":64,"end_lineno":110,"lineno":110,"src":{"contract_id":2,"jump_code":"","length":10,"start":2494}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":69,"end_col_offset":74,"end_lineno":110,"lineno":110,"src":{"contract_id":2,"jump_code":"","length":5,"start":2509}}],"classification":0,"col_offset":69,"end_col_offset":83,"end_lineno":110,"lineno":110,"src":{"contract_id":2,"jump_code":"","length":14,"start":2509}}],"classification":0,"col_offset":50,"end_col_offset":84,"end_lineno":110,"lineno":110,"src":{"contract_id":2,"jump_code":"","length":34,"start":2490}},{"ast_type":"Name","children":[],"classification":1,"col_offset":41,"end_col_offset":49,"end_lineno":110,"lineno":110,"src":{"contract_id":2,"jump_code":"","length":8,"start":2481}}],"classification":0,"col_offset":41,"end_col_offset":85,"end_lineno":110,"lineno":110,"src":{"contract_id":2,"jump_code":"","length":44,"start":2481}}],"classification":0,"col_offset":29,"end_col_offset":86,"end_lineno":110,"lineno":110,"src":{"contract_id":2,"jump_code":"","length":57,"start":2469}},{"ast_type":"Name","children":[],"classification":1,"col_offset":15,"end_col_offset":28,"end_lineno":110,"lineno":110,"src":{"contract_id":2,"jump_code":"","length":13,"start":2455}}],"classification":0,"col_offset":15,"end_col_offset":87,"end_lineno":110,"lineno":110,"src":{"contract_id":2,"jump_code":"","length":72,"start":2455}}],"classification":0,"col_offset":11,"end_col_offset":88,"end_lineno":110,"lineno":110,"src":{"contract_id":2,"jump_code":"","length":77,"start":2451}}],"classification":0,"col_offset":4,"end_col_offset":88,"end_lineno":110,"lineno":110,"src":{"contract_id":2,"jump_code":"","length":84,"start":2444}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":107,"lineno":107,"src":{"contract_id":2,"jump_code":"","length":4,"start":2364}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":108,"lineno":108,"src":{"contract_id":2,"jump_code":"","length":8,"start":2370}},{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":36,"end_col_offset":43,"end_lineno":109,"lineno":109,"src":{"contract_id":2,"jump_code":"","length":7,"start":2415}},{"ast_type":"Name","children":[],"classification":1,"col_offset":45,"end_col_offset":58,"end_lineno":109,"lineno":109,"src":{"contract_id":2,"jump_code":"","length":13,"start":2424}}],"classification":0,"col_offset":35,"end_col_offset":59,"end_lineno":109,"lineno":109,"src":{"contract_id":2,"jump_code":"","length":24,"start":2414}}],"classification":1,"col_offset":0,"end_col_offset":88,"end_lineno":110,"lineno":109,"name":"getNestedStructWithTuple2","src":{"contract_id":2,"jump_code":"","length":149,"start":2379}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":114,"lineno":114,"src":{"contract_id":2,"jump_code":"","length":3,"start":2546}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":34,"end_lineno":115,"lineno":115,"src":{"contract_id":2,"jump_code":"","length":8,"start":2631}},{"ast_type":"Int","children":[],"classification":0,"col_offset":36,"end_col_offset":38,"end_lineno":115,"lineno":115,"src":{"contract_id":2,"jump_code":"","length":2,"start":2641}}],"classification":0,"col_offset":26,"end_col_offset":38,"end_lineno":115,"lineno":115,"src":{"contract_id":2,"jump_code":"","length":12,"start":2631}}],"classification":0,"col_offset":26,"end_col_offset":38,"end_lineno":115,"lineno":115,"src":{"contract_id":2,"jump_code":"","length":12,"start":2631}},{"ast_type":"Name","children":[],"classification":1,"col_offset":17,"end_col_offset":25,"end_lineno":115,"lineno":115,"src":{"contract_id":2,"jump_code":"","length":8,"start":2622}}],"classification":0,"col_offset":17,"end_col_offset":39,"end_lineno":115,"lineno":115,"src":{"contract_id":2,"jump_code":"","length":22,"start":2622}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":15,"end_lineno":115,"lineno":115,"src":{"contract_id":2,"jump_code":"","length":11,"start":2609}},{"ast_type":"List","children":[],"classification":0,"col_offset":42,"end_col_offset":44,"end_lineno":115,"lineno":115,"src":{"contract_id":2,"jump_code":"","length":2,"start":2647}}],"classification":0,"col_offset":4,"end_col_offset":44,"end_lineno":115,"lineno":115,"src":{"contract_id":2,"jump_code":"","length":40,"start":2609}},{"ast_type":"Return","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":22,"end_lineno":116,"lineno":116,"src":{"contract_id":2,"jump_code":"","length":11,"start":2661}}],"classification":0,"col_offset":4,"end_col_offset":22,"end_lineno":116,"lineno":116,"src":{"contract_id":2,"jump_code":"","length":18,"start":2654}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":112,"lineno":112,"src":{"contract_id":2,"jump_code":"","length":4,"start":2531}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":113,"lineno":113,"src":{"contract_id":2,"jump_code":"","length":8,"start":2537}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":44,"end_col_offset":52,"end_lineno":114,"lineno":114,"src":{"contract_id":2,"jump_code":"","length":8,"start":2590}},{"ast_type":"Int","children":[],"classification":0,"col_offset":54,"end_col_offset":56,"end_lineno":114,"lineno":114,"src":{"contract_id":2,"jump_code":"","length":2,"start":2600}}],"classification":0,"col_offset":44,"end_col_offset":56,"end_lineno":114,"lineno":114,"src":{"contract_id":2,"jump_code":"","length":12,"start":2590}}],"classification":0,"col_offset":44,"end_col_offset":56,"end_lineno":114,"lineno":114,"src":{"contract_id":2,"jump_code":"","length":12,"start":2590}},{"ast_type":"Name","children":[],"classification":1,"col_offset":35,"end_col_offset":43,"end_lineno":114,"lineno":114,"src":{"contract_id":2,"jump_code":"","length":8,"start":2581}}],"classification":0,"col_offset":35,"end_col_offset":57,"end_lineno":114,"lineno":114,"src":{"contract_id":2,"jump_code":"","length":22,"start":2581}}],"classification":1,"col_offset":0,"end_col_offset":22,"end_lineno":116,"lineno":114,"name":"getEmptyDynArrayOfStructs","src":{"contract_id":2,"jump_code":"","length":126,"start":2546}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":120,"lineno":120,"src":{"contract_id":2,"jump_code":"","length":3,"start":2690}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":28,"end_col_offset":36,"end_lineno":121,"lineno":121,"src":{"contract_id":2,"jump_code":"","length":8,"start":2808}},{"ast_type":"Int","children":[],"classification":0,"col_offset":38,"end_col_offset":40,"end_lineno":121,"lineno":121,"src":{"contract_id":2,"jump_code":"","length":2,"start":2818}}],"classification":0,"col_offset":28,"end_col_offset":40,"end_lineno":121,"lineno":121,"src":{"contract_id":2,"jump_code":"","length":12,"start":2808}}],"classification":0,"col_offset":28,"end_col_offset":40,"end_lineno":121,"lineno":121,"src":{"contract_id":2,"jump_code":"","length":12,"start":2808}},{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":27,"end_lineno":121,"lineno":121,"src":{"contract_id":2,"jump_code":"","length":8,"start":2799}}],"classification":0,"col_offset":19,"end_col_offset":41,"end_lineno":121,"lineno":121,"src":{"contract_id":2,"jump_code":"","length":22,"start":2799}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":17,"end_lineno":121,"lineno":121,"src":{"contract_id":2,"jump_code":"","length":13,"start":2784}},{"ast_type":"List","children":[],"classification":0,"col_offset":44,"end_col_offset":46,"end_lineno":121,"lineno":121,"src":{"contract_id":2,"jump_code":"","length":2,"start":2824}}],"classification":0,"col_offset":4,"end_col_offset":46,"end_lineno":121,"lineno":121,"src":{"contract_id":2,"jump_code":"","length":42,"start":2784}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":28,"end_col_offset":36,"end_lineno":122,"lineno":122,"src":{"contract_id":2,"jump_code":"","length":8,"start":2855}},{"ast_type":"Int","children":[],"classification":0,"col_offset":38,"end_col_offset":40,"end_lineno":122,"lineno":122,"src":{"contract_id":2,"jump_code":"","length":2,"start":2865}}],"classification":0,"col_offset":28,"end_col_offset":40,"end_lineno":122,"lineno":122,"src":{"contract_id":2,"jump_code":"","length":12,"start":2855}}],"classification":0,"col_offset":28,"end_col_offset":40,"end_lineno":122,"lineno":122,"src":{"contract_id":2,"jump_code":"","length":12,"start":2855}},{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":27,"end_lineno":122,"lineno":122,"src":{"contract_id":2,"jump_code":"","length":8,"start":2846}}],"classification":0,"col_offset":19,"end_col_offset":41,"end_lineno":122,"lineno":122,"src":{"contract_id":2,"jump_code":"","length":22,"start":2846}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":17,"end_lineno":122,"lineno":122,"src":{"contract_id":2,"jump_code":"","length":13,"start":2831}},{"ast_type":"List","children":[],"classification":0,"col_offset":44,"end_col_offset":46,"end_lineno":122,"lineno":122,"src":{"contract_id":2,"jump_code":"","length":2,"start":2871}}],"classification":0,"col_offset":4,"end_col_offset":46,"end_lineno":122,"lineno":122,"src":{"contract_id":2,"jump_code":"","length":42,"start":2831}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":25,"end_lineno":123,"lineno":123,"src":{"contract_id":2,"jump_code":"","length":13,"start":2886}},{"ast_type":"Name","children":[],"classification":1,"col_offset":27,"end_col_offset":40,"end_lineno":123,"lineno":123,"src":{"contract_id":2,"jump_code":"","length":13,"start":2901}}],"classification":0,"col_offset":11,"end_col_offset":41,"end_lineno":123,"lineno":123,"src":{"contract_id":2,"jump_code":"","length":30,"start":2885}}],"classification":0,"col_offset":4,"end_col_offset":41,"end_lineno":123,"lineno":123,"src":{"contract_id":2,"jump_code":"","length":37,"start":2878}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":118,"lineno":118,"src":{"contract_id":2,"jump_code":"","length":4,"start":2675}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":119,"lineno":119,"src":{"contract_id":2,"jump_code":"","length":8,"start":2681}},{"ast_type":"Tuple","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":50,"end_col_offset":58,"end_lineno":120,"lineno":120,"src":{"contract_id":2,"jump_code":"","length":8,"start":2740}},{"ast_type":"Int","children":[],"classification":0,"col_offset":60,"end_col_offset":62,"end_lineno":120,"lineno":120,"src":{"contract_id":2,"jump_code":"","length":2,"start":2750}}],"classification":0,"col_offset":50,"end_col_offset":62,"end_lineno":120,"lineno":120,"src":{"contract_id":2,"jump_code":"","length":12,"start":2740}}],"classification":0,"col_offset":50,"end_col_offset":62,"end_lineno":120,"lineno":120,"src":{"contract_id":2,"jump_code":"","length":12,"start":2740}},{"ast_type":"Name","children":[],"classification":1,"col_offset":41,"end_col_offset":49,"end_lineno":120,"lineno":120,"src":{"contract_id":2,"jump_code":"","length":8,"start":2731}}],"classification":0,"col_offset":41,"end_col_offset":63,"end_lineno":120,"lineno":120,"src":{"contract_id":2,"jump_code":"","length":22,"start":2731}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":74,"end_col_offset":82,"end_lineno":120,"lineno":120,"src":{"contract_id":2,"jump_code":"","length":8,"start":2764}},{"ast_type":"Int","children":[],"classification":0,"col_offset":84,"end_col_offset":86,"end_lineno":120,"lineno":120,"src":{"contract_id":2,"jump_code":"","length":2,"start":2774}}],"classification":0,"col_offset":74,"end_col_offset":86,"end_lineno":120,"lineno":120,"src":{"contract_id":2,"jump_code":"","length":12,"start":2764}}],"classification":0,"col_offset":74,"end_col_offset":86,"end_lineno":120,"lineno":120,"src":{"contract_id":2,"jump_code":"","length":12,"start":2764}},{"ast_type":"Name","children":[],"classification":1,"col_offset":65,"end_col_offset":73,"end_lineno":120,"lineno":120,"src":{"contract_id":2,"jump_code":"","length":8,"start":2755}}],"classification":0,"col_offset":65,"end_col_offset":87,"end_lineno":120,"lineno":120,"src":{"contract_id":2,"jump_code":"","length":22,"start":2755}}],"classification":0,"col_offset":40,"end_col_offset":88,"end_lineno":120,"lineno":120,"src":{"contract_id":2,"jump_code":"","length":48,"start":2730}}],"classification":1,"col_offset":0,"end_col_offset":41,"end_lineno":123,"lineno":120,"name":"getEmptyTupleOfDynArrayStructs","src":{"contract_id":2,"jump_code":"","length":225,"start":2690}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":127,"lineno":127,"src":{"contract_id":2,"jump_code":"","length":3,"start":2933}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":28,"end_col_offset":29,"end_lineno":128,"lineno":128,"src":{"contract_id":2,"jump_code":"","length":1,"start":3058}}],"classification":0,"col_offset":28,"end_col_offset":29,"end_lineno":128,"lineno":128,"src":{"contract_id":2,"jump_code":"","length":1,"start":3058}},{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":27,"end_lineno":128,"lineno":128,"src":{"contract_id":2,"jump_code":"","length":8,"start":3049}}],"classification":0,"col_offset":19,"end_col_offset":30,"end_lineno":128,"lineno":128,"src":{"contract_id":2,"jump_code":"","length":11,"start":3049}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":17,"end_lineno":128,"lineno":128,"src":{"contract_id":2,"jump_code":"","length":13,"start":3034}},{"ast_type":"Call","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":48,"end_col_offset":49,"end_lineno":128,"lineno":128,"src":{"contract_id":2,"jump_code":"","length":1,"start":3078}}],"classification":0,"col_offset":48,"end_col_offset":49,"end_lineno":128,"lineno":128,"src":{"contract_id":2,"jump_code":"","length":1,"start":3078}},{"ast_type":"Name","children":[],"classification":1,"col_offset":39,"end_col_offset":47,"end_lineno":128,"lineno":128,"src":{"contract_id":2,"jump_code":"","length":8,"start":3069}}],"classification":0,"col_offset":39,"end_col_offset":50,"end_lineno":128,"lineno":128,"src":{"contract_id":2,"jump_code":"","length":11,"start":3069}},{"ast_type":"Name","children":[],"classification":1,"col_offset":33,"end_col_offset":38,"end_lineno":128,"lineno":128,"src":{"contract_id":2,"jump_code":"","length":5,"start":3063}}],"classification":0,"col_offset":33,"end_col_offset":51,"end_lineno":128,"lineno":128,"src":{"contract_id":2,"jump_code":"","length":18,"start":3063}}],"classification":0,"col_offset":4,"end_col_offset":51,"end_lineno":128,"lineno":128,"src":{"contract_id":2,"jump_code":"","length":47,"start":3034}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":28,"end_col_offset":36,"end_lineno":129,"lineno":129,"src":{"contract_id":2,"jump_code":"","length":8,"start":3110}},{"ast_type":"Int","children":[],"classification":0,"col_offset":38,"end_col_offset":39,"end_lineno":129,"lineno":129,"src":{"contract_id":2,"jump_code":"","length":1,"start":3120}}],"classification":0,"col_offset":28,"end_col_offset":39,"end_lineno":129,"lineno":129,"src":{"contract_id":2,"jump_code":"","length":11,"start":3110}}],"classification":0,"col_offset":28,"end_col_offset":39,"end_lineno":129,"lineno":129,"src":{"contract_id":2,"jump_code":"","length":11,"start":3110}},{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":27,"end_lineno":129,"lineno":129,"src":{"contract_id":2,"jump_code":"","length":8,"start":3101}}],"classification":0,"col_offset":19,"end_col_offset":40,"end_lineno":129,"lineno":129,"src":{"contract_id":2,"jump_code":"","length":21,"start":3101}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":17,"end_lineno":129,"lineno":129,"src":{"contract_id":2,"jump_code":"","length":13,"start":3086}},{"ast_type":"List","children":[],"classification":0,"col_offset":43,"end_col_offset":45,"end_lineno":129,"lineno":129,"src":{"contract_id":2,"jump_code":"","length":2,"start":3125}}],"classification":0,"col_offset":4,"end_col_offset":45,"end_lineno":129,"lineno":129,"src":{"contract_id":2,"jump_code":"","length":41,"start":3086}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":25,"end_lineno":130,"lineno":130,"src":{"contract_id":2,"jump_code":"","length":13,"start":3140}},{"ast_type":"Name","children":[],"classification":1,"col_offset":27,"end_col_offset":40,"end_lineno":130,"lineno":130,"src":{"contract_id":2,"jump_code":"","length":13,"start":3155}}],"classification":0,"col_offset":11,"end_col_offset":41,"end_lineno":130,"lineno":130,"src":{"contract_id":2,"jump_code":"","length":30,"start":3139}}],"classification":0,"col_offset":4,"end_col_offset":41,"end_lineno":130,"lineno":130,"src":{"contract_id":2,"jump_code":"","length":37,"start":3132}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":125,"lineno":125,"src":{"contract_id":2,"jump_code":"","length":4,"start":2918}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":126,"lineno":126,"src":{"contract_id":2,"jump_code":"","length":8,"start":2924}},{"ast_type":"Tuple","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":69,"end_col_offset":70,"end_lineno":127,"lineno":127,"src":{"contract_id":2,"jump_code":"","length":1,"start":3002}}],"classification":0,"col_offset":69,"end_col_offset":70,"end_lineno":127,"lineno":127,"src":{"contract_id":2,"jump_code":"","length":1,"start":3002}},{"ast_type":"Name","children":[],"classification":1,"col_offset":60,"end_col_offset":68,"end_lineno":127,"lineno":127,"src":{"contract_id":2,"jump_code":"","length":8,"start":2993}}],"classification":0,"col_offset":60,"end_col_offset":71,"end_lineno":127,"lineno":127,"src":{"contract_id":2,"jump_code":"","length":11,"start":2993}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":82,"end_col_offset":90,"end_lineno":127,"lineno":127,"src":{"contract_id":2,"jump_code":"","length":8,"start":3015}},{"ast_type":"Int","children":[],"classification":0,"col_offset":92,"end_col_offset":93,"end_lineno":127,"lineno":127,"src":{"contract_id":2,"jump_code":"","length":1,"start":3025}}],"classification":0,"col_offset":82,"end_col_offset":93,"end_lineno":127,"lineno":127,"src":{"contract_id":2,"jump_code":"","length":11,"start":3015}}],"classification":0,"col_offset":82,"end_col_offset":93,"end_lineno":127,"lineno":127,"src":{"contract_id":2,"jump_code":"","length":11,"start":3015}},{"ast_type":"Name","children":[],"classification":1,"col_offset":73,"end_col_offset":81,"end_lineno":127,"lineno":127,"src":{"contract_id":2,"jump_code":"","length":8,"start":3006}}],"classification":0,"col_offset":73,"end_col_offset":94,"end_lineno":127,"lineno":127,"src":{"contract_id":2,"jump_code":"","length":21,"start":3006}}],"classification":0,"col_offset":59,"end_col_offset":95,"end_lineno":127,"lineno":127,"src":{"contract_id":2,"jump_code":"","length":36,"start":2992}}],"classification":1,"col_offset":0,"end_col_offset":41,"end_lineno":130,"lineno":127,"name":"getEmptyTupleOfArrayOfStructsAndDynArrayOfStructs","src":{"contract_id":2,"jump_code":"","length":236,"start":2933}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":134,"lineno":134,"src":{"contract_id":2,"jump_code":"","length":3,"start":3187}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":23,"end_col_offset":30,"end_lineno":135,"lineno":135,"src":{"contract_id":2,"jump_code":"","length":7,"start":3278}}],"classification":0,"col_offset":23,"end_col_offset":30,"end_lineno":135,"lineno":135,"src":{"contract_id":2,"jump_code":"","length":7,"start":3278}},{"ast_type":"Name","children":[],"classification":1,"col_offset":13,"end_col_offset":22,"end_lineno":135,"lineno":135,"src":{"contract_id":2,"jump_code":"","length":9,"start":3268}}],"classification":0,"col_offset":13,"end_col_offset":31,"end_lineno":135,"lineno":135,"src":{"contract_id":2,"jump_code":"","length":18,"start":3268}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":10,"end_lineno":135,"lineno":135,"src":{"contract_id":2,"jump_code":"","length":6,"start":3259}},{"ast_type":"Call","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":50,"end_col_offset":57,"end_lineno":135,"lineno":135,"src":{"contract_id":2,"jump_code":"","length":7,"start":3305}}],"classification":0,"col_offset":50,"end_col_offset":57,"end_lineno":135,"lineno":135,"src":{"contract_id":2,"jump_code":"","length":7,"start":3305}},{"ast_type":"Name","children":[],"classification":1,"col_offset":40,"end_col_offset":49,"end_lineno":135,"lineno":135,"src":{"contract_id":2,"jump_code":"","length":9,"start":3295}}],"classification":0,"col_offset":40,"end_col_offset":58,"end_lineno":135,"lineno":135,"src":{"contract_id":2,"jump_code":"","length":18,"start":3295}},{"ast_type":"Name","children":[],"classification":1,"col_offset":34,"end_col_offset":39,"end_lineno":135,"lineno":135,"src":{"contract_id":2,"jump_code":"","length":5,"start":3289}}],"classification":0,"col_offset":34,"end_col_offset":59,"end_lineno":135,"lineno":135,"src":{"contract_id":2,"jump_code":"","length":25,"start":3289}}],"classification":0,"col_offset":4,"end_col_offset":59,"end_lineno":135,"lineno":135,"src":{"contract_id":2,"jump_code":"","length":55,"start":3259}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":11,"end_col_offset":12,"end_lineno":136,"lineno":136,"src":{"contract_id":2,"jump_code":"","length":1,"start":3326}},{"ast_type":"Name","children":[],"classification":1,"col_offset":14,"end_col_offset":20,"end_lineno":136,"lineno":136,"src":{"contract_id":2,"jump_code":"","length":6,"start":3329}}],"classification":0,"col_offset":11,"end_col_offset":20,"end_lineno":136,"lineno":136,"src":{"contract_id":2,"jump_code":"","length":9,"start":3326}}],"classification":0,"col_offset":4,"end_col_offset":20,"end_lineno":136,"lineno":136,"src":{"contract_id":2,"jump_code":"","length":16,"start":3319}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":132,"lineno":132,"src":{"contract_id":2,"jump_code":"","length":4,"start":3172}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":133,"lineno":133,"src":{"contract_id":2,"jump_code":"","length":8,"start":3178}},{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":38,"end_col_offset":45,"end_lineno":134,"lineno":134,"src":{"contract_id":2,"jump_code":"","length":7,"start":3225}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":57,"end_col_offset":64,"end_lineno":134,"lineno":134,"src":{"contract_id":2,"jump_code":"","length":7,"start":3244}}],"classification":0,"col_offset":57,"end_col_offset":64,"end_lineno":134,"lineno":134,"src":{"contract_id":2,"jump_code":"","length":7,"start":3244}},{"ast_type":"Name","children":[],"classification":1,"col_offset":47,"end_col_offset":56,"end_lineno":134,"lineno":134,"src":{"contract_id":2,"jump_code":"","length":9,"start":3234}}],"classification":0,"col_offset":47,"end_col_offset":65,"end_lineno":134,"lineno":134,"src":{"contract_id":2,"jump_code":"","length":18,"start":3234}}],"classification":0,"col_offset":37,"end_col_offset":66,"end_lineno":134,"lineno":134,"src":{"contract_id":2,"jump_code":"","length":29,"start":3224}}],"classification":1,"col_offset":0,"end_col_offset":20,"end_lineno":136,"lineno":134,"name":"getTupleOfIntAndStructArray","src":{"contract_id":2,"jump_code":"","length":148,"start":3187}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":140,"lineno":140,"src":{"contract_id":2,"jump_code":"","length":3,"start":3353}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":24,"end_col_offset":31,"end_lineno":141,"lineno":141,"src":{"contract_id":2,"jump_code":"","length":7,"start":3465}},{"ast_type":"Int","children":[],"classification":0,"col_offset":33,"end_col_offset":35,"end_lineno":141,"lineno":141,"src":{"contract_id":2,"jump_code":"","length":2,"start":3474}}],"classification":0,"col_offset":24,"end_col_offset":35,"end_lineno":141,"lineno":141,"src":{"contract_id":2,"jump_code":"","length":11,"start":3465}}],"classification":0,"col_offset":24,"end_col_offset":35,"end_lineno":141,"lineno":141,"src":{"contract_id":2,"jump_code":"","length":11,"start":3465}},{"ast_type":"Name","children":[],"classification":1,"col_offset":15,"end_col_offset":23,"end_lineno":141,"lineno":141,"src":{"contract_id":2,"jump_code":"","length":8,"start":3456}}],"classification":0,"col_offset":15,"end_col_offset":36,"end_lineno":141,"lineno":141,"src":{"contract_id":2,"jump_code":"","length":21,"start":3456}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":13,"end_lineno":141,"lineno":141,"src":{"contract_id":2,"jump_code":"","length":9,"start":3445}},{"ast_type":"List","children":[],"classification":0,"col_offset":39,"end_col_offset":41,"end_lineno":141,"lineno":141,"src":{"contract_id":2,"jump_code":"","length":2,"start":3480}}],"classification":0,"col_offset":4,"end_col_offset":41,"end_lineno":141,"lineno":141,"src":{"contract_id":2,"jump_code":"","length":37,"start":3445}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":34,"end_lineno":142,"lineno":142,"src":{"contract_id":2,"jump_code":"","length":8,"start":3509}},{"ast_type":"Int","children":[],"classification":0,"col_offset":36,"end_col_offset":38,"end_lineno":142,"lineno":142,"src":{"contract_id":2,"jump_code":"","length":2,"start":3519}}],"classification":0,"col_offset":26,"end_col_offset":38,"end_lineno":142,"lineno":142,"src":{"contract_id":2,"jump_code":"","length":12,"start":3509}}],"classification":0,"col_offset":26,"end_col_offset":38,"end_lineno":142,"lineno":142,"src":{"contract_id":2,"jump_code":"","length":12,"start":3509}},{"ast_type":"Name","children":[],"classification":1,"col_offset":17,"end_col_offset":25,"end_lineno":142,"lineno":142,"src":{"contract_id":2,"jump_code":"","length":8,"start":3500}}],"classification":0,"col_offset":17,"end_col_offset":39,"end_lineno":142,"lineno":142,"src":{"contract_id":2,"jump_code":"","length":22,"start":3500}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":15,"end_lineno":142,"lineno":142,"src":{"contract_id":2,"jump_code":"","length":11,"start":3487}},{"ast_type":"List","children":[],"classification":0,"col_offset":42,"end_col_offset":44,"end_lineno":142,"lineno":142,"src":{"contract_id":2,"jump_code":"","length":2,"start":3525}}],"classification":0,"col_offset":4,"end_col_offset":44,"end_lineno":142,"lineno":142,"src":{"contract_id":2,"jump_code":"","length":40,"start":3487}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":20,"end_lineno":143,"lineno":143,"src":{"contract_id":2,"jump_code":"","length":9,"start":3539}},{"ast_type":"Name","children":[],"classification":1,"col_offset":22,"end_col_offset":33,"end_lineno":143,"lineno":143,"src":{"contract_id":2,"jump_code":"","length":11,"start":3550}}],"classification":0,"col_offset":11,"end_col_offset":33,"end_lineno":143,"lineno":143,"src":{"contract_id":2,"jump_code":"","length":22,"start":3539}}],"classification":0,"col_offset":4,"end_col_offset":33,"end_lineno":143,"lineno":143,"src":{"contract_id":2,"jump_code":"","length":29,"start":3532}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":138,"lineno":138,"src":{"contract_id":2,"jump_code":"","length":4,"start":3338}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":139,"lineno":139,"src":{"contract_id":2,"jump_code":"","length":8,"start":3344}},{"ast_type":"Tuple","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":49,"end_col_offset":56,"end_lineno":140,"lineno":140,"src":{"contract_id":2,"jump_code":"","length":7,"start":3402}},{"ast_type":"Int","children":[],"classification":0,"col_offset":58,"end_col_offset":60,"end_lineno":140,"lineno":140,"src":{"contract_id":2,"jump_code":"","length":2,"start":3411}}],"classification":0,"col_offset":49,"end_col_offset":60,"end_lineno":140,"lineno":140,"src":{"contract_id":2,"jump_code":"","length":11,"start":3402}}],"classification":0,"col_offset":49,"end_col_offset":60,"end_lineno":140,"lineno":140,"src":{"contract_id":2,"jump_code":"","length":11,"start":3402}},{"ast_type":"Name","children":[],"classification":1,"col_offset":40,"end_col_offset":48,"end_lineno":140,"lineno":140,"src":{"contract_id":2,"jump_code":"","length":8,"start":3393}}],"classification":0,"col_offset":40,"end_col_offset":61,"end_lineno":140,"lineno":140,"src":{"contract_id":2,"jump_code":"","length":21,"start":3393}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":72,"end_col_offset":80,"end_lineno":140,"lineno":140,"src":{"contract_id":2,"jump_code":"","length":8,"start":3425}},{"ast_type":"Int","children":[],"classification":0,"col_offset":82,"end_col_offset":84,"end_lineno":140,"lineno":140,"src":{"contract_id":2,"jump_code":"","length":2,"start":3435}}],"classification":0,"col_offset":72,"end_col_offset":84,"end_lineno":140,"lineno":140,"src":{"contract_id":2,"jump_code":"","length":12,"start":3425}}],"classification":0,"col_offset":72,"end_col_offset":84,"end_lineno":140,"lineno":140,"src":{"contract_id":2,"jump_code":"","length":12,"start":3425}},{"ast_type":"Name","children":[],"classification":1,"col_offset":63,"end_col_offset":71,"end_lineno":140,"lineno":140,"src":{"contract_id":2,"jump_code":"","length":8,"start":3416}}],"classification":0,"col_offset":63,"end_col_offset":85,"end_lineno":140,"lineno":140,"src":{"contract_id":2,"jump_code":"","length":22,"start":3416}}],"classification":0,"col_offset":39,"end_col_offset":86,"end_lineno":140,"lineno":140,"src":{"contract_id":2,"jump_code":"","length":47,"start":3392}}],"classification":1,"col_offset":0,"end_col_offset":33,"end_lineno":143,"lineno":140,"name":"getEmptyTupleOfIntAndDynArray","src":{"contract_id":2,"jump_code":"","length":208,"start":3353}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":147,"lineno":147,"src":{"contract_id":2,"jump_code":"","length":3,"start":3579}},{"ast_type":"Return","children":[{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":15,"end_lineno":150,"lineno":150,"src":{"contract_id":2,"jump_code":"","length":3,"start":3662}},{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":15,"end_lineno":151,"lineno":151,"src":{"contract_id":2,"jump_code":"","length":3,"start":3682}},{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":15,"end_lineno":155,"lineno":155,"src":{"contract_id":2,"jump_code":"","length":3,"start":3839}},{"ast_type":"Int","children":[],"classification":0,"col_offset":17,"end_col_offset":18,"end_lineno":150,"lineno":150,"src":{"contract_id":2,"jump_code":"","length":1,"start":3667}},{"ast_type":"List","children":[{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":27,"end_lineno":152,"lineno":152,"src":{"contract_id":2,"jump_code":"","length":1,"start":3715}},{"ast_type":"Name","children":[],"classification":1,"col_offset":41,"end_col_offset":42,"end_lineno":152,"lineno":152,"src":{"contract_id":2,"jump_code":"","length":1,"start":3730}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":29,"end_col_offset":32,"end_lineno":152,"lineno":152,"src":{"contract_id":2,"jump_code":"","length":3,"start":3718}}],"classification":0,"col_offset":29,"end_col_offset":39,"end_lineno":152,"lineno":152,"src":{"contract_id":2,"jump_code":"","length":10,"start":3718}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":44,"end_col_offset":49,"end_lineno":152,"lineno":152,"src":{"contract_id":2,"jump_code":"","length":5,"start":3733}}],"classification":0,"col_offset":44,"end_col_offset":58,"end_lineno":152,"lineno":152,"src":{"contract_id":2,"jump_code":"","length":14,"start":3733}}],"classification":0,"col_offset":25,"end_col_offset":59,"end_lineno":152,"lineno":152,"src":{"contract_id":2,"jump_code":"","length":34,"start":3714}},{"ast_type":"Name","children":[],"classification":1,"col_offset":16,"end_col_offset":24,"end_lineno":152,"lineno":152,"src":{"contract_id":2,"jump_code":"","length":8,"start":3705}}],"classification":0,"col_offset":16,"end_col_offset":60,"end_lineno":152,"lineno":152,"src":{"contract_id":2,"jump_code":"","length":44,"start":3705}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":27,"end_lineno":153,"lineno":153,"src":{"contract_id":2,"jump_code":"","length":1,"start":3777}},{"ast_type":"Name","children":[],"classification":1,"col_offset":41,"end_col_offset":42,"end_lineno":153,"lineno":153,"src":{"contract_id":2,"jump_code":"","length":1,"start":3792}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":29,"end_col_offset":32,"end_lineno":153,"lineno":153,"src":{"contract_id":2,"jump_code":"","length":3,"start":3780}}],"classification":0,"col_offset":29,"end_col_offset":39,"end_lineno":153,"lineno":153,"src":{"contract_id":2,"jump_code":"","length":10,"start":3780}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":44,"end_col_offset":49,"end_lineno":153,"lineno":153,"src":{"contract_id":2,"jump_code":"","length":5,"start":3795}}],"classification":0,"col_offset":44,"end_col_offset":58,"end_lineno":153,"lineno":153,"src":{"contract_id":2,"jump_code":"","length":14,"start":3795}}],"classification":0,"col_offset":25,"end_col_offset":59,"end_lineno":153,"lineno":153,"src":{"contract_id":2,"jump_code":"","length":34,"start":3776}},{"ast_type":"Name","children":[],"classification":1,"col_offset":16,"end_col_offset":24,"end_lineno":153,"lineno":153,"src":{"contract_id":2,"jump_code":"","length":8,"start":3767}}],"classification":0,"col_offset":16,"end_col_offset":60,"end_lineno":153,"lineno":153,"src":{"contract_id":2,"jump_code":"","length":44,"start":3767}}],"classification":0,"col_offset":17,"end_col_offset":13,"end_lineno":154,"lineno":151,"src":{"contract_id":2,"jump_code":"","length":138,"start":3687}},{"ast_type":"Int","children":[],"classification":0,"col_offset":17,"end_col_offset":18,"end_lineno":155,"lineno":155,"src":{"contract_id":2,"jump_code":"","length":1,"start":3844}}],"classification":0,"col_offset":8,"end_col_offset":9,"end_lineno":156,"lineno":149,"src":{"contract_id":2,"jump_code":"","length":207,"start":3648}},{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":20,"end_lineno":148,"lineno":148,"src":{"contract_id":2,"jump_code":"","length":9,"start":3629}}],"classification":0,"col_offset":11,"end_col_offset":5,"end_lineno":157,"lineno":148,"src":{"contract_id":2,"jump_code":"","length":232,"start":3629}}],"classification":0,"col_offset":4,"end_col_offset":5,"end_lineno":157,"lineno":148,"src":{"contract_id":2,"jump_code":"","length":239,"start":3622}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":145,"lineno":145,"src":{"contract_id":2,"jump_code":"","length":4,"start":3564}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":146,"lineno":146,"src":{"contract_id":2,"jump_code":"","length":8,"start":3570}},{"ast_type":"Name","children":[],"classification":1,"col_offset":28,"end_col_offset":37,"end_lineno":147,"lineno":147,"src":{"contract_id":2,"jump_code":"","length":9,"start":3607}}],"classification":1,"col_offset":0,"end_col_offset":5,"end_lineno":157,"lineno":147,"name":"getStructWithArray","src":{"contract_id":2,"jump_code":"","length":282,"start":3579}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":161,"lineno":161,"src":{"contract_id":2,"jump_code":"","length":3,"start":3879}},{"ast_type":"Return","children":[{"ast_type":"List","children":[],"classification":0,"col_offset":11,"end_col_offset":13,"end_lineno":162,"lineno":162,"src":{"contract_id":2,"jump_code":"","length":2,"start":3935}}],"classification":0,"col_offset":4,"end_col_offset":13,"end_lineno":162,"lineno":162,"src":{"contract_id":2,"jump_code":"","length":9,"start":3928}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":159,"lineno":159,"src":{"contract_id":2,"jump_code":"","length":4,"start":3864}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":160,"lineno":160,"src":{"contract_id":2,"jump_code":"","length":8,"start":3870}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":32,"end_col_offset":39,"end_lineno":161,"lineno":161,"src":{"contract_id":2,"jump_code":"","length":7,"start":3911}},{"ast_type":"Int","children":[],"classification":0,"col_offset":41,"end_col_offset":42,"end_lineno":161,"lineno":161,"src":{"contract_id":2,"jump_code":"","length":1,"start":3920}}],"classification":0,"col_offset":32,"end_col_offset":42,"end_lineno":161,"lineno":161,"src":{"contract_id":2,"jump_code":"","length":10,"start":3911}}],"classification":0,"col_offset":32,"end_col_offset":42,"end_lineno":161,"lineno":161,"src":{"contract_id":2,"jump_code":"","length":10,"start":3911}},{"ast_type":"Name","children":[],"classification":1,"col_offset":23,"end_col_offset":31,"end_lineno":161,"lineno":161,"src":{"contract_id":2,"jump_code":"","length":8,"start":3902}}],"classification":0,"col_offset":23,"end_col_offset":43,"end_lineno":161,"lineno":161,"src":{"contract_id":2,"jump_code":"","length":20,"start":3902}}],"classification":1,"col_offset":0,"end_col_offset":13,"end_lineno":162,"lineno":161,"name":"getEmptyArray","src":{"contract_id":2,"jump_code":"","length":58,"start":3879}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":166,"lineno":166,"src":{"contract_id":2,"jump_code":"","length":3,"start":3955}},{"ast_type":"Return","children":[{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":12,"end_col_offset":13,"end_lineno":167,"lineno":167,"src":{"contract_id":2,"jump_code":"","length":1,"start":4017}}],"classification":0,"col_offset":11,"end_col_offset":14,"end_lineno":167,"lineno":167,"src":{"contract_id":2,"jump_code":"","length":3,"start":4016}}],"classification":0,"col_offset":4,"end_col_offset":14,"end_lineno":167,"lineno":167,"src":{"contract_id":2,"jump_code":"","length":10,"start":4009}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":164,"lineno":164,"src":{"contract_id":2,"jump_code":"","length":4,"start":3940}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":165,"lineno":165,"src":{"contract_id":2,"jump_code":"","length":8,"start":3946}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":37,"end_col_offset":44,"end_lineno":166,"lineno":166,"src":{"contract_id":2,"jump_code":"","length":7,"start":3992}},{"ast_type":"Int","children":[],"classification":0,"col_offset":46,"end_col_offset":47,"end_lineno":166,"lineno":166,"src":{"contract_id":2,"jump_code":"","length":1,"start":4001}}],"classification":0,"col_offset":37,"end_col_offset":47,"end_lineno":166,"lineno":166,"src":{"contract_id":2,"jump_code":"","length":10,"start":3992}}],"classification":0,"col_offset":37,"end_col_offset":47,"end_lineno":166,"lineno":166,"src":{"contract_id":2,"jump_code":"","length":10,"start":3992}},{"ast_type":"Name","children":[],"classification":1,"col_offset":28,"end_col_offset":36,"end_lineno":166,"lineno":166,"src":{"contract_id":2,"jump_code":"","length":8,"start":3983}}],"classification":0,"col_offset":28,"end_col_offset":48,"end_lineno":166,"lineno":166,"src":{"contract_id":2,"jump_code":"","length":20,"start":3983}}],"classification":1,"col_offset":0,"end_col_offset":14,"end_lineno":167,"lineno":166,"name":"getSingleItemArray","src":{"contract_id":2,"jump_code":"","length":64,"start":3955}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":171,"lineno":171,"src":{"contract_id":2,"jump_code":"","length":3,"start":4037}},{"ast_type":"Return","children":[{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":12,"end_col_offset":13,"end_lineno":172,"lineno":172,"src":{"contract_id":2,"jump_code":"","length":1,"start":4095}},{"ast_type":"Int","children":[],"classification":0,"col_offset":15,"end_col_offset":16,"end_lineno":172,"lineno":172,"src":{"contract_id":2,"jump_code":"","length":1,"start":4098}},{"ast_type":"Int","children":[],"classification":0,"col_offset":18,"end_col_offset":19,"end_lineno":172,"lineno":172,"src":{"contract_id":2,"jump_code":"","length":1,"start":4101}}],"classification":0,"col_offset":11,"end_col_offset":20,"end_lineno":172,"lineno":172,"src":{"contract_id":2,"jump_code":"","length":9,"start":4094}}],"classification":0,"col_offset":4,"end_col_offset":20,"end_lineno":172,"lineno":172,"src":{"contract_id":2,"jump_code":"","length":16,"start":4087}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":169,"lineno":169,"src":{"contract_id":2,"jump_code":"","length":4,"start":4022}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":170,"lineno":170,"src":{"contract_id":2,"jump_code":"","length":8,"start":4028}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":33,"end_col_offset":40,"end_lineno":171,"lineno":171,"src":{"contract_id":2,"jump_code":"","length":7,"start":4070}},{"ast_type":"Int","children":[],"classification":0,"col_offset":42,"end_col_offset":43,"end_lineno":171,"lineno":171,"src":{"contract_id":2,"jump_code":"","length":1,"start":4079}}],"classification":0,"col_offset":33,"end_col_offset":43,"end_lineno":171,"lineno":171,"src":{"contract_id":2,"jump_code":"","length":10,"start":4070}}],"classification":0,"col_offset":33,"end_col_offset":43,"end_lineno":171,"lineno":171,"src":{"contract_id":2,"jump_code":"","length":10,"start":4070}},{"ast_type":"Name","children":[],"classification":1,"col_offset":24,"end_col_offset":32,"end_lineno":171,"lineno":171,"src":{"contract_id":2,"jump_code":"","length":8,"start":4061}}],"classification":0,"col_offset":24,"end_col_offset":44,"end_lineno":171,"lineno":171,"src":{"contract_id":2,"jump_code":"","length":20,"start":4061}}],"classification":1,"col_offset":0,"end_col_offset":20,"end_lineno":172,"lineno":171,"name":"getFilledArray","src":{"contract_id":2,"jump_code":"","length":66,"start":4037}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":176,"lineno":176,"src":{"contract_id":2,"jump_code":"","length":3,"start":4121}},{"ast_type":"Return","children":[{"ast_type":"List","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":15,"end_lineno":177,"lineno":177,"src":{"contract_id":2,"jump_code":"","length":3,"start":4180}}],"classification":0,"col_offset":12,"end_col_offset":22,"end_lineno":177,"lineno":177,"src":{"contract_id":2,"jump_code":"","length":10,"start":4180}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":24,"end_col_offset":27,"end_lineno":177,"lineno":177,"src":{"contract_id":2,"jump_code":"","length":3,"start":4192}}],"classification":0,"col_offset":24,"end_col_offset":34,"end_lineno":177,"lineno":177,"src":{"contract_id":2,"jump_code":"","length":10,"start":4192}}],"classification":0,"col_offset":11,"end_col_offset":35,"end_lineno":177,"lineno":177,"src":{"contract_id":2,"jump_code":"","length":24,"start":4179}}],"classification":0,"col_offset":4,"end_col_offset":35,"end_lineno":177,"lineno":177,"src":{"contract_id":2,"jump_code":"","length":31,"start":4172}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":174,"lineno":174,"src":{"contract_id":2,"jump_code":"","length":4,"start":4106}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":175,"lineno":175,"src":{"contract_id":2,"jump_code":"","length":8,"start":4112}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":34,"end_col_offset":41,"end_lineno":176,"lineno":176,"src":{"contract_id":2,"jump_code":"","length":7,"start":4155}},{"ast_type":"Int","children":[],"classification":0,"col_offset":43,"end_col_offset":44,"end_lineno":176,"lineno":176,"src":{"contract_id":2,"jump_code":"","length":1,"start":4164}}],"classification":0,"col_offset":34,"end_col_offset":44,"end_lineno":176,"lineno":176,"src":{"contract_id":2,"jump_code":"","length":10,"start":4155}}],"classification":0,"col_offset":34,"end_col_offset":44,"end_lineno":176,"lineno":176,"src":{"contract_id":2,"jump_code":"","length":10,"start":4155}},{"ast_type":"Name","children":[],"classification":1,"col_offset":25,"end_col_offset":33,"end_lineno":176,"lineno":176,"src":{"contract_id":2,"jump_code":"","length":8,"start":4146}}],"classification":0,"col_offset":25,"end_col_offset":45,"end_lineno":176,"lineno":176,"src":{"contract_id":2,"jump_code":"","length":20,"start":4146}}],"classification":1,"col_offset":0,"end_col_offset":35,"end_lineno":177,"lineno":176,"name":"getAddressArray","src":{"contract_id":2,"jump_code":"","length":82,"start":4121}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":181,"lineno":181,"src":{"contract_id":2,"jump_code":"","length":3,"start":4221}},{"ast_type":"Return","children":[{"ast_type":"List","children":[{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":23,"end_col_offset":24,"end_lineno":183,"lineno":183,"src":{"contract_id":2,"jump_code":"","length":1,"start":4316}},{"ast_type":"Name","children":[],"classification":1,"col_offset":72,"end_col_offset":75,"end_lineno":183,"lineno":183,"src":{"contract_id":2,"jump_code":"","length":3,"start":4365}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":36,"end_col_offset":37,"end_lineno":183,"lineno":183,"src":{"contract_id":2,"jump_code":"","length":1,"start":4329}},{"ast_type":"Name","children":[],"classification":1,"col_offset":51,"end_col_offset":52,"end_lineno":183,"lineno":183,"src":{"contract_id":2,"jump_code":"","length":1,"start":4344}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":39,"end_col_offset":42,"end_lineno":183,"lineno":183,"src":{"contract_id":2,"jump_code":"","length":3,"start":4332}}],"classification":0,"col_offset":39,"end_col_offset":49,"end_lineno":183,"lineno":183,"src":{"contract_id":2,"jump_code":"","length":10,"start":4332}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":54,"end_col_offset":59,"end_lineno":183,"lineno":183,"src":{"contract_id":2,"jump_code":"","length":5,"start":4347}}],"classification":0,"col_offset":54,"end_col_offset":68,"end_lineno":183,"lineno":183,"src":{"contract_id":2,"jump_code":"","length":14,"start":4347}}],"classification":0,"col_offset":35,"end_col_offset":69,"end_lineno":183,"lineno":183,"src":{"contract_id":2,"jump_code":"","length":34,"start":4328}},{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":34,"end_lineno":183,"lineno":183,"src":{"contract_id":2,"jump_code":"","length":8,"start":4319}}],"classification":0,"col_offset":26,"end_col_offset":70,"end_lineno":183,"lineno":183,"src":{"contract_id":2,"jump_code":"","length":44,"start":4319}},{"ast_type":"Int","children":[],"classification":0,"col_offset":77,"end_col_offset":78,"end_lineno":183,"lineno":183,"src":{"contract_id":2,"jump_code":"","length":1,"start":4370}}],"classification":0,"col_offset":22,"end_col_offset":79,"end_lineno":183,"lineno":183,"src":{"contract_id":2,"jump_code":"","length":57,"start":4315}},{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":21,"end_lineno":183,"lineno":183,"src":{"contract_id":2,"jump_code":"","length":13,"start":4301}}],"classification":0,"col_offset":8,"end_col_offset":80,"end_lineno":183,"lineno":183,"src":{"contract_id":2,"jump_code":"","length":72,"start":4301}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":23,"end_col_offset":24,"end_lineno":184,"lineno":184,"src":{"contract_id":2,"jump_code":"","length":1,"start":4398}},{"ast_type":"Name","children":[],"classification":1,"col_offset":72,"end_col_offset":75,"end_lineno":184,"lineno":184,"src":{"contract_id":2,"jump_code":"","length":3,"start":4447}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":36,"end_col_offset":37,"end_lineno":184,"lineno":184,"src":{"contract_id":2,"jump_code":"","length":1,"start":4411}},{"ast_type":"Name","children":[],"classification":1,"col_offset":51,"end_col_offset":52,"end_lineno":184,"lineno":184,"src":{"contract_id":2,"jump_code":"","length":1,"start":4426}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":39,"end_col_offset":42,"end_lineno":184,"lineno":184,"src":{"contract_id":2,"jump_code":"","length":3,"start":4414}}],"classification":0,"col_offset":39,"end_col_offset":49,"end_lineno":184,"lineno":184,"src":{"contract_id":2,"jump_code":"","length":10,"start":4414}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":54,"end_col_offset":59,"end_lineno":184,"lineno":184,"src":{"contract_id":2,"jump_code":"","length":5,"start":4429}}],"classification":0,"col_offset":54,"end_col_offset":68,"end_lineno":184,"lineno":184,"src":{"contract_id":2,"jump_code":"","length":14,"start":4429}}],"classification":0,"col_offset":35,"end_col_offset":69,"end_lineno":184,"lineno":184,"src":{"contract_id":2,"jump_code":"","length":34,"start":4410}},{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":34,"end_lineno":184,"lineno":184,"src":{"contract_id":2,"jump_code":"","length":8,"start":4401}}],"classification":0,"col_offset":26,"end_col_offset":70,"end_lineno":184,"lineno":184,"src":{"contract_id":2,"jump_code":"","length":44,"start":4401}},{"ast_type":"Int","children":[],"classification":0,"col_offset":77,"end_col_offset":78,"end_lineno":184,"lineno":184,"src":{"contract_id":2,"jump_code":"","length":1,"start":4452}}],"classification":0,"col_offset":22,"end_col_offset":79,"end_lineno":184,"lineno":184,"src":{"contract_id":2,"jump_code":"","length":57,"start":4397}},{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":21,"end_lineno":184,"lineno":184,"src":{"contract_id":2,"jump_code":"","length":13,"start":4383}}],"classification":0,"col_offset":8,"end_col_offset":80,"end_lineno":184,"lineno":184,"src":{"contract_id":2,"jump_code":"","length":72,"start":4383}}],"classification":0,"col_offset":11,"end_col_offset":5,"end_lineno":185,"lineno":182,"src":{"contract_id":2,"jump_code":"","length":170,"start":4291}}],"classification":0,"col_offset":4,"end_col_offset":5,"end_lineno":185,"lineno":182,"src":{"contract_id":2,"jump_code":"","length":177,"start":4284}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":179,"lineno":179,"src":{"contract_id":2,"jump_code":"","length":4,"start":4206}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":180,"lineno":180,"src":{"contract_id":2,"jump_code":"","length":8,"start":4212}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":40,"end_col_offset":53,"end_lineno":181,"lineno":181,"src":{"contract_id":2,"jump_code":"","length":13,"start":4261}},{"ast_type":"Int","children":[],"classification":0,"col_offset":55,"end_col_offset":56,"end_lineno":181,"lineno":181,"src":{"contract_id":2,"jump_code":"","length":1,"start":4276}}],"classification":0,"col_offset":40,"end_col_offset":56,"end_lineno":181,"lineno":181,"src":{"contract_id":2,"jump_code":"","length":16,"start":4261}}],"classification":0,"col_offset":40,"end_col_offset":56,"end_lineno":181,"lineno":181,"src":{"contract_id":2,"jump_code":"","length":16,"start":4261}},{"ast_type":"Name","children":[],"classification":1,"col_offset":31,"end_col_offset":39,"end_lineno":181,"lineno":181,"src":{"contract_id":2,"jump_code":"","length":8,"start":4252}}],"classification":0,"col_offset":31,"end_col_offset":57,"end_lineno":181,"lineno":181,"src":{"contract_id":2,"jump_code":"","length":26,"start":4252}}],"classification":1,"col_offset":0,"end_col_offset":5,"end_lineno":185,"lineno":181,"name":"getDynamicStructArray","src":{"contract_id":2,"jump_code":"","length":240,"start":4221}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":189,"lineno":189,"src":{"contract_id":2,"jump_code":"","length":3,"start":4479}},{"ast_type":"Return","children":[{"ast_type":"List","children":[{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":23,"end_col_offset":26,"end_lineno":191,"lineno":191,"src":{"contract_id":2,"jump_code":"","length":3,"start":4563}},{"ast_type":"Name","children":[],"classification":1,"col_offset":31,"end_col_offset":32,"end_lineno":191,"lineno":191,"src":{"contract_id":2,"jump_code":"","length":1,"start":4571}},{"ast_type":"Int","children":[],"classification":0,"col_offset":28,"end_col_offset":29,"end_lineno":191,"lineno":191,"src":{"contract_id":2,"jump_code":"","length":1,"start":4568}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":44,"end_col_offset":45,"end_lineno":191,"lineno":191,"src":{"contract_id":2,"jump_code":"","length":1,"start":4584}},{"ast_type":"Name","children":[],"classification":1,"col_offset":59,"end_col_offset":60,"end_lineno":191,"lineno":191,"src":{"contract_id":2,"jump_code":"","length":1,"start":4599}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":47,"end_col_offset":50,"end_lineno":191,"lineno":191,"src":{"contract_id":2,"jump_code":"","length":3,"start":4587}}],"classification":0,"col_offset":47,"end_col_offset":57,"end_lineno":191,"lineno":191,"src":{"contract_id":2,"jump_code":"","length":10,"start":4587}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":62,"end_col_offset":67,"end_lineno":191,"lineno":191,"src":{"contract_id":2,"jump_code":"","length":5,"start":4602}}],"classification":0,"col_offset":62,"end_col_offset":76,"end_lineno":191,"lineno":191,"src":{"contract_id":2,"jump_code":"","length":14,"start":4602}}],"classification":0,"col_offset":43,"end_col_offset":77,"end_lineno":191,"lineno":191,"src":{"contract_id":2,"jump_code":"","length":34,"start":4583}},{"ast_type":"Name","children":[],"classification":1,"col_offset":34,"end_col_offset":42,"end_lineno":191,"lineno":191,"src":{"contract_id":2,"jump_code":"","length":8,"start":4574}}],"classification":0,"col_offset":34,"end_col_offset":78,"end_lineno":191,"lineno":191,"src":{"contract_id":2,"jump_code":"","length":44,"start":4574}}],"classification":0,"col_offset":22,"end_col_offset":79,"end_lineno":191,"lineno":191,"src":{"contract_id":2,"jump_code":"","length":57,"start":4562}},{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":21,"end_lineno":191,"lineno":191,"src":{"contract_id":2,"jump_code":"","length":13,"start":4548}}],"classification":0,"col_offset":8,"end_col_offset":80,"end_lineno":191,"lineno":191,"src":{"contract_id":2,"jump_code":"","length":72,"start":4548}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":23,"end_col_offset":26,"end_lineno":192,"lineno":192,"src":{"contract_id":2,"jump_code":"","length":3,"start":4645}},{"ast_type":"Name","children":[],"classification":1,"col_offset":31,"end_col_offset":32,"end_lineno":192,"lineno":192,"src":{"contract_id":2,"jump_code":"","length":1,"start":4653}},{"ast_type":"Int","children":[],"classification":0,"col_offset":28,"end_col_offset":29,"end_lineno":192,"lineno":192,"src":{"contract_id":2,"jump_code":"","length":1,"start":4650}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":44,"end_col_offset":45,"end_lineno":192,"lineno":192,"src":{"contract_id":2,"jump_code":"","length":1,"start":4666}},{"ast_type":"Name","children":[],"classification":1,"col_offset":59,"end_col_offset":60,"end_lineno":192,"lineno":192,"src":{"contract_id":2,"jump_code":"","length":1,"start":4681}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":47,"end_col_offset":50,"end_lineno":192,"lineno":192,"src":{"contract_id":2,"jump_code":"","length":3,"start":4669}}],"classification":0,"col_offset":47,"end_col_offset":57,"end_lineno":192,"lineno":192,"src":{"contract_id":2,"jump_code":"","length":10,"start":4669}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":62,"end_col_offset":67,"end_lineno":192,"lineno":192,"src":{"contract_id":2,"jump_code":"","length":5,"start":4684}}],"classification":0,"col_offset":62,"end_col_offset":76,"end_lineno":192,"lineno":192,"src":{"contract_id":2,"jump_code":"","length":14,"start":4684}}],"classification":0,"col_offset":43,"end_col_offset":77,"end_lineno":192,"lineno":192,"src":{"contract_id":2,"jump_code":"","length":34,"start":4665}},{"ast_type":"Name","children":[],"classification":1,"col_offset":34,"end_col_offset":42,"end_lineno":192,"lineno":192,"src":{"contract_id":2,"jump_code":"","length":8,"start":4656}}],"classification":0,"col_offset":34,"end_col_offset":78,"end_lineno":192,"lineno":192,"src":{"contract_id":2,"jump_code":"","length":44,"start":4656}}],"classification":0,"col_offset":22,"end_col_offset":79,"end_lineno":192,"lineno":192,"src":{"contract_id":2,"jump_code":"","length":57,"start":4644}},{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":21,"end_lineno":192,"lineno":192,"src":{"contract_id":2,"jump_code":"","length":13,"start":4630}}],"classification":0,"col_offset":8,"end_col_offset":80,"end_lineno":192,"lineno":192,"src":{"contract_id":2,"jump_code":"","length":72,"start":4630}}],"classification":0,"col_offset":11,"end_col_offset":5,"end_lineno":193,"lineno":190,"src":{"contract_id":2,"jump_code":"","length":170,"start":4538}}],"classification":0,"col_offset":4,"end_col_offset":5,"end_lineno":193,"lineno":190,"src":{"contract_id":2,"jump_code":"","length":177,"start":4531}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":187,"lineno":187,"src":{"contract_id":2,"jump_code":"","length":4,"start":4464}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":188,"lineno":188,"src":{"contract_id":2,"jump_code":"","length":8,"start":4470}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":44,"end_col_offset":45,"end_lineno":189,"lineno":189,"src":{"contract_id":2,"jump_code":"","length":1,"start":4523}}],"classification":0,"col_offset":44,"end_col_offset":45,"end_lineno":189,"lineno":189,"src":{"contract_id":2,"jump_code":"","length":1,"start":4523}},{"ast_type":"Name","children":[],"classification":1,"col_offset":30,"end_col_offset":43,"end_lineno":189,"lineno":189,"src":{"contract_id":2,"jump_code":"","length":13,"start":4509}}],"classification":0,"col_offset":30,"end_col_offset":46,"end_lineno":189,"lineno":189,"src":{"contract_id":2,"jump_code":"","length":16,"start":4509}}],"classification":1,"col_offset":0,"end_col_offset":5,"end_lineno":193,"lineno":189,"name":"getStaticStructArray","src":{"contract_id":2,"jump_code":"","length":229,"start":4479}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":197,"lineno":197,"src":{"contract_id":2,"jump_code":"","length":3,"start":4726}},{"ast_type":"Return","children":[{"ast_type":"Call","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":25,"end_col_offset":27,"end_lineno":198,"lineno":198,"src":{"contract_id":2,"jump_code":"","length":2,"start":4796}}],"classification":0,"col_offset":25,"end_col_offset":27,"end_lineno":198,"lineno":198,"src":{"contract_id":2,"jump_code":"","length":2,"start":4796}},{"ast_type":"Name","children":[],"classification":1,"col_offset":17,"end_col_offset":24,"end_lineno":198,"lineno":198,"src":{"contract_id":2,"jump_code":"","length":7,"start":4788}}],"classification":0,"col_offset":17,"end_col_offset":28,"end_lineno":198,"lineno":198,"src":{"contract_id":2,"jump_code":"","length":11,"start":4788}},{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":16,"end_lineno":198,"lineno":198,"src":{"contract_id":2,"jump_code":"","length":5,"start":4782}}],"classification":0,"col_offset":11,"end_col_offset":29,"end_lineno":198,"lineno":198,"src":{"contract_id":2,"jump_code":"","length":18,"start":4782}}],"classification":0,"col_offset":4,"end_col_offset":29,"end_lineno":198,"lineno":198,"src":{"contract_id":2,"jump_code":"","length":25,"start":4775}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":195,"lineno":195,"src":{"contract_id":2,"jump_code":"","length":4,"start":4711}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":196,"lineno":196,"src":{"contract_id":2,"jump_code":"","length":8,"start":4717}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":40,"end_col_offset":42,"end_lineno":197,"lineno":197,"src":{"contract_id":2,"jump_code":"","length":2,"start":4766}}],"classification":0,"col_offset":40,"end_col_offset":42,"end_lineno":197,"lineno":197,"src":{"contract_id":2,"jump_code":"","length":2,"start":4766}},{"ast_type":"Name","children":[],"classification":1,"col_offset":32,"end_col_offset":39,"end_lineno":197,"lineno":197,"src":{"contract_id":2,"jump_code":"","length":7,"start":4758}}],"classification":0,"col_offset":32,"end_col_offset":43,"end_lineno":197,"lineno":197,"src":{"contract_id":2,"jump_code":"","length":11,"start":4758}}],"classification":1,"col_offset":0,"end_col_offset":29,"end_lineno":198,"lineno":197,"name":"getArrayWithBiggerSize","src":{"contract_id":2,"jump_code":"","length":74,"start":4726}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":203,"lineno":203,"src":{"contract_id":2,"jump_code":"","length":3,"start":4819}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Call","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":26,"end_col_offset":28,"end_lineno":204,"lineno":204,"src":{"contract_id":2,"jump_code":"","length":2,"start":4899}}],"classification":0,"col_offset":26,"end_col_offset":28,"end_lineno":204,"lineno":204,"src":{"contract_id":2,"jump_code":"","length":2,"start":4899}},{"ast_type":"Name","children":[],"classification":1,"col_offset":18,"end_col_offset":25,"end_lineno":204,"lineno":204,"src":{"contract_id":2,"jump_code":"","length":7,"start":4891}}],"classification":0,"col_offset":18,"end_col_offset":29,"end_lineno":204,"lineno":204,"src":{"contract_id":2,"jump_code":"","length":11,"start":4891}},{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":17,"end_lineno":204,"lineno":204,"src":{"contract_id":2,"jump_code":"","length":5,"start":4885}}],"classification":0,"col_offset":12,"end_col_offset":30,"end_lineno":204,"lineno":204,"src":{"contract_id":2,"jump_code":"","length":18,"start":4885}},{"ast_type":"Call","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":46,"end_col_offset":48,"end_lineno":204,"lineno":204,"src":{"contract_id":2,"jump_code":"","length":2,"start":4919}}],"classification":0,"col_offset":46,"end_col_offset":48,"end_lineno":204,"lineno":204,"src":{"contract_id":2,"jump_code":"","length":2,"start":4919}},{"ast_type":"Name","children":[],"classification":1,"col_offset":38,"end_col_offset":45,"end_lineno":204,"lineno":204,"src":{"contract_id":2,"jump_code":"","length":7,"start":4911}}],"classification":0,"col_offset":38,"end_col_offset":49,"end_lineno":204,"lineno":204,"src":{"contract_id":2,"jump_code":"","length":11,"start":4911}},{"ast_type":"Name","children":[],"classification":1,"col_offset":32,"end_col_offset":37,"end_lineno":204,"lineno":204,"src":{"contract_id":2,"jump_code":"","length":5,"start":4905}}],"classification":0,"col_offset":32,"end_col_offset":50,"end_lineno":204,"lineno":204,"src":{"contract_id":2,"jump_code":"","length":18,"start":4905}}],"classification":0,"col_offset":11,"end_col_offset":51,"end_lineno":204,"lineno":204,"src":{"contract_id":2,"jump_code":"","length":40,"start":4884}}],"classification":0,"col_offset":4,"end_col_offset":51,"end_lineno":204,"lineno":204,"src":{"contract_id":2,"jump_code":"","length":47,"start":4877}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":201,"lineno":201,"src":{"contract_id":2,"jump_code":"","length":4,"start":4804}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":202,"lineno":202,"src":{"contract_id":2,"jump_code":"","length":8,"start":4810}},{"ast_type":"Tuple","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":35,"end_col_offset":37,"end_lineno":203,"lineno":203,"src":{"contract_id":2,"jump_code":"","length":2,"start":4854}}],"classification":0,"col_offset":35,"end_col_offset":37,"end_lineno":203,"lineno":203,"src":{"contract_id":2,"jump_code":"","length":2,"start":4854}},{"ast_type":"Name","children":[],"classification":1,"col_offset":27,"end_col_offset":34,"end_lineno":203,"lineno":203,"src":{"contract_id":2,"jump_code":"","length":7,"start":4846}}],"classification":0,"col_offset":27,"end_col_offset":38,"end_lineno":203,"lineno":203,"src":{"contract_id":2,"jump_code":"","length":11,"start":4846}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":48,"end_col_offset":50,"end_lineno":203,"lineno":203,"src":{"contract_id":2,"jump_code":"","length":2,"start":4867}}],"classification":0,"col_offset":48,"end_col_offset":50,"end_lineno":203,"lineno":203,"src":{"contract_id":2,"jump_code":"","length":2,"start":4867}},{"ast_type":"Name","children":[],"classification":1,"col_offset":40,"end_col_offset":47,"end_lineno":203,"lineno":203,"src":{"contract_id":2,"jump_code":"","length":7,"start":4859}}],"classification":0,"col_offset":40,"end_col_offset":51,"end_lineno":203,"lineno":203,"src":{"contract_id":2,"jump_code":"","length":11,"start":4859}}],"classification":0,"col_offset":26,"end_col_offset":52,"end_lineno":203,"lineno":203,"src":{"contract_id":2,"jump_code":"","length":26,"start":4845}}],"classification":1,"col_offset":0,"end_col_offset":51,"end_lineno":204,"lineno":203,"name":"getTupleOfArrays","src":{"contract_id":2,"jump_code":"","length":105,"start":4819}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":208,"lineno":208,"src":{"contract_id":2,"jump_code":"","length":3,"start":4942}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":12,"end_col_offset":15,"end_lineno":209,"lineno":209,"src":{"contract_id":2,"jump_code":"","length":3,"start":5001}},{"ast_type":"Int","children":[],"classification":0,"col_offset":17,"end_col_offset":20,"end_lineno":209,"lineno":209,"src":{"contract_id":2,"jump_code":"","length":3,"start":5006}}],"classification":0,"col_offset":11,"end_col_offset":21,"end_lineno":209,"lineno":209,"src":{"contract_id":2,"jump_code":"","length":10,"start":5000}}],"classification":0,"col_offset":4,"end_col_offset":21,"end_lineno":209,"lineno":209,"src":{"contract_id":2,"jump_code":"","length":17,"start":4993}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":206,"lineno":206,"src":{"contract_id":2,"jump_code":"","length":4,"start":4927}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":207,"lineno":207,"src":{"contract_id":2,"jump_code":"","length":8,"start":4933}},{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":28,"end_col_offset":35,"end_lineno":208,"lineno":208,"src":{"contract_id":2,"jump_code":"","length":7,"start":4970}},{"ast_type":"Name","children":[],"classification":1,"col_offset":37,"end_col_offset":44,"end_lineno":208,"lineno":208,"src":{"contract_id":2,"jump_code":"","length":7,"start":4979}}],"classification":0,"col_offset":27,"end_col_offset":45,"end_lineno":208,"lineno":208,"src":{"contract_id":2,"jump_code":"","length":18,"start":4969}}],"classification":1,"col_offset":0,"end_col_offset":21,"end_lineno":209,"lineno":208,"name":"getMultipleValues","src":{"contract_id":2,"jump_code":"","length":68,"start":4942}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":213,"lineno":213,"src":{"contract_id":2,"jump_code":"","length":3,"start":5028}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":12,"end_col_offset":13,"end_lineno":214,"lineno":214,"src":{"contract_id":2,"jump_code":"","length":1,"start":5085}},{"ast_type":"Int","children":[],"classification":0,"col_offset":15,"end_col_offset":16,"end_lineno":214,"lineno":214,"src":{"contract_id":2,"jump_code":"","length":1,"start":5088}}],"classification":0,"col_offset":11,"end_col_offset":17,"end_lineno":214,"lineno":214,"src":{"contract_id":2,"jump_code":"","length":6,"start":5084}}],"classification":0,"col_offset":4,"end_col_offset":17,"end_lineno":214,"lineno":214,"src":{"contract_id":2,"jump_code":"","length":13,"start":5077}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":211,"lineno":211,"src":{"contract_id":2,"jump_code":"","length":4,"start":5013}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":212,"lineno":212,"src":{"contract_id":2,"jump_code":"","length":8,"start":5019}},{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":33,"end_lineno":213,"lineno":213,"src":{"contract_id":2,"jump_code":"","length":7,"start":5054}},{"ast_type":"Name","children":[],"classification":1,"col_offset":35,"end_col_offset":42,"end_lineno":213,"lineno":213,"src":{"contract_id":2,"jump_code":"","length":7,"start":5063}}],"classification":0,"col_offset":25,"end_col_offset":43,"end_lineno":213,"lineno":213,"src":{"contract_id":2,"jump_code":"","length":18,"start":5053}}],"classification":1,"col_offset":0,"end_col_offset":17,"end_lineno":214,"lineno":213,"name":"getUnnamedTuple","src":{"contract_id":2,"jump_code":"","length":62,"start":5028}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":218,"lineno":218,"src":{"contract_id":2,"jump_code":"","length":3,"start":5108}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":23,"end_col_offset":25,"end_lineno":219,"lineno":219,"src":{"contract_id":2,"jump_code":"","length":2,"start":5191}}],"classification":0,"col_offset":23,"end_col_offset":25,"end_lineno":219,"lineno":219,"src":{"contract_id":2,"jump_code":"","length":2,"start":5191}},{"ast_type":"Name","children":[],"classification":1,"col_offset":15,"end_col_offset":22,"end_lineno":219,"lineno":219,"src":{"contract_id":2,"jump_code":"","length":7,"start":5183}}],"classification":0,"col_offset":15,"end_col_offset":26,"end_lineno":219,"lineno":219,"src":{"contract_id":2,"jump_code":"","length":11,"start":5183}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":13,"end_lineno":219,"lineno":219,"src":{"contract_id":2,"jump_code":"","length":9,"start":5172}},{"ast_type":"Call","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":43,"end_col_offset":45,"end_lineno":219,"lineno":219,"src":{"contract_id":2,"jump_code":"","length":2,"start":5211}}],"classification":0,"col_offset":43,"end_col_offset":45,"end_lineno":219,"lineno":219,"src":{"contract_id":2,"jump_code":"","length":2,"start":5211}},{"ast_type":"Name","children":[],"classification":1,"col_offset":35,"end_col_offset":42,"end_lineno":219,"lineno":219,"src":{"contract_id":2,"jump_code":"","length":7,"start":5203}}],"classification":0,"col_offset":35,"end_col_offset":46,"end_lineno":219,"lineno":219,"src":{"contract_id":2,"jump_code":"","length":11,"start":5203}},{"ast_type":"Name","children":[],"classification":1,"col_offset":29,"end_col_offset":34,"end_lineno":219,"lineno":219,"src":{"contract_id":2,"jump_code":"","length":5,"start":5197}}],"classification":0,"col_offset":29,"end_col_offset":47,"end_lineno":219,"lineno":219,"src":{"contract_id":2,"jump_code":"","length":18,"start":5197}}],"classification":0,"col_offset":4,"end_col_offset":47,"end_lineno":219,"lineno":219,"src":{"contract_id":2,"jump_code":"","length":43,"start":5172}},{"ast_type":"Assign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":14,"end_col_offset":15,"end_lineno":220,"lineno":220,"src":{"contract_id":2,"jump_code":"","length":1,"start":5230}}],"classification":0,"col_offset":14,"end_col_offset":15,"end_lineno":220,"lineno":220,"src":{"contract_id":2,"jump_code":"","length":1,"start":5230}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":13,"end_lineno":220,"lineno":220,"src":{"contract_id":2,"jump_code":"","length":9,"start":5220}}],"classification":0,"col_offset":4,"end_col_offset":16,"end_lineno":220,"lineno":220,"src":{"contract_id":2,"jump_code":"","length":12,"start":5220}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":22,"end_lineno":220,"lineno":220,"src":{"contract_id":2,"jump_code":"","length":3,"start":5235}}],"classification":0,"col_offset":19,"end_col_offset":29,"end_lineno":220,"lineno":220,"src":{"contract_id":2,"jump_code":"","length":10,"start":5235}}],"classification":0,"col_offset":4,"end_col_offset":29,"end_lineno":220,"lineno":220,"src":{"contract_id":2,"jump_code":"","length":25,"start":5220}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":21,"end_lineno":221,"lineno":221,"src":{"contract_id":2,"jump_code":"","length":9,"start":5258}},{"ast_type":"Call","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":37,"end_col_offset":39,"end_lineno":221,"lineno":221,"src":{"contract_id":2,"jump_code":"","length":2,"start":5283}}],"classification":0,"col_offset":37,"end_col_offset":39,"end_lineno":221,"lineno":221,"src":{"contract_id":2,"jump_code":"","length":2,"start":5283}},{"ast_type":"Name","children":[],"classification":1,"col_offset":29,"end_col_offset":36,"end_lineno":221,"lineno":221,"src":{"contract_id":2,"jump_code":"","length":7,"start":5275}}],"classification":0,"col_offset":29,"end_col_offset":40,"end_lineno":221,"lineno":221,"src":{"contract_id":2,"jump_code":"","length":11,"start":5275}},{"ast_type":"Name","children":[],"classification":1,"col_offset":23,"end_col_offset":28,"end_lineno":221,"lineno":221,"src":{"contract_id":2,"jump_code":"","length":5,"start":5269}}],"classification":0,"col_offset":23,"end_col_offset":41,"end_lineno":221,"lineno":221,"src":{"contract_id":2,"jump_code":"","length":18,"start":5269}}],"classification":0,"col_offset":11,"end_col_offset":42,"end_lineno":221,"lineno":221,"src":{"contract_id":2,"jump_code":"","length":31,"start":5257}}],"classification":0,"col_offset":4,"end_col_offset":42,"end_lineno":221,"lineno":221,"src":{"contract_id":2,"jump_code":"","length":38,"start":5250}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":216,"lineno":216,"src":{"contract_id":2,"jump_code":"","length":4,"start":5093}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":217,"lineno":217,"src":{"contract_id":2,"jump_code":"","length":8,"start":5099}},{"ast_type":"Tuple","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":41,"end_col_offset":43,"end_lineno":218,"lineno":218,"src":{"contract_id":2,"jump_code":"","length":2,"start":5149}}],"classification":0,"col_offset":41,"end_col_offset":43,"end_lineno":218,"lineno":218,"src":{"contract_id":2,"jump_code":"","length":2,"start":5149}},{"ast_type":"Name","children":[],"classification":1,"col_offset":33,"end_col_offset":40,"end_lineno":218,"lineno":218,"src":{"contract_id":2,"jump_code":"","length":7,"start":5141}}],"classification":0,"col_offset":33,"end_col_offset":44,"end_lineno":218,"lineno":218,"src":{"contract_id":2,"jump_code":"","length":11,"start":5141}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":54,"end_col_offset":56,"end_lineno":218,"lineno":218,"src":{"contract_id":2,"jump_code":"","length":2,"start":5162}}],"classification":0,"col_offset":54,"end_col_offset":56,"end_lineno":218,"lineno":218,"src":{"contract_id":2,"jump_code":"","length":2,"start":5162}},{"ast_type":"Name","children":[],"classification":1,"col_offset":46,"end_col_offset":53,"end_lineno":218,"lineno":218,"src":{"contract_id":2,"jump_code":"","length":7,"start":5154}}],"classification":0,"col_offset":46,"end_col_offset":57,"end_lineno":218,"lineno":218,"src":{"contract_id":2,"jump_code":"","length":11,"start":5154}}],"classification":0,"col_offset":32,"end_col_offset":58,"end_lineno":218,"lineno":218,"src":{"contract_id":2,"jump_code":"","length":26,"start":5140}}],"classification":1,"col_offset":0,"end_col_offset":42,"end_lineno":221,"lineno":218,"name":"getTupleOfAddressArray","src":{"contract_id":2,"jump_code":"","length":180,"start":5108}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":225,"lineno":225,"src":{"contract_id":2,"jump_code":"","length":3,"start":5306}},{"ast_type":"Return","children":[{"ast_type":"List","children":[{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":13,"end_col_offset":14,"end_lineno":226,"lineno":226,"src":{"contract_id":2,"jump_code":"","length":1,"start":5368}},{"ast_type":"Int","children":[],"classification":0,"col_offset":16,"end_col_offset":17,"end_lineno":226,"lineno":226,"src":{"contract_id":2,"jump_code":"","length":1,"start":5371}}],"classification":0,"col_offset":12,"end_col_offset":18,"end_lineno":226,"lineno":226,"src":{"contract_id":2,"jump_code":"","length":6,"start":5367}},{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":21,"end_col_offset":22,"end_lineno":226,"lineno":226,"src":{"contract_id":2,"jump_code":"","length":1,"start":5376}},{"ast_type":"Int","children":[],"classification":0,"col_offset":24,"end_col_offset":25,"end_lineno":226,"lineno":226,"src":{"contract_id":2,"jump_code":"","length":1,"start":5379}}],"classification":0,"col_offset":20,"end_col_offset":26,"end_lineno":226,"lineno":226,"src":{"contract_id":2,"jump_code":"","length":6,"start":5375}},{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":29,"end_col_offset":30,"end_lineno":226,"lineno":226,"src":{"contract_id":2,"jump_code":"","length":1,"start":5384}},{"ast_type":"Int","children":[],"classification":0,"col_offset":32,"end_col_offset":33,"end_lineno":226,"lineno":226,"src":{"contract_id":2,"jump_code":"","length":1,"start":5387}}],"classification":0,"col_offset":28,"end_col_offset":34,"end_lineno":226,"lineno":226,"src":{"contract_id":2,"jump_code":"","length":6,"start":5383}}],"classification":0,"col_offset":11,"end_col_offset":35,"end_lineno":226,"lineno":226,"src":{"contract_id":2,"jump_code":"","length":24,"start":5366}}],"classification":0,"col_offset":4,"end_col_offset":35,"end_lineno":226,"lineno":226,"src":{"contract_id":2,"jump_code":"","length":31,"start":5359}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":223,"lineno":223,"src":{"contract_id":2,"jump_code":"","length":4,"start":5291}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":224,"lineno":224,"src":{"contract_id":2,"jump_code":"","length":8,"start":5297}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":45,"end_col_offset":46,"end_lineno":225,"lineno":225,"src":{"contract_id":2,"jump_code":"","length":1,"start":5351}}],"classification":0,"col_offset":45,"end_col_offset":46,"end_lineno":225,"lineno":225,"src":{"contract_id":2,"jump_code":"","length":1,"start":5351}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":42,"end_col_offset":43,"end_lineno":225,"lineno":225,"src":{"contract_id":2,"jump_code":"","length":1,"start":5348}}],"classification":0,"col_offset":42,"end_col_offset":43,"end_lineno":225,"lineno":225,"src":{"contract_id":2,"jump_code":"","length":1,"start":5348}},{"ast_type":"Name","children":[],"classification":1,"col_offset":34,"end_col_offset":41,"end_lineno":225,"lineno":225,"src":{"contract_id":2,"jump_code":"","length":7,"start":5340}}],"classification":0,"col_offset":34,"end_col_offset":44,"end_lineno":225,"lineno":225,"src":{"contract_id":2,"jump_code":"","length":10,"start":5340}}],"classification":0,"col_offset":34,"end_col_offset":47,"end_lineno":225,"lineno":225,"src":{"contract_id":2,"jump_code":"","length":13,"start":5340}}],"classification":1,"col_offset":0,"end_col_offset":35,"end_lineno":226,"lineno":225,"name":"getNestedArrayFixedFixed","src":{"contract_id":2,"jump_code":"","length":84,"start":5306}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":230,"lineno":230,"src":{"contract_id":2,"jump_code":"","length":3,"start":5408}},{"ast_type":"Return","children":[{"ast_type":"List","children":[{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":13,"end_col_offset":14,"end_lineno":231,"lineno":231,"src":{"contract_id":2,"jump_code":"","length":1,"start":5485}},{"ast_type":"Int","children":[],"classification":0,"col_offset":16,"end_col_offset":17,"end_lineno":231,"lineno":231,"src":{"contract_id":2,"jump_code":"","length":1,"start":5488}}],"classification":0,"col_offset":12,"end_col_offset":18,"end_lineno":231,"lineno":231,"src":{"contract_id":2,"jump_code":"","length":6,"start":5484}},{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":21,"end_col_offset":22,"end_lineno":231,"lineno":231,"src":{"contract_id":2,"jump_code":"","length":1,"start":5493}},{"ast_type":"Int","children":[],"classification":0,"col_offset":24,"end_col_offset":25,"end_lineno":231,"lineno":231,"src":{"contract_id":2,"jump_code":"","length":1,"start":5496}}],"classification":0,"col_offset":20,"end_col_offset":26,"end_lineno":231,"lineno":231,"src":{"contract_id":2,"jump_code":"","length":6,"start":5492}},{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":29,"end_col_offset":30,"end_lineno":231,"lineno":231,"src":{"contract_id":2,"jump_code":"","length":1,"start":5501}},{"ast_type":"Int","children":[],"classification":0,"col_offset":32,"end_col_offset":33,"end_lineno":231,"lineno":231,"src":{"contract_id":2,"jump_code":"","length":1,"start":5504}}],"classification":0,"col_offset":28,"end_col_offset":34,"end_lineno":231,"lineno":231,"src":{"contract_id":2,"jump_code":"","length":6,"start":5500}}],"classification":0,"col_offset":11,"end_col_offset":35,"end_lineno":231,"lineno":231,"src":{"contract_id":2,"jump_code":"","length":24,"start":5483}}],"classification":0,"col_offset":4,"end_col_offset":35,"end_lineno":231,"lineno":231,"src":{"contract_id":2,"jump_code":"","length":31,"start":5476}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":228,"lineno":228,"src":{"contract_id":2,"jump_code":"","length":4,"start":5393}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":229,"lineno":229,"src":{"contract_id":2,"jump_code":"","length":8,"start":5399}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":53,"end_col_offset":54,"end_lineno":230,"lineno":230,"src":{"contract_id":2,"jump_code":"","length":1,"start":5461}}],"classification":0,"col_offset":53,"end_col_offset":54,"end_lineno":230,"lineno":230,"src":{"contract_id":2,"jump_code":"","length":1,"start":5461}},{"ast_type":"Name","children":[],"classification":1,"col_offset":45,"end_col_offset":52,"end_lineno":230,"lineno":230,"src":{"contract_id":2,"jump_code":"","length":7,"start":5453}}],"classification":0,"col_offset":45,"end_col_offset":55,"end_lineno":230,"lineno":230,"src":{"contract_id":2,"jump_code":"","length":10,"start":5453}},{"ast_type":"Int","children":[],"classification":0,"col_offset":57,"end_col_offset":61,"end_lineno":230,"lineno":230,"src":{"contract_id":2,"jump_code":"","length":4,"start":5465}}],"classification":0,"col_offset":45,"end_col_offset":61,"end_lineno":230,"lineno":230,"src":{"contract_id":2,"jump_code":"","length":16,"start":5453}}],"classification":0,"col_offset":45,"end_col_offset":61,"end_lineno":230,"lineno":230,"src":{"contract_id":2,"jump_code":"","length":16,"start":5453}},{"ast_type":"Name","children":[],"classification":1,"col_offset":36,"end_col_offset":44,"end_lineno":230,"lineno":230,"src":{"contract_id":2,"jump_code":"","length":8,"start":5444}}],"classification":0,"col_offset":36,"end_col_offset":62,"end_lineno":230,"lineno":230,"src":{"contract_id":2,"jump_code":"","length":26,"start":5444}}],"classification":1,"col_offset":0,"end_col_offset":35,"end_lineno":231,"lineno":230,"name":"getNestedArrayDynamicFixed","src":{"contract_id":2,"jump_code":"","length":99,"start":5408}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":235,"lineno":235,"src":{"contract_id":2,"jump_code":"","length":3,"start":5525}},{"ast_type":"Return","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":15,"end_lineno":236,"lineno":236,"src":{"contract_id":2,"jump_code":"","length":4,"start":5600}}],"classification":0,"col_offset":11,"end_col_offset":24,"end_lineno":236,"lineno":236,"src":{"contract_id":2,"jump_code":"","length":13,"start":5600}}],"classification":0,"col_offset":4,"end_col_offset":24,"end_lineno":236,"lineno":236,"src":{"contract_id":2,"jump_code":"","length":20,"start":5593}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":233,"lineno":233,"src":{"contract_id":2,"jump_code":"","length":4,"start":5510}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":234,"lineno":234,"src":{"contract_id":2,"jump_code":"","length":8,"start":5516}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":60,"end_col_offset":61,"end_lineno":235,"lineno":235,"src":{"contract_id":2,"jump_code":"","length":1,"start":5585}}],"classification":0,"col_offset":60,"end_col_offset":61,"end_lineno":235,"lineno":235,"src":{"contract_id":2,"jump_code":"","length":1,"start":5585}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":45,"end_col_offset":52,"end_lineno":235,"lineno":235,"src":{"contract_id":2,"jump_code":"","length":7,"start":5570}},{"ast_type":"Int","children":[],"classification":0,"col_offset":54,"end_col_offset":58,"end_lineno":235,"lineno":235,"src":{"contract_id":2,"jump_code":"","length":4,"start":5579}}],"classification":0,"col_offset":45,"end_col_offset":58,"end_lineno":235,"lineno":235,"src":{"contract_id":2,"jump_code":"","length":13,"start":5570}}],"classification":0,"col_offset":45,"end_col_offset":58,"end_lineno":235,"lineno":235,"src":{"contract_id":2,"jump_code":"","length":13,"start":5570}},{"ast_type":"Name","children":[],"classification":1,"col_offset":36,"end_col_offset":44,"end_lineno":235,"lineno":235,"src":{"contract_id":2,"jump_code":"","length":8,"start":5561}}],"classification":0,"col_offset":36,"end_col_offset":59,"end_lineno":235,"lineno":235,"src":{"contract_id":2,"jump_code":"","length":23,"start":5561}}],"classification":0,"col_offset":36,"end_col_offset":62,"end_lineno":235,"lineno":235,"src":{"contract_id":2,"jump_code":"","length":26,"start":5561}}],"classification":1,"col_offset":0,"end_col_offset":24,"end_lineno":236,"lineno":235,"name":"getNestedArrayFixedDynamic","src":{"contract_id":2,"jump_code":"","length":88,"start":5525}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":240,"lineno":240,"src":{"contract_id":2,"jump_code":"","length":3,"start":5631}},{"ast_type":"Return","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":15,"end_lineno":241,"lineno":241,"src":{"contract_id":2,"jump_code":"","length":4,"start":5725}}],"classification":0,"col_offset":11,"end_col_offset":26,"end_lineno":241,"lineno":241,"src":{"contract_id":2,"jump_code":"","length":15,"start":5725}}],"classification":0,"col_offset":4,"end_col_offset":26,"end_lineno":241,"lineno":241,"src":{"contract_id":2,"jump_code":"","length":22,"start":5718}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":238,"lineno":238,"src":{"contract_id":2,"jump_code":"","length":4,"start":5616}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":239,"lineno":239,"src":{"contract_id":2,"jump_code":"","length":8,"start":5622}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":79,"end_col_offset":80,"end_lineno":240,"lineno":240,"src":{"contract_id":2,"jump_code":"","length":1,"start":5710}}],"classification":0,"col_offset":79,"end_col_offset":80,"end_lineno":240,"lineno":240,"src":{"contract_id":2,"jump_code":"","length":1,"start":5710}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":69,"end_col_offset":70,"end_lineno":240,"lineno":240,"src":{"contract_id":2,"jump_code":"","length":1,"start":5700}}],"classification":0,"col_offset":69,"end_col_offset":70,"end_lineno":240,"lineno":240,"src":{"contract_id":2,"jump_code":"","length":1,"start":5700}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":54,"end_col_offset":61,"end_lineno":240,"lineno":240,"src":{"contract_id":2,"jump_code":"","length":7,"start":5685}},{"ast_type":"Int","children":[],"classification":0,"col_offset":63,"end_col_offset":67,"end_lineno":240,"lineno":240,"src":{"contract_id":2,"jump_code":"","length":4,"start":5694}}],"classification":0,"col_offset":54,"end_col_offset":67,"end_lineno":240,"lineno":240,"src":{"contract_id":2,"jump_code":"","length":13,"start":5685}}],"classification":0,"col_offset":54,"end_col_offset":67,"end_lineno":240,"lineno":240,"src":{"contract_id":2,"jump_code":"","length":13,"start":5685}},{"ast_type":"Name","children":[],"classification":1,"col_offset":45,"end_col_offset":53,"end_lineno":240,"lineno":240,"src":{"contract_id":2,"jump_code":"","length":8,"start":5676}}],"classification":0,"col_offset":45,"end_col_offset":68,"end_lineno":240,"lineno":240,"src":{"contract_id":2,"jump_code":"","length":23,"start":5676}}],"classification":0,"col_offset":45,"end_col_offset":71,"end_lineno":240,"lineno":240,"src":{"contract_id":2,"jump_code":"","length":26,"start":5676}},{"ast_type":"Int","children":[],"classification":0,"col_offset":73,"end_col_offset":77,"end_lineno":240,"lineno":240,"src":{"contract_id":2,"jump_code":"","length":4,"start":5704}}],"classification":0,"col_offset":45,"end_col_offset":77,"end_lineno":240,"lineno":240,"src":{"contract_id":2,"jump_code":"","length":32,"start":5676}}],"classification":0,"col_offset":45,"end_col_offset":77,"end_lineno":240,"lineno":240,"src":{"contract_id":2,"jump_code":"","length":32,"start":5676}},{"ast_type":"Name","children":[],"classification":1,"col_offset":36,"end_col_offset":44,"end_lineno":240,"lineno":240,"src":{"contract_id":2,"jump_code":"","length":8,"start":5667}}],"classification":0,"col_offset":36,"end_col_offset":78,"end_lineno":240,"lineno":240,"src":{"contract_id":2,"jump_code":"","length":42,"start":5667}}],"classification":0,"col_offset":36,"end_col_offset":81,"end_lineno":240,"lineno":240,"src":{"contract_id":2,"jump_code":"","length":45,"start":5667}}],"classification":1,"col_offset":0,"end_col_offset":26,"end_lineno":241,"lineno":240,"name":"getNestedArrayMixedDynamic","src":{"contract_id":2,"jump_code":"","length":109,"start":5631}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":245,"lineno":245,"src":{"contract_id":2,"jump_code":"","length":3,"start":5758}},{"ast_type":"Return","children":[{"ast_type":"List","children":[{"ast_type":"List","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":13,"end_col_offset":16,"end_lineno":246,"lineno":246,"src":{"contract_id":2,"jump_code":"","length":3,"start":5830}}],"classification":0,"col_offset":13,"end_col_offset":23,"end_lineno":246,"lineno":246,"src":{"contract_id":2,"jump_code":"","length":10,"start":5830}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":25,"end_col_offset":28,"end_lineno":246,"lineno":246,"src":{"contract_id":2,"jump_code":"","length":3,"start":5842}}],"classification":0,"col_offset":25,"end_col_offset":35,"end_lineno":246,"lineno":246,"src":{"contract_id":2,"jump_code":"","length":10,"start":5842}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":37,"end_col_offset":40,"end_lineno":246,"lineno":246,"src":{"contract_id":2,"jump_code":"","length":3,"start":5854}}],"classification":0,"col_offset":37,"end_col_offset":47,"end_lineno":246,"lineno":246,"src":{"contract_id":2,"jump_code":"","length":10,"start":5854}}],"classification":0,"col_offset":12,"end_col_offset":48,"end_lineno":246,"lineno":246,"src":{"contract_id":2,"jump_code":"","length":36,"start":5829}},{"ast_type":"List","children":[{"ast_type":"Call","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":57,"end_col_offset":64,"end_lineno":246,"lineno":246,"src":{"contract_id":2,"jump_code":"","length":7,"start":5874}},{"ast_type":"Name","children":[],"classification":1,"col_offset":51,"end_col_offset":56,"end_lineno":246,"lineno":246,"src":{"contract_id":2,"jump_code":"","length":5,"start":5868}}],"classification":0,"col_offset":51,"end_col_offset":65,"end_lineno":246,"lineno":246,"src":{"contract_id":2,"jump_code":"","length":14,"start":5868}},{"ast_type":"Call","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":73,"end_col_offset":80,"end_lineno":246,"lineno":246,"src":{"contract_id":2,"jump_code":"","length":7,"start":5890}},{"ast_type":"Name","children":[],"classification":1,"col_offset":67,"end_col_offset":72,"end_lineno":246,"lineno":246,"src":{"contract_id":2,"jump_code":"","length":5,"start":5884}}],"classification":0,"col_offset":67,"end_col_offset":81,"end_lineno":246,"lineno":246,"src":{"contract_id":2,"jump_code":"","length":14,"start":5884}},{"ast_type":"Call","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":89,"end_col_offset":96,"end_lineno":246,"lineno":246,"src":{"contract_id":2,"jump_code":"","length":7,"start":5906}},{"ast_type":"Name","children":[],"classification":1,"col_offset":83,"end_col_offset":88,"end_lineno":246,"lineno":246,"src":{"contract_id":2,"jump_code":"","length":5,"start":5900}}],"classification":0,"col_offset":83,"end_col_offset":97,"end_lineno":246,"lineno":246,"src":{"contract_id":2,"jump_code":"","length":14,"start":5900}}],"classification":0,"col_offset":50,"end_col_offset":98,"end_lineno":246,"lineno":246,"src":{"contract_id":2,"jump_code":"","length":48,"start":5867}}],"classification":0,"col_offset":11,"end_col_offset":99,"end_lineno":246,"lineno":246,"src":{"contract_id":2,"jump_code":"","length":88,"start":5828}}],"classification":0,"col_offset":4,"end_col_offset":99,"end_lineno":246,"lineno":246,"src":{"contract_id":2,"jump_code":"","length":95,"start":5821}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":243,"lineno":243,"src":{"contract_id":2,"jump_code":"","length":4,"start":5743}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":244,"lineno":244,"src":{"contract_id":2,"jump_code":"","length":8,"start":5749}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":48,"end_col_offset":49,"end_lineno":245,"lineno":245,"src":{"contract_id":2,"jump_code":"","length":1,"start":5806}}],"classification":0,"col_offset":48,"end_col_offset":49,"end_lineno":245,"lineno":245,"src":{"contract_id":2,"jump_code":"","length":1,"start":5806}},{"ast_type":"Name","children":[],"classification":1,"col_offset":40,"end_col_offset":47,"end_lineno":245,"lineno":245,"src":{"contract_id":2,"jump_code":"","length":7,"start":5798}}],"classification":0,"col_offset":40,"end_col_offset":50,"end_lineno":245,"lineno":245,"src":{"contract_id":2,"jump_code":"","length":10,"start":5798}},{"ast_type":"Int","children":[],"classification":0,"col_offset":52,"end_col_offset":56,"end_lineno":245,"lineno":245,"src":{"contract_id":2,"jump_code":"","length":4,"start":5810}}],"classification":0,"col_offset":40,"end_col_offset":56,"end_lineno":245,"lineno":245,"src":{"contract_id":2,"jump_code":"","length":16,"start":5798}}],"classification":0,"col_offset":40,"end_col_offset":56,"end_lineno":245,"lineno":245,"src":{"contract_id":2,"jump_code":"","length":16,"start":5798}},{"ast_type":"Name","children":[],"classification":1,"col_offset":31,"end_col_offset":39,"end_lineno":245,"lineno":245,"src":{"contract_id":2,"jump_code":"","length":8,"start":5789}}],"classification":0,"col_offset":31,"end_col_offset":57,"end_lineno":245,"lineno":245,"src":{"contract_id":2,"jump_code":"","length":26,"start":5789}}],"classification":1,"col_offset":0,"end_col_offset":99,"end_lineno":246,"lineno":245,"name":"getNestedAddressArray","src":{"contract_id":2,"jump_code":"","length":158,"start":5758}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":251,"lineno":251,"src":{"contract_id":2,"jump_code":"","length":7,"start":5983}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":251,"lineno":251,"src":{"contract_id":2,"jump_code":"","length":11,"start":5979}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":252,"lineno":252,"src":{"contract_id":2,"jump_code":"","length":7,"start":6000}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":252,"lineno":252,"src":{"contract_id":2,"jump_code":"","length":11,"start":5996}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":253,"lineno":253,"src":{"contract_id":2,"jump_code":"","length":7,"start":6017}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":253,"lineno":253,"src":{"contract_id":2,"jump_code":"","length":11,"start":6013}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":254,"lineno":254,"src":{"contract_id":2,"jump_code":"","length":7,"start":6034}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":254,"lineno":254,"src":{"contract_id":2,"jump_code":"","length":11,"start":6030}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":255,"lineno":255,"src":{"contract_id":2,"jump_code":"","length":7,"start":6051}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":255,"lineno":255,"src":{"contract_id":2,"jump_code":"","length":11,"start":6047}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":256,"lineno":256,"src":{"contract_id":2,"jump_code":"","length":7,"start":6068}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":256,"lineno":256,"src":{"contract_id":2,"jump_code":"","length":11,"start":6064}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":257,"lineno":257,"src":{"contract_id":2,"jump_code":"","length":7,"start":6085}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":257,"lineno":257,"src":{"contract_id":2,"jump_code":"","length":11,"start":6081}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":258,"lineno":258,"src":{"contract_id":2,"jump_code":"","length":7,"start":6102}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":258,"lineno":258,"src":{"contract_id":2,"jump_code":"","length":11,"start":6098}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":259,"lineno":259,"src":{"contract_id":2,"jump_code":"","length":7,"start":6119}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":259,"lineno":259,"src":{"contract_id":2,"jump_code":"","length":11,"start":6115}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":260,"lineno":260,"src":{"contract_id":2,"jump_code":"","length":7,"start":6136}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":260,"lineno":260,"src":{"contract_id":2,"jump_code":"","length":11,"start":6132}}],"classification":1,"col_offset":4,"end_col_offset":15,"end_lineno":260,"lineno":251,"src":{"contract_id":2,"jump_code":"","length":164,"start":5979}},{"ast_type":"Pass","children":[],"classification":0,"col_offset":4,"end_col_offset":8,"end_lineno":262,"lineno":262,"src":{"contract_id":2,"jump_code":"","length":4,"start":6151}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":248,"lineno":248,"src":{"contract_id":2,"jump_code":"","length":4,"start":5919}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":249,"lineno":249,"src":{"contract_id":2,"jump_code":"","length":8,"start":5925}}],"classification":1,"col_offset":0,"end_col_offset":8,"end_lineno":262,"lineno":250,"name":"functionWithUniqueAmountOfArguments","src":{"contract_id":2,"jump_code":"","length":221,"start":5934}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":34,"end_lineno":266,"lineno":266,"src":{"contract_id":2,"jump_code":"","length":8,"start":6199}}],"classification":0,"col_offset":14,"end_col_offset":34,"end_lineno":266,"lineno":266,"src":{"contract_id":2,"jump_code":"","length":20,"start":6187}}],"classification":1,"col_offset":14,"end_col_offset":34,"end_lineno":266,"lineno":266,"src":{"contract_id":2,"jump_code":"","length":20,"start":6187}},{"ast_type":"Pass","children":[],"classification":0,"col_offset":4,"end_col_offset":8,"end_lineno":267,"lineno":267,"src":{"contract_id":2,"jump_code":"","length":4,"start":6214}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":264,"lineno":264,"src":{"contract_id":2,"jump_code":"","length":4,"start":6158}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":265,"lineno":265,"src":{"contract_id":2,"jump_code":"","length":8,"start":6164}}],"classification":1,"col_offset":0,"end_col_offset":8,"end_lineno":267,"lineno":266,"name":"setStruct","src":{"contract_id":2,"jump_code":"","length":45,"start":6173}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[{"ast_type":"arg","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":46,"end_col_offset":47,"end_lineno":271,"lineno":271,"src":{"contract_id":2,"jump_code":"","length":1,"start":6282}}],"classification":0,"col_offset":46,"end_col_offset":47,"end_lineno":271,"lineno":271,"src":{"contract_id":2,"jump_code":"","length":1,"start":6282}},{"ast_type":"Name","children":[],"classification":1,"col_offset":37,"end_col_offset":45,"end_lineno":271,"lineno":271,"src":{"contract_id":2,"jump_code":"","length":8,"start":6273}}],"classification":0,"col_offset":37,"end_col_offset":48,"end_lineno":271,"lineno":271,"src":{"contract_id":2,"jump_code":"","length":11,"start":6273}}],"classification":0,"col_offset":19,"end_col_offset":48,"end_lineno":271,"lineno":271,"src":{"contract_id":2,"jump_code":"","length":29,"start":6255}}],"classification":1,"col_offset":19,"end_col_offset":48,"end_lineno":271,"lineno":271,"src":{"contract_id":2,"jump_code":"","length":29,"start":6255}},{"ast_type":"Pass","children":[],"classification":0,"col_offset":4,"end_col_offset":8,"end_lineno":272,"lineno":272,"src":{"contract_id":2,"jump_code":"","length":4,"start":6291}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":269,"lineno":269,"src":{"contract_id":2,"jump_code":"","length":4,"start":6221}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":270,"lineno":270,"src":{"contract_id":2,"jump_code":"","length":8,"start":6227}}],"classification":1,"col_offset":0,"end_col_offset":8,"end_lineno":272,"lineno":271,"name":"setStructArray","src":{"contract_id":2,"jump_code":"","length":59,"start":6236}}],"classification":0,"col_offset":0,"end_col_offset":8,"end_lineno":272,"lineno":1,"name":"TestContractVy.vy","src":{"contract_id":2,"jump_code":"","length":6295}},"contractName":"TestContractVy","deploymentBytecode":{"bytecode":"0x34611b33576020611b386000396000516001553360005560016005556000600655600261040655600061040755600161040855600361080755600061080855600161080955600261080a55610c08546103ff8111611b335760018101610c0855610c038102610c09016005548082558060051b60018301600082601f0160051c6104008111611b335780156100a457905b806006015481840155600101818118610090575b505050505061040654806104018301558060051b6001610401840101600082601f0160051c6104008111611b335780156100ef57905b806104070154818401556001018181186100da575b505050505061080754806108028301558060051b6001610802840101600082601f0160051c6104008111611b3357801561013a57905b80610808015481840155600101818118610125575b5050505050505062301809546103ff8111611b3357600181016230180955610c0381026230180a016005548082558060051b60018301600082601f0160051c6104008111611b3357801561019e57905b80600601548184015560010181811861018a575b505050505061040654806104018301558060051b6001610401840101600082601f0160051c6104008111611b335780156101e957905b806104070154818401556001018181186101d4575b505050505061080754806108028301558060051b6001610802840101600082601f0160051c6104008111611b3357801561023457905b8061080801548184015560010181811861021f575b5050505050505062301809546103ff8111611b3357600181016230180955610c0381026230180a016005548082558060051b60018301600082601f0160051c6104008111611b3357801561029857905b806006015481840155600101818118610284575b505050505061040654806104018301558060051b6001610401840101600082601f0160051c6104008111611b335780156102e357905b806104070154818401556001018181186102ce575b505050505061080754806108028301558060051b6001610802840101600082601f0160051c6104008111611b3357801561032e57905b80610808015481840155600101818118610319575b505050505050506117eb610347610000396117eb610000f36003361161000c576117d3565b60003560e01c346117d957632beb1711811861007c57600436106117d95760007f1a7c56fae0af54ebae73bc4699b9de9835e7bb86b050dff7e80695b633f17abd60006040a260017fe5299d63f5ecdd1740024ea0902bd82cc8dc6b51d69078e007096f907615ced560006040a2005b633fb5c1cb81186101e957602436106117d9576000543318156100f657600b6040527f21617574686f72697a656400000000000000000000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b6005600435146117d95760015460025560043560015560076080527f44796e616d69630000000000000000000000000000000000000000000000000060a05260808051602082012090506004357fa84473122c11e32cd505595f246a28418b8ecd6cf819f4e3915363fad1b8f9686060600143034060c05260025460e052806101005260076040527f44796e616d69630000000000000000000000000000000000000000000000000060605260408160c00181518082526020830160208301815181525050508051806020830101601f82600003163682375050601f19601f82516020010116905090508101905060c0a3005b63e30081a0811861023b57602436106117d9576004358060a01c6117d9576040526040516003556040517f7ff7bacc6cd661809ed1ddce28d4ad2c5b37779b61b9e3235f8262be529101a960006060a2005b63e30443bc811861028457604436106117d9576004358060a01c6117d9576040526004604051602052600052604060002080546024358082018281106117d95790509050815550005b6309b1b3f281186102a957600436106117d95733604052600143034060605260406040f35b6302f487d681186102d357600436106117d957336040526001430340606052600160805260606040f35b63a420b5a581186102fd57600436106117d957600260405233606052600143034060805260606040f35b63e9f7fd14811861032c57600436106117d9573360405260014303406060526001608052600160a05260806040f35b63a2fbee53811861035b57600436106117d9576002604052600260605233608052600143034060a05260806040f35b637a79591d81186103de57600436106117d95760006040526020806102e052806102e00160006040518083528060061b600082600a81116117d95780156103c957905b8060061b60208701018160061b6060018051825260208101516020830152505060010181811861039e575b505082016020019150509050810190506102e0f35b63a4f6d26b81186104cd57600436106117d957600060405260006102e05260408061058052806105800160006040518083528060061b600082600a81116117d957801561045257905b8060061b60208701018160061b60600180518252602081015160208301525050600101818118610427575b50508201602001915050905081019050806105a052806105800160006102e0518083528060061b600082600a81116117d95780156104b857905b8060061b60208701018160061b610300018051825260208101516020830152505060010181811861048c575b50508201602001915050905081019050610580f35b63252e423e811861057d57600436106117d95760e03660403760e06040516101a0526060516101c0526080516101e05260a0516102005260c0516102205260e051610240528061026052806101a0016000610100518083528060061b600082600281116117d957801561056857905b8060061b60208701018160061b610120018051825260208101516020830152505060010181811861053c575b505082016020019150509050810190506101a0f35b63c2f14839811861068f57600436106117d9576103c03660403760006104005260405161042052606051610440526080516104605260a0516104805260c0516104a05260e0516104c052610100516104e05261012051610500526101405161052052610160516105405261018051610560526101a051610580526101c0516105a0526101e0516105c052610200516105e05261022051610600526102405161062052610260516106405261028051610660526102a051610680526102c0516106a0526102e0516106c052610300516106e05261032051610700526103405161072052610360516107405261038051610760526103a051610780526103c0516107a0526103e0516107c0526103e0610400f35b63a5c1b662811861077057600436106117d957600060405260006101a05260408061044052806104400160006040518083528060051b600082600a81116117d95780156106f557905b8060051b606001518160051b6020880101526001018181186106d8575b505082016020019150509050810190508061046052806104400160006101a0518083528060061b600082600a81116117d957801561075b57905b8060061b60208701018160061b6101c0018051825260208101516020830152505060010181811861072f575b50508201602001915050905081019050610440f35b6342ce1ec681186107ab57600436106117d95760016040523360605260014303406080523360a052600143034060c052600260e05260c06040f35b63052f3e76811861080e57600436106117d95760208060405280604001600060008252600060006000600181116117d95780156107fb57905b60008160051b6020870101526001018181186107e4575b5050810160200190509050810190506040f35b63b345ad96811861088957600436106117d957602080604052806040016000600160a052600160c052600060a0518084528060051b600082600181116117d957801561087357905b8060051b60c001518160051b602089010152600101818118610856575b5050820160200191505090509050810190506040f35b6335417bf4811861091257600436106117d957602080604052806040016000600360e052600161010052600261012052600361014052600060e0518084528060051b600082600381116117d95780156108fc57905b8060051b61010001518160051b6020890101526001018181186108de575b5050820160200191505090509050810190506040f35b63a5b0930d811861099157600436106117d957602080604052806040016000600260c0523360e0523361010052600060c0518084528060051b600082600281116117d957801561097b57905b8060051b60e001518160051b60208901015260010181811861095e575b5050820160200191505090509050810190506040f35b639bfb2ad88118610a4a57600436106117d957602080604052806040016000600261014052336101605260014303406101805260016101a052336101c05260014303406101e05260026102005260006101405180845260608102600082600281116117d9578015610a3457905b606081026020880101606082026101600180518252602081015160208301526040810151604083015250506001018181186109fe575b5050820160200191505090509050810190506040f35b633ce80e948118610a8557600436106117d9576001604052336060526001430340608052600260a0523360c052600143034060e05260c06040f35b6343790b648118610aa657600436106117d957610280366040376102806040f35b63d4d64b358118610ac757600436106117d957610500366040376105006040f35b63650543a38118610aeb57600436106117d957607b60405261014160605260406040f35b63243e09638118610b0a57600436106117d95760403660403760406040f35b638ba6052d8118610bd257600436106117d95761028036604037336040526040516102c0526060516102e0526080516103005260a0516103205260c0516103405260e051610360526101005161038052610120516103a052610140516103c052610160516103e05261018051610400526101a051610420526101c051610440526101e051610460526102005161048052610220516104a052610240516104c052610260516104e05261028051610500526102a0516105205261028036610540376105006102c0f35b63ccd62aa48118610c0957600436106117d957600160405260026060526003608052600460a052600560c052600660e05260c06040f35b636126c87f8118610cbe57600436106117d957602080604052806040016000600362010080526001620100a0526002620100c0526003620100e052600462010100526005620101205260066201014052600062010080518084528060061b60008261040081116117d9578015610ca857905b8060061b60208801018160061b620100a00180518252602081015160208301525050600101818118610c7b575b5050820160200191505090509050810190506040f35b6394a66fc98118610de157600436106117d95760208060405280604001606080825280820160006005548083528060051b60008261040081116117d9578015610d1d57905b80600601548160051b602088010152600101818118610d03575b505082016020019150509050810190508060208301528082016000610406548083528060051b60008261040081116117d9578015610d7257905b8061040701548160051b602088010152600101818118610d57575b505082016020019150509050810190508060408301528082016000610807548083528060051b60008261040081116117d9578015610dc757905b8061080801548160051b602088010152600101818118610dac575b505082016020019150509050810190509050810190506040f35b63abeb2022811861153f57600436106117d9576020806040528060400160a08082528082016000610c08548083528060051b60008261040081116117d9578015610f5d57905b828160051b602088010152610c038102610c09018360208801016060808252808201600084548083528060051b60008261040081116117d9578015610e8457905b8060018a0101548160051b602088010152600101818118610e68575b505082016020019150509050810190508060208301526104018301818301600082548083528060051b60008261040081116117d9578015610edd57905b806001880101548160051b602088010152600101818118610ec1575b5050820160200191505090509050810190508060408301526108028301818301600082548083528060051b60008261040081116117d9578015610f3857905b806001880101548160051b602088010152600101818118610f1c575b5050820160200191505090509050810190509050905083019250600101818118610e27575b50508201602001915050905081019050806020830152808201600062301809548083528060051b60008261040081116117d95780156110cf57905b828160051b602088010152610c0381026230180a018360208801016060808252808201600084548083528060051b60008261040081116117d9578015610ff657905b8060018a0101548160051b602088010152600101818118610fda575b505082016020019150509050810190508060208301526104018301818301600082548083528060051b60008261040081116117d957801561104f57905b806001880101548160051b602088010152600101818118611033575b5050820160200191505090509050810190508060408301526108028301818301600082548083528060051b60008261040081116117d95780156110aa57905b806001880101548160051b60208801015260010181811861108e575b5050820160200191505090509050810190509050905083019250600101818118610f98575b5050820160200191505090508101905080604083015280820160006260240a548083528060051b60008261040081116117d957801561124157905b828160051b602088010152610c0381026260240b018360208801016060808252808201600084548083528060051b60008261040081116117d957801561116857905b8060018a0101548160051b60208801015260010181811861114c575b505082016020019150509050810190508060208301526104018301818301600082548083528060051b60008261040081116117d95780156111c157905b806001880101548160051b6020880101526001018181186111a5575b5050820160200191505090509050810190508060408301526108028301818301600082548083528060051b60008261040081116117d957801561121c57905b806001880101548160051b602088010152600101818118611200575b505082016020019150509050905081019050905090508301925060010181811861110a575b5050820160200191505090508101905080606083015280820160006290300b548083528060051b60008261040081116117d95780156113b357905b828160051b602088010152610c0381026290300c018360208801016060808252808201600084548083528060051b60008261040081116117d95780156112da57905b8060018a0101548160051b6020880101526001018181186112be575b505082016020019150509050810190508060208301526104018301818301600082548083528060051b60008261040081116117d957801561133357905b806001880101548160051b602088010152600101818118611317575b5050820160200191505090509050810190508060408301526108028301818301600082548083528060051b60008261040081116117d957801561138e57905b806001880101548160051b602088010152600101818118611372575b505082016020019150509050905081019050905090508301925060010181811861127c575b50508201602001915050905081019050806080830152808201600062c03c0c548083528060051b60008261040081116117d957801561152557905b828160051b602088010152610c03810262c03c0d018360208801016060808252808201600084548083528060051b60008261040081116117d957801561144c57905b8060018a0101548160051b602088010152600101818118611430575b505082016020019150509050810190508060208301526104018301818301600082548083528060051b60008261040081116117d95780156114a557905b806001880101548160051b602088010152600101818118611489575b5050820160200191505090509050810190508060408301526108028301818301600082548083528060051b60008261040081116117d957801561150057905b806001880101548160051b6020880101526001018181186114e4575b50508201602001915050905090508101905090509050830192506001018181186113ee575b505082016020019150509050810190509050810190506040f35b6399e74a4c81186115ee57600436106117d9576020806040528060400160006002620180805233620180a05233620180c05233620180e0526060366201810037600062018080518084526060810260008261040081116117d95780156115d857905b60608102602088010160608202620180a00180518252602081015160208301526040810151604083015250506001018181186115a1575b5050820160200191505090509050810190506040f35b63acab48d881186116045761014436106117d957005b6378c067b0811861162d57604436106117d9576004358060a01c6117d957604052602435606052005b637b92b7ce811861166a57608436106117d9576004358060a01c6117d9576040526024356060526044358060a01c6117d95760805260643560a052005b638da5cb5b811861168957600436106117d95760005460405260206040f35b6323fd0e4081186116a857600436106117d95760015460405260206040f35b634825cf6f81186116c757600436106117d95760025460405260206040f35b636cbceeec81186116e657600436106117d95760035460405260206040f35b6327e235e3811861172157602436106117d9576004358060a01c6117d957604052600460405160205260005260406000205460605260206060f35b63d3aaff6d811861176357604436106117d957610401600435600281116117d9570260050160243581548110156117d957600182010190505460405260206040f35b63ae8ef2cb81186117d157608436106117d95762300c01600435600481116117d95702610c0801610c0360243582548110156117d9570260018201019050610401604435600281116117d957028101905060643581548110156117d957600182010190505460405260206040f35b505b60006000fd5b600080fda165767970657283000307000b005b600080fd"},"dev_messages":{},"devdoc":{},"pcmap":{"1014":{"location":[121,4,121,46]},"1020":{"location":[122,4,122,46]},"1035":{"location":[123,12,123,25]},"11":{"dev":"dev: Fallback not defined","location":null},"1135":{"dev":"dev: USER_ASSERT","location":[123,27,123,40]},"118":{"location":[68,4,68,22]},"120":{"location":[68,4,68,22]},"122":{"dev":"dev: USER_ASSERT","location":[68,4,68,22]},"1249":{"location":[128,4,128,51]},"1251":{"location":[128,4,128,51]},"1252":{"location":[128,4,128,51]},"1254":{"location":[128,4,128,51]},"1311":{"location":[130,27,130,40]},"1431":{"location":[135,4,135,59]},"1432":{"location":[136,11,136,12]},"144":{"location":[72,25,72,35]},"146":{"location":[72,11,72,35]},"147":{"location":[72,11,72,21]},"148":{"location":[72,11,72,35]},"149":{"location":[72,11,72,35]},"150":{"location":[72,4,72,50]},"153":{"location":[72,4,72,50]},"158":{"location":[72,37,72,50]},"1703":{"location":[141,4,141,41]},"1709":{"location":[142,4,142,44]},"1724":{"location":[143,11,143,20]},"1810":{"dev":"dev: USER_ASSERT","location":[143,22,143,33]},"1924":{"location":[150,17,150,18]},"1929":{"location":[152,29,152,39]},"1937":{"location":[152,44,152,58]},"194":{"location":[72,37,72,50]},"1941":{"location":[153,29,153,39]},"1949":{"location":[153,44,153,58]},"195":{"location":[72,37,72,50]},"1953":{"location":[155,17,155,18]},"197":{"location":[72,4,72,50]},"20":{"dev":"dev: USER_ASSERT","location":null},"2099":{"location":[167,12,167,13]},"2222":{"location":[172,12,172,13]},"2228":{"location":[172,15,172,16]},"2234":{"location":[172,18,172,19]},"2359":{"location":[177,12,177,22]},"2363":{"location":[177,24,177,34]},"246":{"dev":"dev: USER_ASSERT","location":[72,4,72,50]},"247":{"location":[73,18,73,19]},"2487":{"location":[183,39,183,49]},"249":{"location":[76,65,76,68]},"2496":{"location":[183,54,183,68]},"2501":{"location":[183,77,183,78]},"2507":{"location":[184,39,184,49]},"251":{"location":[73,11,73,19]},"2516":{"location":[184,54,184,68]},"2521":{"dev":"dev: USER_ASSERT","location":[184,77,184,78]},"253":{"location":[73,4,73,19]},"256":{"dev":"dev: USER_ASSERT","location":[73,4,73,19]},"257":{"location":[74,22,74,35]},"260":{"location":[74,4,74,19]},"263":{"location":[76,65,76,68]},"2654":{"location":[191,28,191,29]},"2659":{"location":[191,47,191,57]},"266":{"location":[75,4,75,17]},"2667":{"location":[191,62,191,76]},"2671":{"location":[192,28,192,29]},"2676":{"location":[192,47,192,57]},"268":{"location":[75,4,75,23]},"2684":{"dev":"dev: USER_ASSERT","location":[192,62,192,76]},"273":{"location":[76,70,76,79]},"2779":{"location":[209,12,209,15]},"2784":{"location":[209,17,209,20]},"2852":{"location":[219,4,219,47]},"2853":{"location":[220,19,220,29]},"2854":{"location":[220,4,220,16]},"2856":{"dev":"dev: USER_ASSERT","location":[220,4,220,29]},"3046":{"location":[226,13,226,14]},"3051":{"location":[226,16,226,17]},"3056":{"location":[226,21,226,22]},"3061":{"location":[226,24,226,25]},"3066":{"location":[226,29,226,30]},"3071":{"location":[226,32,226,33]},"309":{"location":[76,70,76,79]},"310":{"location":[76,70,76,79]},"3120":{"location":[231,13,231,14]},"3127":{"location":[231,16,231,17]},"3134":{"location":[231,21,231,22]},"3141":{"location":[231,24,231,25]},"3148":{"location":[231,29,231,30]},"3155":{"location":[231,32,231,33]},"319":{"location":[76,4,76,80]},"320":{"location":[76,4,76,80]},"321":{"location":[76,65,76,68]},"323":{"location":[76,4,76,80]},"324":{"location":[76,4,76,80]},"363":{"location":[76,21,76,35]},"367":{"location":[76,37,76,52]},"382":{"location":[76,54,76,63]},"418":{"location":[76,54,76,63]},"419":{"location":[76,54,76,63]},"43":{"location":[67,22,67,22]},"45":{"location":[67,4,67,22]},"485":{"location":[76,4,76,80]},"487":{"dev":"dev: USER_ASSERT","location":[76,4,76,80]},"520":{"location":[79,15,79,32]},"522":{"location":[79,15,79,32]},"523":{"location":[80,22,80,30]},"526":{"location":[80,4,80,19]},"529":{"location":[81,22,81,30]},"531":{"location":[81,4,81,31]},"532":{"location":[81,4,81,31]},"5478":{"location":[246,13,246,23]},"5484":{"location":[246,25,246,35]},"5490":{"location":[246,37,246,47]},"565":{"location":[81,4,81,31]},"5669":{"location":[266,14,266,34]},"567":{"location":[81,4,81,31]},"5675":{"dev":"dev: USER_ASSERT","location":[266,14,266,34]},"569":{"dev":"dev: USER_ASSERT","location":[81,4,81,31]},"602":{"location":[84,15,84,32]},"604":{"location":[84,15,84,32]},"605":{"location":[85,4,85,17]},"607":{"location":[85,18,85,26]},"610":{"location":[85,4,85,27]},"612":{"location":[85,4,85,27]},"613":{"location":[85,4,85,27]},"615":{"location":[85,4,85,27]},"616":{"location":[85,4,85,27]},"618":{"location":[85,4,85,27]},"620":{"location":[85,4,85,27]},"621":{"location":[85,4,85,34]},"622":{"location":[85,4,85,34]},"623":{"location":[85,31,85,34]},"627":{"location":[85,4,85,34]},"629":{"dev":"dev: Integer overflow","location":[85,4,85,34]},"636":{"location":[85,4,85,34]},"637":{"location":[85,4,85,34]},"638":{"location":[85,4,85,34]},"639":{"location":[85,4,85,34]},"640":{"location":[85,4,85,34]},"642":{"dev":"dev: USER_ASSERT","location":[85,4,85,34]},"664":{"location":[90,24,90,34]},"672":{"dev":"dev: USER_ASSERT","location":[90,39,90,53]},"701":{"location":[95,42,95,52]},"709":{"location":[95,57,95,71]},"713":{"dev":"dev: USER_ASSERT","location":[95,80,95,81]},"743":{"location":[100,31,100,32]},"748":{"location":[100,50,100,60]},"756":{"dev":"dev: USER_ASSERT","location":[100,65,100,79]},"78":{"location":[67,4,67,22]},"785":{"location":[105,43,105,53]},"793":{"location":[105,58,105,72]},"797":{"location":[105,81,105,82]},"80":{"location":[67,4,67,22]},"802":{"dev":"dev: USER_ASSERT","location":[105,86,105,87]},"82":{"location":[67,4,67,22]},"83":{"location":[68,22,68,22]},"832":{"location":[110,12,110,13]},"837":{"location":[110,35,110,36]},"842":{"location":[110,54,110,64]},"85":{"location":[68,4,68,22]},"850":{"location":[110,69,110,83]},"883":{"location":[115,4,115,44]},"898":{"location":[116,11,116,22]}},"runtimeBytecode":{"bytecode":"0x6003361161000c576117d3565b60003560e01c346117d957632beb1711811861007c57600436106117d95760007f1a7c56fae0af54ebae73bc4699b9de9835e7bb86b050dff7e80695b633f17abd60006040a260017fe5299d63f5ecdd1740024ea0902bd82cc8dc6b51d69078e007096f907615ced560006040a2005b633fb5c1cb81186101e957602436106117d9576000543318156100f657600b6040527f21617574686f72697a656400000000000000000000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b6005600435146117d95760015460025560043560015560076080527f44796e616d69630000000000000000000000000000000000000000000000000060a05260808051602082012090506004357fa84473122c11e32cd505595f246a28418b8ecd6cf819f4e3915363fad1b8f9686060600143034060c05260025460e052806101005260076040527f44796e616d69630000000000000000000000000000000000000000000000000060605260408160c00181518082526020830160208301815181525050508051806020830101601f82600003163682375050601f19601f82516020010116905090508101905060c0a3005b63e30081a0811861023b57602436106117d9576004358060a01c6117d9576040526040516003556040517f7ff7bacc6cd661809ed1ddce28d4ad2c5b37779b61b9e3235f8262be529101a960006060a2005b63e30443bc811861028457604436106117d9576004358060a01c6117d9576040526004604051602052600052604060002080546024358082018281106117d95790509050815550005b6309b1b3f281186102a957600436106117d95733604052600143034060605260406040f35b6302f487d681186102d357600436106117d957336040526001430340606052600160805260606040f35b63a420b5a581186102fd57600436106117d957600260405233606052600143034060805260606040f35b63e9f7fd14811861032c57600436106117d9573360405260014303406060526001608052600160a05260806040f35b63a2fbee53811861035b57600436106117d9576002604052600260605233608052600143034060a05260806040f35b637a79591d81186103de57600436106117d95760006040526020806102e052806102e00160006040518083528060061b600082600a81116117d95780156103c957905b8060061b60208701018160061b6060018051825260208101516020830152505060010181811861039e575b505082016020019150509050810190506102e0f35b63a4f6d26b81186104cd57600436106117d957600060405260006102e05260408061058052806105800160006040518083528060061b600082600a81116117d957801561045257905b8060061b60208701018160061b60600180518252602081015160208301525050600101818118610427575b50508201602001915050905081019050806105a052806105800160006102e0518083528060061b600082600a81116117d95780156104b857905b8060061b60208701018160061b610300018051825260208101516020830152505060010181811861048c575b50508201602001915050905081019050610580f35b63252e423e811861057d57600436106117d95760e03660403760e06040516101a0526060516101c0526080516101e05260a0516102005260c0516102205260e051610240528061026052806101a0016000610100518083528060061b600082600281116117d957801561056857905b8060061b60208701018160061b610120018051825260208101516020830152505060010181811861053c575b505082016020019150509050810190506101a0f35b63c2f14839811861068f57600436106117d9576103c03660403760006104005260405161042052606051610440526080516104605260a0516104805260c0516104a05260e0516104c052610100516104e05261012051610500526101405161052052610160516105405261018051610560526101a051610580526101c0516105a0526101e0516105c052610200516105e05261022051610600526102405161062052610260516106405261028051610660526102a051610680526102c0516106a0526102e0516106c052610300516106e05261032051610700526103405161072052610360516107405261038051610760526103a051610780526103c0516107a0526103e0516107c0526103e0610400f35b63a5c1b662811861077057600436106117d957600060405260006101a05260408061044052806104400160006040518083528060051b600082600a81116117d95780156106f557905b8060051b606001518160051b6020880101526001018181186106d8575b505082016020019150509050810190508061046052806104400160006101a0518083528060061b600082600a81116117d957801561075b57905b8060061b60208701018160061b6101c0018051825260208101516020830152505060010181811861072f575b50508201602001915050905081019050610440f35b6342ce1ec681186107ab57600436106117d95760016040523360605260014303406080523360a052600143034060c052600260e05260c06040f35b63052f3e76811861080e57600436106117d95760208060405280604001600060008252600060006000600181116117d95780156107fb57905b60008160051b6020870101526001018181186107e4575b5050810160200190509050810190506040f35b63b345ad96811861088957600436106117d957602080604052806040016000600160a052600160c052600060a0518084528060051b600082600181116117d957801561087357905b8060051b60c001518160051b602089010152600101818118610856575b5050820160200191505090509050810190506040f35b6335417bf4811861091257600436106117d957602080604052806040016000600360e052600161010052600261012052600361014052600060e0518084528060051b600082600381116117d95780156108fc57905b8060051b61010001518160051b6020890101526001018181186108de575b5050820160200191505090509050810190506040f35b63a5b0930d811861099157600436106117d957602080604052806040016000600260c0523360e0523361010052600060c0518084528060051b600082600281116117d957801561097b57905b8060051b60e001518160051b60208901015260010181811861095e575b5050820160200191505090509050810190506040f35b639bfb2ad88118610a4a57600436106117d957602080604052806040016000600261014052336101605260014303406101805260016101a052336101c05260014303406101e05260026102005260006101405180845260608102600082600281116117d9578015610a3457905b606081026020880101606082026101600180518252602081015160208301526040810151604083015250506001018181186109fe575b5050820160200191505090509050810190506040f35b633ce80e948118610a8557600436106117d9576001604052336060526001430340608052600260a0523360c052600143034060e05260c06040f35b6343790b648118610aa657600436106117d957610280366040376102806040f35b63d4d64b358118610ac757600436106117d957610500366040376105006040f35b63650543a38118610aeb57600436106117d957607b60405261014160605260406040f35b63243e09638118610b0a57600436106117d95760403660403760406040f35b638ba6052d8118610bd257600436106117d95761028036604037336040526040516102c0526060516102e0526080516103005260a0516103205260c0516103405260e051610360526101005161038052610120516103a052610140516103c052610160516103e05261018051610400526101a051610420526101c051610440526101e051610460526102005161048052610220516104a052610240516104c052610260516104e05261028051610500526102a0516105205261028036610540376105006102c0f35b63ccd62aa48118610c0957600436106117d957600160405260026060526003608052600460a052600560c052600660e05260c06040f35b636126c87f8118610cbe57600436106117d957602080604052806040016000600362010080526001620100a0526002620100c0526003620100e052600462010100526005620101205260066201014052600062010080518084528060061b60008261040081116117d9578015610ca857905b8060061b60208801018160061b620100a00180518252602081015160208301525050600101818118610c7b575b5050820160200191505090509050810190506040f35b6394a66fc98118610de157600436106117d95760208060405280604001606080825280820160006005548083528060051b60008261040081116117d9578015610d1d57905b80600601548160051b602088010152600101818118610d03575b505082016020019150509050810190508060208301528082016000610406548083528060051b60008261040081116117d9578015610d7257905b8061040701548160051b602088010152600101818118610d57575b505082016020019150509050810190508060408301528082016000610807548083528060051b60008261040081116117d9578015610dc757905b8061080801548160051b602088010152600101818118610dac575b505082016020019150509050810190509050810190506040f35b63abeb2022811861153f57600436106117d9576020806040528060400160a08082528082016000610c08548083528060051b60008261040081116117d9578015610f5d57905b828160051b602088010152610c038102610c09018360208801016060808252808201600084548083528060051b60008261040081116117d9578015610e8457905b8060018a0101548160051b602088010152600101818118610e68575b505082016020019150509050810190508060208301526104018301818301600082548083528060051b60008261040081116117d9578015610edd57905b806001880101548160051b602088010152600101818118610ec1575b5050820160200191505090509050810190508060408301526108028301818301600082548083528060051b60008261040081116117d9578015610f3857905b806001880101548160051b602088010152600101818118610f1c575b5050820160200191505090509050810190509050905083019250600101818118610e27575b50508201602001915050905081019050806020830152808201600062301809548083528060051b60008261040081116117d95780156110cf57905b828160051b602088010152610c0381026230180a018360208801016060808252808201600084548083528060051b60008261040081116117d9578015610ff657905b8060018a0101548160051b602088010152600101818118610fda575b505082016020019150509050810190508060208301526104018301818301600082548083528060051b60008261040081116117d957801561104f57905b806001880101548160051b602088010152600101818118611033575b5050820160200191505090509050810190508060408301526108028301818301600082548083528060051b60008261040081116117d95780156110aa57905b806001880101548160051b60208801015260010181811861108e575b5050820160200191505090509050810190509050905083019250600101818118610f98575b5050820160200191505090508101905080604083015280820160006260240a548083528060051b60008261040081116117d957801561124157905b828160051b602088010152610c0381026260240b018360208801016060808252808201600084548083528060051b60008261040081116117d957801561116857905b8060018a0101548160051b60208801015260010181811861114c575b505082016020019150509050810190508060208301526104018301818301600082548083528060051b60008261040081116117d95780156111c157905b806001880101548160051b6020880101526001018181186111a5575b5050820160200191505090509050810190508060408301526108028301818301600082548083528060051b60008261040081116117d957801561121c57905b806001880101548160051b602088010152600101818118611200575b505082016020019150509050905081019050905090508301925060010181811861110a575b5050820160200191505090508101905080606083015280820160006290300b548083528060051b60008261040081116117d95780156113b357905b828160051b602088010152610c0381026290300c018360208801016060808252808201600084548083528060051b60008261040081116117d95780156112da57905b8060018a0101548160051b6020880101526001018181186112be575b505082016020019150509050810190508060208301526104018301818301600082548083528060051b60008261040081116117d957801561133357905b806001880101548160051b602088010152600101818118611317575b5050820160200191505090509050810190508060408301526108028301818301600082548083528060051b60008261040081116117d957801561138e57905b806001880101548160051b602088010152600101818118611372575b505082016020019150509050905081019050905090508301925060010181811861127c575b50508201602001915050905081019050806080830152808201600062c03c0c548083528060051b60008261040081116117d957801561152557905b828160051b602088010152610c03810262c03c0d018360208801016060808252808201600084548083528060051b60008261040081116117d957801561144c57905b8060018a0101548160051b602088010152600101818118611430575b505082016020019150509050810190508060208301526104018301818301600082548083528060051b60008261040081116117d95780156114a557905b806001880101548160051b602088010152600101818118611489575b5050820160200191505090509050810190508060408301526108028301818301600082548083528060051b60008261040081116117d957801561150057905b806001880101548160051b6020880101526001018181186114e4575b50508201602001915050905090508101905090509050830192506001018181186113ee575b505082016020019150509050810190509050810190506040f35b6399e74a4c81186115ee57600436106117d9576020806040528060400160006002620180805233620180a05233620180c05233620180e0526060366201810037600062018080518084526060810260008261040081116117d95780156115d857905b60608102602088010160608202620180a00180518252602081015160208301526040810151604083015250506001018181186115a1575b5050820160200191505090509050810190506040f35b63acab48d881186116045761014436106117d957005b6378c067b0811861162d57604436106117d9576004358060a01c6117d957604052602435606052005b637b92b7ce811861166a57608436106117d9576004358060a01c6117d9576040526024356060526044358060a01c6117d95760805260643560a052005b638da5cb5b811861168957600436106117d95760005460405260206040f35b6323fd0e4081186116a857600436106117d95760015460405260206040f35b634825cf6f81186116c757600436106117d95760025460405260206040f35b636cbceeec81186116e657600436106117d95760035460405260206040f35b6327e235e3811861172157602436106117d9576004358060a01c6117d957604052600460405160205260005260406000205460605260206060f35b63d3aaff6d811861176357604436106117d957610401600435600281116117d9570260050160243581548110156117d957600182010190505460405260206040f35b63ae8ef2cb81186117d157608436106117d95762300c01600435600481116117d95702610c0801610c0360243582548110156117d9570260018201019050610401604435600281116117d957028101905060643581548110156117d957600182010190505460405260206040f35b505b60006000fd5b600080fda165767970657283000307000b"},"sourceId":"TestContractVy.vy","sourcemap":"-1:-1:2:-;;;;:::-;;:::-;:::-;;;;;;;:::-;;;;;:::-;;;;;:::-;1329:0;1311:18;;;;1352:0;1334:18;;;;-1:-1;:::-;;;;;:::-;;;;;:::-;1418:10;1404:24;:10;:24;;1397:46;:::-;-1:-1;;1430:13;-1:-1;;1430:13;;1397:46;-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1397:46::-;1462:1;1589:3;1455:8;-1:-1;1448:15;:::-;1486:13;-1:-1;1468:15;-1:-1;1589:3;-1:-1;1504:13;:19;-1:-1;;1594:9;-1:-1;;1594:9;;-1:-1;;;;;;1528:76;;1589:3;1528:76;;-1:-1;;;;1545:14;-1:-1;;1561:15;-1:-1;;;;;;;;1578:9;-1:-1;;1578:9;;-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1528:76;;-1:-1;:::-;;;;;:::-;;;;;:::-;;;;;;;:::-;1631:17;;1673:8;-1:-1;1655:15;-1:-1;1704:8;1686:27;;;;;-1:-1;:::-;;;;;:::-;;;;;:::-;;;;;;;:::-;1740:17;;1778:13;1792:8;-1:-1;1778:23;;;;;;;:30;;1805:3;-1:-1;;1778:30;-1:-1;1778:30;-1:-1;;;:::-;1778:30;;;;;-1:-1;1778:30;-1:-1;:::-;;;;;:::-;;;;;:::-;1879:10;-1:-1;;;;;1894:14;-1:-1;;;;;:::-;;;;;:::-;;;;;:::-;2011:10;-1:-1;;;;;2026:14;-1:-1;;2049:1;-1:-1;;;;;:::-;;;;;:::-;;;;;:::-;2142:1;-1:-1;;2161:10;-1:-1;;;;;2176:14;-1:-1;;;;;:::-;;;;;:::-;;;;;:::-;2316:10;-1:-1;;;;;2331:14;-1:-1;;2354:1;-1:-1;;2359:1;-1:-1;;;;;:::-;;;;;:::-;;;;;:::-;2452:1;-1:-1;;2475:1;-1:-1;;2494:10;-1:-1;;;;;2509:14;-1:-1;;;;;:::-;;;;;:::-;;;;;:::-;;;2609:40;-1:-1;;;;;;;;2661:11;-1:-1;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;:::-;;;;;:::-;;;;;:::-;;;2784:42;-1:-1;;2831:42;-1:-1;;;;;;;;2886:13;-1:-1;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;2901:13;-1:-1;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;:::-;;;;;:::-;;;;;:::-;3034:47;;;;-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3155:13;-1:-1;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;:::-;;;;;:::-;;;;;:::-;;;;3259:55;3326:1;-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;;:::-;;;;;:::-;;;3445:37;-1:-1;;3487:40;-1:-1;;;;;;;;3539:9;-1:-1;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;3550:11;-1:-1;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;:::-;;;;;:::-;;;;;:::-;3667:1;-1:-1;;3718:10;-1:-1;;;;;3733:14;-1:-1;;3780:10;-1:-1;;;;;3795:14;-1:-1;;3844:1;-1:-1;;;;;:::-;;;;;:::-;;;;;:::-;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;:::-;;;;;:::-;;;;;:::-;;;;;;;;;;;;4017:1;-1:-1;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;:::-;;;;;:::-;;;;;:::-;;;;;;;;;;;;4095:1;-1:-1;;4098:1;-1:-1;;4101:1;-1:-1;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;:::-;;;;;:::-;;;;;:::-;;;;;;;;;;;;4180:10;-1:-1;;4192:10;-1:-1;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;:::-;;;;;:::-;;;;;:::-;;;;;;;;;;;;4332:10;-1:-1;;;;;4347:14;-1:-1;;4370:1;-1:-1;;4414:10;-1:-1;;;;;4429:14;-1:-1;;4452:1;-1:-1;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;:::-;;;;;:::-;;;;;:::-;4568:1;-1:-1;;4587:10;-1:-1;;;;;4602:14;-1:-1;;4650:1;-1:-1;;4669:10;-1:-1;;;;;4684:14;-1:-1;;;;;:::-;;;;;:::-;;;;;:::-;;;;;;;;:::-;;;;;:::-;;;;;:::-;;;;;;;;:::-;;;;;:::-;;;;;:::-;5001:3;-1:-1;;5006:3;-1:-1;;;;;:::-;;;;;:::-;;;;;:::-;;;;;;;;:::-;;;;;:::-;;;;;:::-;;;;5172:43;5235:10;5220:12;:25;-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;;:::-;;;;;:::-;5368:1;-1:-1;;5371:1;-1:-1;;5376:1;-1:-1;;5379:1;-1:-1;;5384:1;-1:-1;;5387:1;-1:-1;;;;;:::-;;;;;:::-;;;;;:::-;;;;;;;;;;;;5485:1;-1:-1;;5488:1;-1:-1;;5493:1;-1:-1;;5496:1;-1:-1;;5501:1;-1:-1;;5504:1;-1:-1;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;:::-;;;;;:::-;;;;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;;:::-;;;;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;;:::-;;;;;:::-;;;;;;;;;;;;5830:10;-1:-1;;5842:10;-1:-1;;5854:10;-1:-1;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;:::-;;;;;:::-;;;;;:::-;;:::-;;;;;:::-;;;;;:::-;;;;;;;:::-;;6187:20;-1:-1;;;6187:20;-1:-1;:::-;;;;;:::-;;;;;:::-;;;;;;;:::-;;;;;;;;;;;;;:::-;;;;;;;;:::-;;;;;:::-;;;;;:::-;;;;;;;;:::-;;;;;:::-;;;;;:::-;;;;;;;;:::-;;;;;:::-;;;;;:::-;;;;;;;;:::-;;;;;:::-;;;;;:::-;;;;;;;;:::-;;;;;:::-;;;;;:::-;;;;;;;:::-;;;;;;;;;;;;;;;;;;;:::-;;;;;:::-;;;;;:::-;;;;;;;;:::-;;;;;;;;;;;;:::-;;;;;;;;;;;;;:::-;;;;;:::-;;;;;:::-;;;;;;;;:::-;;;;;;;;;;;;;:::-;;;;;;;;;;;;;;;:::-;;;;;;;;;;;;;;:::-;;;;;;;;;;;;;:::-;;:::-;;;;:::-;;;","userdoc":{}} \ No newline at end of file +{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"name":"b","type":"bytes32"},{"indexed":false,"name":"prevNum","type":"uint256"},{"indexed":false,"name":"dynData","type":"string"},{"indexed":true,"name":"newNum","type":"uint256"},{"indexed":true,"name":"dynIndexed","type":"string"}],"name":"NumberChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newAddress","type":"address"}],"name":"AddressChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"foo","type":"uint256"}],"name":"FooHappened","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"bar","type":"uint256"}],"name":"BarHappened","type":"event"},{"anonymous":false,"inputs":[{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"indexed":false,"name":"a_struct","type":"tuple"}],"name":"EventWithStruct","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"some_id","type":"uint256"},{"indexed":false,"name":"some_address","type":"address"},{"indexed":false,"name":"participants","type":"address[]"},{"indexed":false,"name":"agents","type":"address[1]"}],"name":"EventWithAddressArray","type":"event"},{"inputs":[{"name":"num","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"fooAndBar","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"num","type":"uint256"}],"name":"setNumber","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_address","type":"address"}],"name":"setAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_address","type":"address"},{"name":"bal","type":"uint256"}],"name":"setBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getStruct","outputs":[{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedStruct1","outputs":[{"components":[{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"t","type":"tuple"},{"name":"foo","type":"uint256"}],"name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedStruct2","outputs":[{"components":[{"name":"foo","type":"uint256"},{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"t","type":"tuple"}],"name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedStructWithTuple1","outputs":[{"components":[{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"t","type":"tuple"},{"name":"foo","type":"uint256"}],"name":"","type":"tuple"},{"name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedStructWithTuple2","outputs":[{"name":"","type":"uint256"},{"components":[{"name":"foo","type":"uint256"},{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"t","type":"tuple"}],"name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getEmptyDynArrayOfStructs","outputs":[{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"","type":"tuple[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getEmptyTupleOfDynArrayStructs","outputs":[{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"","type":"tuple[]"},{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"","type":"tuple[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getEmptyTupleOfArrayOfStructsAndDynArrayOfStructs","outputs":[{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"","type":"tuple[3]"},{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTupleOfIntAndStructArray","outputs":[{"name":"","type":"uint256"},{"components":[{"name":"one","type":"uint256"},{"name":"two","type":"uint256"},{"name":"three","type":"uint256"},{"name":"four","type":"uint256"},{"name":"five","type":"uint256"},{"name":"six","type":"uint256"}],"name":"","type":"tuple[5]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getEmptyTupleOfIntAndDynArray","outputs":[{"name":"","type":"uint256[]"},{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"","type":"tuple[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getStructWithArray","outputs":[{"components":[{"name":"foo","type":"uint256"},{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"arr","type":"tuple[2]"},{"name":"bar","type":"uint256"}],"name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getEmptyArray","outputs":[{"name":"","type":"uint256[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getSingleItemArray","outputs":[{"name":"","type":"uint256[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getFilledArray","outputs":[{"name":"","type":"uint256[]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getAddressArray","outputs":[{"name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDynamicStructArray","outputs":[{"components":[{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"t","type":"tuple"},{"name":"foo","type":"uint256"}],"name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStaticStructArray","outputs":[{"components":[{"name":"foo","type":"uint256"},{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"t","type":"tuple"}],"name":"","type":"tuple[2]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getArrayWithBiggerSize","outputs":[{"name":"","type":"uint256[20]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getTupleOfArrays","outputs":[{"name":"","type":"uint256[20]"},{"name":"","type":"uint256[20]"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getMultipleValues","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getUnnamedTuple","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getTupleOfAddressArray","outputs":[{"name":"","type":"address[20]"},{"name":"","type":"uint128[20]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedArrayFixedFixed","outputs":[{"name":"","type":"uint256[2][3]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedArrayDynamicFixed","outputs":[{"name":"","type":"uint256[2][]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedArrayFixedDynamic","outputs":[{"name":"","type":"uint256[][3]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedArrayMixedDynamic","outputs":[{"name":"","type":"uint256[][3][][5]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNestedAddressArray","outputs":[{"name":"","type":"address[3][]"}],"stateMutability":"view","type":"function"},{"inputs":[{"name":"a0","type":"uint256"},{"name":"a1","type":"uint256"},{"name":"a2","type":"uint256"},{"name":"a3","type":"uint256"},{"name":"a4","type":"uint256"},{"name":"a5","type":"uint256"},{"name":"a6","type":"uint256"},{"name":"a7","type":"uint256"},{"name":"a8","type":"uint256"},{"name":"a9","type":"uint256"}],"name":"functionWithUniqueAmountOfArguments","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"_my_struct","type":"tuple"}],"name":"setStruct","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"name":"a","type":"address"},{"name":"b","type":"bytes32"}],"name":"_my_struct_array","type":"tuple[2]"}],"name":"setStructArray","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"logStruct","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"logAddressArray","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"myNumber","outputs":[{"name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"prevNumber","outputs":[{"name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"theAddress","outputs":[{"name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"name":"arg0","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"name":"arg0","type":"uint256"},{"name":"arg1","type":"uint256"}],"name":"dynArray","outputs":[{"name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"name":"arg0","type":"uint256"},{"name":"arg1","type":"uint256"},{"name":"arg2","type":"uint256"},{"name":"arg3","type":"uint256"}],"name":"mixedArray","outputs":[{"name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"ast":{"ast_type":"Module","children":[{"ast_type":"EventDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":7,"end_col_offset":14,"end_lineno":4,"lineno":4,"src":{"jump_code":"","length":7,"start":45}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":5,"end_lineno":4,"lineno":4,"src":{"jump_code":"","length":1,"start":42}}],"classification":0,"col_offset":4,"end_col_offset":14,"end_lineno":4,"lineno":4,"src":{"jump_code":"","length":10,"start":42}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":13,"end_col_offset":20,"end_lineno":5,"lineno":5,"src":{"jump_code":"","length":7,"start":66}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":11,"end_lineno":5,"lineno":5,"src":{"jump_code":"","length":7,"start":57}}],"classification":0,"col_offset":4,"end_col_offset":20,"end_lineno":5,"lineno":5,"src":{"jump_code":"","length":16,"start":57}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":20,"end_col_offset":22,"end_lineno":6,"lineno":6,"src":{"jump_code":"","length":2,"start":94}}],"classification":0,"col_offset":13,"end_col_offset":23,"end_lineno":6,"lineno":6,"src":{"jump_code":"","length":10,"start":87}},{"ast_type":"Name","children":[],"classification":1,"col_offset":13,"end_col_offset":19,"end_lineno":6,"lineno":6,"src":{"jump_code":"","length":6,"start":87}}],"classification":0,"col_offset":13,"end_col_offset":23,"end_lineno":6,"lineno":6,"src":{"jump_code":"","length":10,"start":87}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":11,"end_lineno":6,"lineno":6,"src":{"jump_code":"","length":7,"start":78}}],"classification":0,"col_offset":4,"end_col_offset":23,"end_lineno":6,"lineno":6,"src":{"jump_code":"","length":19,"start":78}},{"ast_type":"AnnAssign","children":[{"ast_type":"Call","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":20,"end_col_offset":27,"end_lineno":7,"lineno":7,"src":{"jump_code":"","length":7,"start":118}},{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":19,"end_lineno":7,"lineno":7,"src":{"jump_code":"","length":7,"start":110}}],"classification":0,"col_offset":12,"end_col_offset":28,"end_lineno":7,"lineno":7,"src":{"jump_code":"","length":16,"start":110}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":10,"end_lineno":7,"lineno":7,"src":{"jump_code":"","length":6,"start":102}}],"classification":0,"col_offset":4,"end_col_offset":28,"end_lineno":7,"lineno":7,"src":{"jump_code":"","length":24,"start":102}},{"ast_type":"AnnAssign","children":[{"ast_type":"Call","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":31,"end_col_offset":33,"end_lineno":8,"lineno":8,"src":{"jump_code":"","length":2,"start":158}}],"classification":0,"col_offset":24,"end_col_offset":34,"end_lineno":8,"lineno":8,"src":{"jump_code":"","length":10,"start":151}},{"ast_type":"Name","children":[],"classification":1,"col_offset":24,"end_col_offset":30,"end_lineno":8,"lineno":8,"src":{"jump_code":"","length":6,"start":151}}],"classification":0,"col_offset":24,"end_col_offset":34,"end_lineno":8,"lineno":8,"src":{"jump_code":"","length":10,"start":151}},{"ast_type":"Name","children":[],"classification":1,"col_offset":16,"end_col_offset":23,"end_lineno":8,"lineno":8,"src":{"jump_code":"","length":7,"start":143}}],"classification":0,"col_offset":16,"end_col_offset":35,"end_lineno":8,"lineno":8,"src":{"jump_code":"","length":19,"start":143}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":14,"end_lineno":8,"lineno":8,"src":{"jump_code":"","length":10,"start":131}}],"classification":0,"col_offset":4,"end_col_offset":35,"end_lineno":8,"lineno":8,"src":{"jump_code":"","length":31,"start":131}}],"classification":0,"col_offset":0,"end_col_offset":35,"end_lineno":8,"lineno":3,"name":"NumberChange","src":{"jump_code":"","length":144,"start":18}},{"ast_type":"EventDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Call","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":24,"end_col_offset":31,"end_lineno":11,"lineno":11,"src":{"jump_code":"","length":7,"start":209}},{"ast_type":"Name","children":[],"classification":1,"col_offset":16,"end_col_offset":23,"end_lineno":11,"lineno":11,"src":{"jump_code":"","length":7,"start":201}}],"classification":0,"col_offset":16,"end_col_offset":32,"end_lineno":11,"lineno":11,"src":{"jump_code":"","length":16,"start":201}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":14,"end_lineno":11,"lineno":11,"src":{"jump_code":"","length":10,"start":189}}],"classification":0,"col_offset":4,"end_col_offset":32,"end_lineno":11,"lineno":11,"src":{"jump_code":"","length":28,"start":189}}],"classification":0,"col_offset":0,"end_col_offset":32,"end_lineno":11,"lineno":10,"name":"AddressChange","src":{"jump_code":"","length":53,"start":164}},{"ast_type":"EventDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Call","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":17,"end_col_offset":24,"end_lineno":14,"lineno":14,"src":{"jump_code":"","length":7,"start":255}},{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":16,"end_lineno":14,"lineno":14,"src":{"jump_code":"","length":7,"start":247}}],"classification":0,"col_offset":9,"end_col_offset":25,"end_lineno":14,"lineno":14,"src":{"jump_code":"","length":16,"start":247}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":14,"lineno":14,"src":{"jump_code":"","length":3,"start":242}}],"classification":0,"col_offset":4,"end_col_offset":25,"end_lineno":14,"lineno":14,"src":{"jump_code":"","length":21,"start":242}}],"classification":0,"col_offset":0,"end_col_offset":25,"end_lineno":14,"lineno":13,"name":"FooHappened","src":{"jump_code":"","length":44,"start":219}},{"ast_type":"EventDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Call","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":17,"end_col_offset":24,"end_lineno":17,"lineno":17,"src":{"jump_code":"","length":7,"start":301}},{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":16,"end_lineno":17,"lineno":17,"src":{"jump_code":"","length":7,"start":293}}],"classification":0,"col_offset":9,"end_col_offset":25,"end_lineno":17,"lineno":17,"src":{"jump_code":"","length":16,"start":293}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":17,"lineno":17,"src":{"jump_code":"","length":3,"start":288}}],"classification":0,"col_offset":4,"end_col_offset":25,"end_lineno":17,"lineno":17,"src":{"jump_code":"","length":21,"start":288}}],"classification":0,"col_offset":0,"end_col_offset":25,"end_lineno":17,"lineno":16,"name":"BarHappened","src":{"jump_code":"","length":44,"start":265}},{"ast_type":"EventDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":14,"end_col_offset":22,"end_lineno":20,"lineno":20,"src":{"jump_code":"","length":8,"start":348}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":12,"end_lineno":20,"lineno":20,"src":{"jump_code":"","length":8,"start":338}}],"classification":0,"col_offset":4,"end_col_offset":22,"end_lineno":20,"lineno":20,"src":{"jump_code":"","length":18,"start":338}}],"classification":0,"col_offset":0,"end_col_offset":22,"end_lineno":20,"lineno":19,"name":"EventWithStruct","src":{"jump_code":"","length":45,"start":311}},{"ast_type":"EventDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":13,"end_col_offset":20,"end_lineno":23,"lineno":23,"src":{"jump_code":"","length":7,"start":400}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":11,"end_lineno":23,"lineno":23,"src":{"jump_code":"","length":7,"start":391}}],"classification":0,"col_offset":4,"end_col_offset":20,"end_lineno":23,"lineno":23,"src":{"jump_code":"","length":16,"start":391}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":18,"end_col_offset":25,"end_lineno":24,"lineno":24,"src":{"jump_code":"","length":7,"start":426}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":16,"end_lineno":24,"lineno":24,"src":{"jump_code":"","length":12,"start":412}}],"classification":0,"col_offset":4,"end_col_offset":25,"end_lineno":24,"lineno":24,"src":{"jump_code":"","length":21,"start":412}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":27,"end_col_offset":34,"end_lineno":25,"lineno":25,"src":{"jump_code":"","length":7,"start":461}},{"ast_type":"Int","children":[],"classification":0,"col_offset":36,"end_col_offset":40,"end_lineno":25,"lineno":25,"src":{"jump_code":"","length":4,"start":470}}],"classification":0,"col_offset":27,"end_col_offset":40,"end_lineno":25,"lineno":25,"src":{"jump_code":"","length":13,"start":461}}],"classification":0,"col_offset":18,"end_col_offset":41,"end_lineno":25,"lineno":25,"src":{"jump_code":"","length":23,"start":452}},{"ast_type":"Name","children":[],"classification":1,"col_offset":18,"end_col_offset":26,"end_lineno":25,"lineno":25,"src":{"jump_code":"","length":8,"start":452}}],"classification":0,"col_offset":18,"end_col_offset":41,"end_lineno":25,"lineno":25,"src":{"jump_code":"","length":23,"start":452}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":16,"end_lineno":25,"lineno":25,"src":{"jump_code":"","length":12,"start":438}}],"classification":0,"col_offset":4,"end_col_offset":41,"end_lineno":25,"lineno":25,"src":{"jump_code":"","length":37,"start":438}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":20,"end_col_offset":21,"end_lineno":26,"lineno":26,"src":{"jump_code":"","length":1,"start":496}}],"classification":0,"col_offset":12,"end_col_offset":22,"end_lineno":26,"lineno":26,"src":{"jump_code":"","length":10,"start":488}},{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":19,"end_lineno":26,"lineno":26,"src":{"jump_code":"","length":7,"start":488}}],"classification":0,"col_offset":12,"end_col_offset":22,"end_lineno":26,"lineno":26,"src":{"jump_code":"","length":10,"start":488}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":10,"end_lineno":26,"lineno":26,"src":{"jump_code":"","length":6,"start":480}}],"classification":0,"col_offset":4,"end_col_offset":22,"end_lineno":26,"lineno":26,"src":{"jump_code":"","length":18,"start":480}}],"classification":0,"col_offset":0,"end_col_offset":22,"end_lineno":26,"lineno":22,"name":"EventWithAddressArray","src":{"jump_code":"","length":140,"start":358}},{"ast_type":"StructDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":7,"end_col_offset":14,"end_lineno":29,"lineno":29,"src":{"jump_code":"","length":7,"start":524}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":5,"end_lineno":29,"lineno":29,"src":{"jump_code":"","length":1,"start":521}}],"classification":0,"col_offset":4,"end_col_offset":14,"end_lineno":29,"lineno":29,"src":{"jump_code":"","length":10,"start":521}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":7,"end_col_offset":14,"end_lineno":30,"lineno":30,"src":{"jump_code":"","length":7,"start":539}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":5,"end_lineno":30,"lineno":30,"src":{"jump_code":"","length":1,"start":536}}],"classification":0,"col_offset":4,"end_col_offset":14,"end_lineno":30,"lineno":30,"src":{"jump_code":"","length":10,"start":536}}],"classification":0,"col_offset":0,"end_col_offset":14,"end_lineno":30,"lineno":28,"name":"MyStruct","src":{"jump_code":"","length":46,"start":500}},{"ast_type":"StructDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":7,"end_col_offset":15,"end_lineno":33,"lineno":33,"src":{"jump_code":"","length":8,"start":577}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":5,"end_lineno":33,"lineno":33,"src":{"jump_code":"","length":1,"start":574}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":33,"lineno":33,"src":{"jump_code":"","length":11,"start":574}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":16,"end_lineno":34,"lineno":34,"src":{"jump_code":"","length":7,"start":595}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":34,"lineno":34,"src":{"jump_code":"","length":3,"start":590}}],"classification":0,"col_offset":4,"end_col_offset":16,"end_lineno":34,"lineno":34,"src":{"jump_code":"","length":12,"start":590}}],"classification":0,"col_offset":0,"end_col_offset":16,"end_lineno":34,"lineno":32,"name":"NestedStruct1","src":{"jump_code":"","length":54,"start":548}},{"ast_type":"StructDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":16,"end_lineno":37,"lineno":37,"src":{"jump_code":"","length":7,"start":635}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":37,"lineno":37,"src":{"jump_code":"","length":3,"start":630}}],"classification":0,"col_offset":4,"end_col_offset":16,"end_lineno":37,"lineno":37,"src":{"jump_code":"","length":12,"start":630}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":7,"end_col_offset":15,"end_lineno":38,"lineno":38,"src":{"jump_code":"","length":8,"start":650}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":5,"end_lineno":38,"lineno":38,"src":{"jump_code":"","length":1,"start":647}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":38,"lineno":38,"src":{"jump_code":"","length":11,"start":647}}],"classification":0,"col_offset":0,"end_col_offset":15,"end_lineno":38,"lineno":36,"name":"NestedStruct2","src":{"jump_code":"","length":54,"start":604}},{"ast_type":"StructDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":16,"end_lineno":41,"lineno":41,"src":{"jump_code":"","length":7,"start":687}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":41,"lineno":41,"src":{"jump_code":"","length":3,"start":682}}],"classification":0,"col_offset":4,"end_col_offset":16,"end_lineno":41,"lineno":41,"src":{"jump_code":"","length":12,"start":682}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":18,"end_col_offset":19,"end_lineno":42,"lineno":42,"src":{"jump_code":"","length":1,"start":713}}],"classification":0,"col_offset":9,"end_col_offset":20,"end_lineno":42,"lineno":42,"src":{"jump_code":"","length":11,"start":704}},{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":17,"end_lineno":42,"lineno":42,"src":{"jump_code":"","length":8,"start":704}}],"classification":0,"col_offset":9,"end_col_offset":20,"end_lineno":42,"lineno":42,"src":{"jump_code":"","length":11,"start":704}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":42,"lineno":42,"src":{"jump_code":"","length":3,"start":699}}],"classification":0,"col_offset":4,"end_col_offset":20,"end_lineno":42,"lineno":42,"src":{"jump_code":"","length":16,"start":699}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":16,"end_lineno":43,"lineno":43,"src":{"jump_code":"","length":7,"start":725}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":43,"lineno":43,"src":{"jump_code":"","length":3,"start":720}}],"classification":0,"col_offset":4,"end_col_offset":16,"end_lineno":43,"lineno":43,"src":{"jump_code":"","length":12,"start":720}}],"classification":0,"col_offset":0,"end_col_offset":16,"end_lineno":43,"lineno":40,"name":"WithArray","src":{"jump_code":"","length":72,"start":660}},{"ast_type":"StructDef","children":[{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":16,"end_lineno":46,"lineno":46,"src":{"jump_code":"","length":7,"start":761}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":46,"lineno":46,"src":{"jump_code":"","length":3,"start":756}}],"classification":0,"col_offset":4,"end_col_offset":16,"end_lineno":46,"lineno":46,"src":{"jump_code":"","length":12,"start":756}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":16,"end_lineno":47,"lineno":47,"src":{"jump_code":"","length":7,"start":778}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":47,"lineno":47,"src":{"jump_code":"","length":3,"start":773}}],"classification":0,"col_offset":4,"end_col_offset":16,"end_lineno":47,"lineno":47,"src":{"jump_code":"","length":12,"start":773}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":18,"end_lineno":48,"lineno":48,"src":{"jump_code":"","length":7,"start":797}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":9,"end_lineno":48,"lineno":48,"src":{"jump_code":"","length":5,"start":790}}],"classification":0,"col_offset":4,"end_col_offset":18,"end_lineno":48,"lineno":48,"src":{"jump_code":"","length":14,"start":790}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":10,"end_col_offset":17,"end_lineno":49,"lineno":49,"src":{"jump_code":"","length":7,"start":815}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":49,"lineno":49,"src":{"jump_code":"","length":4,"start":809}}],"classification":0,"col_offset":4,"end_col_offset":17,"end_lineno":49,"lineno":49,"src":{"jump_code":"","length":13,"start":809}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":10,"end_col_offset":17,"end_lineno":50,"lineno":50,"src":{"jump_code":"","length":7,"start":833}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":50,"lineno":50,"src":{"jump_code":"","length":4,"start":827}}],"classification":0,"col_offset":4,"end_col_offset":17,"end_lineno":50,"lineno":50,"src":{"jump_code":"","length":13,"start":827}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":16,"end_lineno":51,"lineno":51,"src":{"jump_code":"","length":7,"start":850}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":51,"lineno":51,"src":{"jump_code":"","length":3,"start":845}}],"classification":0,"col_offset":4,"end_col_offset":16,"end_lineno":51,"lineno":51,"src":{"jump_code":"","length":12,"start":845}}],"classification":0,"col_offset":0,"end_col_offset":16,"end_lineno":51,"lineno":45,"name":"IntStruct","src":{"jump_code":"","length":123,"start":734}},{"ast_type":"VariableDecl","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":14,"end_col_offset":21,"end_lineno":53,"lineno":53,"src":{"jump_code":"","length":7,"start":873}},{"ast_type":"Name","children":[],"classification":1,"col_offset":0,"end_col_offset":5,"end_lineno":53,"lineno":53,"src":{"jump_code":"","length":5,"start":859}}],"classification":0,"col_offset":0,"end_col_offset":22,"end_lineno":53,"lineno":53,"src":{"jump_code":"","length":22,"start":859}},{"ast_type":"VariableDecl","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":17,"end_col_offset":24,"end_lineno":54,"lineno":54,"src":{"jump_code":"","length":7,"start":899}},{"ast_type":"Name","children":[],"classification":1,"col_offset":0,"end_col_offset":8,"end_lineno":54,"lineno":54,"src":{"jump_code":"","length":8,"start":882}}],"classification":0,"col_offset":0,"end_col_offset":25,"end_lineno":54,"lineno":54,"src":{"jump_code":"","length":25,"start":882}},{"ast_type":"VariableDecl","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":26,"end_lineno":55,"lineno":55,"src":{"jump_code":"","length":7,"start":927}},{"ast_type":"Name","children":[],"classification":1,"col_offset":0,"end_col_offset":10,"end_lineno":55,"lineno":55,"src":{"jump_code":"","length":10,"start":908}}],"classification":0,"col_offset":0,"end_col_offset":27,"end_lineno":55,"lineno":55,"src":{"jump_code":"","length":27,"start":908}},{"ast_type":"VariableDecl","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":26,"end_lineno":56,"lineno":56,"src":{"jump_code":"","length":7,"start":955}},{"ast_type":"Name","children":[],"classification":1,"col_offset":0,"end_col_offset":10,"end_lineno":56,"lineno":56,"src":{"jump_code":"","length":10,"start":936}}],"classification":0,"col_offset":0,"end_col_offset":27,"end_lineno":56,"lineno":56,"src":{"jump_code":"","length":27,"start":936}},{"ast_type":"VariableDecl","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":25,"end_col_offset":32,"end_lineno":57,"lineno":57,"src":{"jump_code":"","length":7,"start":989}},{"ast_type":"Name","children":[],"classification":1,"col_offset":34,"end_col_offset":41,"end_lineno":57,"lineno":57,"src":{"jump_code":"","length":7,"start":998}}],"classification":0,"col_offset":25,"end_col_offset":41,"end_lineno":57,"lineno":57,"src":{"jump_code":"","length":16,"start":989}}],"classification":0,"col_offset":17,"end_col_offset":42,"end_lineno":57,"lineno":57,"src":{"jump_code":"","length":25,"start":981}},{"ast_type":"Name","children":[],"classification":1,"col_offset":17,"end_col_offset":24,"end_lineno":57,"lineno":57,"src":{"jump_code":"","length":7,"start":981}}],"classification":0,"col_offset":17,"end_col_offset":42,"end_lineno":57,"lineno":57,"src":{"jump_code":"","length":25,"start":981}},{"ast_type":"Name","children":[],"classification":1,"col_offset":0,"end_col_offset":8,"end_lineno":57,"lineno":57,"src":{"jump_code":"","length":8,"start":964}}],"classification":0,"col_offset":0,"end_col_offset":43,"end_lineno":57,"lineno":57,"src":{"jump_code":"","length":43,"start":964}},{"ast_type":"VariableDecl","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":41,"end_col_offset":42,"end_lineno":58,"lineno":58,"src":{"jump_code":"","length":1,"start":1049}}],"classification":0,"col_offset":17,"end_col_offset":43,"end_lineno":58,"lineno":58,"src":{"jump_code":"","length":26,"start":1025}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":33,"end_lineno":58,"lineno":58,"src":{"jump_code":"","length":7,"start":1034}},{"ast_type":"Int","children":[],"classification":0,"col_offset":35,"end_col_offset":39,"end_lineno":58,"lineno":58,"src":{"jump_code":"","length":4,"start":1043}}],"classification":0,"col_offset":26,"end_col_offset":39,"end_lineno":58,"lineno":58,"src":{"jump_code":"","length":13,"start":1034}}],"classification":0,"col_offset":17,"end_col_offset":40,"end_lineno":58,"lineno":58,"src":{"jump_code":"","length":23,"start":1025}},{"ast_type":"Name","children":[],"classification":1,"col_offset":17,"end_col_offset":25,"end_lineno":58,"lineno":58,"src":{"jump_code":"","length":8,"start":1025}}],"classification":0,"col_offset":17,"end_col_offset":40,"end_lineno":58,"lineno":58,"src":{"jump_code":"","length":23,"start":1025}}],"classification":0,"col_offset":17,"end_col_offset":43,"end_lineno":58,"lineno":58,"src":{"jump_code":"","length":26,"start":1025}},{"ast_type":"Name","children":[],"classification":1,"col_offset":0,"end_col_offset":8,"end_lineno":58,"lineno":58,"src":{"jump_code":"","length":8,"start":1008}}],"classification":0,"col_offset":0,"end_col_offset":44,"end_lineno":58,"lineno":58,"src":{"jump_code":"","length":44,"start":1008}},{"ast_type":"VariableDecl","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":62,"end_col_offset":63,"end_lineno":59,"lineno":59,"src":{"jump_code":"","length":1,"start":1115}}],"classification":0,"col_offset":19,"end_col_offset":64,"end_lineno":59,"lineno":59,"src":{"jump_code":"","length":45,"start":1072}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":52,"end_col_offset":53,"end_lineno":59,"lineno":59,"src":{"jump_code":"","length":1,"start":1105}}],"classification":0,"col_offset":28,"end_col_offset":54,"end_lineno":59,"lineno":59,"src":{"jump_code":"","length":26,"start":1081}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":37,"end_col_offset":44,"end_lineno":59,"lineno":59,"src":{"jump_code":"","length":7,"start":1090}},{"ast_type":"Int","children":[],"classification":0,"col_offset":46,"end_col_offset":50,"end_lineno":59,"lineno":59,"src":{"jump_code":"","length":4,"start":1099}}],"classification":0,"col_offset":37,"end_col_offset":50,"end_lineno":59,"lineno":59,"src":{"jump_code":"","length":13,"start":1090}}],"classification":0,"col_offset":28,"end_col_offset":51,"end_lineno":59,"lineno":59,"src":{"jump_code":"","length":23,"start":1081}},{"ast_type":"Name","children":[],"classification":1,"col_offset":28,"end_col_offset":36,"end_lineno":59,"lineno":59,"src":{"jump_code":"","length":8,"start":1081}}],"classification":0,"col_offset":28,"end_col_offset":51,"end_lineno":59,"lineno":59,"src":{"jump_code":"","length":23,"start":1081}}],"classification":0,"col_offset":28,"end_col_offset":54,"end_lineno":59,"lineno":59,"src":{"jump_code":"","length":26,"start":1081}},{"ast_type":"Int","children":[],"classification":0,"col_offset":56,"end_col_offset":60,"end_lineno":59,"lineno":59,"src":{"jump_code":"","length":4,"start":1109}}],"classification":0,"col_offset":28,"end_col_offset":60,"end_lineno":59,"lineno":59,"src":{"jump_code":"","length":32,"start":1081}}],"classification":0,"col_offset":19,"end_col_offset":61,"end_lineno":59,"lineno":59,"src":{"jump_code":"","length":42,"start":1072}},{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":27,"end_lineno":59,"lineno":59,"src":{"jump_code":"","length":8,"start":1072}}],"classification":0,"col_offset":19,"end_col_offset":61,"end_lineno":59,"lineno":59,"src":{"jump_code":"","length":42,"start":1072}}],"classification":0,"col_offset":19,"end_col_offset":64,"end_lineno":59,"lineno":59,"src":{"jump_code":"","length":45,"start":1072}},{"ast_type":"Name","children":[],"classification":1,"col_offset":0,"end_col_offset":10,"end_lineno":59,"lineno":59,"src":{"jump_code":"","length":10,"start":1053}}],"classification":0,"col_offset":0,"end_col_offset":65,"end_lineno":59,"lineno":59,"src":{"jump_code":"","length":65,"start":1053}},{"ast_type":"VariableDecl","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":26,"end_lineno":61,"lineno":61,"src":{"jump_code":"","length":7,"start":1139}},{"ast_type":"Name","children":[],"classification":1,"col_offset":0,"end_col_offset":7,"end_lineno":61,"lineno":61,"src":{"jump_code":"","length":7,"start":1120}},{"ast_type":"Int","children":[],"classification":0,"col_offset":30,"end_col_offset":31,"end_lineno":61,"lineno":61,"src":{"jump_code":"","length":1,"start":1150}}],"classification":0,"col_offset":0,"end_col_offset":31,"end_lineno":61,"lineno":61,"src":{"jump_code":"","length":31,"start":1120}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":18,"end_col_offset":25,"end_lineno":64,"lineno":64,"src":{"jump_code":"","length":7,"start":1181}}],"classification":0,"col_offset":13,"end_col_offset":25,"end_lineno":64,"lineno":64,"src":{"jump_code":"","length":12,"start":1176}}],"classification":1,"col_offset":13,"end_col_offset":25,"end_lineno":64,"lineno":64,"src":{"jump_code":"","length":12,"start":1176}},{"ast_type":"Assign","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":65,"lineno":65,"src":{"jump_code":"","length":4,"start":1195}}],"classification":0,"col_offset":4,"end_col_offset":17,"end_lineno":65,"lineno":65,"src":{"jump_code":"","length":13,"start":1195}},{"ast_type":"Name","children":[],"classification":1,"col_offset":20,"end_col_offset":23,"end_lineno":65,"lineno":65,"src":{"jump_code":"","length":3,"start":1211}}],"classification":0,"col_offset":4,"end_col_offset":23,"end_lineno":65,"lineno":65,"src":{"jump_code":"","length":19,"start":1195}},{"ast_type":"Assign","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":66,"lineno":66,"src":{"jump_code":"","length":4,"start":1219}}],"classification":0,"col_offset":4,"end_col_offset":14,"end_lineno":66,"lineno":66,"src":{"jump_code":"","length":10,"start":1219}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":17,"end_col_offset":20,"end_lineno":66,"lineno":66,"src":{"jump_code":"","length":3,"start":1232}}],"classification":0,"col_offset":17,"end_col_offset":27,"end_lineno":66,"lineno":66,"src":{"jump_code":"","length":10,"start":1232}}],"classification":0,"col_offset":4,"end_col_offset":27,"end_lineno":66,"lineno":66,"src":{"jump_code":"","length":23,"start":1219}},{"ast_type":"Assign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":18,"end_col_offset":19,"end_lineno":67,"lineno":67,"src":{"jump_code":"","length":1,"start":1261}}],"classification":0,"col_offset":4,"end_col_offset":20,"end_lineno":67,"lineno":67,"src":{"jump_code":"","length":16,"start":1247}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":67,"lineno":67,"src":{"jump_code":"","length":4,"start":1247}}],"classification":0,"col_offset":4,"end_col_offset":17,"end_lineno":67,"lineno":67,"src":{"jump_code":"","length":13,"start":1247}}],"classification":0,"col_offset":4,"end_col_offset":20,"end_lineno":67,"lineno":67,"src":{"jump_code":"","length":16,"start":1247}},{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":24,"end_col_offset":25,"end_lineno":67,"lineno":67,"src":{"jump_code":"","length":1,"start":1267}}],"classification":0,"col_offset":23,"end_col_offset":26,"end_lineno":67,"lineno":67,"src":{"jump_code":"","length":3,"start":1266}}],"classification":0,"col_offset":4,"end_col_offset":26,"end_lineno":67,"lineno":67,"src":{"jump_code":"","length":22,"start":1247}},{"ast_type":"Assign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":18,"end_col_offset":19,"end_lineno":68,"lineno":68,"src":{"jump_code":"","length":1,"start":1288}}],"classification":0,"col_offset":4,"end_col_offset":20,"end_lineno":68,"lineno":68,"src":{"jump_code":"","length":16,"start":1274}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":68,"lineno":68,"src":{"jump_code":"","length":4,"start":1274}}],"classification":0,"col_offset":4,"end_col_offset":17,"end_lineno":68,"lineno":68,"src":{"jump_code":"","length":13,"start":1274}}],"classification":0,"col_offset":4,"end_col_offset":20,"end_lineno":68,"lineno":68,"src":{"jump_code":"","length":16,"start":1274}},{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":24,"end_col_offset":25,"end_lineno":68,"lineno":68,"src":{"jump_code":"","length":1,"start":1294}},{"ast_type":"Int","children":[],"classification":0,"col_offset":27,"end_col_offset":28,"end_lineno":68,"lineno":68,"src":{"jump_code":"","length":1,"start":1297}}],"classification":0,"col_offset":23,"end_col_offset":29,"end_lineno":68,"lineno":68,"src":{"jump_code":"","length":6,"start":1293}}],"classification":0,"col_offset":4,"end_col_offset":29,"end_lineno":68,"lineno":68,"src":{"jump_code":"","length":25,"start":1274}},{"ast_type":"Assign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":18,"end_col_offset":19,"end_lineno":69,"lineno":69,"src":{"jump_code":"","length":1,"start":1318}}],"classification":0,"col_offset":4,"end_col_offset":20,"end_lineno":69,"lineno":69,"src":{"jump_code":"","length":16,"start":1304}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":69,"lineno":69,"src":{"jump_code":"","length":4,"start":1304}}],"classification":0,"col_offset":4,"end_col_offset":17,"end_lineno":69,"lineno":69,"src":{"jump_code":"","length":13,"start":1304}}],"classification":0,"col_offset":4,"end_col_offset":20,"end_lineno":69,"lineno":69,"src":{"jump_code":"","length":16,"start":1304}},{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":24,"end_col_offset":25,"end_lineno":69,"lineno":69,"src":{"jump_code":"","length":1,"start":1324}},{"ast_type":"Int","children":[],"classification":0,"col_offset":27,"end_col_offset":28,"end_lineno":69,"lineno":69,"src":{"jump_code":"","length":1,"start":1327}},{"ast_type":"Int","children":[],"classification":0,"col_offset":30,"end_col_offset":31,"end_lineno":69,"lineno":69,"src":{"jump_code":"","length":1,"start":1330}}],"classification":0,"col_offset":23,"end_col_offset":32,"end_lineno":69,"lineno":69,"src":{"jump_code":"","length":9,"start":1323}}],"classification":0,"col_offset":4,"end_col_offset":32,"end_lineno":69,"lineno":69,"src":{"jump_code":"","length":28,"start":1304}},{"ast_type":"Expr","children":[{"ast_type":"Call","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":30,"end_col_offset":34,"end_lineno":70,"lineno":70,"src":{"jump_code":"","length":4,"start":1363}}],"classification":0,"col_offset":30,"end_col_offset":43,"end_lineno":70,"lineno":70,"src":{"jump_code":"","length":13,"start":1363}},{"ast_type":"Attribute","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":20,"end_col_offset":21,"end_lineno":70,"lineno":70,"src":{"jump_code":"","length":1,"start":1353}}],"classification":0,"col_offset":4,"end_col_offset":22,"end_lineno":70,"lineno":70,"src":{"jump_code":"","length":18,"start":1337}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":70,"lineno":70,"src":{"jump_code":"","length":4,"start":1337}}],"classification":0,"col_offset":4,"end_col_offset":19,"end_lineno":70,"lineno":70,"src":{"jump_code":"","length":15,"start":1337}}],"classification":0,"col_offset":4,"end_col_offset":22,"end_lineno":70,"lineno":70,"src":{"jump_code":"","length":18,"start":1337}}],"classification":0,"col_offset":4,"end_col_offset":29,"end_lineno":70,"lineno":70,"src":{"jump_code":"","length":25,"start":1337}}],"classification":0,"col_offset":4,"end_col_offset":44,"end_lineno":70,"lineno":70,"src":{"jump_code":"","length":40,"start":1337}}],"classification":0,"col_offset":4,"end_col_offset":44,"end_lineno":70,"lineno":70,"src":{"jump_code":"","length":40,"start":1337}},{"ast_type":"Expr","children":[{"ast_type":"Call","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":30,"end_col_offset":34,"end_lineno":71,"lineno":71,"src":{"jump_code":"","length":4,"start":1408}}],"classification":0,"col_offset":30,"end_col_offset":43,"end_lineno":71,"lineno":71,"src":{"jump_code":"","length":13,"start":1408}},{"ast_type":"Attribute","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":20,"end_col_offset":21,"end_lineno":71,"lineno":71,"src":{"jump_code":"","length":1,"start":1398}}],"classification":0,"col_offset":4,"end_col_offset":22,"end_lineno":71,"lineno":71,"src":{"jump_code":"","length":18,"start":1382}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":71,"lineno":71,"src":{"jump_code":"","length":4,"start":1382}}],"classification":0,"col_offset":4,"end_col_offset":19,"end_lineno":71,"lineno":71,"src":{"jump_code":"","length":15,"start":1382}}],"classification":0,"col_offset":4,"end_col_offset":22,"end_lineno":71,"lineno":71,"src":{"jump_code":"","length":18,"start":1382}}],"classification":0,"col_offset":4,"end_col_offset":29,"end_lineno":71,"lineno":71,"src":{"jump_code":"","length":25,"start":1382}}],"classification":0,"col_offset":4,"end_col_offset":44,"end_lineno":71,"lineno":71,"src":{"jump_code":"","length":40,"start":1382}}],"classification":0,"col_offset":4,"end_col_offset":44,"end_lineno":71,"lineno":71,"src":{"jump_code":"","length":40,"start":1382}},{"ast_type":"Expr","children":[{"ast_type":"Call","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":30,"end_col_offset":34,"end_lineno":72,"lineno":72,"src":{"jump_code":"","length":4,"start":1453}}],"classification":0,"col_offset":30,"end_col_offset":43,"end_lineno":72,"lineno":72,"src":{"jump_code":"","length":13,"start":1453}},{"ast_type":"Attribute","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":20,"end_col_offset":21,"end_lineno":72,"lineno":72,"src":{"jump_code":"","length":1,"start":1443}}],"classification":0,"col_offset":4,"end_col_offset":22,"end_lineno":72,"lineno":72,"src":{"jump_code":"","length":18,"start":1427}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":72,"lineno":72,"src":{"jump_code":"","length":4,"start":1427}}],"classification":0,"col_offset":4,"end_col_offset":19,"end_lineno":72,"lineno":72,"src":{"jump_code":"","length":15,"start":1427}}],"classification":0,"col_offset":4,"end_col_offset":22,"end_lineno":72,"lineno":72,"src":{"jump_code":"","length":18,"start":1427}}],"classification":0,"col_offset":4,"end_col_offset":29,"end_lineno":72,"lineno":72,"src":{"jump_code":"","length":25,"start":1427}}],"classification":0,"col_offset":4,"end_col_offset":44,"end_lineno":72,"lineno":72,"src":{"jump_code":"","length":40,"start":1427}}],"classification":0,"col_offset":4,"end_col_offset":44,"end_lineno":72,"lineno":72,"src":{"jump_code":"","length":40,"start":1427}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":63,"lineno":63,"src":{"jump_code":"","length":8,"start":1154}}],"classification":1,"col_offset":0,"end_col_offset":44,"end_lineno":72,"lineno":64,"name":"__init__","src":{"jump_code":"","length":304,"start":1163}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":75,"lineno":75,"src":{"jump_code":"","length":3,"start":1479}},{"ast_type":"Log","children":[{"ast_type":"Call","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":22,"end_col_offset":22,"end_lineno":76,"lineno":76,"src":{"jump_code":"","start":1518}},{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":19,"end_lineno":76,"lineno":76,"src":{"jump_code":"","length":11,"start":1504}}],"classification":0,"col_offset":8,"end_col_offset":22,"end_lineno":76,"lineno":76,"src":{"jump_code":"","length":14,"start":1504}}],"classification":0,"col_offset":4,"end_col_offset":22,"end_lineno":76,"lineno":76,"src":{"jump_code":"","length":18,"start":1500}},{"ast_type":"Log","children":[{"ast_type":"Call","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":22,"end_col_offset":22,"end_lineno":77,"lineno":77,"src":{"jump_code":"","start":1541}},{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":19,"end_lineno":77,"lineno":77,"src":{"jump_code":"","length":11,"start":1527}}],"classification":0,"col_offset":8,"end_col_offset":22,"end_lineno":77,"lineno":77,"src":{"jump_code":"","length":14,"start":1527}}],"classification":0,"col_offset":4,"end_col_offset":22,"end_lineno":77,"lineno":77,"src":{"jump_code":"","length":18,"start":1523}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":74,"lineno":74,"src":{"jump_code":"","length":8,"start":1470}}],"classification":1,"col_offset":0,"end_col_offset":22,"end_lineno":77,"lineno":75,"name":"fooAndBar","src":{"jump_code":"","length":62,"start":1479}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":26,"end_lineno":80,"lineno":80,"src":{"jump_code":"","length":7,"start":1572}}],"classification":0,"col_offset":14,"end_col_offset":26,"end_lineno":80,"lineno":80,"src":{"jump_code":"","length":12,"start":1567}}],"classification":1,"col_offset":14,"end_col_offset":26,"end_lineno":80,"lineno":80,"src":{"jump_code":"","length":12,"start":1567}},{"ast_type":"Assert","children":[{"ast_type":"Str","children":[],"classification":0,"col_offset":37,"end_col_offset":50,"end_lineno":81,"lineno":81,"src":{"jump_code":"","length":13,"start":1619}},{"ast_type":"Compare","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":14,"end_lineno":81,"lineno":81,"src":{"jump_code":"","length":3,"start":1593}}],"classification":0,"col_offset":11,"end_col_offset":21,"end_lineno":81,"lineno":81,"src":{"jump_code":"","length":10,"start":1593}},{"ast_type":"Eq","children":[],"classification":0,"col_offset":11,"end_col_offset":35,"end_lineno":81,"lineno":81,"src":{"jump_code":"","length":24,"start":1593}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":25,"end_col_offset":29,"end_lineno":81,"lineno":81,"src":{"jump_code":"","length":4,"start":1607}}],"classification":0,"col_offset":25,"end_col_offset":35,"end_lineno":81,"lineno":81,"src":{"jump_code":"","length":10,"start":1607}}],"classification":0,"col_offset":11,"end_col_offset":35,"end_lineno":81,"lineno":81,"src":{"jump_code":"","length":24,"start":1593}}],"classification":0,"col_offset":4,"end_col_offset":50,"end_lineno":81,"lineno":81,"src":{"jump_code":"","length":46,"start":1586}},{"ast_type":"Assert","children":[{"ast_type":"Compare","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":14,"end_lineno":82,"lineno":82,"src":{"jump_code":"","length":3,"start":1644}},{"ast_type":"NotEq","children":[],"classification":0,"col_offset":11,"end_col_offset":19,"end_lineno":82,"lineno":82,"src":{"jump_code":"","length":8,"start":1644}},{"ast_type":"Int","children":[],"classification":0,"col_offset":18,"end_col_offset":19,"end_lineno":82,"lineno":82,"src":{"jump_code":"","length":1,"start":1651}}],"classification":0,"col_offset":11,"end_col_offset":19,"end_lineno":82,"lineno":82,"src":{"jump_code":"","length":8,"start":1644}}],"classification":0,"col_offset":4,"end_col_offset":19,"end_lineno":82,"lineno":82,"src":{"jump_code":"","length":15,"start":1637}},{"ast_type":"Assign","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":83,"lineno":83,"src":{"jump_code":"","length":4,"start":1657}}],"classification":0,"col_offset":4,"end_col_offset":19,"end_lineno":83,"lineno":83,"src":{"jump_code":"","length":15,"start":1657}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":22,"end_col_offset":26,"end_lineno":83,"lineno":83,"src":{"jump_code":"","length":4,"start":1675}}],"classification":0,"col_offset":22,"end_col_offset":35,"end_lineno":83,"lineno":83,"src":{"jump_code":"","length":13,"start":1675}}],"classification":0,"col_offset":4,"end_col_offset":35,"end_lineno":83,"lineno":83,"src":{"jump_code":"","length":31,"start":1657}},{"ast_type":"Assign","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":84,"lineno":84,"src":{"jump_code":"","length":4,"start":1693}}],"classification":0,"col_offset":4,"end_col_offset":17,"end_lineno":84,"lineno":84,"src":{"jump_code":"","length":13,"start":1693}},{"ast_type":"Name","children":[],"classification":1,"col_offset":20,"end_col_offset":23,"end_lineno":84,"lineno":84,"src":{"jump_code":"","length":3,"start":1709}}],"classification":0,"col_offset":4,"end_col_offset":23,"end_lineno":84,"lineno":84,"src":{"jump_code":"","length":19,"start":1693}},{"ast_type":"Log","children":[{"ast_type":"Call","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":21,"end_col_offset":26,"end_lineno":85,"lineno":85,"src":{"jump_code":"","length":5,"start":1734}}],"classification":0,"col_offset":21,"end_col_offset":35,"end_lineno":85,"lineno":85,"src":{"jump_code":"","length":14,"start":1734}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":37,"end_col_offset":41,"end_lineno":85,"lineno":85,"src":{"jump_code":"","length":4,"start":1750}}],"classification":0,"col_offset":37,"end_col_offset":52,"end_lineno":85,"lineno":85,"src":{"jump_code":"","length":15,"start":1750}},{"ast_type":"Str","children":[],"classification":0,"col_offset":54,"end_col_offset":63,"end_lineno":85,"lineno":85,"src":{"jump_code":"","length":9,"start":1767}},{"ast_type":"Name","children":[],"classification":1,"col_offset":65,"end_col_offset":68,"end_lineno":85,"lineno":85,"src":{"jump_code":"","length":3,"start":1778}},{"ast_type":"Str","children":[],"classification":0,"col_offset":70,"end_col_offset":79,"end_lineno":85,"lineno":85,"src":{"jump_code":"","length":9,"start":1783}},{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":20,"end_lineno":85,"lineno":85,"src":{"jump_code":"","length":12,"start":1721}}],"classification":0,"col_offset":8,"end_col_offset":80,"end_lineno":85,"lineno":85,"src":{"jump_code":"","length":72,"start":1721}}],"classification":0,"col_offset":4,"end_col_offset":80,"end_lineno":85,"lineno":85,"src":{"jump_code":"","length":76,"start":1717}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":79,"lineno":79,"src":{"jump_code":"","length":8,"start":1544}}],"classification":1,"col_offset":0,"end_col_offset":80,"end_lineno":85,"lineno":80,"name":"setNumber","src":{"jump_code":"","length":240,"start":1553}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":25,"end_col_offset":32,"end_lineno":88,"lineno":88,"src":{"jump_code":"","length":7,"start":1830}}],"classification":0,"col_offset":15,"end_col_offset":32,"end_lineno":88,"lineno":88,"src":{"jump_code":"","length":17,"start":1820}}],"classification":1,"col_offset":15,"end_col_offset":32,"end_lineno":88,"lineno":88,"src":{"jump_code":"","length":17,"start":1820}},{"ast_type":"Assign","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":89,"lineno":89,"src":{"jump_code":"","length":4,"start":1844}}],"classification":0,"col_offset":4,"end_col_offset":19,"end_lineno":89,"lineno":89,"src":{"jump_code":"","length":15,"start":1844}},{"ast_type":"Name","children":[],"classification":1,"col_offset":22,"end_col_offset":30,"end_lineno":89,"lineno":89,"src":{"jump_code":"","length":8,"start":1862}}],"classification":0,"col_offset":4,"end_col_offset":30,"end_lineno":89,"lineno":89,"src":{"jump_code":"","length":26,"start":1844}},{"ast_type":"Log","children":[{"ast_type":"Call","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":22,"end_col_offset":30,"end_lineno":90,"lineno":90,"src":{"jump_code":"","length":8,"start":1893}},{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":21,"end_lineno":90,"lineno":90,"src":{"jump_code":"","length":13,"start":1879}}],"classification":0,"col_offset":8,"end_col_offset":31,"end_lineno":90,"lineno":90,"src":{"jump_code":"","length":23,"start":1879}}],"classification":0,"col_offset":4,"end_col_offset":31,"end_lineno":90,"lineno":90,"src":{"jump_code":"","length":27,"start":1875}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":87,"lineno":87,"src":{"jump_code":"","length":8,"start":1796}}],"classification":1,"col_offset":0,"end_col_offset":31,"end_lineno":90,"lineno":88,"name":"setAddress","src":{"jump_code":"","length":97,"start":1805}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":25,"end_col_offset":32,"end_lineno":93,"lineno":93,"src":{"jump_code":"","length":7,"start":1939}}],"classification":0,"col_offset":15,"end_col_offset":32,"end_lineno":93,"lineno":93,"src":{"jump_code":"","length":17,"start":1929}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":39,"end_col_offset":46,"end_lineno":93,"lineno":93,"src":{"jump_code":"","length":7,"start":1953}}],"classification":0,"col_offset":34,"end_col_offset":46,"end_lineno":93,"lineno":93,"src":{"jump_code":"","length":12,"start":1948}}],"classification":1,"col_offset":15,"end_col_offset":46,"end_lineno":93,"lineno":93,"src":{"jump_code":"","length":31,"start":1929}},{"ast_type":"AugAssign","children":[{"ast_type":"Add","children":[],"classification":0,"col_offset":4,"end_col_offset":34,"end_lineno":94,"lineno":94,"src":{"jump_code":"","length":30,"start":1967}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":18,"end_col_offset":26,"end_lineno":94,"lineno":94,"src":{"jump_code":"","length":8,"start":1981}}],"classification":0,"col_offset":4,"end_col_offset":27,"end_lineno":94,"lineno":94,"src":{"jump_code":"","length":23,"start":1967}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":94,"lineno":94,"src":{"jump_code":"","length":4,"start":1967}}],"classification":0,"col_offset":4,"end_col_offset":17,"end_lineno":94,"lineno":94,"src":{"jump_code":"","length":13,"start":1967}}],"classification":0,"col_offset":4,"end_col_offset":27,"end_lineno":94,"lineno":94,"src":{"jump_code":"","length":23,"start":1967}},{"ast_type":"Name","children":[],"classification":1,"col_offset":31,"end_col_offset":34,"end_lineno":94,"lineno":94,"src":{"jump_code":"","length":3,"start":1994}}],"classification":0,"col_offset":4,"end_col_offset":34,"end_lineno":94,"lineno":94,"src":{"jump_code":"","length":30,"start":1967}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":92,"lineno":92,"src":{"jump_code":"","length":8,"start":1905}}],"classification":1,"col_offset":0,"end_col_offset":34,"end_lineno":94,"lineno":93,"name":"setBalance","src":{"jump_code":"","length":83,"start":1914}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":98,"lineno":98,"src":{"jump_code":"","length":3,"start":2015}},{"ast_type":"Return","children":[{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":21,"end_col_offset":22,"end_lineno":99,"lineno":99,"src":{"jump_code":"","length":1,"start":2065}},{"ast_type":"Name","children":[],"classification":1,"col_offset":36,"end_col_offset":37,"end_lineno":99,"lineno":99,"src":{"jump_code":"","length":1,"start":2080}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":24,"end_col_offset":27,"end_lineno":99,"lineno":99,"src":{"jump_code":"","length":3,"start":2068}}],"classification":0,"col_offset":24,"end_col_offset":34,"end_lineno":99,"lineno":99,"src":{"jump_code":"","length":10,"start":2068}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":39,"end_col_offset":44,"end_lineno":99,"lineno":99,"src":{"jump_code":"","length":5,"start":2083}}],"classification":0,"col_offset":39,"end_col_offset":53,"end_lineno":99,"lineno":99,"src":{"jump_code":"","length":14,"start":2083}}],"classification":0,"col_offset":20,"end_col_offset":54,"end_lineno":99,"lineno":99,"src":{"jump_code":"","length":34,"start":2064}},{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":19,"end_lineno":99,"lineno":99,"src":{"jump_code":"","length":8,"start":2055}}],"classification":0,"col_offset":11,"end_col_offset":55,"end_lineno":99,"lineno":99,"src":{"jump_code":"","length":44,"start":2055}}],"classification":0,"col_offset":4,"end_col_offset":55,"end_lineno":99,"lineno":99,"src":{"jump_code":"","length":51,"start":2048}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":96,"lineno":96,"src":{"jump_code":"","length":4,"start":2000}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":97,"lineno":97,"src":{"jump_code":"","length":8,"start":2006}},{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":27,"end_lineno":98,"lineno":98,"src":{"jump_code":"","length":8,"start":2034}}],"classification":1,"col_offset":0,"end_col_offset":55,"end_lineno":99,"lineno":98,"name":"getStruct","src":{"jump_code":"","length":84,"start":2015}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":103,"lineno":103,"src":{"jump_code":"","length":3,"start":2117}},{"ast_type":"Return","children":[{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":27,"end_lineno":104,"lineno":104,"src":{"jump_code":"","length":1,"start":2184}},{"ast_type":"Name","children":[],"classification":1,"col_offset":75,"end_col_offset":78,"end_lineno":104,"lineno":104,"src":{"jump_code":"","length":3,"start":2233}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":39,"end_col_offset":40,"end_lineno":104,"lineno":104,"src":{"jump_code":"","length":1,"start":2197}},{"ast_type":"Name","children":[],"classification":1,"col_offset":54,"end_col_offset":55,"end_lineno":104,"lineno":104,"src":{"jump_code":"","length":1,"start":2212}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":42,"end_col_offset":45,"end_lineno":104,"lineno":104,"src":{"jump_code":"","length":3,"start":2200}}],"classification":0,"col_offset":42,"end_col_offset":52,"end_lineno":104,"lineno":104,"src":{"jump_code":"","length":10,"start":2200}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":57,"end_col_offset":62,"end_lineno":104,"lineno":104,"src":{"jump_code":"","length":5,"start":2215}}],"classification":0,"col_offset":57,"end_col_offset":71,"end_lineno":104,"lineno":104,"src":{"jump_code":"","length":14,"start":2215}}],"classification":0,"col_offset":38,"end_col_offset":72,"end_lineno":104,"lineno":104,"src":{"jump_code":"","length":34,"start":2196}},{"ast_type":"Name","children":[],"classification":1,"col_offset":29,"end_col_offset":37,"end_lineno":104,"lineno":104,"src":{"jump_code":"","length":8,"start":2187}}],"classification":0,"col_offset":29,"end_col_offset":73,"end_lineno":104,"lineno":104,"src":{"jump_code":"","length":44,"start":2187}},{"ast_type":"Int","children":[],"classification":0,"col_offset":80,"end_col_offset":81,"end_lineno":104,"lineno":104,"src":{"jump_code":"","length":1,"start":2238}}],"classification":0,"col_offset":25,"end_col_offset":82,"end_lineno":104,"lineno":104,"src":{"jump_code":"","length":57,"start":2183}},{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":24,"end_lineno":104,"lineno":104,"src":{"jump_code":"","length":13,"start":2169}}],"classification":0,"col_offset":11,"end_col_offset":83,"end_lineno":104,"lineno":104,"src":{"jump_code":"","length":72,"start":2169}}],"classification":0,"col_offset":4,"end_col_offset":83,"end_lineno":104,"lineno":104,"src":{"jump_code":"","length":79,"start":2162}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":101,"lineno":101,"src":{"jump_code":"","length":4,"start":2102}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":102,"lineno":102,"src":{"jump_code":"","length":8,"start":2108}},{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":39,"end_lineno":103,"lineno":103,"src":{"jump_code":"","length":13,"start":2143}}],"classification":1,"col_offset":0,"end_col_offset":83,"end_lineno":104,"lineno":103,"name":"getNestedStruct1","src":{"jump_code":"","length":124,"start":2117}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":108,"lineno":108,"src":{"jump_code":"","length":3,"start":2259}},{"ast_type":"Return","children":[{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":29,"end_lineno":109,"lineno":109,"src":{"jump_code":"","length":3,"start":2326}},{"ast_type":"Name","children":[],"classification":1,"col_offset":34,"end_col_offset":35,"end_lineno":109,"lineno":109,"src":{"jump_code":"","length":1,"start":2334}},{"ast_type":"Int","children":[],"classification":0,"col_offset":31,"end_col_offset":32,"end_lineno":109,"lineno":109,"src":{"jump_code":"","length":1,"start":2331}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":47,"end_col_offset":48,"end_lineno":109,"lineno":109,"src":{"jump_code":"","length":1,"start":2347}},{"ast_type":"Name","children":[],"classification":1,"col_offset":62,"end_col_offset":63,"end_lineno":109,"lineno":109,"src":{"jump_code":"","length":1,"start":2362}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":50,"end_col_offset":53,"end_lineno":109,"lineno":109,"src":{"jump_code":"","length":3,"start":2350}}],"classification":0,"col_offset":50,"end_col_offset":60,"end_lineno":109,"lineno":109,"src":{"jump_code":"","length":10,"start":2350}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":65,"end_col_offset":70,"end_lineno":109,"lineno":109,"src":{"jump_code":"","length":5,"start":2365}}],"classification":0,"col_offset":65,"end_col_offset":79,"end_lineno":109,"lineno":109,"src":{"jump_code":"","length":14,"start":2365}}],"classification":0,"col_offset":46,"end_col_offset":80,"end_lineno":109,"lineno":109,"src":{"jump_code":"","length":34,"start":2346}},{"ast_type":"Name","children":[],"classification":1,"col_offset":37,"end_col_offset":45,"end_lineno":109,"lineno":109,"src":{"jump_code":"","length":8,"start":2337}}],"classification":0,"col_offset":37,"end_col_offset":81,"end_lineno":109,"lineno":109,"src":{"jump_code":"","length":44,"start":2337}}],"classification":0,"col_offset":25,"end_col_offset":82,"end_lineno":109,"lineno":109,"src":{"jump_code":"","length":57,"start":2325}},{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":24,"end_lineno":109,"lineno":109,"src":{"jump_code":"","length":13,"start":2311}}],"classification":0,"col_offset":11,"end_col_offset":83,"end_lineno":109,"lineno":109,"src":{"jump_code":"","length":72,"start":2311}}],"classification":0,"col_offset":4,"end_col_offset":83,"end_lineno":109,"lineno":109,"src":{"jump_code":"","length":79,"start":2304}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":106,"lineno":106,"src":{"jump_code":"","length":4,"start":2244}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":107,"lineno":107,"src":{"jump_code":"","length":8,"start":2250}},{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":39,"end_lineno":108,"lineno":108,"src":{"jump_code":"","length":13,"start":2285}}],"classification":1,"col_offset":0,"end_col_offset":83,"end_lineno":109,"lineno":108,"name":"getNestedStruct2","src":{"jump_code":"","length":124,"start":2259}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":113,"lineno":113,"src":{"jump_code":"","length":3,"start":2401}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":27,"end_col_offset":28,"end_lineno":114,"lineno":114,"src":{"jump_code":"","length":1,"start":2489}},{"ast_type":"Name","children":[],"classification":1,"col_offset":76,"end_col_offset":79,"end_lineno":114,"lineno":114,"src":{"jump_code":"","length":3,"start":2538}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":40,"end_col_offset":41,"end_lineno":114,"lineno":114,"src":{"jump_code":"","length":1,"start":2502}},{"ast_type":"Name","children":[],"classification":1,"col_offset":55,"end_col_offset":56,"end_lineno":114,"lineno":114,"src":{"jump_code":"","length":1,"start":2517}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":43,"end_col_offset":46,"end_lineno":114,"lineno":114,"src":{"jump_code":"","length":3,"start":2505}}],"classification":0,"col_offset":43,"end_col_offset":53,"end_lineno":114,"lineno":114,"src":{"jump_code":"","length":10,"start":2505}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":58,"end_col_offset":63,"end_lineno":114,"lineno":114,"src":{"jump_code":"","length":5,"start":2520}}],"classification":0,"col_offset":58,"end_col_offset":72,"end_lineno":114,"lineno":114,"src":{"jump_code":"","length":14,"start":2520}}],"classification":0,"col_offset":39,"end_col_offset":73,"end_lineno":114,"lineno":114,"src":{"jump_code":"","length":34,"start":2501}},{"ast_type":"Name","children":[],"classification":1,"col_offset":30,"end_col_offset":38,"end_lineno":114,"lineno":114,"src":{"jump_code":"","length":8,"start":2492}}],"classification":0,"col_offset":30,"end_col_offset":74,"end_lineno":114,"lineno":114,"src":{"jump_code":"","length":44,"start":2492}},{"ast_type":"Int","children":[],"classification":0,"col_offset":81,"end_col_offset":82,"end_lineno":114,"lineno":114,"src":{"jump_code":"","length":1,"start":2543}}],"classification":0,"col_offset":26,"end_col_offset":83,"end_lineno":114,"lineno":114,"src":{"jump_code":"","length":57,"start":2488}},{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":25,"end_lineno":114,"lineno":114,"src":{"jump_code":"","length":13,"start":2474}}],"classification":0,"col_offset":12,"end_col_offset":84,"end_lineno":114,"lineno":114,"src":{"jump_code":"","length":72,"start":2474}},{"ast_type":"Int","children":[],"classification":0,"col_offset":86,"end_col_offset":87,"end_lineno":114,"lineno":114,"src":{"jump_code":"","length":1,"start":2548}}],"classification":0,"col_offset":11,"end_col_offset":88,"end_lineno":114,"lineno":114,"src":{"jump_code":"","length":77,"start":2473}}],"classification":0,"col_offset":4,"end_col_offset":88,"end_lineno":114,"lineno":114,"src":{"jump_code":"","length":84,"start":2466}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":111,"lineno":111,"src":{"jump_code":"","length":4,"start":2386}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":112,"lineno":112,"src":{"jump_code":"","length":8,"start":2392}},{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":36,"end_col_offset":49,"end_lineno":113,"lineno":113,"src":{"jump_code":"","length":13,"start":2437}},{"ast_type":"Name","children":[],"classification":1,"col_offset":51,"end_col_offset":58,"end_lineno":113,"lineno":113,"src":{"jump_code":"","length":7,"start":2452}}],"classification":0,"col_offset":35,"end_col_offset":59,"end_lineno":113,"lineno":113,"src":{"jump_code":"","length":24,"start":2436}}],"classification":1,"col_offset":0,"end_col_offset":88,"end_lineno":114,"lineno":113,"name":"getNestedStructWithTuple1","src":{"jump_code":"","length":149,"start":2401}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":118,"lineno":118,"src":{"jump_code":"","length":3,"start":2568}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":12,"end_col_offset":13,"end_lineno":119,"lineno":119,"src":{"jump_code":"","length":1,"start":2641}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":30,"end_col_offset":33,"end_lineno":119,"lineno":119,"src":{"jump_code":"","length":3,"start":2659}},{"ast_type":"Name","children":[],"classification":1,"col_offset":38,"end_col_offset":39,"end_lineno":119,"lineno":119,"src":{"jump_code":"","length":1,"start":2667}},{"ast_type":"Int","children":[],"classification":0,"col_offset":35,"end_col_offset":36,"end_lineno":119,"lineno":119,"src":{"jump_code":"","length":1,"start":2664}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":51,"end_col_offset":52,"end_lineno":119,"lineno":119,"src":{"jump_code":"","length":1,"start":2680}},{"ast_type":"Name","children":[],"classification":1,"col_offset":66,"end_col_offset":67,"end_lineno":119,"lineno":119,"src":{"jump_code":"","length":1,"start":2695}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":54,"end_col_offset":57,"end_lineno":119,"lineno":119,"src":{"jump_code":"","length":3,"start":2683}}],"classification":0,"col_offset":54,"end_col_offset":64,"end_lineno":119,"lineno":119,"src":{"jump_code":"","length":10,"start":2683}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":69,"end_col_offset":74,"end_lineno":119,"lineno":119,"src":{"jump_code":"","length":5,"start":2698}}],"classification":0,"col_offset":69,"end_col_offset":83,"end_lineno":119,"lineno":119,"src":{"jump_code":"","length":14,"start":2698}}],"classification":0,"col_offset":50,"end_col_offset":84,"end_lineno":119,"lineno":119,"src":{"jump_code":"","length":34,"start":2679}},{"ast_type":"Name","children":[],"classification":1,"col_offset":41,"end_col_offset":49,"end_lineno":119,"lineno":119,"src":{"jump_code":"","length":8,"start":2670}}],"classification":0,"col_offset":41,"end_col_offset":85,"end_lineno":119,"lineno":119,"src":{"jump_code":"","length":44,"start":2670}}],"classification":0,"col_offset":29,"end_col_offset":86,"end_lineno":119,"lineno":119,"src":{"jump_code":"","length":57,"start":2658}},{"ast_type":"Name","children":[],"classification":1,"col_offset":15,"end_col_offset":28,"end_lineno":119,"lineno":119,"src":{"jump_code":"","length":13,"start":2644}}],"classification":0,"col_offset":15,"end_col_offset":87,"end_lineno":119,"lineno":119,"src":{"jump_code":"","length":72,"start":2644}}],"classification":0,"col_offset":11,"end_col_offset":88,"end_lineno":119,"lineno":119,"src":{"jump_code":"","length":77,"start":2640}}],"classification":0,"col_offset":4,"end_col_offset":88,"end_lineno":119,"lineno":119,"src":{"jump_code":"","length":84,"start":2633}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":116,"lineno":116,"src":{"jump_code":"","length":4,"start":2553}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":117,"lineno":117,"src":{"jump_code":"","length":8,"start":2559}},{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":36,"end_col_offset":43,"end_lineno":118,"lineno":118,"src":{"jump_code":"","length":7,"start":2604}},{"ast_type":"Name","children":[],"classification":1,"col_offset":45,"end_col_offset":58,"end_lineno":118,"lineno":118,"src":{"jump_code":"","length":13,"start":2613}}],"classification":0,"col_offset":35,"end_col_offset":59,"end_lineno":118,"lineno":118,"src":{"jump_code":"","length":24,"start":2603}}],"classification":1,"col_offset":0,"end_col_offset":88,"end_lineno":119,"lineno":118,"name":"getNestedStructWithTuple2","src":{"jump_code":"","length":149,"start":2568}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":123,"lineno":123,"src":{"jump_code":"","length":3,"start":2735}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":34,"end_lineno":124,"lineno":124,"src":{"jump_code":"","length":8,"start":2820}},{"ast_type":"Int","children":[],"classification":0,"col_offset":36,"end_col_offset":38,"end_lineno":124,"lineno":124,"src":{"jump_code":"","length":2,"start":2830}}],"classification":0,"col_offset":26,"end_col_offset":38,"end_lineno":124,"lineno":124,"src":{"jump_code":"","length":12,"start":2820}}],"classification":0,"col_offset":17,"end_col_offset":39,"end_lineno":124,"lineno":124,"src":{"jump_code":"","length":22,"start":2811}},{"ast_type":"Name","children":[],"classification":1,"col_offset":17,"end_col_offset":25,"end_lineno":124,"lineno":124,"src":{"jump_code":"","length":8,"start":2811}}],"classification":0,"col_offset":17,"end_col_offset":39,"end_lineno":124,"lineno":124,"src":{"jump_code":"","length":22,"start":2811}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":15,"end_lineno":124,"lineno":124,"src":{"jump_code":"","length":11,"start":2798}},{"ast_type":"List","children":[],"classification":0,"col_offset":42,"end_col_offset":44,"end_lineno":124,"lineno":124,"src":{"jump_code":"","length":2,"start":2836}}],"classification":0,"col_offset":4,"end_col_offset":44,"end_lineno":124,"lineno":124,"src":{"jump_code":"","length":40,"start":2798}},{"ast_type":"Return","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":22,"end_lineno":125,"lineno":125,"src":{"jump_code":"","length":11,"start":2850}}],"classification":0,"col_offset":4,"end_col_offset":22,"end_lineno":125,"lineno":125,"src":{"jump_code":"","length":18,"start":2843}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":121,"lineno":121,"src":{"jump_code":"","length":4,"start":2720}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":122,"lineno":122,"src":{"jump_code":"","length":8,"start":2726}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":44,"end_col_offset":52,"end_lineno":123,"lineno":123,"src":{"jump_code":"","length":8,"start":2779}},{"ast_type":"Int","children":[],"classification":0,"col_offset":54,"end_col_offset":56,"end_lineno":123,"lineno":123,"src":{"jump_code":"","length":2,"start":2789}}],"classification":0,"col_offset":44,"end_col_offset":56,"end_lineno":123,"lineno":123,"src":{"jump_code":"","length":12,"start":2779}}],"classification":0,"col_offset":35,"end_col_offset":57,"end_lineno":123,"lineno":123,"src":{"jump_code":"","length":22,"start":2770}},{"ast_type":"Name","children":[],"classification":1,"col_offset":35,"end_col_offset":43,"end_lineno":123,"lineno":123,"src":{"jump_code":"","length":8,"start":2770}}],"classification":0,"col_offset":35,"end_col_offset":57,"end_lineno":123,"lineno":123,"src":{"jump_code":"","length":22,"start":2770}}],"classification":1,"col_offset":0,"end_col_offset":22,"end_lineno":125,"lineno":123,"name":"getEmptyDynArrayOfStructs","src":{"jump_code":"","length":126,"start":2735}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":129,"lineno":129,"src":{"jump_code":"","length":3,"start":2879}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":28,"end_col_offset":36,"end_lineno":130,"lineno":130,"src":{"jump_code":"","length":8,"start":2997}},{"ast_type":"Int","children":[],"classification":0,"col_offset":38,"end_col_offset":40,"end_lineno":130,"lineno":130,"src":{"jump_code":"","length":2,"start":3007}}],"classification":0,"col_offset":28,"end_col_offset":40,"end_lineno":130,"lineno":130,"src":{"jump_code":"","length":12,"start":2997}}],"classification":0,"col_offset":19,"end_col_offset":41,"end_lineno":130,"lineno":130,"src":{"jump_code":"","length":22,"start":2988}},{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":27,"end_lineno":130,"lineno":130,"src":{"jump_code":"","length":8,"start":2988}}],"classification":0,"col_offset":19,"end_col_offset":41,"end_lineno":130,"lineno":130,"src":{"jump_code":"","length":22,"start":2988}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":17,"end_lineno":130,"lineno":130,"src":{"jump_code":"","length":13,"start":2973}},{"ast_type":"List","children":[],"classification":0,"col_offset":44,"end_col_offset":46,"end_lineno":130,"lineno":130,"src":{"jump_code":"","length":2,"start":3013}}],"classification":0,"col_offset":4,"end_col_offset":46,"end_lineno":130,"lineno":130,"src":{"jump_code":"","length":42,"start":2973}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":28,"end_col_offset":36,"end_lineno":131,"lineno":131,"src":{"jump_code":"","length":8,"start":3044}},{"ast_type":"Int","children":[],"classification":0,"col_offset":38,"end_col_offset":40,"end_lineno":131,"lineno":131,"src":{"jump_code":"","length":2,"start":3054}}],"classification":0,"col_offset":28,"end_col_offset":40,"end_lineno":131,"lineno":131,"src":{"jump_code":"","length":12,"start":3044}}],"classification":0,"col_offset":19,"end_col_offset":41,"end_lineno":131,"lineno":131,"src":{"jump_code":"","length":22,"start":3035}},{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":27,"end_lineno":131,"lineno":131,"src":{"jump_code":"","length":8,"start":3035}}],"classification":0,"col_offset":19,"end_col_offset":41,"end_lineno":131,"lineno":131,"src":{"jump_code":"","length":22,"start":3035}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":17,"end_lineno":131,"lineno":131,"src":{"jump_code":"","length":13,"start":3020}},{"ast_type":"List","children":[],"classification":0,"col_offset":44,"end_col_offset":46,"end_lineno":131,"lineno":131,"src":{"jump_code":"","length":2,"start":3060}}],"classification":0,"col_offset":4,"end_col_offset":46,"end_lineno":131,"lineno":131,"src":{"jump_code":"","length":42,"start":3020}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":25,"end_lineno":132,"lineno":132,"src":{"jump_code":"","length":13,"start":3075}},{"ast_type":"Name","children":[],"classification":1,"col_offset":27,"end_col_offset":40,"end_lineno":132,"lineno":132,"src":{"jump_code":"","length":13,"start":3090}}],"classification":0,"col_offset":11,"end_col_offset":41,"end_lineno":132,"lineno":132,"src":{"jump_code":"","length":30,"start":3074}}],"classification":0,"col_offset":4,"end_col_offset":41,"end_lineno":132,"lineno":132,"src":{"jump_code":"","length":37,"start":3067}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":127,"lineno":127,"src":{"jump_code":"","length":4,"start":2864}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":128,"lineno":128,"src":{"jump_code":"","length":8,"start":2870}},{"ast_type":"Tuple","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":50,"end_col_offset":58,"end_lineno":129,"lineno":129,"src":{"jump_code":"","length":8,"start":2929}},{"ast_type":"Int","children":[],"classification":0,"col_offset":60,"end_col_offset":62,"end_lineno":129,"lineno":129,"src":{"jump_code":"","length":2,"start":2939}}],"classification":0,"col_offset":50,"end_col_offset":62,"end_lineno":129,"lineno":129,"src":{"jump_code":"","length":12,"start":2929}}],"classification":0,"col_offset":41,"end_col_offset":63,"end_lineno":129,"lineno":129,"src":{"jump_code":"","length":22,"start":2920}},{"ast_type":"Name","children":[],"classification":1,"col_offset":41,"end_col_offset":49,"end_lineno":129,"lineno":129,"src":{"jump_code":"","length":8,"start":2920}}],"classification":0,"col_offset":41,"end_col_offset":63,"end_lineno":129,"lineno":129,"src":{"jump_code":"","length":22,"start":2920}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":74,"end_col_offset":82,"end_lineno":129,"lineno":129,"src":{"jump_code":"","length":8,"start":2953}},{"ast_type":"Int","children":[],"classification":0,"col_offset":84,"end_col_offset":86,"end_lineno":129,"lineno":129,"src":{"jump_code":"","length":2,"start":2963}}],"classification":0,"col_offset":74,"end_col_offset":86,"end_lineno":129,"lineno":129,"src":{"jump_code":"","length":12,"start":2953}}],"classification":0,"col_offset":65,"end_col_offset":87,"end_lineno":129,"lineno":129,"src":{"jump_code":"","length":22,"start":2944}},{"ast_type":"Name","children":[],"classification":1,"col_offset":65,"end_col_offset":73,"end_lineno":129,"lineno":129,"src":{"jump_code":"","length":8,"start":2944}}],"classification":0,"col_offset":65,"end_col_offset":87,"end_lineno":129,"lineno":129,"src":{"jump_code":"","length":22,"start":2944}}],"classification":0,"col_offset":40,"end_col_offset":88,"end_lineno":129,"lineno":129,"src":{"jump_code":"","length":48,"start":2919}}],"classification":1,"col_offset":0,"end_col_offset":41,"end_lineno":132,"lineno":129,"name":"getEmptyTupleOfDynArrayStructs","src":{"jump_code":"","length":225,"start":2879}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":136,"lineno":136,"src":{"jump_code":"","length":3,"start":3122}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":28,"end_col_offset":29,"end_lineno":137,"lineno":137,"src":{"jump_code":"","length":1,"start":3247}}],"classification":0,"col_offset":19,"end_col_offset":30,"end_lineno":137,"lineno":137,"src":{"jump_code":"","length":11,"start":3238}},{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":27,"end_lineno":137,"lineno":137,"src":{"jump_code":"","length":8,"start":3238}}],"classification":0,"col_offset":19,"end_col_offset":30,"end_lineno":137,"lineno":137,"src":{"jump_code":"","length":11,"start":3238}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":17,"end_lineno":137,"lineno":137,"src":{"jump_code":"","length":13,"start":3223}},{"ast_type":"Call","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":48,"end_col_offset":49,"end_lineno":137,"lineno":137,"src":{"jump_code":"","length":1,"start":3267}}],"classification":0,"col_offset":39,"end_col_offset":50,"end_lineno":137,"lineno":137,"src":{"jump_code":"","length":11,"start":3258}},{"ast_type":"Name","children":[],"classification":1,"col_offset":39,"end_col_offset":47,"end_lineno":137,"lineno":137,"src":{"jump_code":"","length":8,"start":3258}}],"classification":0,"col_offset":39,"end_col_offset":50,"end_lineno":137,"lineno":137,"src":{"jump_code":"","length":11,"start":3258}},{"ast_type":"Name","children":[],"classification":1,"col_offset":33,"end_col_offset":38,"end_lineno":137,"lineno":137,"src":{"jump_code":"","length":5,"start":3252}}],"classification":0,"col_offset":33,"end_col_offset":51,"end_lineno":137,"lineno":137,"src":{"jump_code":"","length":18,"start":3252}}],"classification":0,"col_offset":4,"end_col_offset":51,"end_lineno":137,"lineno":137,"src":{"jump_code":"","length":47,"start":3223}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":28,"end_col_offset":36,"end_lineno":138,"lineno":138,"src":{"jump_code":"","length":8,"start":3299}},{"ast_type":"Int","children":[],"classification":0,"col_offset":38,"end_col_offset":39,"end_lineno":138,"lineno":138,"src":{"jump_code":"","length":1,"start":3309}}],"classification":0,"col_offset":28,"end_col_offset":39,"end_lineno":138,"lineno":138,"src":{"jump_code":"","length":11,"start":3299}}],"classification":0,"col_offset":19,"end_col_offset":40,"end_lineno":138,"lineno":138,"src":{"jump_code":"","length":21,"start":3290}},{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":27,"end_lineno":138,"lineno":138,"src":{"jump_code":"","length":8,"start":3290}}],"classification":0,"col_offset":19,"end_col_offset":40,"end_lineno":138,"lineno":138,"src":{"jump_code":"","length":21,"start":3290}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":17,"end_lineno":138,"lineno":138,"src":{"jump_code":"","length":13,"start":3275}},{"ast_type":"List","children":[],"classification":0,"col_offset":43,"end_col_offset":45,"end_lineno":138,"lineno":138,"src":{"jump_code":"","length":2,"start":3314}}],"classification":0,"col_offset":4,"end_col_offset":45,"end_lineno":138,"lineno":138,"src":{"jump_code":"","length":41,"start":3275}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":25,"end_lineno":139,"lineno":139,"src":{"jump_code":"","length":13,"start":3329}},{"ast_type":"Name","children":[],"classification":1,"col_offset":27,"end_col_offset":40,"end_lineno":139,"lineno":139,"src":{"jump_code":"","length":13,"start":3344}}],"classification":0,"col_offset":11,"end_col_offset":41,"end_lineno":139,"lineno":139,"src":{"jump_code":"","length":30,"start":3328}}],"classification":0,"col_offset":4,"end_col_offset":41,"end_lineno":139,"lineno":139,"src":{"jump_code":"","length":37,"start":3321}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":134,"lineno":134,"src":{"jump_code":"","length":4,"start":3107}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":135,"lineno":135,"src":{"jump_code":"","length":8,"start":3113}},{"ast_type":"Tuple","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":69,"end_col_offset":70,"end_lineno":136,"lineno":136,"src":{"jump_code":"","length":1,"start":3191}}],"classification":0,"col_offset":60,"end_col_offset":71,"end_lineno":136,"lineno":136,"src":{"jump_code":"","length":11,"start":3182}},{"ast_type":"Name","children":[],"classification":1,"col_offset":60,"end_col_offset":68,"end_lineno":136,"lineno":136,"src":{"jump_code":"","length":8,"start":3182}}],"classification":0,"col_offset":60,"end_col_offset":71,"end_lineno":136,"lineno":136,"src":{"jump_code":"","length":11,"start":3182}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":82,"end_col_offset":90,"end_lineno":136,"lineno":136,"src":{"jump_code":"","length":8,"start":3204}},{"ast_type":"Int","children":[],"classification":0,"col_offset":92,"end_col_offset":93,"end_lineno":136,"lineno":136,"src":{"jump_code":"","length":1,"start":3214}}],"classification":0,"col_offset":82,"end_col_offset":93,"end_lineno":136,"lineno":136,"src":{"jump_code":"","length":11,"start":3204}}],"classification":0,"col_offset":73,"end_col_offset":94,"end_lineno":136,"lineno":136,"src":{"jump_code":"","length":21,"start":3195}},{"ast_type":"Name","children":[],"classification":1,"col_offset":73,"end_col_offset":81,"end_lineno":136,"lineno":136,"src":{"jump_code":"","length":8,"start":3195}}],"classification":0,"col_offset":73,"end_col_offset":94,"end_lineno":136,"lineno":136,"src":{"jump_code":"","length":21,"start":3195}}],"classification":0,"col_offset":59,"end_col_offset":95,"end_lineno":136,"lineno":136,"src":{"jump_code":"","length":36,"start":3181}}],"classification":1,"col_offset":0,"end_col_offset":41,"end_lineno":139,"lineno":136,"name":"getEmptyTupleOfArrayOfStructsAndDynArrayOfStructs","src":{"jump_code":"","length":236,"start":3122}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":143,"lineno":143,"src":{"jump_code":"","length":3,"start":3376}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":23,"end_col_offset":30,"end_lineno":144,"lineno":144,"src":{"jump_code":"","length":7,"start":3467}}],"classification":0,"col_offset":13,"end_col_offset":31,"end_lineno":144,"lineno":144,"src":{"jump_code":"","length":18,"start":3457}},{"ast_type":"Name","children":[],"classification":1,"col_offset":13,"end_col_offset":22,"end_lineno":144,"lineno":144,"src":{"jump_code":"","length":9,"start":3457}}],"classification":0,"col_offset":13,"end_col_offset":31,"end_lineno":144,"lineno":144,"src":{"jump_code":"","length":18,"start":3457}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":10,"end_lineno":144,"lineno":144,"src":{"jump_code":"","length":6,"start":3448}},{"ast_type":"Call","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":50,"end_col_offset":57,"end_lineno":144,"lineno":144,"src":{"jump_code":"","length":7,"start":3494}}],"classification":0,"col_offset":40,"end_col_offset":58,"end_lineno":144,"lineno":144,"src":{"jump_code":"","length":18,"start":3484}},{"ast_type":"Name","children":[],"classification":1,"col_offset":40,"end_col_offset":49,"end_lineno":144,"lineno":144,"src":{"jump_code":"","length":9,"start":3484}}],"classification":0,"col_offset":40,"end_col_offset":58,"end_lineno":144,"lineno":144,"src":{"jump_code":"","length":18,"start":3484}},{"ast_type":"Name","children":[],"classification":1,"col_offset":34,"end_col_offset":39,"end_lineno":144,"lineno":144,"src":{"jump_code":"","length":5,"start":3478}}],"classification":0,"col_offset":34,"end_col_offset":59,"end_lineno":144,"lineno":144,"src":{"jump_code":"","length":25,"start":3478}}],"classification":0,"col_offset":4,"end_col_offset":59,"end_lineno":144,"lineno":144,"src":{"jump_code":"","length":55,"start":3448}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":11,"end_col_offset":12,"end_lineno":145,"lineno":145,"src":{"jump_code":"","length":1,"start":3515}},{"ast_type":"Name","children":[],"classification":1,"col_offset":14,"end_col_offset":20,"end_lineno":145,"lineno":145,"src":{"jump_code":"","length":6,"start":3518}}],"classification":0,"col_offset":11,"end_col_offset":20,"end_lineno":145,"lineno":145,"src":{"jump_code":"","length":9,"start":3515}}],"classification":0,"col_offset":4,"end_col_offset":20,"end_lineno":145,"lineno":145,"src":{"jump_code":"","length":16,"start":3508}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":141,"lineno":141,"src":{"jump_code":"","length":4,"start":3361}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":142,"lineno":142,"src":{"jump_code":"","length":8,"start":3367}},{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":38,"end_col_offset":45,"end_lineno":143,"lineno":143,"src":{"jump_code":"","length":7,"start":3414}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":57,"end_col_offset":64,"end_lineno":143,"lineno":143,"src":{"jump_code":"","length":7,"start":3433}}],"classification":0,"col_offset":47,"end_col_offset":65,"end_lineno":143,"lineno":143,"src":{"jump_code":"","length":18,"start":3423}},{"ast_type":"Name","children":[],"classification":1,"col_offset":47,"end_col_offset":56,"end_lineno":143,"lineno":143,"src":{"jump_code":"","length":9,"start":3423}}],"classification":0,"col_offset":47,"end_col_offset":65,"end_lineno":143,"lineno":143,"src":{"jump_code":"","length":18,"start":3423}}],"classification":0,"col_offset":37,"end_col_offset":66,"end_lineno":143,"lineno":143,"src":{"jump_code":"","length":29,"start":3413}}],"classification":1,"col_offset":0,"end_col_offset":20,"end_lineno":145,"lineno":143,"name":"getTupleOfIntAndStructArray","src":{"jump_code":"","length":148,"start":3376}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":149,"lineno":149,"src":{"jump_code":"","length":3,"start":3542}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":24,"end_col_offset":31,"end_lineno":150,"lineno":150,"src":{"jump_code":"","length":7,"start":3654}},{"ast_type":"Int","children":[],"classification":0,"col_offset":33,"end_col_offset":35,"end_lineno":150,"lineno":150,"src":{"jump_code":"","length":2,"start":3663}}],"classification":0,"col_offset":24,"end_col_offset":35,"end_lineno":150,"lineno":150,"src":{"jump_code":"","length":11,"start":3654}}],"classification":0,"col_offset":15,"end_col_offset":36,"end_lineno":150,"lineno":150,"src":{"jump_code":"","length":21,"start":3645}},{"ast_type":"Name","children":[],"classification":1,"col_offset":15,"end_col_offset":23,"end_lineno":150,"lineno":150,"src":{"jump_code":"","length":8,"start":3645}}],"classification":0,"col_offset":15,"end_col_offset":36,"end_lineno":150,"lineno":150,"src":{"jump_code":"","length":21,"start":3645}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":13,"end_lineno":150,"lineno":150,"src":{"jump_code":"","length":9,"start":3634}},{"ast_type":"List","children":[],"classification":0,"col_offset":39,"end_col_offset":41,"end_lineno":150,"lineno":150,"src":{"jump_code":"","length":2,"start":3669}}],"classification":0,"col_offset":4,"end_col_offset":41,"end_lineno":150,"lineno":150,"src":{"jump_code":"","length":37,"start":3634}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":34,"end_lineno":151,"lineno":151,"src":{"jump_code":"","length":8,"start":3698}},{"ast_type":"Int","children":[],"classification":0,"col_offset":36,"end_col_offset":38,"end_lineno":151,"lineno":151,"src":{"jump_code":"","length":2,"start":3708}}],"classification":0,"col_offset":26,"end_col_offset":38,"end_lineno":151,"lineno":151,"src":{"jump_code":"","length":12,"start":3698}}],"classification":0,"col_offset":17,"end_col_offset":39,"end_lineno":151,"lineno":151,"src":{"jump_code":"","length":22,"start":3689}},{"ast_type":"Name","children":[],"classification":1,"col_offset":17,"end_col_offset":25,"end_lineno":151,"lineno":151,"src":{"jump_code":"","length":8,"start":3689}}],"classification":0,"col_offset":17,"end_col_offset":39,"end_lineno":151,"lineno":151,"src":{"jump_code":"","length":22,"start":3689}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":15,"end_lineno":151,"lineno":151,"src":{"jump_code":"","length":11,"start":3676}},{"ast_type":"List","children":[],"classification":0,"col_offset":42,"end_col_offset":44,"end_lineno":151,"lineno":151,"src":{"jump_code":"","length":2,"start":3714}}],"classification":0,"col_offset":4,"end_col_offset":44,"end_lineno":151,"lineno":151,"src":{"jump_code":"","length":40,"start":3676}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":20,"end_lineno":152,"lineno":152,"src":{"jump_code":"","length":9,"start":3728}},{"ast_type":"Name","children":[],"classification":1,"col_offset":22,"end_col_offset":33,"end_lineno":152,"lineno":152,"src":{"jump_code":"","length":11,"start":3739}}],"classification":0,"col_offset":11,"end_col_offset":33,"end_lineno":152,"lineno":152,"src":{"jump_code":"","length":22,"start":3728}}],"classification":0,"col_offset":4,"end_col_offset":33,"end_lineno":152,"lineno":152,"src":{"jump_code":"","length":29,"start":3721}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":147,"lineno":147,"src":{"jump_code":"","length":4,"start":3527}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":148,"lineno":148,"src":{"jump_code":"","length":8,"start":3533}},{"ast_type":"Tuple","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":49,"end_col_offset":56,"end_lineno":149,"lineno":149,"src":{"jump_code":"","length":7,"start":3591}},{"ast_type":"Int","children":[],"classification":0,"col_offset":58,"end_col_offset":60,"end_lineno":149,"lineno":149,"src":{"jump_code":"","length":2,"start":3600}}],"classification":0,"col_offset":49,"end_col_offset":60,"end_lineno":149,"lineno":149,"src":{"jump_code":"","length":11,"start":3591}}],"classification":0,"col_offset":40,"end_col_offset":61,"end_lineno":149,"lineno":149,"src":{"jump_code":"","length":21,"start":3582}},{"ast_type":"Name","children":[],"classification":1,"col_offset":40,"end_col_offset":48,"end_lineno":149,"lineno":149,"src":{"jump_code":"","length":8,"start":3582}}],"classification":0,"col_offset":40,"end_col_offset":61,"end_lineno":149,"lineno":149,"src":{"jump_code":"","length":21,"start":3582}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":72,"end_col_offset":80,"end_lineno":149,"lineno":149,"src":{"jump_code":"","length":8,"start":3614}},{"ast_type":"Int","children":[],"classification":0,"col_offset":82,"end_col_offset":84,"end_lineno":149,"lineno":149,"src":{"jump_code":"","length":2,"start":3624}}],"classification":0,"col_offset":72,"end_col_offset":84,"end_lineno":149,"lineno":149,"src":{"jump_code":"","length":12,"start":3614}}],"classification":0,"col_offset":63,"end_col_offset":85,"end_lineno":149,"lineno":149,"src":{"jump_code":"","length":22,"start":3605}},{"ast_type":"Name","children":[],"classification":1,"col_offset":63,"end_col_offset":71,"end_lineno":149,"lineno":149,"src":{"jump_code":"","length":8,"start":3605}}],"classification":0,"col_offset":63,"end_col_offset":85,"end_lineno":149,"lineno":149,"src":{"jump_code":"","length":22,"start":3605}}],"classification":0,"col_offset":39,"end_col_offset":86,"end_lineno":149,"lineno":149,"src":{"jump_code":"","length":47,"start":3581}}],"classification":1,"col_offset":0,"end_col_offset":33,"end_lineno":152,"lineno":149,"name":"getEmptyTupleOfIntAndDynArray","src":{"jump_code":"","length":208,"start":3542}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":156,"lineno":156,"src":{"jump_code":"","length":3,"start":3768}},{"ast_type":"Return","children":[{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":15,"end_lineno":159,"lineno":159,"src":{"jump_code":"","length":3,"start":3851}},{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":15,"end_lineno":160,"lineno":160,"src":{"jump_code":"","length":3,"start":3871}},{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":15,"end_lineno":164,"lineno":164,"src":{"jump_code":"","length":3,"start":4028}},{"ast_type":"Int","children":[],"classification":0,"col_offset":17,"end_col_offset":18,"end_lineno":159,"lineno":159,"src":{"jump_code":"","length":1,"start":3856}},{"ast_type":"List","children":[{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":27,"end_lineno":161,"lineno":161,"src":{"jump_code":"","length":1,"start":3904}},{"ast_type":"Name","children":[],"classification":1,"col_offset":41,"end_col_offset":42,"end_lineno":161,"lineno":161,"src":{"jump_code":"","length":1,"start":3919}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":29,"end_col_offset":32,"end_lineno":161,"lineno":161,"src":{"jump_code":"","length":3,"start":3907}}],"classification":0,"col_offset":29,"end_col_offset":39,"end_lineno":161,"lineno":161,"src":{"jump_code":"","length":10,"start":3907}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":44,"end_col_offset":49,"end_lineno":161,"lineno":161,"src":{"jump_code":"","length":5,"start":3922}}],"classification":0,"col_offset":44,"end_col_offset":58,"end_lineno":161,"lineno":161,"src":{"jump_code":"","length":14,"start":3922}}],"classification":0,"col_offset":25,"end_col_offset":59,"end_lineno":161,"lineno":161,"src":{"jump_code":"","length":34,"start":3903}},{"ast_type":"Name","children":[],"classification":1,"col_offset":16,"end_col_offset":24,"end_lineno":161,"lineno":161,"src":{"jump_code":"","length":8,"start":3894}}],"classification":0,"col_offset":16,"end_col_offset":60,"end_lineno":161,"lineno":161,"src":{"jump_code":"","length":44,"start":3894}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":27,"end_lineno":162,"lineno":162,"src":{"jump_code":"","length":1,"start":3966}},{"ast_type":"Name","children":[],"classification":1,"col_offset":41,"end_col_offset":42,"end_lineno":162,"lineno":162,"src":{"jump_code":"","length":1,"start":3981}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":29,"end_col_offset":32,"end_lineno":162,"lineno":162,"src":{"jump_code":"","length":3,"start":3969}}],"classification":0,"col_offset":29,"end_col_offset":39,"end_lineno":162,"lineno":162,"src":{"jump_code":"","length":10,"start":3969}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":44,"end_col_offset":49,"end_lineno":162,"lineno":162,"src":{"jump_code":"","length":5,"start":3984}}],"classification":0,"col_offset":44,"end_col_offset":58,"end_lineno":162,"lineno":162,"src":{"jump_code":"","length":14,"start":3984}}],"classification":0,"col_offset":25,"end_col_offset":59,"end_lineno":162,"lineno":162,"src":{"jump_code":"","length":34,"start":3965}},{"ast_type":"Name","children":[],"classification":1,"col_offset":16,"end_col_offset":24,"end_lineno":162,"lineno":162,"src":{"jump_code":"","length":8,"start":3956}}],"classification":0,"col_offset":16,"end_col_offset":60,"end_lineno":162,"lineno":162,"src":{"jump_code":"","length":44,"start":3956}}],"classification":0,"col_offset":17,"end_col_offset":13,"end_lineno":163,"lineno":160,"src":{"jump_code":"","length":138,"start":3876}},{"ast_type":"Int","children":[],"classification":0,"col_offset":17,"end_col_offset":18,"end_lineno":164,"lineno":164,"src":{"jump_code":"","length":1,"start":4033}}],"classification":0,"col_offset":8,"end_col_offset":9,"end_lineno":165,"lineno":158,"src":{"jump_code":"","length":207,"start":3837}},{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":20,"end_lineno":157,"lineno":157,"src":{"jump_code":"","length":9,"start":3818}}],"classification":0,"col_offset":11,"end_col_offset":5,"end_lineno":166,"lineno":157,"src":{"jump_code":"","length":232,"start":3818}}],"classification":0,"col_offset":4,"end_col_offset":5,"end_lineno":166,"lineno":157,"src":{"jump_code":"","length":239,"start":3811}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":154,"lineno":154,"src":{"jump_code":"","length":4,"start":3753}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":155,"lineno":155,"src":{"jump_code":"","length":8,"start":3759}},{"ast_type":"Name","children":[],"classification":1,"col_offset":28,"end_col_offset":37,"end_lineno":156,"lineno":156,"src":{"jump_code":"","length":9,"start":3796}}],"classification":1,"col_offset":0,"end_col_offset":5,"end_lineno":166,"lineno":156,"name":"getStructWithArray","src":{"jump_code":"","length":282,"start":3768}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":170,"lineno":170,"src":{"jump_code":"","length":3,"start":4068}},{"ast_type":"Return","children":[{"ast_type":"List","children":[],"classification":0,"col_offset":11,"end_col_offset":13,"end_lineno":171,"lineno":171,"src":{"jump_code":"","length":2,"start":4124}}],"classification":0,"col_offset":4,"end_col_offset":13,"end_lineno":171,"lineno":171,"src":{"jump_code":"","length":9,"start":4117}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":168,"lineno":168,"src":{"jump_code":"","length":4,"start":4053}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":169,"lineno":169,"src":{"jump_code":"","length":8,"start":4059}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":32,"end_col_offset":39,"end_lineno":170,"lineno":170,"src":{"jump_code":"","length":7,"start":4100}},{"ast_type":"Int","children":[],"classification":0,"col_offset":41,"end_col_offset":42,"end_lineno":170,"lineno":170,"src":{"jump_code":"","length":1,"start":4109}}],"classification":0,"col_offset":32,"end_col_offset":42,"end_lineno":170,"lineno":170,"src":{"jump_code":"","length":10,"start":4100}}],"classification":0,"col_offset":23,"end_col_offset":43,"end_lineno":170,"lineno":170,"src":{"jump_code":"","length":20,"start":4091}},{"ast_type":"Name","children":[],"classification":1,"col_offset":23,"end_col_offset":31,"end_lineno":170,"lineno":170,"src":{"jump_code":"","length":8,"start":4091}}],"classification":0,"col_offset":23,"end_col_offset":43,"end_lineno":170,"lineno":170,"src":{"jump_code":"","length":20,"start":4091}}],"classification":1,"col_offset":0,"end_col_offset":13,"end_lineno":171,"lineno":170,"name":"getEmptyArray","src":{"jump_code":"","length":58,"start":4068}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":175,"lineno":175,"src":{"jump_code":"","length":3,"start":4144}},{"ast_type":"Return","children":[{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":12,"end_col_offset":13,"end_lineno":176,"lineno":176,"src":{"jump_code":"","length":1,"start":4206}}],"classification":0,"col_offset":11,"end_col_offset":14,"end_lineno":176,"lineno":176,"src":{"jump_code":"","length":3,"start":4205}}],"classification":0,"col_offset":4,"end_col_offset":14,"end_lineno":176,"lineno":176,"src":{"jump_code":"","length":10,"start":4198}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":173,"lineno":173,"src":{"jump_code":"","length":4,"start":4129}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":174,"lineno":174,"src":{"jump_code":"","length":8,"start":4135}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":37,"end_col_offset":44,"end_lineno":175,"lineno":175,"src":{"jump_code":"","length":7,"start":4181}},{"ast_type":"Int","children":[],"classification":0,"col_offset":46,"end_col_offset":47,"end_lineno":175,"lineno":175,"src":{"jump_code":"","length":1,"start":4190}}],"classification":0,"col_offset":37,"end_col_offset":47,"end_lineno":175,"lineno":175,"src":{"jump_code":"","length":10,"start":4181}}],"classification":0,"col_offset":28,"end_col_offset":48,"end_lineno":175,"lineno":175,"src":{"jump_code":"","length":20,"start":4172}},{"ast_type":"Name","children":[],"classification":1,"col_offset":28,"end_col_offset":36,"end_lineno":175,"lineno":175,"src":{"jump_code":"","length":8,"start":4172}}],"classification":0,"col_offset":28,"end_col_offset":48,"end_lineno":175,"lineno":175,"src":{"jump_code":"","length":20,"start":4172}}],"classification":1,"col_offset":0,"end_col_offset":14,"end_lineno":176,"lineno":175,"name":"getSingleItemArray","src":{"jump_code":"","length":64,"start":4144}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":180,"lineno":180,"src":{"jump_code":"","length":3,"start":4226}},{"ast_type":"Return","children":[{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":12,"end_col_offset":13,"end_lineno":181,"lineno":181,"src":{"jump_code":"","length":1,"start":4284}},{"ast_type":"Int","children":[],"classification":0,"col_offset":15,"end_col_offset":16,"end_lineno":181,"lineno":181,"src":{"jump_code":"","length":1,"start":4287}},{"ast_type":"Int","children":[],"classification":0,"col_offset":18,"end_col_offset":19,"end_lineno":181,"lineno":181,"src":{"jump_code":"","length":1,"start":4290}}],"classification":0,"col_offset":11,"end_col_offset":20,"end_lineno":181,"lineno":181,"src":{"jump_code":"","length":9,"start":4283}}],"classification":0,"col_offset":4,"end_col_offset":20,"end_lineno":181,"lineno":181,"src":{"jump_code":"","length":16,"start":4276}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":178,"lineno":178,"src":{"jump_code":"","length":4,"start":4211}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":179,"lineno":179,"src":{"jump_code":"","length":8,"start":4217}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":33,"end_col_offset":40,"end_lineno":180,"lineno":180,"src":{"jump_code":"","length":7,"start":4259}},{"ast_type":"Int","children":[],"classification":0,"col_offset":42,"end_col_offset":43,"end_lineno":180,"lineno":180,"src":{"jump_code":"","length":1,"start":4268}}],"classification":0,"col_offset":33,"end_col_offset":43,"end_lineno":180,"lineno":180,"src":{"jump_code":"","length":10,"start":4259}}],"classification":0,"col_offset":24,"end_col_offset":44,"end_lineno":180,"lineno":180,"src":{"jump_code":"","length":20,"start":4250}},{"ast_type":"Name","children":[],"classification":1,"col_offset":24,"end_col_offset":32,"end_lineno":180,"lineno":180,"src":{"jump_code":"","length":8,"start":4250}}],"classification":0,"col_offset":24,"end_col_offset":44,"end_lineno":180,"lineno":180,"src":{"jump_code":"","length":20,"start":4250}}],"classification":1,"col_offset":0,"end_col_offset":20,"end_lineno":181,"lineno":180,"name":"getFilledArray","src":{"jump_code":"","length":66,"start":4226}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":185,"lineno":185,"src":{"jump_code":"","length":3,"start":4310}},{"ast_type":"Return","children":[{"ast_type":"List","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":15,"end_lineno":186,"lineno":186,"src":{"jump_code":"","length":3,"start":4369}}],"classification":0,"col_offset":12,"end_col_offset":22,"end_lineno":186,"lineno":186,"src":{"jump_code":"","length":10,"start":4369}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":24,"end_col_offset":27,"end_lineno":186,"lineno":186,"src":{"jump_code":"","length":3,"start":4381}}],"classification":0,"col_offset":24,"end_col_offset":34,"end_lineno":186,"lineno":186,"src":{"jump_code":"","length":10,"start":4381}}],"classification":0,"col_offset":11,"end_col_offset":35,"end_lineno":186,"lineno":186,"src":{"jump_code":"","length":24,"start":4368}}],"classification":0,"col_offset":4,"end_col_offset":35,"end_lineno":186,"lineno":186,"src":{"jump_code":"","length":31,"start":4361}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":183,"lineno":183,"src":{"jump_code":"","length":4,"start":4295}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":184,"lineno":184,"src":{"jump_code":"","length":8,"start":4301}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":34,"end_col_offset":41,"end_lineno":185,"lineno":185,"src":{"jump_code":"","length":7,"start":4344}},{"ast_type":"Int","children":[],"classification":0,"col_offset":43,"end_col_offset":44,"end_lineno":185,"lineno":185,"src":{"jump_code":"","length":1,"start":4353}}],"classification":0,"col_offset":34,"end_col_offset":44,"end_lineno":185,"lineno":185,"src":{"jump_code":"","length":10,"start":4344}}],"classification":0,"col_offset":25,"end_col_offset":45,"end_lineno":185,"lineno":185,"src":{"jump_code":"","length":20,"start":4335}},{"ast_type":"Name","children":[],"classification":1,"col_offset":25,"end_col_offset":33,"end_lineno":185,"lineno":185,"src":{"jump_code":"","length":8,"start":4335}}],"classification":0,"col_offset":25,"end_col_offset":45,"end_lineno":185,"lineno":185,"src":{"jump_code":"","length":20,"start":4335}}],"classification":1,"col_offset":0,"end_col_offset":35,"end_lineno":186,"lineno":185,"name":"getAddressArray","src":{"jump_code":"","length":82,"start":4310}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":190,"lineno":190,"src":{"jump_code":"","length":3,"start":4410}},{"ast_type":"Return","children":[{"ast_type":"List","children":[{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":23,"end_col_offset":24,"end_lineno":192,"lineno":192,"src":{"jump_code":"","length":1,"start":4505}},{"ast_type":"Name","children":[],"classification":1,"col_offset":72,"end_col_offset":75,"end_lineno":192,"lineno":192,"src":{"jump_code":"","length":3,"start":4554}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":36,"end_col_offset":37,"end_lineno":192,"lineno":192,"src":{"jump_code":"","length":1,"start":4518}},{"ast_type":"Name","children":[],"classification":1,"col_offset":51,"end_col_offset":52,"end_lineno":192,"lineno":192,"src":{"jump_code":"","length":1,"start":4533}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":39,"end_col_offset":42,"end_lineno":192,"lineno":192,"src":{"jump_code":"","length":3,"start":4521}}],"classification":0,"col_offset":39,"end_col_offset":49,"end_lineno":192,"lineno":192,"src":{"jump_code":"","length":10,"start":4521}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":54,"end_col_offset":59,"end_lineno":192,"lineno":192,"src":{"jump_code":"","length":5,"start":4536}}],"classification":0,"col_offset":54,"end_col_offset":68,"end_lineno":192,"lineno":192,"src":{"jump_code":"","length":14,"start":4536}}],"classification":0,"col_offset":35,"end_col_offset":69,"end_lineno":192,"lineno":192,"src":{"jump_code":"","length":34,"start":4517}},{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":34,"end_lineno":192,"lineno":192,"src":{"jump_code":"","length":8,"start":4508}}],"classification":0,"col_offset":26,"end_col_offset":70,"end_lineno":192,"lineno":192,"src":{"jump_code":"","length":44,"start":4508}},{"ast_type":"Int","children":[],"classification":0,"col_offset":77,"end_col_offset":78,"end_lineno":192,"lineno":192,"src":{"jump_code":"","length":1,"start":4559}}],"classification":0,"col_offset":22,"end_col_offset":79,"end_lineno":192,"lineno":192,"src":{"jump_code":"","length":57,"start":4504}},{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":21,"end_lineno":192,"lineno":192,"src":{"jump_code":"","length":13,"start":4490}}],"classification":0,"col_offset":8,"end_col_offset":80,"end_lineno":192,"lineno":192,"src":{"jump_code":"","length":72,"start":4490}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":23,"end_col_offset":24,"end_lineno":193,"lineno":193,"src":{"jump_code":"","length":1,"start":4587}},{"ast_type":"Name","children":[],"classification":1,"col_offset":72,"end_col_offset":75,"end_lineno":193,"lineno":193,"src":{"jump_code":"","length":3,"start":4636}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":36,"end_col_offset":37,"end_lineno":193,"lineno":193,"src":{"jump_code":"","length":1,"start":4600}},{"ast_type":"Name","children":[],"classification":1,"col_offset":51,"end_col_offset":52,"end_lineno":193,"lineno":193,"src":{"jump_code":"","length":1,"start":4615}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":39,"end_col_offset":42,"end_lineno":193,"lineno":193,"src":{"jump_code":"","length":3,"start":4603}}],"classification":0,"col_offset":39,"end_col_offset":49,"end_lineno":193,"lineno":193,"src":{"jump_code":"","length":10,"start":4603}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":54,"end_col_offset":59,"end_lineno":193,"lineno":193,"src":{"jump_code":"","length":5,"start":4618}}],"classification":0,"col_offset":54,"end_col_offset":68,"end_lineno":193,"lineno":193,"src":{"jump_code":"","length":14,"start":4618}}],"classification":0,"col_offset":35,"end_col_offset":69,"end_lineno":193,"lineno":193,"src":{"jump_code":"","length":34,"start":4599}},{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":34,"end_lineno":193,"lineno":193,"src":{"jump_code":"","length":8,"start":4590}}],"classification":0,"col_offset":26,"end_col_offset":70,"end_lineno":193,"lineno":193,"src":{"jump_code":"","length":44,"start":4590}},{"ast_type":"Int","children":[],"classification":0,"col_offset":77,"end_col_offset":78,"end_lineno":193,"lineno":193,"src":{"jump_code":"","length":1,"start":4641}}],"classification":0,"col_offset":22,"end_col_offset":79,"end_lineno":193,"lineno":193,"src":{"jump_code":"","length":57,"start":4586}},{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":21,"end_lineno":193,"lineno":193,"src":{"jump_code":"","length":13,"start":4572}}],"classification":0,"col_offset":8,"end_col_offset":80,"end_lineno":193,"lineno":193,"src":{"jump_code":"","length":72,"start":4572}}],"classification":0,"col_offset":11,"end_col_offset":5,"end_lineno":194,"lineno":191,"src":{"jump_code":"","length":170,"start":4480}}],"classification":0,"col_offset":4,"end_col_offset":5,"end_lineno":194,"lineno":191,"src":{"jump_code":"","length":177,"start":4473}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":188,"lineno":188,"src":{"jump_code":"","length":4,"start":4395}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":189,"lineno":189,"src":{"jump_code":"","length":8,"start":4401}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":40,"end_col_offset":53,"end_lineno":190,"lineno":190,"src":{"jump_code":"","length":13,"start":4450}},{"ast_type":"Int","children":[],"classification":0,"col_offset":55,"end_col_offset":56,"end_lineno":190,"lineno":190,"src":{"jump_code":"","length":1,"start":4465}}],"classification":0,"col_offset":40,"end_col_offset":56,"end_lineno":190,"lineno":190,"src":{"jump_code":"","length":16,"start":4450}}],"classification":0,"col_offset":31,"end_col_offset":57,"end_lineno":190,"lineno":190,"src":{"jump_code":"","length":26,"start":4441}},{"ast_type":"Name","children":[],"classification":1,"col_offset":31,"end_col_offset":39,"end_lineno":190,"lineno":190,"src":{"jump_code":"","length":8,"start":4441}}],"classification":0,"col_offset":31,"end_col_offset":57,"end_lineno":190,"lineno":190,"src":{"jump_code":"","length":26,"start":4441}}],"classification":1,"col_offset":0,"end_col_offset":5,"end_lineno":194,"lineno":190,"name":"getDynamicStructArray","src":{"jump_code":"","length":240,"start":4410}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":198,"lineno":198,"src":{"jump_code":"","length":3,"start":4668}},{"ast_type":"Return","children":[{"ast_type":"List","children":[{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":23,"end_col_offset":26,"end_lineno":200,"lineno":200,"src":{"jump_code":"","length":3,"start":4752}},{"ast_type":"Name","children":[],"classification":1,"col_offset":31,"end_col_offset":32,"end_lineno":200,"lineno":200,"src":{"jump_code":"","length":1,"start":4760}},{"ast_type":"Int","children":[],"classification":0,"col_offset":28,"end_col_offset":29,"end_lineno":200,"lineno":200,"src":{"jump_code":"","length":1,"start":4757}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":44,"end_col_offset":45,"end_lineno":200,"lineno":200,"src":{"jump_code":"","length":1,"start":4773}},{"ast_type":"Name","children":[],"classification":1,"col_offset":59,"end_col_offset":60,"end_lineno":200,"lineno":200,"src":{"jump_code":"","length":1,"start":4788}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":47,"end_col_offset":50,"end_lineno":200,"lineno":200,"src":{"jump_code":"","length":3,"start":4776}}],"classification":0,"col_offset":47,"end_col_offset":57,"end_lineno":200,"lineno":200,"src":{"jump_code":"","length":10,"start":4776}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":62,"end_col_offset":67,"end_lineno":200,"lineno":200,"src":{"jump_code":"","length":5,"start":4791}}],"classification":0,"col_offset":62,"end_col_offset":76,"end_lineno":200,"lineno":200,"src":{"jump_code":"","length":14,"start":4791}}],"classification":0,"col_offset":43,"end_col_offset":77,"end_lineno":200,"lineno":200,"src":{"jump_code":"","length":34,"start":4772}},{"ast_type":"Name","children":[],"classification":1,"col_offset":34,"end_col_offset":42,"end_lineno":200,"lineno":200,"src":{"jump_code":"","length":8,"start":4763}}],"classification":0,"col_offset":34,"end_col_offset":78,"end_lineno":200,"lineno":200,"src":{"jump_code":"","length":44,"start":4763}}],"classification":0,"col_offset":22,"end_col_offset":79,"end_lineno":200,"lineno":200,"src":{"jump_code":"","length":57,"start":4751}},{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":21,"end_lineno":200,"lineno":200,"src":{"jump_code":"","length":13,"start":4737}}],"classification":0,"col_offset":8,"end_col_offset":80,"end_lineno":200,"lineno":200,"src":{"jump_code":"","length":72,"start":4737}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":23,"end_col_offset":26,"end_lineno":201,"lineno":201,"src":{"jump_code":"","length":3,"start":4834}},{"ast_type":"Name","children":[],"classification":1,"col_offset":31,"end_col_offset":32,"end_lineno":201,"lineno":201,"src":{"jump_code":"","length":1,"start":4842}},{"ast_type":"Int","children":[],"classification":0,"col_offset":28,"end_col_offset":29,"end_lineno":201,"lineno":201,"src":{"jump_code":"","length":1,"start":4839}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":44,"end_col_offset":45,"end_lineno":201,"lineno":201,"src":{"jump_code":"","length":1,"start":4855}},{"ast_type":"Name","children":[],"classification":1,"col_offset":59,"end_col_offset":60,"end_lineno":201,"lineno":201,"src":{"jump_code":"","length":1,"start":4870}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":47,"end_col_offset":50,"end_lineno":201,"lineno":201,"src":{"jump_code":"","length":3,"start":4858}}],"classification":0,"col_offset":47,"end_col_offset":57,"end_lineno":201,"lineno":201,"src":{"jump_code":"","length":10,"start":4858}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":62,"end_col_offset":67,"end_lineno":201,"lineno":201,"src":{"jump_code":"","length":5,"start":4873}}],"classification":0,"col_offset":62,"end_col_offset":76,"end_lineno":201,"lineno":201,"src":{"jump_code":"","length":14,"start":4873}}],"classification":0,"col_offset":43,"end_col_offset":77,"end_lineno":201,"lineno":201,"src":{"jump_code":"","length":34,"start":4854}},{"ast_type":"Name","children":[],"classification":1,"col_offset":34,"end_col_offset":42,"end_lineno":201,"lineno":201,"src":{"jump_code":"","length":8,"start":4845}}],"classification":0,"col_offset":34,"end_col_offset":78,"end_lineno":201,"lineno":201,"src":{"jump_code":"","length":44,"start":4845}}],"classification":0,"col_offset":22,"end_col_offset":79,"end_lineno":201,"lineno":201,"src":{"jump_code":"","length":57,"start":4833}},{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":21,"end_lineno":201,"lineno":201,"src":{"jump_code":"","length":13,"start":4819}}],"classification":0,"col_offset":8,"end_col_offset":80,"end_lineno":201,"lineno":201,"src":{"jump_code":"","length":72,"start":4819}}],"classification":0,"col_offset":11,"end_col_offset":5,"end_lineno":202,"lineno":199,"src":{"jump_code":"","length":170,"start":4727}}],"classification":0,"col_offset":4,"end_col_offset":5,"end_lineno":202,"lineno":199,"src":{"jump_code":"","length":177,"start":4720}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":196,"lineno":196,"src":{"jump_code":"","length":4,"start":4653}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":197,"lineno":197,"src":{"jump_code":"","length":8,"start":4659}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":44,"end_col_offset":45,"end_lineno":198,"lineno":198,"src":{"jump_code":"","length":1,"start":4712}}],"classification":0,"col_offset":30,"end_col_offset":46,"end_lineno":198,"lineno":198,"src":{"jump_code":"","length":16,"start":4698}},{"ast_type":"Name","children":[],"classification":1,"col_offset":30,"end_col_offset":43,"end_lineno":198,"lineno":198,"src":{"jump_code":"","length":13,"start":4698}}],"classification":0,"col_offset":30,"end_col_offset":46,"end_lineno":198,"lineno":198,"src":{"jump_code":"","length":16,"start":4698}}],"classification":1,"col_offset":0,"end_col_offset":5,"end_lineno":202,"lineno":198,"name":"getStaticStructArray","src":{"jump_code":"","length":229,"start":4668}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":206,"lineno":206,"src":{"jump_code":"","length":3,"start":4915}},{"ast_type":"Return","children":[{"ast_type":"Call","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":25,"end_col_offset":27,"end_lineno":207,"lineno":207,"src":{"jump_code":"","length":2,"start":4985}}],"classification":0,"col_offset":17,"end_col_offset":28,"end_lineno":207,"lineno":207,"src":{"jump_code":"","length":11,"start":4977}},{"ast_type":"Name","children":[],"classification":1,"col_offset":17,"end_col_offset":24,"end_lineno":207,"lineno":207,"src":{"jump_code":"","length":7,"start":4977}}],"classification":0,"col_offset":17,"end_col_offset":28,"end_lineno":207,"lineno":207,"src":{"jump_code":"","length":11,"start":4977}},{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":16,"end_lineno":207,"lineno":207,"src":{"jump_code":"","length":5,"start":4971}}],"classification":0,"col_offset":11,"end_col_offset":29,"end_lineno":207,"lineno":207,"src":{"jump_code":"","length":18,"start":4971}}],"classification":0,"col_offset":4,"end_col_offset":29,"end_lineno":207,"lineno":207,"src":{"jump_code":"","length":25,"start":4964}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":204,"lineno":204,"src":{"jump_code":"","length":4,"start":4900}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":205,"lineno":205,"src":{"jump_code":"","length":8,"start":4906}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":40,"end_col_offset":42,"end_lineno":206,"lineno":206,"src":{"jump_code":"","length":2,"start":4955}}],"classification":0,"col_offset":32,"end_col_offset":43,"end_lineno":206,"lineno":206,"src":{"jump_code":"","length":11,"start":4947}},{"ast_type":"Name","children":[],"classification":1,"col_offset":32,"end_col_offset":39,"end_lineno":206,"lineno":206,"src":{"jump_code":"","length":7,"start":4947}}],"classification":0,"col_offset":32,"end_col_offset":43,"end_lineno":206,"lineno":206,"src":{"jump_code":"","length":11,"start":4947}}],"classification":1,"col_offset":0,"end_col_offset":29,"end_lineno":207,"lineno":206,"name":"getArrayWithBiggerSize","src":{"jump_code":"","length":74,"start":4915}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":212,"lineno":212,"src":{"jump_code":"","length":3,"start":5008}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Call","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":26,"end_col_offset":28,"end_lineno":213,"lineno":213,"src":{"jump_code":"","length":2,"start":5088}}],"classification":0,"col_offset":18,"end_col_offset":29,"end_lineno":213,"lineno":213,"src":{"jump_code":"","length":11,"start":5080}},{"ast_type":"Name","children":[],"classification":1,"col_offset":18,"end_col_offset":25,"end_lineno":213,"lineno":213,"src":{"jump_code":"","length":7,"start":5080}}],"classification":0,"col_offset":18,"end_col_offset":29,"end_lineno":213,"lineno":213,"src":{"jump_code":"","length":11,"start":5080}},{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":17,"end_lineno":213,"lineno":213,"src":{"jump_code":"","length":5,"start":5074}}],"classification":0,"col_offset":12,"end_col_offset":30,"end_lineno":213,"lineno":213,"src":{"jump_code":"","length":18,"start":5074}},{"ast_type":"Call","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":46,"end_col_offset":48,"end_lineno":213,"lineno":213,"src":{"jump_code":"","length":2,"start":5108}}],"classification":0,"col_offset":38,"end_col_offset":49,"end_lineno":213,"lineno":213,"src":{"jump_code":"","length":11,"start":5100}},{"ast_type":"Name","children":[],"classification":1,"col_offset":38,"end_col_offset":45,"end_lineno":213,"lineno":213,"src":{"jump_code":"","length":7,"start":5100}}],"classification":0,"col_offset":38,"end_col_offset":49,"end_lineno":213,"lineno":213,"src":{"jump_code":"","length":11,"start":5100}},{"ast_type":"Name","children":[],"classification":1,"col_offset":32,"end_col_offset":37,"end_lineno":213,"lineno":213,"src":{"jump_code":"","length":5,"start":5094}}],"classification":0,"col_offset":32,"end_col_offset":50,"end_lineno":213,"lineno":213,"src":{"jump_code":"","length":18,"start":5094}}],"classification":0,"col_offset":11,"end_col_offset":51,"end_lineno":213,"lineno":213,"src":{"jump_code":"","length":40,"start":5073}}],"classification":0,"col_offset":4,"end_col_offset":51,"end_lineno":213,"lineno":213,"src":{"jump_code":"","length":47,"start":5066}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":210,"lineno":210,"src":{"jump_code":"","length":4,"start":4993}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":211,"lineno":211,"src":{"jump_code":"","length":8,"start":4999}},{"ast_type":"Tuple","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":35,"end_col_offset":37,"end_lineno":212,"lineno":212,"src":{"jump_code":"","length":2,"start":5043}}],"classification":0,"col_offset":27,"end_col_offset":38,"end_lineno":212,"lineno":212,"src":{"jump_code":"","length":11,"start":5035}},{"ast_type":"Name","children":[],"classification":1,"col_offset":27,"end_col_offset":34,"end_lineno":212,"lineno":212,"src":{"jump_code":"","length":7,"start":5035}}],"classification":0,"col_offset":27,"end_col_offset":38,"end_lineno":212,"lineno":212,"src":{"jump_code":"","length":11,"start":5035}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":48,"end_col_offset":50,"end_lineno":212,"lineno":212,"src":{"jump_code":"","length":2,"start":5056}}],"classification":0,"col_offset":40,"end_col_offset":51,"end_lineno":212,"lineno":212,"src":{"jump_code":"","length":11,"start":5048}},{"ast_type":"Name","children":[],"classification":1,"col_offset":40,"end_col_offset":47,"end_lineno":212,"lineno":212,"src":{"jump_code":"","length":7,"start":5048}}],"classification":0,"col_offset":40,"end_col_offset":51,"end_lineno":212,"lineno":212,"src":{"jump_code":"","length":11,"start":5048}}],"classification":0,"col_offset":26,"end_col_offset":52,"end_lineno":212,"lineno":212,"src":{"jump_code":"","length":26,"start":5034}}],"classification":1,"col_offset":0,"end_col_offset":51,"end_lineno":213,"lineno":212,"name":"getTupleOfArrays","src":{"jump_code":"","length":105,"start":5008}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":217,"lineno":217,"src":{"jump_code":"","length":3,"start":5131}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":12,"end_col_offset":15,"end_lineno":218,"lineno":218,"src":{"jump_code":"","length":3,"start":5190}},{"ast_type":"Int","children":[],"classification":0,"col_offset":17,"end_col_offset":20,"end_lineno":218,"lineno":218,"src":{"jump_code":"","length":3,"start":5195}}],"classification":0,"col_offset":11,"end_col_offset":21,"end_lineno":218,"lineno":218,"src":{"jump_code":"","length":10,"start":5189}}],"classification":0,"col_offset":4,"end_col_offset":21,"end_lineno":218,"lineno":218,"src":{"jump_code":"","length":17,"start":5182}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":215,"lineno":215,"src":{"jump_code":"","length":4,"start":5116}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":216,"lineno":216,"src":{"jump_code":"","length":8,"start":5122}},{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":28,"end_col_offset":35,"end_lineno":217,"lineno":217,"src":{"jump_code":"","length":7,"start":5159}},{"ast_type":"Name","children":[],"classification":1,"col_offset":37,"end_col_offset":44,"end_lineno":217,"lineno":217,"src":{"jump_code":"","length":7,"start":5168}}],"classification":0,"col_offset":27,"end_col_offset":45,"end_lineno":217,"lineno":217,"src":{"jump_code":"","length":18,"start":5158}}],"classification":1,"col_offset":0,"end_col_offset":21,"end_lineno":218,"lineno":217,"name":"getMultipleValues","src":{"jump_code":"","length":68,"start":5131}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":222,"lineno":222,"src":{"jump_code":"","length":3,"start":5217}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":12,"end_col_offset":13,"end_lineno":223,"lineno":223,"src":{"jump_code":"","length":1,"start":5274}},{"ast_type":"Int","children":[],"classification":0,"col_offset":15,"end_col_offset":16,"end_lineno":223,"lineno":223,"src":{"jump_code":"","length":1,"start":5277}}],"classification":0,"col_offset":11,"end_col_offset":17,"end_lineno":223,"lineno":223,"src":{"jump_code":"","length":6,"start":5273}}],"classification":0,"col_offset":4,"end_col_offset":17,"end_lineno":223,"lineno":223,"src":{"jump_code":"","length":13,"start":5266}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":220,"lineno":220,"src":{"jump_code":"","length":4,"start":5202}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":221,"lineno":221,"src":{"jump_code":"","length":8,"start":5208}},{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":33,"end_lineno":222,"lineno":222,"src":{"jump_code":"","length":7,"start":5243}},{"ast_type":"Name","children":[],"classification":1,"col_offset":35,"end_col_offset":42,"end_lineno":222,"lineno":222,"src":{"jump_code":"","length":7,"start":5252}}],"classification":0,"col_offset":25,"end_col_offset":43,"end_lineno":222,"lineno":222,"src":{"jump_code":"","length":18,"start":5242}}],"classification":1,"col_offset":0,"end_col_offset":17,"end_lineno":223,"lineno":222,"name":"getUnnamedTuple","src":{"jump_code":"","length":62,"start":5217}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":227,"lineno":227,"src":{"jump_code":"","length":3,"start":5297}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":23,"end_col_offset":25,"end_lineno":228,"lineno":228,"src":{"jump_code":"","length":2,"start":5380}}],"classification":0,"col_offset":15,"end_col_offset":26,"end_lineno":228,"lineno":228,"src":{"jump_code":"","length":11,"start":5372}},{"ast_type":"Name","children":[],"classification":1,"col_offset":15,"end_col_offset":22,"end_lineno":228,"lineno":228,"src":{"jump_code":"","length":7,"start":5372}}],"classification":0,"col_offset":15,"end_col_offset":26,"end_lineno":228,"lineno":228,"src":{"jump_code":"","length":11,"start":5372}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":13,"end_lineno":228,"lineno":228,"src":{"jump_code":"","length":9,"start":5361}},{"ast_type":"Call","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":43,"end_col_offset":45,"end_lineno":228,"lineno":228,"src":{"jump_code":"","length":2,"start":5400}}],"classification":0,"col_offset":35,"end_col_offset":46,"end_lineno":228,"lineno":228,"src":{"jump_code":"","length":11,"start":5392}},{"ast_type":"Name","children":[],"classification":1,"col_offset":35,"end_col_offset":42,"end_lineno":228,"lineno":228,"src":{"jump_code":"","length":7,"start":5392}}],"classification":0,"col_offset":35,"end_col_offset":46,"end_lineno":228,"lineno":228,"src":{"jump_code":"","length":11,"start":5392}},{"ast_type":"Name","children":[],"classification":1,"col_offset":29,"end_col_offset":34,"end_lineno":228,"lineno":228,"src":{"jump_code":"","length":5,"start":5386}}],"classification":0,"col_offset":29,"end_col_offset":47,"end_lineno":228,"lineno":228,"src":{"jump_code":"","length":18,"start":5386}}],"classification":0,"col_offset":4,"end_col_offset":47,"end_lineno":228,"lineno":228,"src":{"jump_code":"","length":43,"start":5361}},{"ast_type":"Assign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":14,"end_col_offset":15,"end_lineno":229,"lineno":229,"src":{"jump_code":"","length":1,"start":5419}}],"classification":0,"col_offset":4,"end_col_offset":16,"end_lineno":229,"lineno":229,"src":{"jump_code":"","length":12,"start":5409}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":13,"end_lineno":229,"lineno":229,"src":{"jump_code":"","length":9,"start":5409}}],"classification":0,"col_offset":4,"end_col_offset":16,"end_lineno":229,"lineno":229,"src":{"jump_code":"","length":12,"start":5409}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":19,"end_col_offset":22,"end_lineno":229,"lineno":229,"src":{"jump_code":"","length":3,"start":5424}}],"classification":0,"col_offset":19,"end_col_offset":29,"end_lineno":229,"lineno":229,"src":{"jump_code":"","length":10,"start":5424}}],"classification":0,"col_offset":4,"end_col_offset":29,"end_lineno":229,"lineno":229,"src":{"jump_code":"","length":25,"start":5409}},{"ast_type":"Return","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":21,"end_lineno":230,"lineno":230,"src":{"jump_code":"","length":9,"start":5447}},{"ast_type":"Call","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":37,"end_col_offset":39,"end_lineno":230,"lineno":230,"src":{"jump_code":"","length":2,"start":5472}}],"classification":0,"col_offset":29,"end_col_offset":40,"end_lineno":230,"lineno":230,"src":{"jump_code":"","length":11,"start":5464}},{"ast_type":"Name","children":[],"classification":1,"col_offset":29,"end_col_offset":36,"end_lineno":230,"lineno":230,"src":{"jump_code":"","length":7,"start":5464}}],"classification":0,"col_offset":29,"end_col_offset":40,"end_lineno":230,"lineno":230,"src":{"jump_code":"","length":11,"start":5464}},{"ast_type":"Name","children":[],"classification":1,"col_offset":23,"end_col_offset":28,"end_lineno":230,"lineno":230,"src":{"jump_code":"","length":5,"start":5458}}],"classification":0,"col_offset":23,"end_col_offset":41,"end_lineno":230,"lineno":230,"src":{"jump_code":"","length":18,"start":5458}}],"classification":0,"col_offset":11,"end_col_offset":42,"end_lineno":230,"lineno":230,"src":{"jump_code":"","length":31,"start":5446}}],"classification":0,"col_offset":4,"end_col_offset":42,"end_lineno":230,"lineno":230,"src":{"jump_code":"","length":38,"start":5439}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":225,"lineno":225,"src":{"jump_code":"","length":4,"start":5282}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":226,"lineno":226,"src":{"jump_code":"","length":8,"start":5288}},{"ast_type":"Tuple","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":41,"end_col_offset":43,"end_lineno":227,"lineno":227,"src":{"jump_code":"","length":2,"start":5338}}],"classification":0,"col_offset":33,"end_col_offset":44,"end_lineno":227,"lineno":227,"src":{"jump_code":"","length":11,"start":5330}},{"ast_type":"Name","children":[],"classification":1,"col_offset":33,"end_col_offset":40,"end_lineno":227,"lineno":227,"src":{"jump_code":"","length":7,"start":5330}}],"classification":0,"col_offset":33,"end_col_offset":44,"end_lineno":227,"lineno":227,"src":{"jump_code":"","length":11,"start":5330}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":54,"end_col_offset":56,"end_lineno":227,"lineno":227,"src":{"jump_code":"","length":2,"start":5351}}],"classification":0,"col_offset":46,"end_col_offset":57,"end_lineno":227,"lineno":227,"src":{"jump_code":"","length":11,"start":5343}},{"ast_type":"Name","children":[],"classification":1,"col_offset":46,"end_col_offset":53,"end_lineno":227,"lineno":227,"src":{"jump_code":"","length":7,"start":5343}}],"classification":0,"col_offset":46,"end_col_offset":57,"end_lineno":227,"lineno":227,"src":{"jump_code":"","length":11,"start":5343}}],"classification":0,"col_offset":32,"end_col_offset":58,"end_lineno":227,"lineno":227,"src":{"jump_code":"","length":26,"start":5329}}],"classification":1,"col_offset":0,"end_col_offset":42,"end_lineno":230,"lineno":227,"name":"getTupleOfAddressArray","src":{"jump_code":"","length":180,"start":5297}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":234,"lineno":234,"src":{"jump_code":"","length":3,"start":5495}},{"ast_type":"Return","children":[{"ast_type":"List","children":[{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":13,"end_col_offset":14,"end_lineno":235,"lineno":235,"src":{"jump_code":"","length":1,"start":5557}},{"ast_type":"Int","children":[],"classification":0,"col_offset":16,"end_col_offset":17,"end_lineno":235,"lineno":235,"src":{"jump_code":"","length":1,"start":5560}}],"classification":0,"col_offset":12,"end_col_offset":18,"end_lineno":235,"lineno":235,"src":{"jump_code":"","length":6,"start":5556}},{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":21,"end_col_offset":22,"end_lineno":235,"lineno":235,"src":{"jump_code":"","length":1,"start":5565}},{"ast_type":"Int","children":[],"classification":0,"col_offset":24,"end_col_offset":25,"end_lineno":235,"lineno":235,"src":{"jump_code":"","length":1,"start":5568}}],"classification":0,"col_offset":20,"end_col_offset":26,"end_lineno":235,"lineno":235,"src":{"jump_code":"","length":6,"start":5564}},{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":29,"end_col_offset":30,"end_lineno":235,"lineno":235,"src":{"jump_code":"","length":1,"start":5573}},{"ast_type":"Int","children":[],"classification":0,"col_offset":32,"end_col_offset":33,"end_lineno":235,"lineno":235,"src":{"jump_code":"","length":1,"start":5576}}],"classification":0,"col_offset":28,"end_col_offset":34,"end_lineno":235,"lineno":235,"src":{"jump_code":"","length":6,"start":5572}}],"classification":0,"col_offset":11,"end_col_offset":35,"end_lineno":235,"lineno":235,"src":{"jump_code":"","length":24,"start":5555}}],"classification":0,"col_offset":4,"end_col_offset":35,"end_lineno":235,"lineno":235,"src":{"jump_code":"","length":31,"start":5548}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":232,"lineno":232,"src":{"jump_code":"","length":4,"start":5480}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":233,"lineno":233,"src":{"jump_code":"","length":8,"start":5486}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":45,"end_col_offset":46,"end_lineno":234,"lineno":234,"src":{"jump_code":"","length":1,"start":5540}}],"classification":0,"col_offset":34,"end_col_offset":47,"end_lineno":234,"lineno":234,"src":{"jump_code":"","length":13,"start":5529}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":42,"end_col_offset":43,"end_lineno":234,"lineno":234,"src":{"jump_code":"","length":1,"start":5537}}],"classification":0,"col_offset":34,"end_col_offset":44,"end_lineno":234,"lineno":234,"src":{"jump_code":"","length":10,"start":5529}},{"ast_type":"Name","children":[],"classification":1,"col_offset":34,"end_col_offset":41,"end_lineno":234,"lineno":234,"src":{"jump_code":"","length":7,"start":5529}}],"classification":0,"col_offset":34,"end_col_offset":44,"end_lineno":234,"lineno":234,"src":{"jump_code":"","length":10,"start":5529}}],"classification":0,"col_offset":34,"end_col_offset":47,"end_lineno":234,"lineno":234,"src":{"jump_code":"","length":13,"start":5529}}],"classification":1,"col_offset":0,"end_col_offset":35,"end_lineno":235,"lineno":234,"name":"getNestedArrayFixedFixed","src":{"jump_code":"","length":84,"start":5495}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":239,"lineno":239,"src":{"jump_code":"","length":3,"start":5597}},{"ast_type":"Return","children":[{"ast_type":"List","children":[{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":13,"end_col_offset":14,"end_lineno":240,"lineno":240,"src":{"jump_code":"","length":1,"start":5674}},{"ast_type":"Int","children":[],"classification":0,"col_offset":16,"end_col_offset":17,"end_lineno":240,"lineno":240,"src":{"jump_code":"","length":1,"start":5677}}],"classification":0,"col_offset":12,"end_col_offset":18,"end_lineno":240,"lineno":240,"src":{"jump_code":"","length":6,"start":5673}},{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":21,"end_col_offset":22,"end_lineno":240,"lineno":240,"src":{"jump_code":"","length":1,"start":5682}},{"ast_type":"Int","children":[],"classification":0,"col_offset":24,"end_col_offset":25,"end_lineno":240,"lineno":240,"src":{"jump_code":"","length":1,"start":5685}}],"classification":0,"col_offset":20,"end_col_offset":26,"end_lineno":240,"lineno":240,"src":{"jump_code":"","length":6,"start":5681}},{"ast_type":"List","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":29,"end_col_offset":30,"end_lineno":240,"lineno":240,"src":{"jump_code":"","length":1,"start":5690}},{"ast_type":"Int","children":[],"classification":0,"col_offset":32,"end_col_offset":33,"end_lineno":240,"lineno":240,"src":{"jump_code":"","length":1,"start":5693}}],"classification":0,"col_offset":28,"end_col_offset":34,"end_lineno":240,"lineno":240,"src":{"jump_code":"","length":6,"start":5689}}],"classification":0,"col_offset":11,"end_col_offset":35,"end_lineno":240,"lineno":240,"src":{"jump_code":"","length":24,"start":5672}}],"classification":0,"col_offset":4,"end_col_offset":35,"end_lineno":240,"lineno":240,"src":{"jump_code":"","length":31,"start":5665}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":237,"lineno":237,"src":{"jump_code":"","length":4,"start":5582}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":238,"lineno":238,"src":{"jump_code":"","length":8,"start":5588}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":53,"end_col_offset":54,"end_lineno":239,"lineno":239,"src":{"jump_code":"","length":1,"start":5650}}],"classification":0,"col_offset":45,"end_col_offset":55,"end_lineno":239,"lineno":239,"src":{"jump_code":"","length":10,"start":5642}},{"ast_type":"Name","children":[],"classification":1,"col_offset":45,"end_col_offset":52,"end_lineno":239,"lineno":239,"src":{"jump_code":"","length":7,"start":5642}}],"classification":0,"col_offset":45,"end_col_offset":55,"end_lineno":239,"lineno":239,"src":{"jump_code":"","length":10,"start":5642}},{"ast_type":"Int","children":[],"classification":0,"col_offset":57,"end_col_offset":61,"end_lineno":239,"lineno":239,"src":{"jump_code":"","length":4,"start":5654}}],"classification":0,"col_offset":45,"end_col_offset":61,"end_lineno":239,"lineno":239,"src":{"jump_code":"","length":16,"start":5642}}],"classification":0,"col_offset":36,"end_col_offset":62,"end_lineno":239,"lineno":239,"src":{"jump_code":"","length":26,"start":5633}},{"ast_type":"Name","children":[],"classification":1,"col_offset":36,"end_col_offset":44,"end_lineno":239,"lineno":239,"src":{"jump_code":"","length":8,"start":5633}}],"classification":0,"col_offset":36,"end_col_offset":62,"end_lineno":239,"lineno":239,"src":{"jump_code":"","length":26,"start":5633}}],"classification":1,"col_offset":0,"end_col_offset":35,"end_lineno":240,"lineno":239,"name":"getNestedArrayDynamicFixed","src":{"jump_code":"","length":99,"start":5597}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":244,"lineno":244,"src":{"jump_code":"","length":3,"start":5714}},{"ast_type":"Return","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":15,"end_lineno":245,"lineno":245,"src":{"jump_code":"","length":4,"start":5789}}],"classification":0,"col_offset":11,"end_col_offset":24,"end_lineno":245,"lineno":245,"src":{"jump_code":"","length":13,"start":5789}}],"classification":0,"col_offset":4,"end_col_offset":24,"end_lineno":245,"lineno":245,"src":{"jump_code":"","length":20,"start":5782}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":242,"lineno":242,"src":{"jump_code":"","length":4,"start":5699}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":243,"lineno":243,"src":{"jump_code":"","length":8,"start":5705}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":60,"end_col_offset":61,"end_lineno":244,"lineno":244,"src":{"jump_code":"","length":1,"start":5774}}],"classification":0,"col_offset":36,"end_col_offset":62,"end_lineno":244,"lineno":244,"src":{"jump_code":"","length":26,"start":5750}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":45,"end_col_offset":52,"end_lineno":244,"lineno":244,"src":{"jump_code":"","length":7,"start":5759}},{"ast_type":"Int","children":[],"classification":0,"col_offset":54,"end_col_offset":58,"end_lineno":244,"lineno":244,"src":{"jump_code":"","length":4,"start":5768}}],"classification":0,"col_offset":45,"end_col_offset":58,"end_lineno":244,"lineno":244,"src":{"jump_code":"","length":13,"start":5759}}],"classification":0,"col_offset":36,"end_col_offset":59,"end_lineno":244,"lineno":244,"src":{"jump_code":"","length":23,"start":5750}},{"ast_type":"Name","children":[],"classification":1,"col_offset":36,"end_col_offset":44,"end_lineno":244,"lineno":244,"src":{"jump_code":"","length":8,"start":5750}}],"classification":0,"col_offset":36,"end_col_offset":59,"end_lineno":244,"lineno":244,"src":{"jump_code":"","length":23,"start":5750}}],"classification":0,"col_offset":36,"end_col_offset":62,"end_lineno":244,"lineno":244,"src":{"jump_code":"","length":26,"start":5750}}],"classification":1,"col_offset":0,"end_col_offset":24,"end_lineno":245,"lineno":244,"name":"getNestedArrayFixedDynamic","src":{"jump_code":"","length":88,"start":5714}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":249,"lineno":249,"src":{"jump_code":"","length":3,"start":5820}},{"ast_type":"Return","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":15,"end_lineno":250,"lineno":250,"src":{"jump_code":"","length":4,"start":5914}}],"classification":0,"col_offset":11,"end_col_offset":26,"end_lineno":250,"lineno":250,"src":{"jump_code":"","length":15,"start":5914}}],"classification":0,"col_offset":4,"end_col_offset":26,"end_lineno":250,"lineno":250,"src":{"jump_code":"","length":22,"start":5907}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":247,"lineno":247,"src":{"jump_code":"","length":4,"start":5805}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":248,"lineno":248,"src":{"jump_code":"","length":8,"start":5811}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":79,"end_col_offset":80,"end_lineno":249,"lineno":249,"src":{"jump_code":"","length":1,"start":5899}}],"classification":0,"col_offset":36,"end_col_offset":81,"end_lineno":249,"lineno":249,"src":{"jump_code":"","length":45,"start":5856}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":69,"end_col_offset":70,"end_lineno":249,"lineno":249,"src":{"jump_code":"","length":1,"start":5889}}],"classification":0,"col_offset":45,"end_col_offset":71,"end_lineno":249,"lineno":249,"src":{"jump_code":"","length":26,"start":5865}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":54,"end_col_offset":61,"end_lineno":249,"lineno":249,"src":{"jump_code":"","length":7,"start":5874}},{"ast_type":"Int","children":[],"classification":0,"col_offset":63,"end_col_offset":67,"end_lineno":249,"lineno":249,"src":{"jump_code":"","length":4,"start":5883}}],"classification":0,"col_offset":54,"end_col_offset":67,"end_lineno":249,"lineno":249,"src":{"jump_code":"","length":13,"start":5874}}],"classification":0,"col_offset":45,"end_col_offset":68,"end_lineno":249,"lineno":249,"src":{"jump_code":"","length":23,"start":5865}},{"ast_type":"Name","children":[],"classification":1,"col_offset":45,"end_col_offset":53,"end_lineno":249,"lineno":249,"src":{"jump_code":"","length":8,"start":5865}}],"classification":0,"col_offset":45,"end_col_offset":68,"end_lineno":249,"lineno":249,"src":{"jump_code":"","length":23,"start":5865}}],"classification":0,"col_offset":45,"end_col_offset":71,"end_lineno":249,"lineno":249,"src":{"jump_code":"","length":26,"start":5865}},{"ast_type":"Int","children":[],"classification":0,"col_offset":73,"end_col_offset":77,"end_lineno":249,"lineno":249,"src":{"jump_code":"","length":4,"start":5893}}],"classification":0,"col_offset":45,"end_col_offset":77,"end_lineno":249,"lineno":249,"src":{"jump_code":"","length":32,"start":5865}}],"classification":0,"col_offset":36,"end_col_offset":78,"end_lineno":249,"lineno":249,"src":{"jump_code":"","length":42,"start":5856}},{"ast_type":"Name","children":[],"classification":1,"col_offset":36,"end_col_offset":44,"end_lineno":249,"lineno":249,"src":{"jump_code":"","length":8,"start":5856}}],"classification":0,"col_offset":36,"end_col_offset":78,"end_lineno":249,"lineno":249,"src":{"jump_code":"","length":42,"start":5856}}],"classification":0,"col_offset":36,"end_col_offset":81,"end_lineno":249,"lineno":249,"src":{"jump_code":"","length":45,"start":5856}}],"classification":1,"col_offset":0,"end_col_offset":26,"end_lineno":250,"lineno":249,"name":"getNestedArrayMixedDynamic","src":{"jump_code":"","length":109,"start":5820}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":254,"lineno":254,"src":{"jump_code":"","length":3,"start":5947}},{"ast_type":"Return","children":[{"ast_type":"List","children":[{"ast_type":"List","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":13,"end_col_offset":16,"end_lineno":255,"lineno":255,"src":{"jump_code":"","length":3,"start":6019}}],"classification":0,"col_offset":13,"end_col_offset":23,"end_lineno":255,"lineno":255,"src":{"jump_code":"","length":10,"start":6019}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":25,"end_col_offset":28,"end_lineno":255,"lineno":255,"src":{"jump_code":"","length":3,"start":6031}}],"classification":0,"col_offset":25,"end_col_offset":35,"end_lineno":255,"lineno":255,"src":{"jump_code":"","length":10,"start":6031}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":37,"end_col_offset":40,"end_lineno":255,"lineno":255,"src":{"jump_code":"","length":3,"start":6043}}],"classification":0,"col_offset":37,"end_col_offset":47,"end_lineno":255,"lineno":255,"src":{"jump_code":"","length":10,"start":6043}}],"classification":0,"col_offset":12,"end_col_offset":48,"end_lineno":255,"lineno":255,"src":{"jump_code":"","length":36,"start":6018}},{"ast_type":"List","children":[{"ast_type":"Call","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":57,"end_col_offset":64,"end_lineno":255,"lineno":255,"src":{"jump_code":"","length":7,"start":6063}},{"ast_type":"Name","children":[],"classification":1,"col_offset":51,"end_col_offset":56,"end_lineno":255,"lineno":255,"src":{"jump_code":"","length":5,"start":6057}}],"classification":0,"col_offset":51,"end_col_offset":65,"end_lineno":255,"lineno":255,"src":{"jump_code":"","length":14,"start":6057}},{"ast_type":"Call","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":73,"end_col_offset":80,"end_lineno":255,"lineno":255,"src":{"jump_code":"","length":7,"start":6079}},{"ast_type":"Name","children":[],"classification":1,"col_offset":67,"end_col_offset":72,"end_lineno":255,"lineno":255,"src":{"jump_code":"","length":5,"start":6073}}],"classification":0,"col_offset":67,"end_col_offset":81,"end_lineno":255,"lineno":255,"src":{"jump_code":"","length":14,"start":6073}},{"ast_type":"Call","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":89,"end_col_offset":96,"end_lineno":255,"lineno":255,"src":{"jump_code":"","length":7,"start":6095}},{"ast_type":"Name","children":[],"classification":1,"col_offset":83,"end_col_offset":88,"end_lineno":255,"lineno":255,"src":{"jump_code":"","length":5,"start":6089}}],"classification":0,"col_offset":83,"end_col_offset":97,"end_lineno":255,"lineno":255,"src":{"jump_code":"","length":14,"start":6089}}],"classification":0,"col_offset":50,"end_col_offset":98,"end_lineno":255,"lineno":255,"src":{"jump_code":"","length":48,"start":6056}}],"classification":0,"col_offset":11,"end_col_offset":99,"end_lineno":255,"lineno":255,"src":{"jump_code":"","length":88,"start":6017}}],"classification":0,"col_offset":4,"end_col_offset":99,"end_lineno":255,"lineno":255,"src":{"jump_code":"","length":95,"start":6010}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":252,"lineno":252,"src":{"jump_code":"","length":4,"start":5932}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":253,"lineno":253,"src":{"jump_code":"","length":8,"start":5938}},{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":48,"end_col_offset":49,"end_lineno":254,"lineno":254,"src":{"jump_code":"","length":1,"start":5995}}],"classification":0,"col_offset":40,"end_col_offset":50,"end_lineno":254,"lineno":254,"src":{"jump_code":"","length":10,"start":5987}},{"ast_type":"Name","children":[],"classification":1,"col_offset":40,"end_col_offset":47,"end_lineno":254,"lineno":254,"src":{"jump_code":"","length":7,"start":5987}}],"classification":0,"col_offset":40,"end_col_offset":50,"end_lineno":254,"lineno":254,"src":{"jump_code":"","length":10,"start":5987}},{"ast_type":"Int","children":[],"classification":0,"col_offset":52,"end_col_offset":56,"end_lineno":254,"lineno":254,"src":{"jump_code":"","length":4,"start":5999}}],"classification":0,"col_offset":40,"end_col_offset":56,"end_lineno":254,"lineno":254,"src":{"jump_code":"","length":16,"start":5987}}],"classification":0,"col_offset":31,"end_col_offset":57,"end_lineno":254,"lineno":254,"src":{"jump_code":"","length":26,"start":5978}},{"ast_type":"Name","children":[],"classification":1,"col_offset":31,"end_col_offset":39,"end_lineno":254,"lineno":254,"src":{"jump_code":"","length":8,"start":5978}}],"classification":0,"col_offset":31,"end_col_offset":57,"end_lineno":254,"lineno":254,"src":{"jump_code":"","length":26,"start":5978}}],"classification":1,"col_offset":0,"end_col_offset":99,"end_lineno":255,"lineno":254,"name":"getNestedAddressArray","src":{"jump_code":"","length":158,"start":5947}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":260,"lineno":260,"src":{"jump_code":"","length":7,"start":6172}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":260,"lineno":260,"src":{"jump_code":"","length":11,"start":6168}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":261,"lineno":261,"src":{"jump_code":"","length":7,"start":6189}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":261,"lineno":261,"src":{"jump_code":"","length":11,"start":6185}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":262,"lineno":262,"src":{"jump_code":"","length":7,"start":6206}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":262,"lineno":262,"src":{"jump_code":"","length":11,"start":6202}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":263,"lineno":263,"src":{"jump_code":"","length":7,"start":6223}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":263,"lineno":263,"src":{"jump_code":"","length":11,"start":6219}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":264,"lineno":264,"src":{"jump_code":"","length":7,"start":6240}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":264,"lineno":264,"src":{"jump_code":"","length":11,"start":6236}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":265,"lineno":265,"src":{"jump_code":"","length":7,"start":6257}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":265,"lineno":265,"src":{"jump_code":"","length":11,"start":6253}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":266,"lineno":266,"src":{"jump_code":"","length":7,"start":6274}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":266,"lineno":266,"src":{"jump_code":"","length":11,"start":6270}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":267,"lineno":267,"src":{"jump_code":"","length":7,"start":6291}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":267,"lineno":267,"src":{"jump_code":"","length":11,"start":6287}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":268,"lineno":268,"src":{"jump_code":"","length":7,"start":6308}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":268,"lineno":268,"src":{"jump_code":"","length":11,"start":6304}},{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":15,"end_lineno":269,"lineno":269,"src":{"jump_code":"","length":7,"start":6325}}],"classification":0,"col_offset":4,"end_col_offset":15,"end_lineno":269,"lineno":269,"src":{"jump_code":"","length":11,"start":6321}}],"classification":1,"col_offset":4,"end_col_offset":15,"end_lineno":269,"lineno":260,"src":{"jump_code":"","length":164,"start":6168}},{"ast_type":"Pass","children":[],"classification":0,"col_offset":4,"end_col_offset":8,"end_lineno":271,"lineno":271,"src":{"jump_code":"","length":4,"start":6340}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":257,"lineno":257,"src":{"jump_code":"","length":4,"start":6108}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":258,"lineno":258,"src":{"jump_code":"","length":8,"start":6114}}],"classification":1,"col_offset":0,"end_col_offset":8,"end_lineno":271,"lineno":259,"name":"functionWithUniqueAmountOfArguments","src":{"jump_code":"","length":221,"start":6123}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[{"ast_type":"arg","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":26,"end_col_offset":34,"end_lineno":275,"lineno":275,"src":{"jump_code":"","length":8,"start":6388}}],"classification":0,"col_offset":14,"end_col_offset":34,"end_lineno":275,"lineno":275,"src":{"jump_code":"","length":20,"start":6376}}],"classification":1,"col_offset":14,"end_col_offset":34,"end_lineno":275,"lineno":275,"src":{"jump_code":"","length":20,"start":6376}},{"ast_type":"Pass","children":[],"classification":0,"col_offset":4,"end_col_offset":8,"end_lineno":276,"lineno":276,"src":{"jump_code":"","length":4,"start":6403}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":273,"lineno":273,"src":{"jump_code":"","length":4,"start":6347}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":274,"lineno":274,"src":{"jump_code":"","length":8,"start":6353}}],"classification":1,"col_offset":0,"end_col_offset":8,"end_lineno":276,"lineno":275,"name":"setStruct","src":{"jump_code":"","length":45,"start":6362}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[{"ast_type":"arg","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":46,"end_col_offset":47,"end_lineno":280,"lineno":280,"src":{"jump_code":"","length":1,"start":6471}}],"classification":0,"col_offset":37,"end_col_offset":48,"end_lineno":280,"lineno":280,"src":{"jump_code":"","length":11,"start":6462}},{"ast_type":"Name","children":[],"classification":1,"col_offset":37,"end_col_offset":45,"end_lineno":280,"lineno":280,"src":{"jump_code":"","length":8,"start":6462}}],"classification":0,"col_offset":37,"end_col_offset":48,"end_lineno":280,"lineno":280,"src":{"jump_code":"","length":11,"start":6462}}],"classification":0,"col_offset":19,"end_col_offset":48,"end_lineno":280,"lineno":280,"src":{"jump_code":"","length":29,"start":6444}}],"classification":1,"col_offset":19,"end_col_offset":48,"end_lineno":280,"lineno":280,"src":{"jump_code":"","length":29,"start":6444}},{"ast_type":"Pass","children":[],"classification":0,"col_offset":4,"end_col_offset":8,"end_lineno":281,"lineno":281,"src":{"jump_code":"","length":4,"start":6480}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":5,"end_lineno":278,"lineno":278,"src":{"jump_code":"","length":4,"start":6410}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":279,"lineno":279,"src":{"jump_code":"","length":8,"start":6416}}],"classification":1,"col_offset":0,"end_col_offset":8,"end_lineno":281,"lineno":280,"name":"setStructArray","src":{"jump_code":"","length":59,"start":6425}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":284,"lineno":284,"src":{"jump_code":"","length":3,"start":6496}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":12,"end_col_offset":19,"end_lineno":285,"lineno":285,"src":{"jump_code":"","length":7,"start":6525}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":10,"end_lineno":285,"lineno":285,"src":{"jump_code":"","length":6,"start":6517}},{"ast_type":"Hex","children":[],"classification":0,"col_offset":22,"end_col_offset":88,"end_lineno":285,"lineno":285,"src":{"jump_code":"","length":66,"start":6535}}],"classification":0,"col_offset":4,"end_col_offset":88,"end_lineno":285,"lineno":285,"src":{"jump_code":"","length":84,"start":6517}},{"ast_type":"AnnAssign","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":13,"end_col_offset":21,"end_lineno":286,"lineno":286,"src":{"jump_code":"","length":8,"start":6615}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":11,"end_lineno":286,"lineno":286,"src":{"jump_code":"","length":7,"start":6606}},{"ast_type":"Call","children":[{"ast_type":"Dict","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":9,"end_lineno":287,"lineno":287,"src":{"jump_code":"","length":1,"start":6645}},{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":9,"end_lineno":288,"lineno":288,"src":{"jump_code":"","length":1,"start":6668}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":14,"end_lineno":287,"lineno":287,"src":{"jump_code":"","length":3,"start":6648}}],"classification":0,"col_offset":11,"end_col_offset":21,"end_lineno":287,"lineno":287,"src":{"jump_code":"","length":10,"start":6648}},{"ast_type":"Name","children":[],"classification":1,"col_offset":11,"end_col_offset":17,"end_lineno":288,"lineno":288,"src":{"jump_code":"","length":6,"start":6671}}],"classification":0,"col_offset":33,"end_col_offset":5,"end_lineno":289,"lineno":286,"src":{"jump_code":"","length":48,"start":6635}},{"ast_type":"Name","children":[],"classification":1,"col_offset":24,"end_col_offset":32,"end_lineno":286,"lineno":286,"src":{"jump_code":"","length":8,"start":6626}}],"classification":0,"col_offset":24,"end_col_offset":6,"end_lineno":289,"lineno":286,"src":{"jump_code":"","length":58,"start":6626}}],"classification":0,"col_offset":4,"end_col_offset":6,"end_lineno":289,"lineno":286,"src":{"jump_code":"","length":78,"start":6606}},{"ast_type":"Log","children":[{"ast_type":"Call","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":24,"end_col_offset":31,"end_lineno":290,"lineno":290,"src":{"jump_code":"","length":7,"start":6709}},{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":23,"end_lineno":290,"lineno":290,"src":{"jump_code":"","length":15,"start":6693}}],"classification":0,"col_offset":8,"end_col_offset":32,"end_lineno":290,"lineno":290,"src":{"jump_code":"","length":24,"start":6693}}],"classification":0,"col_offset":4,"end_col_offset":32,"end_lineno":290,"lineno":290,"src":{"jump_code":"","length":28,"start":6689}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":283,"lineno":283,"src":{"jump_code":"","length":8,"start":6487}}],"classification":1,"col_offset":0,"end_col_offset":32,"end_lineno":290,"lineno":284,"name":"logStruct","src":{"jump_code":"","length":221,"start":6496}},{"ast_type":"FunctionDef","children":[{"ast_type":"arguments","children":[],"classification":1,"col_offset":0,"end_col_offset":3,"end_lineno":293,"lineno":293,"src":{"jump_code":"","length":3,"start":6729}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Tuple","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":18,"end_col_offset":25,"end_lineno":294,"lineno":294,"src":{"jump_code":"","length":7,"start":6770}},{"ast_type":"Int","children":[],"classification":0,"col_offset":27,"end_col_offset":31,"end_lineno":294,"lineno":294,"src":{"jump_code":"","length":4,"start":6779}}],"classification":0,"col_offset":18,"end_col_offset":31,"end_lineno":294,"lineno":294,"src":{"jump_code":"","length":13,"start":6770}}],"classification":0,"col_offset":9,"end_col_offset":32,"end_lineno":294,"lineno":294,"src":{"jump_code":"","length":23,"start":6761}},{"ast_type":"Name","children":[],"classification":1,"col_offset":9,"end_col_offset":17,"end_lineno":294,"lineno":294,"src":{"jump_code":"","length":8,"start":6761}}],"classification":0,"col_offset":9,"end_col_offset":32,"end_lineno":294,"lineno":294,"src":{"jump_code":"","length":23,"start":6761}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":294,"lineno":294,"src":{"jump_code":"","length":3,"start":6756}},{"ast_type":"List","children":[],"classification":0,"col_offset":35,"end_col_offset":37,"end_lineno":294,"lineno":294,"src":{"jump_code":"","length":2,"start":6787}}],"classification":0,"col_offset":4,"end_col_offset":37,"end_lineno":294,"lineno":294,"src":{"jump_code":"","length":33,"start":6756}},{"ast_type":"Expr","children":[{"ast_type":"Call","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":15,"end_col_offset":18,"end_lineno":295,"lineno":295,"src":{"jump_code":"","length":3,"start":6805}}],"classification":0,"col_offset":15,"end_col_offset":25,"end_lineno":295,"lineno":295,"src":{"jump_code":"","length":10,"start":6805}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":7,"end_lineno":295,"lineno":295,"src":{"jump_code":"","length":3,"start":6794}}],"classification":0,"col_offset":4,"end_col_offset":14,"end_lineno":295,"lineno":295,"src":{"jump_code":"","length":10,"start":6794}}],"classification":0,"col_offset":4,"end_col_offset":26,"end_lineno":295,"lineno":295,"src":{"jump_code":"","length":22,"start":6794}}],"classification":0,"col_offset":4,"end_col_offset":26,"end_lineno":295,"lineno":295,"src":{"jump_code":"","length":22,"start":6794}},{"ast_type":"AnnAssign","children":[{"ast_type":"Subscript","children":[{"ast_type":"Index","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":18,"end_col_offset":19,"end_lineno":296,"lineno":296,"src":{"jump_code":"","length":1,"start":6835}}],"classification":0,"col_offset":10,"end_col_offset":20,"end_lineno":296,"lineno":296,"src":{"jump_code":"","length":10,"start":6827}},{"ast_type":"Name","children":[],"classification":1,"col_offset":10,"end_col_offset":17,"end_lineno":296,"lineno":296,"src":{"jump_code":"","length":7,"start":6827}}],"classification":0,"col_offset":10,"end_col_offset":20,"end_lineno":296,"lineno":296,"src":{"jump_code":"","length":10,"start":6827}},{"ast_type":"Name","children":[],"classification":1,"col_offset":4,"end_col_offset":8,"end_lineno":296,"lineno":296,"src":{"jump_code":"","length":4,"start":6821}},{"ast_type":"List","children":[{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":24,"end_col_offset":27,"end_lineno":296,"lineno":296,"src":{"jump_code":"","length":3,"start":6841}}],"classification":0,"col_offset":24,"end_col_offset":34,"end_lineno":296,"lineno":296,"src":{"jump_code":"","length":10,"start":6841}}],"classification":0,"col_offset":23,"end_col_offset":35,"end_lineno":296,"lineno":296,"src":{"jump_code":"","length":12,"start":6840}}],"classification":0,"col_offset":4,"end_col_offset":35,"end_lineno":296,"lineno":296,"src":{"jump_code":"","length":31,"start":6821}},{"ast_type":"Log","children":[{"ast_type":"Call","children":[{"ast_type":"Int","children":[],"classification":0,"col_offset":30,"end_col_offset":34,"end_lineno":297,"lineno":297,"src":{"jump_code":"","length":4,"start":6883}},{"ast_type":"Attribute","children":[{"ast_type":"Name","children":[],"classification":1,"col_offset":36,"end_col_offset":39,"end_lineno":297,"lineno":297,"src":{"jump_code":"","length":3,"start":6889}}],"classification":0,"col_offset":36,"end_col_offset":46,"end_lineno":297,"lineno":297,"src":{"jump_code":"","length":10,"start":6889}},{"ast_type":"Name","children":[],"classification":1,"col_offset":48,"end_col_offset":51,"end_lineno":297,"lineno":297,"src":{"jump_code":"","length":3,"start":6901}},{"ast_type":"Name","children":[],"classification":1,"col_offset":53,"end_col_offset":57,"end_lineno":297,"lineno":297,"src":{"jump_code":"","length":4,"start":6906}},{"ast_type":"Name","children":[],"classification":1,"col_offset":8,"end_col_offset":29,"end_lineno":297,"lineno":297,"src":{"jump_code":"","length":21,"start":6861}}],"classification":0,"col_offset":8,"end_col_offset":58,"end_lineno":297,"lineno":297,"src":{"jump_code":"","length":50,"start":6861}}],"classification":0,"col_offset":4,"end_col_offset":58,"end_lineno":297,"lineno":297,"src":{"jump_code":"","length":54,"start":6857}},{"ast_type":"Name","children":[],"classification":1,"col_offset":1,"end_col_offset":9,"end_lineno":292,"lineno":292,"src":{"jump_code":"","length":8,"start":6720}}],"classification":1,"col_offset":0,"end_col_offset":58,"end_lineno":297,"lineno":293,"name":"logAddressArray","src":{"jump_code":"","length":182,"start":6729}}],"classification":0,"col_offset":0,"end_col_offset":58,"end_lineno":297,"lineno":1,"name":"TestContractVy.vy","src":{"jump_code":"","length":6911}},"contractName":"TestContractVy","deploymentBytecode":{"bytecode":"0x34611aeb576020611aef5f395f51600155335f555f60065560016005555f610407556001610408556002610406555f61080855600161080955600261080a55600361080755610c08546103ff8111611aeb57610c038102610c09016005548060051b600183015f82601f0160051c6104008111611aeb57801561009257905b80600601548184015560010181811861007e575b5050505080825550610406548060051b60016104018401015f82601f0160051c6104008111611aeb5780156100d857905b806104070154818401556001018181186100c3575b505050508061040183015550610807548060051b60016108028401015f82601f0160051c6104008111611aeb57801561012257905b8061080801548184015560010181811861010d575b5050505080610802830155505060018101610c08555062301809546103ff8111611aeb57610c0381026230180a016005548060051b600183015f82601f0160051c6104008111611aeb57801561018857905b806006015481840155600101818118610174575b5050505080825550610406548060051b60016104018401015f82601f0160051c6104008111611aeb5780156101ce57905b806104070154818401556001018181186101b9575b505050508061040183015550610807548060051b60016108028401015f82601f0160051c6104008111611aeb57801561021857905b80610808015481840155600101818118610203575b505050508061080283015550506001810162301809555062301809546103ff8111611aeb57610c0381026230180a016005548060051b600183015f82601f0160051c6104008111611aeb57801561027f57905b80600601548184015560010181811861026b575b5050505080825550610406548060051b60016104018401015f82601f0160051c6104008111611aeb5780156102c557905b806104070154818401556001018181186102b0575b505050508061040183015550610807548060051b60016108028401015f82601f0160051c6104008111611aeb57801561030f57905b806108080154818401556001018181186102fa575b50505050806108028301555050600181016230180955506117b2610338610000396117b2610000f36003361161000c5761179d565b5f3560e01c346117a157638da5cb5b811861002c575f5460405260206040f35b6323fd0e4081186100435760015460405260206040f35b634825cf6f811861005a5760025460405260206040f35b636cbceeec81186100715760035460405260206040f35b6327e235e381186100aa57602436106117a1576004358060a01c6117a15760405260046040516020525f5260405f205460605260206060f35b63d3aaff6d81186100ec57604436106117a157610401600435600281116117a1570260050160243581548110156117a157600182010190505460405260206040f35b63ae8ef2cb811861015a57608436106117a15762300c01600435600481116117a15702610c0801610c0360243582548110156117a1570260018201019050610401604435600281116117a157028101905060643581548110156117a157600182010190505460405260206040f35b632beb171181186101b4575f7f1a7c56fae0af54ebae73bc4699b9de9835e7bb86b050dff7e80695b633f17abd5f6040a260017fe5299d63f5ecdd1740024ea0902bd82cc8dc6b51d69078e007096f907615ced55f6040a2005b633fb5c1cb811861031d57602436106117a1575f5433181561022b57600b6040527f21617574686f72697a656400000000000000000000000000000000000000000060605260405060405180606001601f825f031636823750506308c379a05f526020602052601f19601f6040510116604401601cfd5b6005600435146117a15760015460025560043560015560076080527f44796e616d69630000000000000000000000000000000000000000000000000060a05260808051602082012090506004357fa84473122c11e32cd505595f246a28418b8ecd6cf819f4e3915363fad1b8f9686060600143034060c05260025460e052806101005260076040527f44796e616d69630000000000000000000000000000000000000000000000000060605260408160c00181516020830160208301815181525050808252508051806020830101601f825f03163682375050601f19601f82516020010116905090508101905060c0a3005b63e30081a0811861036e57602436106117a1576004358060a01c6117a1576040526040516003556040517f7ff7bacc6cd661809ed1ddce28d4ad2c5b37779b61b9e3235f8262be529101a95f6060a2005b63e30443bc81186103b557604436106117a1576004358060a01c6117a15760405260046040516020525f5260405f2080546024358082018281106117a15790509050815550005b6309b1b3f281186103d25733604052600143034060605260406040f35b6302f487d681186103f457336040526001430340606052600160805260606040f35b63a420b5a5811861041657600260405233606052600143034060805260606040f35b63e9f7fd14811861043d573360405260014303406060526001608052600160a05260806040f35b63a2fbee538118610464576002604052600260605233608052600143034060a05260806040f35b637a79591d81186104dc575f6040526020806102e052806102e0015f6040518083528060061b5f82600a81116117a15780156104c757905b8060061b60208701018160061b6060018051825260208101516020830152505060010181811861049c575b505082016020019150509050810190506102e0f35b63a4f6d26b81186105bd575f6040525f6102e0526040806105805280610580015f6040518083528060061b5f82600a81116117a157801561054457905b8060061b60208701018160061b60600180518252602081015160208301525050600101818118610519575b50508201602001915050905081019050806105a05280610580015f6102e0518083528060061b5f82600a81116117a15780156105a857905b8060061b60208701018160061b610300018051825260208101516020830152505060010181811861057c575b50508201602001915050905081019050610580f35b63252e423e81186106635760e03660403760e06040516101a0526060516101c0526080516101e05260a0516102005260c0516102205260e051610240528061026052806101a0015f610100518083528060061b5f82600281116117a157801561064e57905b8060061b60208701018160061b6101200180518252602081015160208301525050600101818118610622575b505082016020019150509050810190506101a0f35b63c2f14839811861076c576103c0366040375f6104005260405161042052606051610440526080516104605260a0516104805260c0516104a05260e0516104c052610100516104e05261012051610500526101405161052052610160516105405261018051610560526101a051610580526101c0516105a0526101e0516105c052610200516105e05261022051610600526102405161062052610260516106405261028051610660526102a051610680526102c0516106a0526102e0516106c052610300516106e05261032051610700526103405161072052610360516107405261038051610760526103a051610780526103c0516107a0526103e0516107c0526103e0610400f35b63a5c1b662811861083f575f6040525f6101a0526040806104405280610440015f6040518083528060051b5f82600a81116117a15780156107c657905b8060051b606001518160051b6020880101526001018181186107a9575b50508201602001915050905081019050806104605280610440015f6101a0518083528060061b5f82600a81116117a157801561082a57905b8060061b60208701018160061b6101c001805182526020810151602083015250506001018181186107fe575b50508201602001915050905081019050610440f35b6342ce1ec681186108725760016040523360605260014303406080523360a052600143034060c052600260e05260c06040f35b63052f3e7681186108c757602080604052806040015f5f82525f5f5f600181116117a15780156108b457905b5f8160051b60208701015260010181811861089e575b5050810160200190509050810190506040f35b63b345ad96811861093757602080604052806040015f600160c052600160a0525f60a0518084528060051b5f82600181116117a157801561092157905b8060051b60c001518160051b602089010152600101818118610904575b5050820160200191505090509050810190506040f35b6335417bf481186109b557602080604052806040015f600161010052600261012052600361014052600360e0525f60e0518084528060051b5f82600381116117a157801561099f57905b8060051b61010001518160051b602089010152600101818118610981575b5050820160200191505090509050810190506040f35b63a5b0930d8118610a2957602080604052806040015f3360e0523361010052600260c0525f60c0518084528060051b5f82600281116117a1578015610a1357905b8060051b60e001518160051b6020890101526001018181186109f6575b5050820160200191505090509050810190506040f35b639bfb2ad88118610ad757602080604052806040015f336101605260014303406101805260016101a052336101c05260014303406101e0526002610200526002610140525f61014051808452606081025f82600281116117a1578015610ac157905b60608102602088010160608202610160018051825260208101516020830152604081015160408301525050600101818118610a8b575b5050820160200191505090509050810190506040f35b633ce80e948118610b0a576001604052336060526001430340608052600260a0523360c052600143034060e05260c06040f35b6343790b648118610b2357610280366040376102806040f35b63d4d64b358118610b3c57610500366040376105006040f35b63650543a38118610b5857607b60405261014160605260406040f35b63243e09638118610b6f5760403660403760406040f35b638ba6052d8118610c2f5761028036604037336040526040516102c0526060516102e0526080516103005260a0516103205260c0516103405260e051610360526101005161038052610120516103a052610140516103c052610160516103e05261018051610400526101a051610420526101c051610440526101e051610460526102005161048052610220516104a052610240516104c052610260516104e05261028051610500526102a0516105205261028036610540376105006102c0f35b63ccd62aa48118610c5e57600160405260026060526003608052600460a052600560c052600660e05260c06040f35b636126c87f8118610d0857602080604052806040015f6001620100a0526002620100c0526003620100e052600462010100526005620101205260066201014052600362010080525f62010080518084528060061b5f8261040081116117a1578015610cf257905b8060061b60208801018160061b620100a00180518252602081015160208301525050600101818118610cc5575b5050820160200191505090509050810190506040f35b6394a66fc98118610e1d576020806040528060400160608082528082015f6005548083528060051b5f8261040081116117a1578015610d5d57905b80600601548160051b602088010152600101818118610d43575b505082016020019150509050810190508060208301528082015f610406548083528060051b5f8261040081116117a1578015610db057905b8061040701548160051b602088010152600101818118610d95575b505082016020019150509050810190508060408301528082015f610807548083528060051b5f8261040081116117a1578015610e0357905b8061080801548160051b602088010152600101818118610de8575b505082016020019150509050810190509050810190506040f35b63abeb2022811861154b576020806040528060400160a08082528082015f610c08548083528060051b5f8261040081116117a1578015610f8957905b828160051b602088010152610c038102610c090183602088010160608082528082015f84548083528060051b5f8261040081116117a1578015610eb457905b8060018a0101548160051b602088010152600101818118610e98575b5050820160200191505090508101905080602083015261040183018183015f82548083528060051b5f8261040081116117a1578015610f0b57905b806001880101548160051b602088010152600101818118610eef575b50508201602001915050905090508101905080604083015261080283018183015f82548083528060051b5f8261040081116117a1578015610f6457905b806001880101548160051b602088010152600101818118610f48575b5050820160200191505090509050810190509050905083019250600101818118610e59575b505082016020019150509050810190508060208301528082015f62301809548083528060051b5f8261040081116117a15780156110f357905b828160051b602088010152610c0381026230180a0183602088010160608082528082015f84548083528060051b5f8261040081116117a157801561101e57905b8060018a0101548160051b602088010152600101818118611002575b5050820160200191505090508101905080602083015261040183018183015f82548083528060051b5f8261040081116117a157801561107557905b806001880101548160051b602088010152600101818118611059575b50508201602001915050905090508101905080604083015261080283018183015f82548083528060051b5f8261040081116117a15780156110ce57905b806001880101548160051b6020880101526001018181186110b2575b5050820160200191505090509050810190509050905083019250600101818118610fc2575b505082016020019150509050810190508060408301528082015f6260240a548083528060051b5f8261040081116117a157801561125d57905b828160051b602088010152610c0381026260240b0183602088010160608082528082015f84548083528060051b5f8261040081116117a157801561118857905b8060018a0101548160051b60208801015260010181811861116c575b5050820160200191505090508101905080602083015261040183018183015f82548083528060051b5f8261040081116117a15780156111df57905b806001880101548160051b6020880101526001018181186111c3575b50508201602001915050905090508101905080604083015261080283018183015f82548083528060051b5f8261040081116117a157801561123857905b806001880101548160051b60208801015260010181811861121c575b505082016020019150509050905081019050905090508301925060010181811861112c575b505082016020019150509050810190508060608301528082015f6290300b548083528060051b5f8261040081116117a15780156113c757905b828160051b602088010152610c0381026290300c0183602088010160608082528082015f84548083528060051b5f8261040081116117a15780156112f257905b8060018a0101548160051b6020880101526001018181186112d6575b5050820160200191505090508101905080602083015261040183018183015f82548083528060051b5f8261040081116117a157801561134957905b806001880101548160051b60208801015260010181811861132d575b50508201602001915050905090508101905080604083015261080283018183015f82548083528060051b5f8261040081116117a15780156113a257905b806001880101548160051b602088010152600101818118611386575b5050820160200191505090509050810190509050905083019250600101818118611296575b505082016020019150509050810190508060808301528082015f62c03c0c548083528060051b5f8261040081116117a157801561153157905b828160051b602088010152610c03810262c03c0d0183602088010160608082528082015f84548083528060051b5f8261040081116117a157801561145c57905b8060018a0101548160051b602088010152600101818118611440575b5050820160200191505090508101905080602083015261040183018183015f82548083528060051b5f8261040081116117a15780156114b357905b806001880101548160051b602088010152600101818118611497575b50508201602001915050905090508101905080604083015261080283018183015f82548083528060051b5f8261040081116117a157801561150c57905b806001880101548160051b6020880101526001018181186114f0575b5050820160200191505090509050810190509050905083019250600101818118611400575b505082016020019150509050810190509050810190506040f35b6399e74a4c81186115ef57602080604052806040015f33620180a05233620180c05233620180e0526060366201810037600262018080525f6201808051808452606081025f8261040081116117a15780156115d957905b60608102602088010160608202620180a00180518252602081015160208301526040810151604083015250506001018181186115a2575b5050820160200191505090509050810190506040f35b63acab48d881186116055761014436106117a157005b6378c067b0811861162e57604436106117a1576004358060a01c6117a157604052602435606052005b637b92b7ce811861166b57608436106117a1576004358060a01c6117a1576040526024356060526044358060a01c6117a15760805260643560a052005b63136af17f81186116d8577f1234567890abcdef0123456789abcdef0123456789abcdef0123456789abcdef604052336060526040516080527fa731a78d94f9b7de7d6ab1ba8b80641702fa1c4a60a45d52c8db2bbc0a2e80a860605160a05260805160c052604060a0a1005b630cce7676811861179b575f6040526040516103ff81116117a157338160051b60600152600181016040525033618060527f104c91de427fc87afec34d4d2ccb7171d5e4dc6c34d60cf6d18fa324bb455cb660806103e961808052336180a052806180c05280618080015f6040518083528060051b5f8261040081116117a157801561177d57905b8060051b606001518160051b602088010152600101818118611760575b50508201602001915050905081019050618060516180e052618080a1005b505b5f5ffd5b5f80fda165767970657283000309000b005b5f80fd"},"dev_messages":{},"devdoc":{},"pcmap":{"1002":{"location":[104,80,104,81]},"1009":{"location":[103,0,104,83]},"101":{"location":[56,19,56,26]},"1011":{"location":[103,0,104,83]},"1012":{"location":[103,0,104,83]},"1013":{"location":[108,0,109,83]},"1018":{"location":[108,0,109,83]},"1019":{"location":[108,0,109,83]},"1020":{"location":[108,0,109,83]},"1023":{"location":[108,0,109,83]},"1024":{"location":[109,31,109,32]},"1029":{"location":[109,50,109,60]},"1037":{"location":[109,65,109,79]},"1043":{"location":[108,0,109,83]},"1045":{"location":[108,0,109,83]},"1046":{"location":[108,0,109,83]},"1047":{"location":[113,0,114,88]},"1052":{"location":[113,0,114,88]},"1053":{"location":[113,0,114,88]},"1054":{"location":[113,0,114,88]},"1057":{"location":[113,0,114,88]},"1058":{"location":[114,43,114,53]},"1066":{"location":[114,58,114,72]},"1070":{"location":[114,81,114,82]},"1075":{"location":[114,86,114,87]},"1082":{"location":[113,0,114,88]},"1084":{"location":[113,0,114,88]},"1085":{"location":[113,0,114,88]},"1086":{"location":[118,0,119,88]},"1091":{"location":[118,0,119,88]},"1092":{"location":[118,0,119,88]},"1093":{"location":[118,0,119,88]},"1096":{"location":[118,0,119,88]},"1097":{"location":[119,12,119,13]},"110":{"location":[56,19,56,26]},"1102":{"location":[119,35,119,36]},"1107":{"location":[119,54,119,64]},"1115":{"location":[119,69,119,83]},"112":{"location":[56,19,56,26]},"1121":{"location":[118,0,119,88]},"1123":{"location":[118,0,119,88]},"1124":{"location":[118,0,119,88]},"1125":{"location":[123,0,125,22]},"113":{"location":[56,19,56,26]},"1130":{"location":[123,0,125,22]},"1131":{"location":[123,0,125,22]},"1132":{"location":[123,0,125,22]},"1135":{"location":[123,0,125,22]},"1139":{"location":[124,4,124,44]},"114":{"location":[57,17,57,42]},"1153":{"location":[125,11,125,22]},"119":{"location":[57,17,57,42]},"120":{"location":[57,17,57,42]},"121":{"location":[57,17,57,42]},"124":{"location":[57,17,57,42]},"1240":{"location":[123,0,125,22]},"1243":{"location":[123,0,125,22]},"1244":{"location":[123,0,125,22]},"1245":{"location":[129,0,132,41]},"125":{"location":[57,17,57,42]},"1250":{"location":[129,0,132,41]},"1251":{"location":[129,0,132,41]},"1252":{"location":[129,0,132,41]},"1255":{"location":[129,0,132,41]},"1259":{"location":[130,4,130,46]},"1264":{"location":[131,4,131,46]},"127":{"location":[57,17,57,42]},"1278":{"location":[132,12,132,25]},"129":{"location":[57,17,57,42]},"132":{"location":[57,17,57,42]},"1376":{"location":[132,27,132,40]},"140":{"dev":"dev: Integer overflow","location":[57,17,57,42]},"143":{"dev":"dev: Integer overflow","location":[57,17,57,42]},"1465":{"location":[129,0,132,41]},"1468":{"location":[129,0,132,41]},"1469":{"location":[129,0,132,41]},"1470":{"location":[136,0,139,41]},"1475":{"location":[136,0,139,41]},"1476":{"location":[136,0,139,41]},"1477":{"location":[136,0,139,41]},"1480":{"location":[136,0,139,41]},"1481":{"location":[137,4,137,51]},"1483":{"location":[137,4,137,51]},"1484":{"location":[137,4,137,51]},"1486":{"location":[137,4,137,51]},"1542":{"location":[139,27,139,40]},"1631":{"location":[136,0,139,41]},"1634":{"location":[136,0,139,41]},"1635":{"location":[136,0,139,41]},"1636":{"location":[143,0,145,20]},"1641":{"location":[143,0,145,20]},"1642":{"location":[143,0,145,20]},"1643":{"location":[143,0,145,20]},"1646":{"location":[143,0,145,20]},"1653":{"location":[144,4,144,59]},"1654":{"location":[145,11,145,12]},"167":{"location":[57,17,57,42]},"169":{"location":[57,17,57,42]},"170":{"location":[57,17,57,42]},"171":{"location":[58,17,58,43]},"176":{"location":[58,17,58,43]},"177":{"location":[58,17,58,43]},"178":{"location":[58,17,58,43]},"181":{"location":[58,17,58,43]},"182":{"location":[58,17,58,43]},"184":{"location":[58,17,58,43]},"186":{"location":[58,17,58,43]},"189":{"location":[58,17,58,43]},"1896":{"location":[143,0,145,20]},"1899":{"location":[143,0,145,20]},"19":{"dev":"dev: Cannot send ether to non-payable function","location":null},"1900":{"location":[143,0,145,20]},"1901":{"location":[149,0,152,33]},"1906":{"location":[149,0,152,33]},"1907":{"location":[149,0,152,33]},"1908":{"location":[149,0,152,33]},"1911":{"location":[149,0,152,33]},"1915":{"location":[150,4,150,41]},"1920":{"location":[151,4,151,44]},"1934":{"location":[152,11,152,20]},"200":{"dev":"dev: Integer underflow","location":[58,17,58,43]},"2018":{"location":[152,22,152,33]},"203":{"dev":"dev: Integer underflow","location":[58,17,58,43]},"2107":{"location":[149,0,152,33]},"2110":{"location":[149,0,152,33]},"2111":{"location":[149,0,152,33]},"2112":{"location":[156,0,166,5]},"2117":{"location":[156,0,166,5]},"2118":{"location":[156,0,166,5]},"2119":{"location":[156,0,166,5]},"2122":{"location":[156,0,166,5]},"2123":{"location":[159,17,159,18]},"2128":{"location":[161,29,161,39]},"2136":{"location":[161,44,161,58]},"2140":{"location":[162,29,162,39]},"2148":{"location":[162,44,162,58]},"215":{"dev":"dev: Integer underflow","location":[58,17,58,43]},"2152":{"location":[164,17,164,18]},"2159":{"location":[156,0,166,5]},"216":{"dev":"dev: Integer underflow","location":[58,17,58,43]},"2161":{"location":[156,0,166,5]},"2162":{"location":[156,0,166,5]},"2163":{"location":[170,0,171,13]},"2168":{"location":[170,0,171,13]},"2169":{"location":[170,0,171,13]},"2170":{"location":[170,0,171,13]},"2173":{"location":[170,0,171,13]},"219":{"dev":"dev: Integer underflow","location":[58,17,58,43]},"22":{"dev":"dev: Cannot send ether to non-payable function","location":null},"2244":{"location":[170,0,171,13]},"2246":{"location":[170,0,171,13]},"2247":{"location":[170,0,171,13]},"2248":{"location":[175,0,176,14]},"2253":{"location":[175,0,176,14]},"2254":{"location":[175,0,176,14]},"2255":{"location":[175,0,176,14]},"2258":{"location":[175,0,176,14]},"2270":{"location":[176,12,176,13]},"23":{"location":[53,14,53,21]},"233":{"location":[58,17,58,43]},"235":{"location":[58,17,58,43]},"2356":{"location":[175,0,176,14]},"2358":{"location":[175,0,176,14]},"2359":{"location":[175,0,176,14]},"236":{"location":[58,17,58,43]},"2360":{"location":[180,0,181,20]},"2365":{"location":[180,0,181,20]},"2366":{"location":[180,0,181,20]},"2367":{"location":[180,0,181,20]},"237":{"location":[59,19,59,64]},"2370":{"location":[180,0,181,20]},"2382":{"location":[181,12,181,13]},"2388":{"location":[181,15,181,16]},"2394":{"location":[181,18,181,19]},"242":{"location":[59,19,59,64]},"243":{"location":[59,19,59,64]},"244":{"location":[59,19,59,64]},"247":{"location":[59,19,59,64]},"248":{"location":[59,19,59,64]},"2482":{"location":[180,0,181,20]},"2484":{"location":[180,0,181,20]},"2485":{"location":[180,0,181,20]},"2486":{"location":[185,0,186,35]},"2491":{"location":[185,0,186,35]},"2492":{"location":[185,0,186,35]},"2493":{"location":[185,0,186,35]},"2496":{"location":[185,0,186,35]},"250":{"location":[59,19,59,64]},"2508":{"location":[186,12,186,22]},"2512":{"location":[186,24,186,34]},"252":{"location":[59,19,59,64]},"255":{"location":[59,19,59,64]},"2598":{"location":[185,0,186,35]},"2600":{"location":[185,0,186,35]},"2601":{"location":[185,0,186,35]},"2602":{"location":[190,0,194,5]},"2607":{"location":[190,0,194,5]},"2608":{"location":[190,0,194,5]},"2609":{"location":[190,0,194,5]},"2612":{"location":[190,0,194,5]},"2624":{"location":[192,39,192,49]},"2633":{"location":[192,54,192,68]},"2638":{"location":[192,77,192,78]},"2644":{"location":[193,39,193,49]},"2653":{"location":[193,54,193,68]},"2658":{"location":[193,77,193,78]},"267":{"dev":"dev: Integer underflow","location":[59,19,59,64]},"270":{"dev":"dev: Integer underflow","location":[59,19,59,64]},"2772":{"location":[190,0,194,5]},"2774":{"location":[190,0,194,5]},"2775":{"location":[190,0,194,5]},"2776":{"location":[198,0,202,5]},"2781":{"location":[198,0,202,5]},"2782":{"location":[198,0,202,5]},"2783":{"location":[198,0,202,5]},"2786":{"location":[198,0,202,5]},"2787":{"location":[200,28,200,29]},"2792":{"location":[200,47,200,57]},"28":{"location":[53,14,53,21]},"2800":{"location":[200,62,200,76]},"2804":{"location":[201,28,201,29]},"2809":{"location":[201,47,201,57]},"2817":{"location":[201,62,201,76]},"2823":{"location":[198,0,202,5]},"2825":{"location":[198,0,202,5]},"2826":{"location":[198,0,202,5]},"2827":{"location":[206,0,207,29]},"2832":{"location":[206,0,207,29]},"2833":{"location":[206,0,207,29]},"2834":{"location":[206,0,207,29]},"2837":{"location":[206,0,207,29]},"2848":{"location":[206,0,207,29]},"2850":{"location":[206,0,207,29]},"2851":{"location":[206,0,207,29]},"2852":{"location":[212,0,213,51]},"2857":{"location":[212,0,213,51]},"2858":{"location":[212,0,213,51]},"2859":{"location":[212,0,213,51]},"286":{"dev":"dev: Integer underflow","location":[59,19,59,64]},"2862":{"location":[212,0,213,51]},"287":{"dev":"dev: Integer underflow","location":[59,19,59,64]},"2873":{"location":[212,0,213,51]},"2875":{"location":[212,0,213,51]},"2876":{"location":[212,0,213,51]},"2877":{"location":[217,0,218,21]},"2882":{"location":[217,0,218,21]},"2883":{"location":[217,0,218,21]},"2884":{"location":[217,0,218,21]},"2887":{"location":[217,0,218,21]},"2888":{"location":[218,12,218,15]},"2893":{"location":[218,17,218,20]},"29":{"location":[53,14,53,21]},"290":{"dev":"dev: Integer underflow","location":[59,19,59,64]},"2901":{"location":[217,0,218,21]},"2903":{"location":[217,0,218,21]},"2904":{"location":[217,0,218,21]},"2905":{"location":[222,0,223,17]},"2910":{"location":[222,0,223,17]},"2911":{"location":[222,0,223,17]},"2912":{"location":[222,0,223,17]},"2915":{"location":[222,0,223,17]},"2924":{"location":[222,0,223,17]},"2926":{"location":[222,0,223,17]},"2927":{"location":[222,0,223,17]},"2928":{"location":[227,0,230,42]},"2933":{"location":[227,0,230,42]},"2934":{"location":[227,0,230,42]},"2935":{"location":[227,0,230,42]},"2938":{"location":[227,0,230,42]},"2945":{"location":[228,4,228,47]},"2946":{"location":[229,19,229,29]},"2947":{"location":[229,4,229,16]},"2949":{"location":[227,0,230,42]},"30":{"location":[53,14,53,21]},"309":{"dev":"dev: Integer underflow","location":[59,19,59,64]},"3115":{"location":[227,0,230,42]},"3118":{"location":[227,0,230,42]},"3119":{"location":[227,0,230,42]},"312":{"dev":"dev: Integer underflow","location":[59,19,59,64]},"3120":{"location":[234,0,235,35]},"3125":{"location":[234,0,235,35]},"3126":{"location":[234,0,235,35]},"3127":{"location":[234,0,235,35]},"3130":{"location":[234,0,235,35]},"3131":{"location":[235,13,235,14]},"3136":{"location":[235,16,235,17]},"3141":{"location":[235,21,235,22]},"3146":{"location":[235,24,235,25]},"3151":{"location":[235,29,235,30]},"3156":{"location":[235,32,235,33]},"3163":{"location":[234,0,235,35]},"3165":{"location":[234,0,235,35]},"3166":{"location":[234,0,235,35]},"3167":{"location":[239,0,240,35]},"3172":{"location":[239,0,240,35]},"3173":{"location":[239,0,240,35]},"3174":{"location":[239,0,240,35]},"3177":{"location":[239,0,240,35]},"3189":{"location":[240,13,240,14]},"3196":{"location":[240,16,240,17]},"3203":{"location":[240,21,240,22]},"3210":{"location":[240,24,240,25]},"3217":{"location":[240,29,240,30]},"3224":{"location":[240,32,240,33]},"325":{"dev":"dev: Integer underflow","location":[59,19,59,64]},"326":{"dev":"dev: Integer underflow","location":[59,19,59,64]},"329":{"dev":"dev: Integer underflow","location":[59,19,59,64]},"33":{"location":[53,14,53,21]},"3333":{"location":[239,0,240,35]},"3335":{"location":[239,0,240,35]},"3336":{"location":[239,0,240,35]},"3337":{"location":[244,0,245,24]},"3342":{"location":[244,0,245,24]},"3343":{"location":[244,0,245,24]},"3344":{"location":[244,0,245,24]},"3347":{"location":[244,0,245,24]},"343":{"location":[59,19,59,64]},"345":{"location":[59,19,59,64]},"346":{"location":[59,19,59,64]},"347":{"location":[75,0,77,22]},"352":{"location":[75,0,77,22]},"353":{"location":[75,0,77,22]},"354":{"location":[75,0,77,22]},"357":{"location":[75,0,77,22]},"358":{"location":[76,22,76,22]},"359":{"location":[76,4,76,22]},"3610":{"location":[244,0,245,24]},"3612":{"location":[244,0,245,24]},"3613":{"location":[244,0,245,24]},"3614":{"location":[249,0,250,26]},"3619":{"location":[249,0,250,26]},"3620":{"location":[249,0,250,26]},"3621":{"location":[249,0,250,26]},"3624":{"location":[249,0,250,26]},"392":{"location":[76,4,76,22]},"393":{"location":[76,4,76,22]},"395":{"location":[76,4,76,22]},"396":{"location":[77,22,77,22]},"398":{"location":[77,4,77,22]},"41":{"location":[53,14,53,21]},"43":{"location":[53,14,53,21]},"431":{"location":[77,4,77,22]},"432":{"location":[77,4,77,22]},"434":{"location":[77,4,77,22]},"435":{"location":[75,0,77,22]},"436":{"location":[75,0,77,22]},"437":{"location":[80,0,85,80]},"44":{"location":[53,14,53,21]},"442":{"location":[80,0,85,80]},"443":{"location":[80,0,85,80]},"444":{"location":[80,0,85,80]},"447":{"location":[80,0,85,80]},"448":{"location":[80,0,85,80]},"45":{"location":[54,17,54,24]},"450":{"location":[80,0,85,80]},"452":{"location":[80,0,85,80]},"455":{"location":[80,0,85,80]},"456":{"location":[81,25,81,35]},"457":{"location":[81,11,81,35]},"458":{"location":[81,11,81,21]},"459":{"location":[81,11,81,35]},"460":{"location":[81,11,81,35]},"461":{"dev":"dev: USER_ASSERT","location":[81,4,81,50]},"464":{"dev":"dev: USER_ASSERT","location":[81,4,81,50]},"469":{"location":[81,37,81,50]},"50":{"location":[54,17,54,24]},"505":{"location":[81,37,81,50]},"506":{"location":[81,37,81,50]},"508":{"location":[81,4,81,50]},"51":{"location":[54,17,54,24]},"52":{"location":[54,17,54,24]},"5448":{"location":[249,0,250,26]},"5450":{"location":[249,0,250,26]},"5451":{"location":[249,0,250,26]},"5452":{"location":[254,0,255,99]},"5457":{"location":[254,0,255,99]},"5458":{"location":[254,0,255,99]},"5459":{"location":[254,0,255,99]},"5462":{"location":[254,0,255,99]},"5474":{"location":[255,13,255,23]},"5480":{"location":[255,25,255,35]},"5486":{"location":[255,37,255,47]},"55":{"location":[54,17,54,24]},"555":{"dev":"dev: USER_ASSERT","location":[81,4,81,50]},"556":{"location":[82,18,82,19]},"558":{"location":[85,65,85,68]},"560":{"location":[82,11,82,19]},"5612":{"location":[254,0,255,99]},"5614":{"location":[254,0,255,99]},"5615":{"location":[254,0,255,99]},"5616":{"location":[259,0,271,8]},"562":{"dev":"dev: USER_ASSERT","location":[82,4,82,19]},"5621":{"location":[259,0,271,8]},"5622":{"location":[259,0,271,8]},"5623":{"location":[259,0,271,8]},"5626":{"location":[259,0,271,8]},"5627":{"location":[259,0,271,8]},"5630":{"location":[259,0,271,8]},"5632":{"location":[259,0,271,8]},"5635":{"location":[259,0,271,8]},"5636":{"location":[259,0,271,8]},"5637":{"location":[259,0,271,8]},"5638":{"location":[275,0,276,8]},"5643":{"location":[275,0,276,8]},"5644":{"location":[275,0,276,8]},"5645":{"location":[275,0,276,8]},"5648":{"location":[275,0,276,8]},"5649":{"location":[275,0,276,8]},"565":{"dev":"dev: USER_ASSERT","location":[82,4,82,19]},"5651":{"location":[275,0,276,8]},"5653":{"location":[275,0,276,8]},"5656":{"location":[275,0,276,8]},"566":{"location":[83,22,83,35]},"5664":{"dev":"dev: Integer overflow","location":[275,0,276,8]},"5667":{"dev":"dev: Integer overflow","location":[275,0,276,8]},"5670":{"location":[275,14,275,34]},"5676":{"location":[275,14,275,34]},"5677":{"location":[275,0,276,8]},"5678":{"location":[275,0,276,8]},"5679":{"location":[280,0,281,8]},"5684":{"location":[280,0,281,8]},"5685":{"location":[280,0,281,8]},"5686":{"location":[280,0,281,8]},"5689":{"location":[280,0,281,8]},"569":{"location":[83,4,83,19]},"5690":{"location":[280,0,281,8]},"5692":{"location":[280,0,281,8]},"5694":{"location":[280,0,281,8]},"5697":{"location":[280,0,281,8]},"5705":{"dev":"dev: Integer overflow","location":[280,0,281,8]},"5708":{"dev":"dev: Integer overflow","location":[280,0,281,8]},"572":{"location":[85,65,85,68]},"5725":{"dev":"dev: Integer overflow","location":[280,0,281,8]},"5728":{"dev":"dev: Integer overflow","location":[280,0,281,8]},"5738":{"location":[280,0,281,8]},"5739":{"location":[280,0,281,8]},"5740":{"location":[284,0,290,32]},"5745":{"location":[284,0,290,32]},"5746":{"location":[284,0,290,32]},"5747":{"location":[284,0,290,32]},"575":{"location":[84,4,84,17]},"5750":{"location":[284,0,290,32]},"5751":{"location":[285,22,285,88]},"5786":{"location":[285,4,285,88]},"5787":{"location":[287,11,287,21]},"5790":{"location":[286,4,289,6]},"5791":{"location":[288,11,288,17]},"5796":{"location":[286,4,289,6]},"5797":{"location":[290,4,290,32]},"582":{"location":[85,70,85,79]},"5844":{"location":[290,4,290,32]},"5846":{"location":[290,4,290,32]},"5847":{"location":[284,0,290,32]},"5848":{"location":[284,0,290,32]},"5849":{"location":[293,0,297,58]},"5854":{"location":[293,0,297,58]},"5855":{"location":[293,0,297,58]},"5856":{"location":[293,0,297,58]},"5859":{"location":[293,0,297,58]},"5863":{"location":[294,4,294,37]},"5864":{"location":[295,4,295,7]},"5866":{"location":[295,4,295,26]},"5870":{"location":[295,4,295,26]},"5872":{"dev":"dev: Integer overflow","location":[295,4,295,26]},"5875":{"dev":"dev: Integer overflow","location":[295,4,295,26]},"5876":{"location":[295,15,295,25]},"5877":{"location":[295,4,295,26]},"5887":{"location":[295,4,295,26]},"5889":{"location":[295,4,295,7]},"5892":{"location":[295,4,295,26]},"5893":{"location":[296,24,296,34]},"5897":{"location":[293,0,297,58]},"5898":{"location":[297,4,297,58]},"5933":{"location":[297,30,297,34]},"5940":{"location":[297,36,297,46]},"5956":{"location":[297,48,297,51]},"6038":{"location":[297,4,297,58]},"6041":{"location":[297,4,297,58]},"6042":{"location":[293,0,297,58]},"6043":{"location":[293,0,297,58]},"6048":{"dev":"dev: Fallback not defined","location":null},"618":{"location":[85,70,85,79]},"619":{"location":[85,70,85,79]},"628":{"location":[85,4,85,80]},"629":{"location":[85,4,85,80]},"630":{"location":[85,65,85,68]},"632":{"location":[85,4,85,80]},"633":{"location":[85,4,85,80]},"64":{"location":[54,17,54,24]},"66":{"location":[54,17,54,24]},"67":{"location":[54,17,54,24]},"672":{"location":[85,21,85,35]},"676":{"location":[85,37,85,52]},"68":{"location":[55,19,55,26]},"691":{"location":[85,54,85,63]},"727":{"location":[85,54,85,63]},"728":{"location":[85,54,85,63]},"73":{"location":[55,19,55,26]},"74":{"location":[55,19,55,26]},"75":{"location":[55,19,55,26]},"78":{"location":[55,19,55,26]},"793":{"location":[85,4,85,80]},"795":{"location":[85,4,85,80]},"796":{"location":[80,0,85,80]},"797":{"location":[80,0,85,80]},"798":{"location":[88,0,90,31]},"803":{"location":[88,0,90,31]},"804":{"location":[88,0,90,31]},"805":{"location":[88,0,90,31]},"808":{"location":[88,0,90,31]},"809":{"location":[88,0,90,31]},"811":{"location":[88,0,90,31]},"813":{"location":[88,0,90,31]},"816":{"location":[88,0,90,31]},"824":{"dev":"dev: Integer overflow","location":[88,0,90,31]},"827":{"dev":"dev: Integer overflow","location":[88,0,90,31]},"828":{"location":[88,15,88,32]},"830":{"location":[88,15,88,32]},"831":{"location":[89,22,89,30]},"834":{"location":[89,4,89,19]},"837":{"location":[90,22,90,30]},"839":{"location":[90,4,90,31]},"840":{"location":[90,4,90,31]},"87":{"location":[55,19,55,26]},"873":{"location":[90,4,90,31]},"874":{"location":[90,4,90,31]},"876":{"location":[90,4,90,31]},"877":{"location":[88,0,90,31]},"878":{"location":[88,0,90,31]},"879":{"location":[93,0,94,34]},"884":{"location":[93,0,94,34]},"885":{"location":[93,0,94,34]},"886":{"location":[93,0,94,34]},"889":{"location":[93,0,94,34]},"89":{"location":[55,19,55,26]},"890":{"location":[93,0,94,34]},"892":{"location":[93,0,94,34]},"894":{"location":[93,0,94,34]},"897":{"location":[93,0,94,34]},"90":{"location":[55,19,55,26]},"905":{"dev":"dev: Integer overflow","location":[93,0,94,34]},"908":{"dev":"dev: Integer overflow","location":[93,0,94,34]},"909":{"location":[93,15,93,32]},"91":{"location":[56,19,56,26]},"911":{"location":[93,15,93,32]},"912":{"location":[94,4,94,17]},"914":{"location":[94,18,94,26]},"917":{"location":[94,4,94,27]},"919":{"location":[94,4,94,27]},"920":{"location":[94,4,94,27]},"921":{"location":[94,4,94,27]},"922":{"location":[94,4,94,27]},"924":{"location":[94,4,94,27]},"925":{"location":[94,4,94,27]},"926":{"location":[94,4,94,34]},"927":{"location":[94,4,94,34]},"928":{"location":[94,31,94,34]},"932":{"location":[94,4,94,34]},"934":{"location":[94,4,94,34]},"937":{"dev":"dev: Integer overflow","location":[94,4,94,34]},"940":{"dev":"dev: Integer overflow","location":[94,4,94,34]},"941":{"location":[94,4,94,34]},"942":{"location":[94,4,94,34]},"943":{"location":[94,4,94,34]},"944":{"location":[94,4,94,34]},"945":{"location":[94,4,94,34]},"947":{"location":[94,4,94,34]},"948":{"location":[93,0,94,34]},"949":{"location":[93,0,94,34]},"950":{"location":[98,0,99,55]},"955":{"location":[98,0,99,55]},"956":{"location":[98,0,99,55]},"957":{"location":[98,0,99,55]},"96":{"location":[56,19,56,26]},"960":{"location":[98,0,99,55]},"961":{"location":[99,24,99,34]},"969":{"location":[99,39,99,53]},"97":{"location":[56,19,56,26]},"975":{"location":[98,0,99,55]},"977":{"location":[98,0,99,55]},"978":{"location":[98,0,99,55]},"979":{"location":[103,0,104,83]},"98":{"location":[56,19,56,26]},"984":{"location":[103,0,104,83]},"985":{"location":[103,0,104,83]},"986":{"location":[103,0,104,83]},"989":{"location":[103,0,104,83]},"990":{"location":[104,42,104,52]},"998":{"location":[104,57,104,71]}},"runtimeBytecode":{"bytecode":"0x6003361161000c5761179d565b5f3560e01c346117a157638da5cb5b811861002c575f5460405260206040f35b6323fd0e4081186100435760015460405260206040f35b634825cf6f811861005a5760025460405260206040f35b636cbceeec81186100715760035460405260206040f35b6327e235e381186100aa57602436106117a1576004358060a01c6117a15760405260046040516020525f5260405f205460605260206060f35b63d3aaff6d81186100ec57604436106117a157610401600435600281116117a1570260050160243581548110156117a157600182010190505460405260206040f35b63ae8ef2cb811861015a57608436106117a15762300c01600435600481116117a15702610c0801610c0360243582548110156117a1570260018201019050610401604435600281116117a157028101905060643581548110156117a157600182010190505460405260206040f35b632beb171181186101b4575f7f1a7c56fae0af54ebae73bc4699b9de9835e7bb86b050dff7e80695b633f17abd5f6040a260017fe5299d63f5ecdd1740024ea0902bd82cc8dc6b51d69078e007096f907615ced55f6040a2005b633fb5c1cb811861031d57602436106117a1575f5433181561022b57600b6040527f21617574686f72697a656400000000000000000000000000000000000000000060605260405060405180606001601f825f031636823750506308c379a05f526020602052601f19601f6040510116604401601cfd5b6005600435146117a15760015460025560043560015560076080527f44796e616d69630000000000000000000000000000000000000000000000000060a05260808051602082012090506004357fa84473122c11e32cd505595f246a28418b8ecd6cf819f4e3915363fad1b8f9686060600143034060c05260025460e052806101005260076040527f44796e616d69630000000000000000000000000000000000000000000000000060605260408160c00181516020830160208301815181525050808252508051806020830101601f825f03163682375050601f19601f82516020010116905090508101905060c0a3005b63e30081a0811861036e57602436106117a1576004358060a01c6117a1576040526040516003556040517f7ff7bacc6cd661809ed1ddce28d4ad2c5b37779b61b9e3235f8262be529101a95f6060a2005b63e30443bc81186103b557604436106117a1576004358060a01c6117a15760405260046040516020525f5260405f2080546024358082018281106117a15790509050815550005b6309b1b3f281186103d25733604052600143034060605260406040f35b6302f487d681186103f457336040526001430340606052600160805260606040f35b63a420b5a5811861041657600260405233606052600143034060805260606040f35b63e9f7fd14811861043d573360405260014303406060526001608052600160a05260806040f35b63a2fbee538118610464576002604052600260605233608052600143034060a05260806040f35b637a79591d81186104dc575f6040526020806102e052806102e0015f6040518083528060061b5f82600a81116117a15780156104c757905b8060061b60208701018160061b6060018051825260208101516020830152505060010181811861049c575b505082016020019150509050810190506102e0f35b63a4f6d26b81186105bd575f6040525f6102e0526040806105805280610580015f6040518083528060061b5f82600a81116117a157801561054457905b8060061b60208701018160061b60600180518252602081015160208301525050600101818118610519575b50508201602001915050905081019050806105a05280610580015f6102e0518083528060061b5f82600a81116117a15780156105a857905b8060061b60208701018160061b610300018051825260208101516020830152505060010181811861057c575b50508201602001915050905081019050610580f35b63252e423e81186106635760e03660403760e06040516101a0526060516101c0526080516101e05260a0516102005260c0516102205260e051610240528061026052806101a0015f610100518083528060061b5f82600281116117a157801561064e57905b8060061b60208701018160061b6101200180518252602081015160208301525050600101818118610622575b505082016020019150509050810190506101a0f35b63c2f14839811861076c576103c0366040375f6104005260405161042052606051610440526080516104605260a0516104805260c0516104a05260e0516104c052610100516104e05261012051610500526101405161052052610160516105405261018051610560526101a051610580526101c0516105a0526101e0516105c052610200516105e05261022051610600526102405161062052610260516106405261028051610660526102a051610680526102c0516106a0526102e0516106c052610300516106e05261032051610700526103405161072052610360516107405261038051610760526103a051610780526103c0516107a0526103e0516107c0526103e0610400f35b63a5c1b662811861083f575f6040525f6101a0526040806104405280610440015f6040518083528060051b5f82600a81116117a15780156107c657905b8060051b606001518160051b6020880101526001018181186107a9575b50508201602001915050905081019050806104605280610440015f6101a0518083528060061b5f82600a81116117a157801561082a57905b8060061b60208701018160061b6101c001805182526020810151602083015250506001018181186107fe575b50508201602001915050905081019050610440f35b6342ce1ec681186108725760016040523360605260014303406080523360a052600143034060c052600260e05260c06040f35b63052f3e7681186108c757602080604052806040015f5f82525f5f5f600181116117a15780156108b457905b5f8160051b60208701015260010181811861089e575b5050810160200190509050810190506040f35b63b345ad96811861093757602080604052806040015f600160c052600160a0525f60a0518084528060051b5f82600181116117a157801561092157905b8060051b60c001518160051b602089010152600101818118610904575b5050820160200191505090509050810190506040f35b6335417bf481186109b557602080604052806040015f600161010052600261012052600361014052600360e0525f60e0518084528060051b5f82600381116117a157801561099f57905b8060051b61010001518160051b602089010152600101818118610981575b5050820160200191505090509050810190506040f35b63a5b0930d8118610a2957602080604052806040015f3360e0523361010052600260c0525f60c0518084528060051b5f82600281116117a1578015610a1357905b8060051b60e001518160051b6020890101526001018181186109f6575b5050820160200191505090509050810190506040f35b639bfb2ad88118610ad757602080604052806040015f336101605260014303406101805260016101a052336101c05260014303406101e0526002610200526002610140525f61014051808452606081025f82600281116117a1578015610ac157905b60608102602088010160608202610160018051825260208101516020830152604081015160408301525050600101818118610a8b575b5050820160200191505090509050810190506040f35b633ce80e948118610b0a576001604052336060526001430340608052600260a0523360c052600143034060e05260c06040f35b6343790b648118610b2357610280366040376102806040f35b63d4d64b358118610b3c57610500366040376105006040f35b63650543a38118610b5857607b60405261014160605260406040f35b63243e09638118610b6f5760403660403760406040f35b638ba6052d8118610c2f5761028036604037336040526040516102c0526060516102e0526080516103005260a0516103205260c0516103405260e051610360526101005161038052610120516103a052610140516103c052610160516103e05261018051610400526101a051610420526101c051610440526101e051610460526102005161048052610220516104a052610240516104c052610260516104e05261028051610500526102a0516105205261028036610540376105006102c0f35b63ccd62aa48118610c5e57600160405260026060526003608052600460a052600560c052600660e05260c06040f35b636126c87f8118610d0857602080604052806040015f6001620100a0526002620100c0526003620100e052600462010100526005620101205260066201014052600362010080525f62010080518084528060061b5f8261040081116117a1578015610cf257905b8060061b60208801018160061b620100a00180518252602081015160208301525050600101818118610cc5575b5050820160200191505090509050810190506040f35b6394a66fc98118610e1d576020806040528060400160608082528082015f6005548083528060051b5f8261040081116117a1578015610d5d57905b80600601548160051b602088010152600101818118610d43575b505082016020019150509050810190508060208301528082015f610406548083528060051b5f8261040081116117a1578015610db057905b8061040701548160051b602088010152600101818118610d95575b505082016020019150509050810190508060408301528082015f610807548083528060051b5f8261040081116117a1578015610e0357905b8061080801548160051b602088010152600101818118610de8575b505082016020019150509050810190509050810190506040f35b63abeb2022811861154b576020806040528060400160a08082528082015f610c08548083528060051b5f8261040081116117a1578015610f8957905b828160051b602088010152610c038102610c090183602088010160608082528082015f84548083528060051b5f8261040081116117a1578015610eb457905b8060018a0101548160051b602088010152600101818118610e98575b5050820160200191505090508101905080602083015261040183018183015f82548083528060051b5f8261040081116117a1578015610f0b57905b806001880101548160051b602088010152600101818118610eef575b50508201602001915050905090508101905080604083015261080283018183015f82548083528060051b5f8261040081116117a1578015610f6457905b806001880101548160051b602088010152600101818118610f48575b5050820160200191505090509050810190509050905083019250600101818118610e59575b505082016020019150509050810190508060208301528082015f62301809548083528060051b5f8261040081116117a15780156110f357905b828160051b602088010152610c0381026230180a0183602088010160608082528082015f84548083528060051b5f8261040081116117a157801561101e57905b8060018a0101548160051b602088010152600101818118611002575b5050820160200191505090508101905080602083015261040183018183015f82548083528060051b5f8261040081116117a157801561107557905b806001880101548160051b602088010152600101818118611059575b50508201602001915050905090508101905080604083015261080283018183015f82548083528060051b5f8261040081116117a15780156110ce57905b806001880101548160051b6020880101526001018181186110b2575b5050820160200191505090509050810190509050905083019250600101818118610fc2575b505082016020019150509050810190508060408301528082015f6260240a548083528060051b5f8261040081116117a157801561125d57905b828160051b602088010152610c0381026260240b0183602088010160608082528082015f84548083528060051b5f8261040081116117a157801561118857905b8060018a0101548160051b60208801015260010181811861116c575b5050820160200191505090508101905080602083015261040183018183015f82548083528060051b5f8261040081116117a15780156111df57905b806001880101548160051b6020880101526001018181186111c3575b50508201602001915050905090508101905080604083015261080283018183015f82548083528060051b5f8261040081116117a157801561123857905b806001880101548160051b60208801015260010181811861121c575b505082016020019150509050905081019050905090508301925060010181811861112c575b505082016020019150509050810190508060608301528082015f6290300b548083528060051b5f8261040081116117a15780156113c757905b828160051b602088010152610c0381026290300c0183602088010160608082528082015f84548083528060051b5f8261040081116117a15780156112f257905b8060018a0101548160051b6020880101526001018181186112d6575b5050820160200191505090508101905080602083015261040183018183015f82548083528060051b5f8261040081116117a157801561134957905b806001880101548160051b60208801015260010181811861132d575b50508201602001915050905090508101905080604083015261080283018183015f82548083528060051b5f8261040081116117a15780156113a257905b806001880101548160051b602088010152600101818118611386575b5050820160200191505090509050810190509050905083019250600101818118611296575b505082016020019150509050810190508060808301528082015f62c03c0c548083528060051b5f8261040081116117a157801561153157905b828160051b602088010152610c03810262c03c0d0183602088010160608082528082015f84548083528060051b5f8261040081116117a157801561145c57905b8060018a0101548160051b602088010152600101818118611440575b5050820160200191505090508101905080602083015261040183018183015f82548083528060051b5f8261040081116117a15780156114b357905b806001880101548160051b602088010152600101818118611497575b50508201602001915050905090508101905080604083015261080283018183015f82548083528060051b5f8261040081116117a157801561150c57905b806001880101548160051b6020880101526001018181186114f0575b5050820160200191505090509050810190509050905083019250600101818118611400575b505082016020019150509050810190509050810190506040f35b6399e74a4c81186115ef57602080604052806040015f33620180a05233620180c05233620180e0526060366201810037600262018080525f6201808051808452606081025f8261040081116117a15780156115d957905b60608102602088010160608202620180a00180518252602081015160208301526040810151604083015250506001018181186115a2575b5050820160200191505090509050810190506040f35b63acab48d881186116055761014436106117a157005b6378c067b0811861162e57604436106117a1576004358060a01c6117a157604052602435606052005b637b92b7ce811861166b57608436106117a1576004358060a01c6117a1576040526024356060526044358060a01c6117a15760805260643560a052005b63136af17f81186116d8577f1234567890abcdef0123456789abcdef0123456789abcdef0123456789abcdef604052336060526040516080527fa731a78d94f9b7de7d6ab1ba8b80641702fa1c4a60a45d52c8db2bbc0a2e80a860605160a05260805160c052604060a0a1005b630cce7676811861179b575f6040526040516103ff81116117a157338160051b60600152600181016040525033618060527f104c91de427fc87afec34d4d2ccb7171d5e4dc6c34d60cf6d18fa324bb455cb660806103e961808052336180a052806180c05280618080015f6040518083528060051b5f8261040081116117a157801561177d57905b8060051b606001518160051b602088010152600101818118611760575b50508201602001915050905081019050618060516180e052618080a1005b505b5f5ffd5b5f80fda165767970657283000309000b"},"sourceId":"TestContractVy.vy","sourcemap":"-1:-1:0:-;;;;:::-;;:::-;:::-;;;;;;;:::-;873:7;;;;:::-;-1:-1;;;;;873:7;;:::-;899;;;;:::-;-1:-1;;;;;899:7;;:::-;927;;;;:::-;-1:-1;;;;;927:7;;:::-;955;;;;:::-;-1:-1;;;;;955:7;;:::-;981:25;;;;:::-;;;-1:-1;981:25;:::-;-1:-1;;;;;;:::-;;;;;;;;;;;;;;;;;981:25;;:::-;1025:26;;;;:::-;;;-1:-1;1025:26;:::-;-1:-1;;;;;;;:::-;;;;;;;;;;;;:::-;;;;;;;;;;;1025:26;;:::-;1072:45;;;;:::-;;;-1:-1;1072:45;:::-;-1:-1;;;;;;;:::-;;;;;;;;;;;;;:::-;;;;;;;;;;;;;;;:::-;;;;;;;;;;;;;;:::-;;;;;;;;;;;1072:45;;:::-;1479:62;;;;:::-;1518:0;1500:18;;;;1541:0;1523:18;;;;1479:62;:::-;1553:240;;;;:::-;;;-1:-1;1553:240;:::-;1607:10;1593:24;:10;:24;;1586:46;:::-;-1:-1;;1619:13;-1:-1;;1619:13;;1586:46;-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1586:46::-;1651:1;1778:3;1644:8;-1:-1;1637:15;:::-;1675:13;-1:-1;1657:15;-1:-1;1778:3;-1:-1;1693:13;-1:-1;;;1783:9;-1:-1;;1783:9;;-1:-1;;;;;;1717:76;;1778:3;1717:76;;-1:-1;;;;1734:14;-1:-1;;1750:15;-1:-1;;;;;;;;1767:9;-1:-1;;1767:9;;-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1717:76;;1553:240;:::-;1805:97;;;;:::-;;;-1:-1;1805:97;:::-;-1:-1;;;;;;:::-;1820:17;;1862:8;-1:-1;1844:15;-1:-1;1893:8;1875:27;;;;;1805:97;:::-;1914:83;;;;:::-;;;-1:-1;1914:83;:::-;-1:-1;;;;;;:::-;1929:17;;1967:13;1981:8;-1:-1;1967:23;;;;;;;:30;;1994:3;-1:-1;;1967:30;-1:-1;1967:30;-1:-1;;;:::-;1967:30;;;;;-1:-1;1967:30;1914:83;:::-;2015:84;;;;:::-;2068:10;-1:-1;;;;;2083:14;-1:-1;;;2015:84;;:::-;2117:124;;;;:::-;2200:10;-1:-1;;;;;2215:14;-1:-1;;2238:1;-1:-1;;;2117:124;;:::-;2259;;;;:::-;2331:1;-1:-1;;2350:10;-1:-1;;;;;2365:14;-1:-1;;;2259:124;;:::-;2401:149;;;;:::-;2505:10;-1:-1;;;;;2520:14;-1:-1;;2543:1;-1:-1;;2548:1;-1:-1;;;2401:149;;:::-;2568;;;;:::-;2641:1;-1:-1;;2664:1;-1:-1;;2683:10;-1:-1;;;;;2698:14;-1:-1;;;2568:149;;:::-;2735:126;;;;:::-;-1:-1;;2798:40;-1:-1;;;;;;;;2850:11;-1:-1;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;2735:126;;:::-;2879:225;;;;:::-;-1:-1;;2973:42;-1:-1;;3020:42;-1:-1;;;;;;;;3075:13;-1:-1;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;3090:13;-1:-1;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;2879:225;;:::-;3122:236;;;;:::-;3223:47;;;;-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3344:13;-1:-1;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;3122:236;;:::-;3376:148;;;;:::-;-1:-1;;;3448:55;3515:1;-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3376:148;;:::-;3542:208;;;;:::-;-1:-1;;3634:37;-1:-1;;3676:40;-1:-1;;;;;;;;3728:9;-1:-1;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;3739:11;-1:-1;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;3542:208;;:::-;3768:282;;;;:::-;3856:1;-1:-1;;3907:10;-1:-1;;;;;3922:14;-1:-1;;3969:10;-1:-1;;;;;3984:14;-1:-1;;4033:1;-1:-1;;;3768:282;;:::-;4068:58;;;;:::-;-1:-1;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;4068:58;;:::-;4144:64;;;;:::-;-1:-1;;;;;;;;4206:1;-1:-1;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;4144:64;;:::-;4226:66;;;;:::-;-1:-1;;;;;;;;4284:1;-1:-1;;4287:1;-1:-1;;4290:1;-1:-1;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;4226:66;;:::-;4310:82;;;;:::-;-1:-1;;;;;;;;4369:10;-1:-1;;4381:10;-1:-1;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;4310:82;;:::-;4410:240;;;;:::-;-1:-1;;;;;;;;4521:10;-1:-1;;;;;4536:14;-1:-1;;4559:1;-1:-1;;4603:10;-1:-1;;;;;4618:14;-1:-1;;4641:1;-1:-1;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;4410:240;;:::-;4668:229;;;;:::-;4757:1;-1:-1;;4776:10;-1:-1;;;;;4791:14;-1:-1;;4839:1;-1:-1;;4858:10;-1:-1;;;;;4873:14;-1:-1;;;4668:229;;:::-;4915:74;;;;:::-;-1:-1;;;;;4915:74;;:::-;5008:105;;;;:::-;-1:-1;;;;;5008:105;;:::-;5131:68;;;;:::-;5190:3;-1:-1;;5195:3;-1:-1;;;5131:68;;:::-;5217:62;;;;:::-;-1:-1;;;;;5217:62;;:::-;5297:180;;;;:::-;-1:-1;;;5361:43;5424:10;5409:12;5297:180;-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5297:180;;:::-;5495:84;;;;:::-;5557:1;-1:-1;;5560:1;-1:-1;;5565:1;-1:-1;;5568:1;-1:-1;;5573:1;-1:-1;;5576:1;-1:-1;;;5495:84;;:::-;5597:99;;;;:::-;-1:-1;;;;;;;;5674:1;-1:-1;;5677:1;-1:-1;;5682:1;-1:-1;;5685:1;-1:-1;;5690:1;-1:-1;;5693:1;-1:-1;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;5597:99;;:::-;5714:88;;;;:::-;-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;5714:88;;:::-;5820:109;;;;:::-;-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;;;5820:109;;:::-;5947:158;;;;:::-;-1:-1;;;;;;;;6019:10;-1:-1;;6031:10;-1:-1;;6043:10;-1:-1;;;;;;;;;;;;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;5947:158;;:::-;6123:221;;;;:::-;;;-1:-1;6123:221;:::-;;:::-;6362:45;;;;:::-;;;-1:-1;6362:45;:::-;-1:-1;;;;;;:::-;;6376:20;-1:-1;;;6376:20;6362:45;:::-;6425:59;;;;:::-;;;-1:-1;6425:59;:::-;-1:-1;;;;;;:::-;;;;;;;;;;;;;:::-;;;;;;;6425:59;:::-;6496:221;;;;:::-;6535:66;-1:-1;6517:84;6648:10;-1:-1;6606:78;6671:6;-1:-1;;6606:78;6689:28;-1:-1;;;;;;;;;6689:28;;6496:221;:::-;6729:182;;;;:::-;-1:-1;;6756:33;6794:3;:22;-1:-1;6794:22;-1:-1;;:::-;6805:10;6794:22;-1:-1;;;;;;6794:22;-1:-1;6794:3;-1:-1;6794:22;6841:10;-1:-1;6729:182;6857:54;-1:-1;6883:4;-1:-1;;6889:10;-1:-1;;;;;;;;;6901:3;-1:-1;;;;;;;;;;;;;:::-;;;;:::-;;:::-;;;;;;;;;;;;;;;;;;;;;:::-;:::-;;;;;;;;;;;;;;;;;;;;6857:54;;6729:182;:::-;-1:-1;:::-;;;;:::-;;;","userdoc":{}} diff --git a/tests/functional/data/sources/TestContractSol.sol b/tests/functional/data/sources/TestContractSol.sol index 302ad21dac..5698d517d8 100644 --- a/tests/functional/data/sources/TestContractSol.sol +++ b/tests/functional/data/sources/TestContractSol.sol @@ -32,6 +32,17 @@ contract TestContractSol { uint256 indexed bar ); + event EventWithStruct( + MyStruct a_struct + ); + + event EventWithAddressArray( + uint32 indexed some_id, + address indexed some_address, + address[] participants, + address[1] agents + ); + struct MyStruct { address a; bytes32 b; @@ -278,4 +289,17 @@ contract TestContractSol { function setStructArray(MyStruct[2] memory _my_struct_array) public pure { } + + function logStruct() public { + bytes32 _bytes = 0x1234567890abcdef0123456789abcdef0123456789abcdef0123456789abcdef; + MyStruct memory _struct = MyStruct(msg.sender, _bytes); + emit EventWithStruct(_struct); + } + + function logAddressArray() public { + address[] memory ppl = new address[](1); + ppl[0] = msg.sender; + address[1] memory agts = [msg.sender]; + emit EventWithAddressArray(1001, msg.sender, ppl, agts); + } } diff --git a/tests/functional/data/sources/TestContractVy.vy b/tests/functional/data/sources/TestContractVy.vy index be934a88ea..e727bb654e 100644 --- a/tests/functional/data/sources/TestContractVy.vy +++ b/tests/functional/data/sources/TestContractVy.vy @@ -1,4 +1,4 @@ -# @version 0.3.7 +# @version 0.3.9 event NumberChange: b: bytes32 @@ -16,6 +16,15 @@ event FooHappened: event BarHappened: bar: indexed(uint256) +event EventWithStruct: + a_struct: MyStruct + +event EventWithAddressArray: + some_id: uint256 + some_address: address + participants: DynArray[address, 1024] + agents: address[1] + struct MyStruct: a: address b: bytes32 @@ -270,3 +279,19 @@ def setStruct(_my_struct: MyStruct): @external def setStructArray(_my_struct_array: MyStruct[2]): pass + +@external +def logStruct(): + _bytes: bytes32 = 0x1234567890abcdef0123456789abcdef0123456789abcdef0123456789abcdef + _struct: MyStruct = MyStruct({ + a: msg.sender, + b: _bytes + }) + log EventWithStruct(_struct) + +@external +def logAddressArray(): + ppl: DynArray[address, 1024] = [] + ppl.append(msg.sender) + agts: address[1] = [msg.sender] + log EventWithAddressArray(1001, msg.sender, ppl, agts) diff --git a/tests/functional/geth/conftest.py b/tests/functional/geth/conftest.py index a5540030b8..6bf6c3c771 100644 --- a/tests/functional/geth/conftest.py +++ b/tests/functional/geth/conftest.py @@ -66,7 +66,7 @@ def mock_geth(geth_provider, mock_web3): network=geth_provider.network, provider_settings={}, data_folder=Path("."), - request_header="", + request_header={}, ) original_web3 = provider._web3 provider._web3 = mock_web3 diff --git a/tests/functional/geth/test_provider.py b/tests/functional/geth/test_provider.py index 3ad4cab7f0..feccaf493e 100644 --- a/tests/functional/geth/test_provider.py +++ b/tests/functional/geth/test_provider.py @@ -122,7 +122,12 @@ def test_get_block_not_found(geth_provider): @geth_process_test def test_get_receipt_not_exists_with_timeout(geth_provider, txn_hash): - with pytest.raises(TransactionNotFoundError, match=f"Transaction '{txn_hash}' not found"): + expected = ( + f"Transaction '{txn_hash}' not found. " + rf"Error: Transaction HexBytes\('{txn_hash}'\) " + "is not in the chain after 0 seconds" + ) + with pytest.raises(TransactionNotFoundError, match=expected): geth_provider.get_receipt(txn_hash, timeout=0) diff --git a/tests/functional/test_accounts.py b/tests/functional/test_accounts.py index 84b424d6c9..09ea66eac9 100644 --- a/tests/functional/test_accounts.py +++ b/tests/functional/test_accounts.py @@ -293,18 +293,16 @@ def test_autosign_transactions(runner, keyfile_account, receiver): assert keyfile_account.transfer(receiver, "1 gwei") -def test_impersonate_not_implemented(accounts): - test_address = "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" +def test_impersonate_not_implemented(accounts, address): expected_err_msg = ( "Your provider does not support impersonating accounts:\n" - f"No account with address '{test_address}'." + f"No account with address '{address}'." ) with pytest.raises(IndexError, match=expected_err_msg): - _ = accounts[test_address] + _ = accounts[address] -def test_impersonated_account_ignores_signature_check_on_txn(accounts): - address = "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" +def test_impersonated_account_ignores_signature_check_on_txn(accounts, address): account = ImpersonatedAccount(raw_address=address) # Impersonate hack, since no providers in core actually support it. diff --git a/tests/functional/test_block_container.py b/tests/functional/test_block_container.py new file mode 100644 index 0000000000..68ba9bc3ff --- /dev/null +++ b/tests/functional/test_block_container.py @@ -0,0 +1,149 @@ +import time +from queue import Queue +from typing import List + +import pytest +from ethpm_types import HexBytes + +from ape.exceptions import ChainError + + +def test_iterate_blocks(chain_that_mined_5): + blocks = [b for b in chain_that_mined_5.blocks] + assert len(blocks) >= 5 # Because mined 5 blocks so is at least 5 + + iterator = blocks[0].number + for block in blocks: + assert block.number == iterator + iterator += 1 + + +def test_blocks_range(chain_that_mined_5): + # The number of the block before mining the 5 + start_block = len(chain_that_mined_5.blocks) - 5 + num_to_get = 3 # Expecting blocks [s, s+1, s+2] + blocks = [b for b in chain_that_mined_5.blocks.range(start_block, start_block + num_to_get)] + assert len(blocks) == num_to_get + + expected_number = start_block + prev_block_hash = ( + HexBytes("0x0000000000000000000000000000000000000000000000000000000000000000") + if start_block == 0 + else chain_that_mined_5.blocks[start_block - 1].hash + ) + for block in blocks: + assert block.number == expected_number + expected_number += 1 + assert block.parent_hash == prev_block_hash + prev_block_hash = block.hash + + +def test_blocks_range_too_high_stop(chain_that_mined_5): + num_blocks = len(chain_that_mined_5.blocks) + num_blocks_add_1 = num_blocks + 1 + expected = ( + rf"'stop={num_blocks_add_1}' cannot be greater than the chain length \({num_blocks}\)\. " + rf"Use 'poll_blocks\(\)' to wait for future blocks\." + ) + with pytest.raises(ChainError, match=expected): + # Have to run through generator to trigger code in definition. + list(chain_that_mined_5.blocks.range(num_blocks_add_1)) + + +def test_block_range_with_step(chain_that_mined_5): + blocks = [b for b in chain_that_mined_5.blocks.range(3, step=2)] + assert len(blocks) == 2 + assert blocks[0].number == 0 + assert blocks[1].number == 2 + + +def test_block_range_negative_start(chain_that_mined_5): + with pytest.raises(ValueError) as err: + _ = [b for b in chain_that_mined_5.blocks.range(-1, 3, step=2)] + + assert "ensure this value is greater than or equal to 0" in str(err.value) + + +def test_block_range_out_of_order(chain_that_mined_5): + with pytest.raises(ValueError) as err: + _ = [b for b in chain_that_mined_5.blocks.range(3, 1, step=2)] + + assert "stop_block: '0' cannot be less than start_block: '3'." in str(err.value) + + +def test_block_timestamp(chain): + chain.mine() + assert chain.blocks.head.timestamp == chain.blocks.head.datetime.timestamp() + + +def test_poll_blocks_stop_block_not_in_future(chain_that_mined_5): + bad_stop_block = chain_that_mined_5.blocks.height + + with pytest.raises(ValueError, match="'stop' argument must be in the future."): + _ = [x for x in chain_that_mined_5.blocks.poll_blocks(stop_block=bad_stop_block)] + + +def test_poll_blocks(chain_that_mined_5, eth_tester_provider, owner, PollDaemon): + blocks: Queue = Queue(maxsize=3) + poller = chain_that_mined_5.blocks.poll_blocks() + + with PollDaemon("blocks", poller, blocks.put, blocks.full): + # Sleep first to ensure listening before mining. + time.sleep(1) + eth_tester_provider.mine(3) + + assert blocks.full() + first = blocks.get().number + second = blocks.get().number + third = blocks.get().number + assert first == second - 1 + assert second == third - 1 + + +def test_poll_blocks_reorg(chain_that_mined_5, eth_tester_provider, owner, PollDaemon, ape_caplog): + blocks: Queue = Queue(maxsize=6) + poller = chain_that_mined_5.blocks.poll_blocks() + + with PollDaemon("blocks", poller, blocks.put, blocks.full): + # Sleep first to ensure listening before mining. + time.sleep(1) + + snapshot = chain_that_mined_5.snapshot() + chain_that_mined_5.mine(2) + + # Wait to allow blocks before re-org to get yielded + time.sleep(5) + + # Simulate re-org by reverting to the snapshot + chain_that_mined_5.restore(snapshot) + + # Allow it time to trigger realizing there was a re-org + time.sleep(1) + chain_that_mined_5.mine(2) + time.sleep(1) + + chain_that_mined_5.mine(3) + + assert blocks.full() + + # Show that re-org was detected + expected_error = ( + "Chain has reorganized since returning the last block. " + "Try adjusting the required network confirmations." + ) + assert ape_caplog.records, "Didn't detect re-org" + ape_caplog.assert_last_log(expected_error) + + # Show that there are duplicate blocks + block_numbers: List[int] = [blocks.get().number for _ in range(6)] + assert len(set(block_numbers)) < len(block_numbers) + + +def test_poll_blocks_timeout( + vyper_contract_instance, chain_that_mined_5, eth_tester_provider, owner, PollDaemon +): + poller = chain_that_mined_5.blocks.poll_blocks(new_block_timeout=1) + + with pytest.raises(ChainError, match=r"Timed out waiting for new block \(time_waited=1.\d+\)."): + with PollDaemon("blocks", poller, lambda x: None, lambda: False): + time.sleep(1.5) diff --git a/tests/functional/test_chain.py b/tests/functional/test_chain.py index c06ec0c521..3469748979 100644 --- a/tests/functional/test_chain.py +++ b/tests/functional/test_chain.py @@ -1,31 +1,8 @@ -import time from datetime import datetime, timedelta -from queue import Queue -from typing import List import pytest -from ethpm_types import ContractType, HexBytes -import ape -from ape.contracts import ContractInstance -from ape.exceptions import ( - APINotImplementedError, - ChainError, - ContractNotFoundError, - ConversionError, -) -from ape_ethereum.transactions import Receipt, TransactionStatusEnum -from tests.conftest import explorer_test, skip_if_plugin_installed - - -@pytest.fixture -def contract_0(project_with_contract): - return project_with_contract.ApeContract0 - - -@pytest.fixture -def contract_1(project_with_contract): - return project_with_contract.ApeContract1 +from ape.exceptions import APINotImplementedError, ChainError def test_snapshot_and_restore(chain, owner, receiver, vyper_contract_instance): @@ -71,6 +48,29 @@ def test_snapshot_and_restore(chain, owner, receiver, vyper_contract_instance): assert receiver.balance == initial_balance +def test_snapshot_and_restore_unknown_snapshot_id(chain): + _ = chain.snapshot() + chain.mine() + snapshot_id_2 = chain.snapshot() + chain.mine() + snapshot_id_3 = chain.snapshot() + chain.mine() + + # After restoring to the second ID, the third ID is now invalid. + chain.restore(snapshot_id_2) + + with pytest.raises(ChainError) as err: + chain.restore(snapshot_id_3) + + assert "Unknown snapshot ID" in str(err.value) + + +def test_snapshot_and_restore_no_snapshots(chain): + chain._snapshots = [] # Ensure empty (gets set in test setup) + with pytest.raises(ChainError, match="There are no snapshots to revert to."): + chain.restore() + + def test_isolate(chain, vyper_contract_instance, owner): number_at_start = 444 vyper_contract_instance.setNumber(number_at_start, sender=owner) @@ -113,156 +113,6 @@ def test_get_receipt_from_history(chain, vyper_contract_instance, owner): assert actual.receiver == expected.receiver -def test_snapshot_and_restore_unknown_snapshot_id(chain): - _ = chain.snapshot() - chain.mine() - snapshot_id_2 = chain.snapshot() - chain.mine() - snapshot_id_3 = chain.snapshot() - chain.mine() - - # After restoring to the second ID, the third ID is now invalid. - chain.restore(snapshot_id_2) - - with pytest.raises(ChainError) as err: - chain.restore(snapshot_id_3) - - assert "Unknown snapshot ID" in str(err.value) - - -def test_snapshot_and_restore_no_snapshots(chain): - chain._snapshots = [] # Ensure empty (gets set in test setup) - with pytest.raises(ChainError, match="There are no snapshots to revert to."): - chain.restore() - - -def test_history(sender, receiver, chain): - length_at_start = len(chain.history[sender].sessional) - receipt = sender.transfer(receiver, "1 wei") - transactions_from_cache = list(sender.history) - assert len(transactions_from_cache) == length_at_start + 1 - assert sender.history[-1] == receipt - assert sender.history[0:] == transactions_from_cache[0:] - assert sender.history[:-1] == transactions_from_cache[:-1] - - txn = transactions_from_cache[-1] - assert txn.sender == receipt.sender == sender - assert txn.receiver == receipt.receiver == receiver - - -@explorer_test -def test_history_caches_sender_over_address_key( - mocker, chain, eth_tester_provider, sender, vyper_contract_container, ethereum -): - # When getting receipts from the explorer for contracts, it includes transactions - # made to the contract. This test shows we cache by sender and not address key. - contract = sender.deploy(vyper_contract_container, 0) - network = ethereum.local - txn = ethereum.create_transaction( - receiver=contract.address, sender=sender.address, value=10000000000000000000000 - ) - known_receipt = Receipt( - block_number=10, - gas_price=11, - gas_used=12, - gas_limit=13, - status=TransactionStatusEnum.NO_ERROR.value, - txn_hash="0x98d2aee8617897b5983314de1d6ff44d1f014b09575b47a88267971beac97b2b", - transaction=txn, - ) - - # The receipt is already known and cached by the sender. - chain.history.append(known_receipt) - - # We ask for receipts from the contract, but it returns ones sent to the contract. - def get_txns_patch(address): - if address == contract.address: - yield from [known_receipt] - - mock_explorer = mocker.MagicMock() - mock_explorer.get_account_transactions.side_effect = get_txns_patch - network.__dict__["explorer"] = mock_explorer - eth_tester_provider.network = network - - # Previously, this would error because the receipt was cached with the wrong sender - try: - actual = [t for t in chain.history[contract.address].sessional] - - # Actual is 0 because the receipt was cached under the sender. - assert len(actual) == 0 - finally: - if "explorer" in network.__dict__: - del network.__dict__["explorer"] - - -def test_iterate_blocks(chain_that_mined_5): - blocks = [b for b in chain_that_mined_5.blocks] - assert len(blocks) >= 5 # Because mined 5 blocks so is at least 5 - - iterator = blocks[0].number - for block in blocks: - assert block.number == iterator - iterator += 1 - - -def test_blocks_range(chain_that_mined_5): - # The number of the block before mining the 5 - start_block = len(chain_that_mined_5.blocks) - 5 - num_to_get = 3 # Expecting blocks [s, s+1, s+2] - blocks = [b for b in chain_that_mined_5.blocks.range(start_block, start_block + num_to_get)] - assert len(blocks) == num_to_get - - expected_number = start_block - prev_block_hash = ( - HexBytes("0x0000000000000000000000000000000000000000000000000000000000000000") - if start_block == 0 - else chain_that_mined_5.blocks[start_block - 1].hash - ) - for block in blocks: - assert block.number == expected_number - expected_number += 1 - assert block.parent_hash == prev_block_hash - prev_block_hash = block.hash - - -def test_blocks_range_too_high_stop(chain_that_mined_5): - num_blocks = len(chain_that_mined_5.blocks) - num_blocks_add_1 = num_blocks + 1 - expected = ( - rf"'stop={num_blocks_add_1}' cannot be greater than the chain length \({num_blocks}\)\. " - rf"Use 'poll_blocks\(\)' to wait for future blocks\." - ) - with pytest.raises(ChainError, match=expected): - # Have to run through generator to trigger code in definition. - list(chain_that_mined_5.blocks.range(num_blocks_add_1)) - - -def test_block_range_with_step(chain_that_mined_5): - blocks = [b for b in chain_that_mined_5.blocks.range(3, step=2)] - assert len(blocks) == 2 - assert blocks[0].number == 0 - assert blocks[1].number == 2 - - -def test_block_range_negative_start(chain_that_mined_5): - with pytest.raises(ValueError) as err: - _ = [b for b in chain_that_mined_5.blocks.range(-1, 3, step=2)] - - assert "ensure this value is greater than or equal to 0" in str(err.value) - - -def test_block_range_out_of_order(chain_that_mined_5): - with pytest.raises(ValueError) as err: - _ = [b for b in chain_that_mined_5.blocks.range(3, 1, step=2)] - - assert "stop_block: '0' cannot be less than start_block: '3'." in str(err.value) - - -def test_block_timestamp(chain): - chain.mine() - assert chain.blocks.head.timestamp == chain.blocks.head.datetime.timestamp() - - def test_set_pending_timestamp(chain): start_timestamp = chain.pending_timestamp chain.pending_timestamp += 3600 @@ -288,390 +138,6 @@ def test_set_pending_timestamp_failure(chain): ) -def test_cache_deployment_live_network( - chain, - vyper_contract_instance, - vyper_contract_container, - remove_disk_writes_deployments, - dummy_live_network, -): - # Arrange - Ensure the contract is not cached anywhere - address = vyper_contract_instance.address - contract_name = vyper_contract_instance.contract_type.name - deployments = chain.contracts._deployments - contract_types = chain.contracts._local_contract_types - chain.contracts._local_contract_types = { - a: ct for a, ct in contract_types.items() if a != address - } - chain.contracts._deployments = {n: d for n, d in deployments.items() if n != contract_name} - - # Act - chain.contracts.cache_deployment(vyper_contract_instance) - - # Assert - actual_deployments = chain.contracts.get_deployments(vyper_contract_container) - actual_contract_type = chain.contracts._get_contract_type_from_disk(address) - expected = vyper_contract_instance.contract_type - assert len(actual_deployments) == 1 - assert actual_deployments[0].address == address - assert actual_deployments[0].txn_hash == vyper_contract_instance.txn_hash - assert chain.contracts.get(address) == expected - assert actual_contract_type == expected - - -def test_contract_caches_default_contract_type_when_used(solidity_contract_instance, chain, config): - address = solidity_contract_instance.address - contract_type = solidity_contract_instance.contract_type - - # Delete contract from local cache if it's there - if address in chain.contracts._local_contract_types: - del chain.contracts._local_contract_types[address] - - # Delete cache file if it exists - cache_file = chain.contracts._contract_types_cache / f"{address}.json" - if cache_file.is_file(): - cache_file.unlink() - - # Create a contract using the contract type when nothing is cached. - contract = ape.Contract(address, contract_type=contract_type) - assert isinstance(contract, ContractInstance) - - # Ensure we don't need the contract type when creating it the second time. - contract = ape.Contract(address) - assert isinstance(contract, ContractInstance) - - def test_set_balance(chain, owner): with pytest.raises(APINotImplementedError): chain.set_balance(owner, "1000 ETH") - - -def test_instance_at(chain, contract_instance): - contract = chain.contracts.instance_at(str(contract_instance.address)) - assert contract.contract_type == contract_instance.contract_type - - -def test_instance_at_unknown_hex_str(chain, contract_instance): - # Fails when decoding Ethereum address and NOT conversion error. - hex_str = "0x1402b10CA274cD76C441e16C844223F79D3566De12bb12b0aebFE41aDFAe302" - with pytest.raises(ValueError, match=f"Unknown address value '{hex_str}'."): - chain.contracts.instance_at(hex_str) - - -def test_instance_at_when_given_contract_type(chain, contract_instance): - contract = chain.contracts.instance_at( - str(contract_instance.address), contract_type=contract_instance.contract_type - ) - assert contract.contract_type == contract_instance.contract_type - - -def test_instance_at_when_given_name_as_contract_type(chain, contract_instance): - expected_match = "Expected type 'ContractType' for argument 'contract_type'." - with pytest.raises(TypeError, match=expected_match): - address = str(contract_instance.address) - bad_contract_type = contract_instance.contract_type.name - chain.contracts.instance_at(address, contract_type=bad_contract_type) - - -@explorer_test -def test_instance_at_uses_given_contract_type_when_retrieval_fails(mocker, chain, caplog): - # The manager always attempts retrieval so that default contact types can - # get cached. However, sometimes an explorer plugin may fail. If given a contract-type - # in that situation, we can use it and not fail and log the error instead. - expected_contract_type = ContractType(contractName="foo", sourceId="foo.bar") - new_address = "0x4a986a6dCA6dbf99bC3d17F8D71aFb0d60e740f8" - expected_fail_message = "LOOK_FOR_THIS_FAIL_MESSAGE" - existing_fn = chain.contracts.get - - def fn(addr, default=None): - if addr == new_address: - raise ValueError(expected_fail_message) - - return existing_fn(addr, default=default) - - chain.contracts.get = mocker.MagicMock() - chain.contracts.get.side_effect = fn - - actual = chain.contracts.instance_at(new_address, contract_type=expected_contract_type) - assert actual.contract_type == expected_contract_type - assert caplog.records[-1].message == expected_fail_message - - -@explorer_test -def test_instance_at_contract_type_not_found(chain): - new_address = "0x4a986a6dca6dbF99Bc3D17F8d71aFB0D60E740F9" - expected = ( - rf"Failed to get contract type for address '{new_address}'. " - r"Current provider 'ethereum:local:test' has no associated explorer plugin. " - "Try installing an explorer plugin using .*ape plugins install etherscan.*, " - r"or using a network with explorer support\." - ) - with pytest.raises(ContractNotFoundError, match=expected): - chain.contracts.instance_at(new_address) - - -@explorer_test -def test_contracts_getitem_contract_not_found(chain): - new_address = "0x4a986a6dca6dbF99Bc3D17F8d71aFB0D60E740F9" - expected = ( - rf"Failed to get contract type for address '{new_address}'. " - r"Current provider 'ethereum:local:test' has no associated explorer plugin. " - "Try installing an explorer plugin using .*ape plugins install etherscan.*, " - r"or using a network with explorer support\." - ) - with pytest.raises(IndexError, match=expected): - _ = chain.contracts[new_address] - - -def test_deployments_mapping_cache_location(chain): - # Arrange / Act - mapping_location = chain.contracts._deployments_mapping_cache - split_mapping_location = str(mapping_location).split("/") - - # Assert - assert split_mapping_location[-1] == "deployments_map.json" - assert split_mapping_location[-2] == "ethereum" - - -def test_deployments_when_offline(chain, networks_disconnected, vyper_contract_container): - """ - Ensure you don't get `ProviderNotConnectedError` here. - """ - assert chain.contracts.get_deployments(vyper_contract_container) == [] - - -def test_get_deployments_local(chain, owner, contract_0, contract_1): - # Arrange - chain.contracts._local_deployments_mapping = {} - chain.contracts._local_contract_types = {} - starting_contracts_list_0 = chain.contracts.get_deployments(contract_0) - starting_contracts_list_1 = chain.contracts.get_deployments(contract_1) - deployed_contract_0 = owner.deploy(contract_0) - deployed_contract_1 = owner.deploy(contract_1) - - # Act - contracts_list_0 = chain.contracts.get_deployments(contract_0) - contracts_list_1 = chain.contracts.get_deployments(contract_1) - - # Assert - for contract_list in (contracts_list_0, contracts_list_1): - assert type(contract_list[0]) is ContractInstance - - index_0 = len(contracts_list_0) - len(starting_contracts_list_0) - 1 - index_1 = len(contracts_list_1) - len(starting_contracts_list_1) - 1 - actual_address_0 = contracts_list_0[index_0].address - assert actual_address_0 == deployed_contract_0.address - actual_address_1 = contracts_list_1[index_1].address - assert actual_address_1 == deployed_contract_1.address - - -def test_get_deployments_live( - chain, owner, contract_0, contract_1, remove_disk_writes_deployments, dummy_live_network -): - deployed_contract_0 = owner.deploy(contract_0, required_confirmations=0) - deployed_contract_1 = owner.deploy(contract_1, required_confirmations=0) - - # Act - my_contracts_list_0 = chain.contracts.get_deployments(contract_0) - my_contracts_list_1 = chain.contracts.get_deployments(contract_1) - - # Assert - address_from_api_0 = my_contracts_list_0[-1].address - assert address_from_api_0 == deployed_contract_0.address - address_from_api_1 = my_contracts_list_1[-1].address - assert address_from_api_1 == deployed_contract_1.address - - -def test_get_deployments_live_migration( - chain, owner, contract_0, dummy_live_network, caplog, use_debug -): - contract = owner.deploy(contract_0, required_confirmations=0) - old_style_map = {"ethereum": {"goerli": {"ApeContract0": [contract.address]}}} - chain.contracts._write_deployments_mapping(old_style_map) - actual = chain.contracts.get_deployments(contract_0) - assert actual == [contract] - assert caplog.records[-1].message == "Migrating 'deployments_map.json'." - - -def test_get_multiple_deployments_live( - chain, owner, contract_0, contract_1, remove_disk_writes_deployments, dummy_live_network -): - starting_contracts_list_0 = chain.contracts.get_deployments(contract_0) - starting_contracts_list_1 = chain.contracts.get_deployments(contract_1) - initial_deployed_contract_0 = owner.deploy(contract_0, required_confirmations=0) - initial_deployed_contract_1 = owner.deploy(contract_1, required_confirmations=0) - owner.deploy(contract_0, required_confirmations=0) - owner.deploy(contract_1, required_confirmations=0) - final_deployed_contract_0 = owner.deploy(contract_0, required_confirmations=0) - final_deployed_contract_1 = owner.deploy(contract_1, required_confirmations=0) - contracts_list_0 = chain.contracts.get_deployments(contract_0) - contracts_list_1 = chain.contracts.get_deployments(contract_1) - contract_type_map = { - "ApeContract0": (initial_deployed_contract_0, final_deployed_contract_0), - "ApeContract1": (initial_deployed_contract_1, final_deployed_contract_1), - } - - assert len(contracts_list_0) == len(starting_contracts_list_0) + 3 - assert len(contracts_list_1) == len(starting_contracts_list_1) + 3 - - for ct_name, ls in zip(("ApeContract0", "ApeContract1"), (contracts_list_0, contracts_list_1)): - initial_ct, final_ct = contract_type_map[ct_name] - assert ls[len(ls) - 3].address == initial_ct.address - assert ls[-1].address == final_ct.address - - -def test_contract_cache_mapping_updated_on_many_deployments(owner, chain, contract_0, contract_1): - # Arrange / Act - initial_contracts = chain.contracts.get_deployments(contract_0) - expected_first_contract = owner.deploy(contract_0) - - owner.deploy(contract_0) - owner.deploy(contract_0) - expected_last_contract = owner.deploy(contract_0) - - actual_contracts = chain.contracts.get_deployments(contract_0) - first_index = len(initial_contracts) # next index before deploys from this test - actual_first_contract = actual_contracts[first_index].address - actual_last_contract = actual_contracts[-1].address - - # Assert - fail_msg = f"Check deployments: {', '.join([c.address for c in actual_contracts])}" - assert len(actual_contracts) - len(initial_contracts) == 4, fail_msg - assert actual_first_contract == expected_first_contract.address, fail_msg - assert actual_last_contract == expected_last_contract.address, fail_msg - - -def test_poll_blocks_stop_block_not_in_future(chain_that_mined_5): - bad_stop_block = chain_that_mined_5.blocks.height - - with pytest.raises(ValueError, match="'stop' argument must be in the future."): - _ = [x for x in chain_that_mined_5.blocks.poll_blocks(stop_block=bad_stop_block)] - - -def test_poll_blocks(chain_that_mined_5, eth_tester_provider, owner, PollDaemon): - blocks: Queue = Queue(maxsize=3) - poller = chain_that_mined_5.blocks.poll_blocks() - - with PollDaemon("blocks", poller, blocks.put, blocks.full): - # Sleep first to ensure listening before mining. - time.sleep(1) - eth_tester_provider.mine(3) - - assert blocks.full() - first = blocks.get().number - second = blocks.get().number - third = blocks.get().number - assert first == second - 1 - assert second == third - 1 - - -def test_poll_blocks_reorg(chain_that_mined_5, eth_tester_provider, owner, PollDaemon, caplog): - blocks: Queue = Queue(maxsize=6) - poller = chain_that_mined_5.blocks.poll_blocks() - - with PollDaemon("blocks", poller, blocks.put, blocks.full): - # Sleep first to ensure listening before mining. - time.sleep(1) - - snapshot = chain_that_mined_5.snapshot() - chain_that_mined_5.mine(2) - - # Wait to allow blocks before re-org to get yielded - time.sleep(5) - - # Simulate re-org by reverting to the snapshot - chain_that_mined_5.restore(snapshot) - - # Allow it time to trigger realizing there was a re-org - time.sleep(1) - chain_that_mined_5.mine(2) - time.sleep(1) - - chain_that_mined_5.mine(3) - - assert blocks.full() - - # Show that re-org was detected - expected_error = ( - "Chain has reorganized since returning the last block. " - "Try adjusting the required network confirmations." - ) - assert caplog.records, "Didn't detect re-org" - assert expected_error in caplog.records[-1].message - - # Show that there are duplicate blocks - block_numbers: List[int] = [blocks.get().number for _ in range(6)] - assert len(set(block_numbers)) < len(block_numbers) - - -def test_poll_blocks_timeout( - vyper_contract_instance, chain_that_mined_5, eth_tester_provider, owner, PollDaemon -): - poller = chain_that_mined_5.blocks.poll_blocks(new_block_timeout=1) - - with pytest.raises(ChainError, match=r"Timed out waiting for new block \(time_waited=1.\d+\)."): - with PollDaemon("blocks", poller, lambda x: None, lambda: False): - time.sleep(1.5) - - -def test_contracts_get_multiple(vyper_contract_instance, solidity_contract_instance, chain): - contract_map = chain.contracts.get_multiple( - (vyper_contract_instance.address, solidity_contract_instance.address) - ) - assert len(contract_map) == 2 - assert contract_map[vyper_contract_instance.address] == vyper_contract_instance.contract_type - assert ( - contract_map[solidity_contract_instance.address] == solidity_contract_instance.contract_type - ) - - -def test_contracts_get_multiple_no_addresses(chain, caplog): - contract_map = chain.contracts.get_multiple([]) - assert not contract_map - assert "WARNING" in caplog.records[-1].levelname - assert "No addresses provided." in caplog.records[-1].message - - -def test_contracts_get_all_include_non_contract_address(vyper_contract_instance, chain, owner): - actual = chain.contracts.get_multiple((vyper_contract_instance.address, owner.address)) - assert len(actual) == 1 - assert actual[vyper_contract_instance.address] == vyper_contract_instance.contract_type - - -@skip_if_plugin_installed("ens") -def test_contracts_get_multiple_attempts_to_convert(chain): - with pytest.raises(ConversionError): - chain.contracts.get_multiple(("test.eth",)) - - -def test_contracts_get_non_contract_address(chain, owner): - actual = chain.contracts.get(owner.address) - assert actual is None - - -def test_contracts_get_attempts_to_convert(chain): - with pytest.raises(ConversionError): - chain.contracts.get("test.eth") - - -def test_cache_non_checksum_address(chain, vyper_contract_instance): - """ - When caching a non-checksum address, it should use its checksum - form automatically. - """ - if vyper_contract_instance.address in chain.contracts: - del chain.contracts[vyper_contract_instance.address] - - lowered_address = vyper_contract_instance.address.lower() - chain.contracts[lowered_address] = vyper_contract_instance.contract_type - assert chain.contracts[vyper_contract_instance.address] == vyper_contract_instance.contract_type - - -def test_get_contract_receipt(chain, vyper_contract_instance): - address = vyper_contract_instance.address - receipt = chain.contracts.get_creation_receipt(address) - assert receipt.contract_address == address - - chain.mine() - receipt = chain.contracts.get_creation_receipt(address) - assert receipt.contract_address == address diff --git a/tests/functional/test_config.py b/tests/functional/test_config.py index ce0d8cfe77..d3648c9268 100644 --- a/tests/functional/test_config.py +++ b/tests/functional/test_config.py @@ -1,9 +1,9 @@ -import logging from typing import Dict, Union import pytest from ape.api import PluginConfig +from ape.api.networks import LOCAL_NETWORK_NAME from ape.managers.config import CONFIG_FILE_NAME, DeploymentConfigCollection, merge_configs from ape.types import GasLimit from ape_ethereum.ecosystem import NetworkConfig @@ -11,25 +11,31 @@ def test_integer_deployment_addresses(networks): - deployments_data = _create_deployments() - config = DeploymentConfigCollection( - deployments_data, {"ethereum": networks.ethereum}, ["local"] + data = { + **_create_deployments(), + "valid_ecosystems": {"ethereum": networks.ethereum}, + "valid_networks": [LOCAL_NETWORK_NAME], + } + config = DeploymentConfigCollection(__root__=data) + assert ( + config.__root__["ethereum"]["local"][0]["address"] + == "0x0c25212c557d00024b7Ca3df3238683A35541354" ) - assert config["ethereum"]["local"][0]["address"] == "0x0c25212c557d00024b7Ca3df3238683A35541354" @pytest.mark.parametrize( "ecosystems,networks,err_part", [(["ERRORS"], ["mainnet"], "ecosystem"), (["ethereum"], ["ERRORS"], "network")], ) -def test_bad_value_in_deployments(ecosystems, networks, err_part, caplog, plugin_manager): +def test_bad_value_in_deployments(ecosystems, networks, err_part, ape_caplog, plugin_manager): deployments = _create_deployments() - with caplog.at_level(logging.WARNING): - all_ecosystems = dict(plugin_manager.ecosystems) - ecosystem_dict = {e: all_ecosystems[e] for e in ecosystems if e in all_ecosystems} - DeploymentConfigCollection(deployments, ecosystem_dict, networks) - assert len(caplog.records) > 0, "Nothing was logged" - assert f"Invalid {err_part}" in caplog.records[0].message + all_ecosystems = dict(plugin_manager.ecosystems) + ecosystem_dict = {e: all_ecosystems[e] for e in ecosystems if e in all_ecosystems} + data = {**deployments, "valid_ecosystems": ecosystem_dict, "valid_networks": networks} + ape_caplog.assert_last_log_with_retries( + lambda: DeploymentConfigCollection(__root__=data), + f"Invalid {err_part}", + ) def _create_deployments(ecosystem_name: str = "ethereum", network_name: str = "local") -> Dict: diff --git a/tests/functional/test_contract_event.py b/tests/functional/test_contract_event.py index 21eed90fff..16a1eeeebb 100644 --- a/tests/functional/test_contract_event.py +++ b/tests/functional/test_contract_event.py @@ -14,7 +14,7 @@ @pytest.fixture def assert_log_values(owner, chain): def _assert_log_values(log: ContractLog, number: int, previous_number: Optional[int] = None): - assert isinstance(log.b, HexBytes) + assert isinstance(log.b, bytes) expected_previous_number = number - 1 if previous_number is None else previous_number assert log.prevNum == expected_previous_number, "Event param 'prevNum' has unexpected value" assert log.newNum == number, "Event param 'newNum' has unexpected value" @@ -304,18 +304,33 @@ def test_filter_events_with_same_abi( filtering. This test verifies we filter by contract address as well as ABI. """ - receipt = contract_with_call_depth.emitLogWithSameInterfaceFromMultipleContracts(sender=owner) + tx = contract_with_call_depth.emitLogWithSameInterfaceFromMultipleContracts(sender=owner) - assert contract_with_call_depth.OneOfMany(addr=owner.address) in receipt.events - assert middle_contract.OneOfMany(addr=contract_with_call_depth.address) in receipt.events - assert leaf_contract.OneOfMany(addr=contract_with_call_depth.address) in receipt.events + assert contract_with_call_depth.OneOfMany(addr=owner.address) in tx.events + assert middle_contract.OneOfMany(addr=contract_with_call_depth.address) in tx.events + assert leaf_contract.OneOfMany(addr=contract_with_call_depth.address) in tx.events # Ensure each contract's event appears only once - result_a = receipt.events.filter(contract_with_call_depth.OneOfMany) + result_a = tx.events.filter(contract_with_call_depth.OneOfMany) assert result_a == [contract_with_call_depth.OneOfMany(addr=owner.address)] - result_b = receipt.events.filter(middle_contract.OneOfMany) + result_b = tx.events.filter(middle_contract.OneOfMany) assert result_b == [middle_contract.OneOfMany(addr=contract_with_call_depth.address)] - result_c = receipt.events.filter(leaf_contract.OneOfMany) + result_c = tx.events.filter(leaf_contract.OneOfMany) assert result_c == [leaf_contract.OneOfMany(addr=contract_with_call_depth.address)] + + +def test_structs_in_events(contract_instance, owner): + tx = contract_instance.logStruct(sender=owner) + expected_bytes = HexBytes(0x1234567890ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF) + expected = contract_instance.EventWithStruct(a_struct={"a": owner, "b": expected_bytes}) + assert tx.events == [expected] + + +def test_address_arrays_in_events(contract_instance, owner): + tx = contract_instance.logAddressArray(sender=owner) + expected = contract_instance.EventWithAddressArray( + some_id=1001, some_address=owner, participants=[owner], agents=[owner] + ) + assert tx.events == [expected] diff --git a/tests/functional/test_contract_instance.py b/tests/functional/test_contract_instance.py index 9daea52582..2514722591 100644 --- a/tests/functional/test_contract_instance.py +++ b/tests/functional/test_contract_instance.py @@ -227,7 +227,7 @@ def test_structs(contract_instance, owner, chain): # Expected: b == block.prevhash. assert actual.b == actual["b"] == actual[1] == actual_prev_block == chain.blocks[-2].hash - assert type(actual.b) is HexBytes + assert isinstance(actual.b, bytes) def test_nested_structs(contract_instance, owner, chain): @@ -254,7 +254,7 @@ def test_nested_structs(contract_instance, owner, chain): == actual_prev_block_1 == chain.blocks[-2].hash ) - assert type(actual_1.t.b) is HexBytes + assert isinstance(actual_1.t.b, bytes) assert ( actual_2.t.b == actual_2.t["b"] @@ -262,7 +262,7 @@ def test_nested_structs(contract_instance, owner, chain): == actual_prev_block_2 == chain.blocks[-2].hash ) - assert type(actual_2.t.b) is HexBytes + assert isinstance(actual_2.t.b, bytes) def test_nested_structs_in_tuples(contract_instance, owner, chain): diff --git a/tests/functional/test_contracts_cache.py b/tests/functional/test_contracts_cache.py new file mode 100644 index 0000000000..97cda768dd --- /dev/null +++ b/tests/functional/test_contracts_cache.py @@ -0,0 +1,359 @@ +import pytest +from ethpm_types import ContractType + +from ape import Contract +from ape.contracts import ContractInstance +from ape.exceptions import ContractNotFoundError, ConversionError +from ape_ethereum.proxies import _make_minimal_proxy +from tests.conftest import explorer_test, skip_if_plugin_installed + + +@pytest.fixture +def contract_0(project_with_contract): + return project_with_contract.ApeContract0 + + +@pytest.fixture +def contract_1(project_with_contract): + return project_with_contract.ApeContract1 + + +def test_instance_at(chain, contract_instance): + contract = chain.contracts.instance_at(str(contract_instance.address)) + assert contract.contract_type == contract_instance.contract_type + + +def test_instance_at_unknown_hex_str(chain, contract_instance): + # Fails when decoding Ethereum address and NOT conversion error. + hex_str = "0x1402b10CA274cD76C441e16C844223F79D3566De12bb12b0aebFE41aDFAe302" + with pytest.raises(ValueError, match=f"Unknown address value '{hex_str}'."): + chain.contracts.instance_at(hex_str) + + +def test_instance_at_when_given_contract_type(chain, contract_instance): + contract = chain.contracts.instance_at( + str(contract_instance.address), contract_type=contract_instance.contract_type + ) + assert contract.contract_type == contract_instance.contract_type + + +def test_instance_at_when_given_name_as_contract_type(chain, contract_instance): + expected_match = "Expected type 'ContractType' for argument 'contract_type'." + with pytest.raises(TypeError, match=expected_match): + address = str(contract_instance.address) + bad_contract_type = contract_instance.contract_type.name + chain.contracts.instance_at(address, contract_type=bad_contract_type) + + +@explorer_test +def test_instance_at_uses_given_contract_type_when_retrieval_fails(mocker, chain, ape_caplog): + # The manager always attempts retrieval so that default contact types can + # get cached. However, sometimes an explorer plugin may fail. If given a contract-type + # in that situation, we can use it and not fail and log the error instead. + expected_contract_type = ContractType(contractName="foo", sourceId="foo.bar") + new_address = "0x4a986a6dCA6dbf99bC3d17F8D71aFb0d60e740f8" + expected_fail_message = "LOOK_FOR_THIS_FAIL_MESSAGE" + existing_fn = chain.contracts.get + + def fn(addr, default=None): + if addr == new_address: + raise ValueError(expected_fail_message) + + return existing_fn(addr, default=default) + + chain.contracts.get = mocker.MagicMock() + chain.contracts.get.side_effect = fn + + actual = chain.contracts.instance_at(new_address, contract_type=expected_contract_type) + ape_caplog.assert_last_log(expected_fail_message) + assert actual.contract_type == expected_contract_type + + +@explorer_test +def test_instance_at_contract_type_not_found(chain, eth_tester_provider): + eth_tester_provider.network.__dict__["explorer"] = None + new_address = "0x4a986a6dca6dbF99Bc3D17F8d71aFB0D60E740F9" + expected = ( + rf"Failed to get contract type for address '{new_address}'. " + r"Current provider 'ethereum:local:test' has no associated explorer plugin. " + "Try installing an explorer plugin using .*ape plugins install etherscan.*, " + r"or using a network with explorer support\." + ) + with pytest.raises(ContractNotFoundError, match=expected): + chain.contracts.instance_at(new_address) + + +def test_cache_deployment_live_network( + chain, + vyper_contract_instance, + vyper_contract_container, + remove_disk_writes_deployments, + dummy_live_network, +): + # Arrange - Ensure the contract is not cached anywhere + address = vyper_contract_instance.address + contract_name = vyper_contract_instance.contract_type.name + deployments = chain.contracts._deployments + contract_types = chain.contracts._local_contract_types + chain.contracts._local_contract_types = { + a: ct for a, ct in contract_types.items() if a != address + } + chain.contracts._deployments = {n: d for n, d in deployments.items() if n != contract_name} + + # Act + chain.contracts.cache_deployment(vyper_contract_instance) + + # Assert + actual_deployments = chain.contracts.get_deployments(vyper_contract_container) + actual_contract_type = chain.contracts._get_contract_type_from_disk(address) + expected = vyper_contract_instance.contract_type + assert len(actual_deployments) == 1 + assert actual_deployments[0].address == address + assert actual_deployments[0].txn_hash == vyper_contract_instance.txn_hash + assert chain.contracts.get(address) == expected + assert actual_contract_type == expected + + +def test_cache_default_contract_type_when_used(solidity_contract_instance, chain, config): + address = solidity_contract_instance.address + contract_type = solidity_contract_instance.contract_type + + # Delete contract from local cache if it's there + if address in chain.contracts._local_contract_types: + del chain.contracts._local_contract_types[address] + + # Delete cache file if it exists + cache_file = chain.contracts._contract_types_cache / f"{address}.json" + if cache_file.is_file(): + cache_file.unlink() + + # Create a contract using the contract type when nothing is cached. + contract = Contract(address, contract_type=contract_type) + assert isinstance(contract, ContractInstance) + + # Ensure we don't need the contract type when creating it the second time. + contract = Contract(address) + assert isinstance(contract, ContractInstance) + + +@explorer_test +def test_contracts_getitem_contract_not_found(chain, eth_tester_provider): + eth_tester_provider.network.__dict__["explorer"] = None + new_address = "0x4a986a6dca6dbF99Bc3D17F8d71aFB0D60E740F9" + expected = ( + rf"Failed to get contract type for address '{new_address}'. " + r"Current provider 'ethereum:local:test' has no associated explorer plugin. " + "Try installing an explorer plugin using .*ape plugins install etherscan.*, " + r"or using a network with explorer support\." + ) + with pytest.raises(IndexError, match=expected): + _ = chain.contracts[new_address] + + +def test_deployments_mapping_cache_location(chain): + # Arrange / Act + mapping_location = chain.contracts._deployments_mapping_cache + split_mapping_location = str(mapping_location).split("/") + + # Assert + assert split_mapping_location[-1] == "deployments_map.json" + assert split_mapping_location[-2] == "ethereum" + + +def test_deployments_when_offline(chain, networks_disconnected, vyper_contract_container): + """ + Ensure you don't get `ProviderNotConnectedError` here. + """ + assert chain.contracts.get_deployments(vyper_contract_container) == [] + + +def test_get_deployments_local(chain, owner, contract_0, contract_1): + # Arrange + chain.contracts._local_deployments_mapping = {} + chain.contracts._local_contract_types = {} + starting_contracts_list_0 = chain.contracts.get_deployments(contract_0) + starting_contracts_list_1 = chain.contracts.get_deployments(contract_1) + deployed_contract_0 = owner.deploy(contract_0) + deployed_contract_1 = owner.deploy(contract_1) + + # Act + contracts_list_0 = chain.contracts.get_deployments(contract_0) + contracts_list_1 = chain.contracts.get_deployments(contract_1) + + # Assert + for contract_list in (contracts_list_0, contracts_list_1): + assert type(contract_list[0]) is ContractInstance + + index_0 = len(contracts_list_0) - len(starting_contracts_list_0) - 1 + index_1 = len(contracts_list_1) - len(starting_contracts_list_1) - 1 + actual_address_0 = contracts_list_0[index_0].address + assert actual_address_0 == deployed_contract_0.address + actual_address_1 = contracts_list_1[index_1].address + assert actual_address_1 == deployed_contract_1.address + + +def test_get_deployments_live( + chain, owner, contract_0, contract_1, remove_disk_writes_deployments, dummy_live_network +): + deployed_contract_0 = owner.deploy(contract_0, required_confirmations=0) + deployed_contract_1 = owner.deploy(contract_1, required_confirmations=0) + + # Act + my_contracts_list_0 = chain.contracts.get_deployments(contract_0) + my_contracts_list_1 = chain.contracts.get_deployments(contract_1) + + # Assert + address_from_api_0 = my_contracts_list_0[-1].address + assert address_from_api_0 == deployed_contract_0.address + address_from_api_1 = my_contracts_list_1[-1].address + assert address_from_api_1 == deployed_contract_1.address + + +def test_get_multiple_deployments_live( + chain, owner, contract_0, contract_1, remove_disk_writes_deployments, dummy_live_network +): + starting_contracts_list_0 = chain.contracts.get_deployments(contract_0) + starting_contracts_list_1 = chain.contracts.get_deployments(contract_1) + initial_deployed_contract_0 = owner.deploy(contract_0, required_confirmations=0) + initial_deployed_contract_1 = owner.deploy(contract_1, required_confirmations=0) + owner.deploy(contract_0, required_confirmations=0) + owner.deploy(contract_1, required_confirmations=0) + final_deployed_contract_0 = owner.deploy(contract_0, required_confirmations=0) + final_deployed_contract_1 = owner.deploy(contract_1, required_confirmations=0) + contracts_list_0 = chain.contracts.get_deployments(contract_0) + contracts_list_1 = chain.contracts.get_deployments(contract_1) + contract_type_map = { + "ApeContract0": (initial_deployed_contract_0, final_deployed_contract_0), + "ApeContract1": (initial_deployed_contract_1, final_deployed_contract_1), + } + + assert len(contracts_list_0) == len(starting_contracts_list_0) + 3 + assert len(contracts_list_1) == len(starting_contracts_list_1) + 3 + + for ct_name, ls in zip(("ApeContract0", "ApeContract1"), (contracts_list_0, contracts_list_1)): + initial_ct, final_ct = contract_type_map[ct_name] + assert ls[len(ls) - 3].address == initial_ct.address + assert ls[-1].address == final_ct.address + + +def test_cache_updates_per_deploy(owner, chain, contract_0, contract_1): + # Arrange / Act + initial_contracts = chain.contracts.get_deployments(contract_0) + expected_first_contract = owner.deploy(contract_0) + + owner.deploy(contract_0) + owner.deploy(contract_0) + expected_last_contract = owner.deploy(contract_0) + + actual_contracts = chain.contracts.get_deployments(contract_0) + first_index = len(initial_contracts) # next index before deploys from this test + actual_first_contract = actual_contracts[first_index].address + actual_last_contract = actual_contracts[-1].address + + # Assert + fail_msg = f"Check deployments: {', '.join([c.address for c in actual_contracts])}" + assert len(actual_contracts) - len(initial_contracts) == 4, fail_msg + assert actual_first_contract == expected_first_contract.address, fail_msg + assert actual_last_contract == expected_last_contract.address, fail_msg + + +def test_get_multiple(vyper_contract_instance, solidity_contract_instance, chain): + contract_map = chain.contracts.get_multiple( + (vyper_contract_instance.address, solidity_contract_instance.address) + ) + assert len(contract_map) == 2 + assert contract_map[vyper_contract_instance.address] == vyper_contract_instance.contract_type + assert ( + contract_map[solidity_contract_instance.address] == solidity_contract_instance.contract_type + ) + + +def test_get_multiple_no_addresses(chain, caplog): + contract_map = chain.contracts.get_multiple([]) + assert not contract_map + assert "WARNING" in caplog.records[-1].levelname + assert "No addresses provided." in caplog.messages[-1] + + +def test_get_all_include_non_contract_address(vyper_contract_instance, chain, owner): + actual = chain.contracts.get_multiple((vyper_contract_instance.address, owner.address)) + assert len(actual) == 1 + assert actual[vyper_contract_instance.address] == vyper_contract_instance.contract_type + + +@skip_if_plugin_installed("ens") +def test_get_multiple_attempts_to_convert(chain): + with pytest.raises(ConversionError): + chain.contracts.get_multiple(("test.eth",)) + + +def test_get_non_contract_address(chain, owner): + actual = chain.contracts.get(owner.address) + assert actual is None + + +def test_get_attempts_to_convert(chain): + with pytest.raises(ConversionError): + chain.contracts.get("test.eth") + + +def test_cache_non_checksum_address(chain, vyper_contract_instance): + """ + When caching a non-checksum address, it should use its checksum + form automatically. + """ + if vyper_contract_instance.address in chain.contracts: + del chain.contracts[vyper_contract_instance.address] + + lowered_address = vyper_contract_instance.address.lower() + chain.contracts[lowered_address] = vyper_contract_instance.contract_type + assert chain.contracts[vyper_contract_instance.address] == vyper_contract_instance.contract_type + + +def test_get_contract_receipt(chain, vyper_contract_instance): + address = vyper_contract_instance.address + receipt = chain.contracts.get_creation_receipt(address) + assert receipt.contract_address == address + + chain.mine() + receipt = chain.contracts.get_creation_receipt(address) + assert receipt.contract_address == address + + +def test_delete_contract(vyper_contract_instance, chain): + # Ensure we start with it cached. + if vyper_contract_instance.address not in chain.contracts: + chain.contracts[vyper_contract_instance.address] = vyper_contract_instance + + del chain.contracts[vyper_contract_instance.address] + assert vyper_contract_instance.address not in chain.contracts + + # Ensure we can't access it. + with pytest.raises(IndexError): + _ = chain.contracts[vyper_contract_instance.address] + + +def test_delete_proxy(vyper_contract_instance, chain, ethereum, owner): + address = vyper_contract_instance.address + container = _make_minimal_proxy(address=address.lower()) + proxy = container.deploy(sender=owner) + + # Ensure we start with both the proxy and the target contracts cached. + if proxy.address not in chain.contracts: + chain.contracts[proxy.address] = proxy + + proxy_info = ethereum.get_proxy_info(proxy.address) + chain.contracts.cache_proxy_info(proxy.address, proxy_info) + if proxy_info.target not in chain.contracts: + chain.contracts[proxy_info.target] = vyper_contract_instance + + del chain.contracts[proxy.address] + assert proxy.address not in chain.contracts + + # Ensure we can't access it. + with pytest.raises(IndexError): + _ = chain.contracts[proxy.address] + + # Ensure we can't access the target either. + with pytest.raises(IndexError): + _ = chain.contracts[proxy_info.target] diff --git a/tests/functional/test_coverage.py b/tests/functional/test_coverage.py index 388d013c08..aeb6d510c4 100644 --- a/tests/functional/test_coverage.py +++ b/tests/functional/test_coverage.py @@ -75,7 +75,7 @@ def coverage_project(source_contract, second_source_contract): @pytest.fixture def coverage_report(coverage_project): - return CoverageReport(source_folders=[Path.cwd()], projects=[coverage_project], timestamp=None) + return CoverageReport(source_folders=[Path.cwd()], projects=[coverage_project], timestamp=0) class TestFunctionCoverage: diff --git a/tests/functional/test_dependencies.py b/tests/functional/test_dependencies.py index 3f303d4f84..d43b65fea4 100644 --- a/tests/functional/test_dependencies.py +++ b/tests/functional/test_dependencies.py @@ -67,8 +67,7 @@ def test_dependency_contracts_folder(config, local_dependency): def test_local_dependency(local_dependency, config): assert local_dependency.name == "testdependency" assert local_dependency.version_id == "local" - expected = config.DATA_FOLDER / "packages" / "testdependency" / "local" / "testdependency.json" - assert str(local_dependency.uri) == f"file://{expected}" + assert str(local_dependency.uri).startswith("file://") def test_access_dependency_contracts(project_with_downloaded_dependencies): diff --git a/tests/functional/test_ecosystem.py b/tests/functional/test_ecosystem.py index 30804e9ec9..00ed82ff11 100644 --- a/tests/functional/test_ecosystem.py +++ b/tests/functional/test_ecosystem.py @@ -54,7 +54,7 @@ def test_encode_address(ethereum): assert actual == raw_address -def test_encode_calldata(ethereum): +def test_encode_calldata(ethereum, address): abi = MethodABI( type="function", name="callMe", @@ -65,7 +65,6 @@ def test_encode_calldata(ethereum): ABIType(name="d", type="bytes4[]"), ], ) - address = "0xd8da6bf26964af9d7eed9e03e53415d37aa96045" byte_array = ["0x456", "0x678"] values = ("0x123", address, HexBytes(55), byte_array) @@ -274,15 +273,17 @@ def test_gas_limit_live_networks(ethereum): def test_encode_blueprint_contract(ethereum, vyper_contract_type): actual = ethereum.encode_contract_blueprint(vyper_contract_type) ct_bytes = vyper_contract_type.deployment_bytecode.to_bytes() + # EIP-5202 expected = ( HexBytes("0x61") - + (6971).to_bytes(2, "big") # preface and length + + (len(ct_bytes) + 3).to_bytes(2, "big") # preface and length + HexBytes("0x3d81600a3d39f3") # return stuff + BLUEPRINT_HEADER + HexBytes(0) + ct_bytes ) + assert actual.data == HexBytes(expected) diff --git a/tests/functional/test_history.py b/tests/functional/test_history.py new file mode 100644 index 0000000000..2bd10cb402 --- /dev/null +++ b/tests/functional/test_history.py @@ -0,0 +1,61 @@ +from ape_ethereum.transactions import Receipt, TransactionStatusEnum +from tests.conftest import explorer_test + + +def test_history(sender, receiver, chain): + length_at_start = len(chain.history[sender].sessional) + receipt = sender.transfer(receiver, "1 wei") + transactions_from_cache = list(sender.history) + assert len(transactions_from_cache) == length_at_start + 1 + assert sender.history[-1] == receipt + assert sender.history[0:] == transactions_from_cache[0:] + assert sender.history[:-1] == transactions_from_cache[:-1] + + txn = transactions_from_cache[-1] + assert txn.sender == receipt.sender == sender + assert txn.receiver == receipt.receiver == receiver + + +@explorer_test +def test_history_caches_sender_over_address_key( + mocker, chain, eth_tester_provider, sender, vyper_contract_container, ethereum +): + # When getting receipts from the explorer for contracts, it includes transactions + # made to the contract. This test shows we cache by sender and not address key. + contract = sender.deploy(vyper_contract_container, 0) + network = ethereum.local + txn = ethereum.create_transaction( + receiver=contract.address, sender=sender.address, value=10000000000000000000000 + ) + known_receipt = Receipt( + block_number=10, + gas_price=11, + gas_used=12, + gas_limit=13, + status=TransactionStatusEnum.NO_ERROR.value, + txn_hash="0x98d2aee8617897b5983314de1d6ff44d1f014b09575b47a88267971beac97b2b", + transaction=txn, + ) + + # The receipt is already known and cached by the sender. + chain.history.append(known_receipt) + + # We ask for receipts from the contract, but it returns ones sent to the contract. + def get_txns_patch(address): + if address == contract.address: + yield from [known_receipt] + + mock_explorer = mocker.MagicMock() + mock_explorer.get_account_transactions.side_effect = get_txns_patch + network.__dict__["explorer"] = mock_explorer + eth_tester_provider.network = network + + # Previously, this would error because the receipt was cached with the wrong sender + try: + actual = [t for t in chain.history[contract.address].sessional] + + # Actual is 0 because the receipt was cached under the sender. + assert len(actual) == 0 + finally: + if "explorer" in network.__dict__: + del network.__dict__["explorer"] diff --git a/tests/functional/test_networks.py b/tests/functional/test_networks.py index f527bd45fd..ac1eda7a03 100644 --- a/tests/functional/test_networks.py +++ b/tests/functional/test_networks.py @@ -205,27 +205,25 @@ def test_block_times(ethereum): assert ethereum.goerli.block_time == 15 -def test_ecosystems_when_default_network_not_exists(temp_config, caplog, networks): +def test_ecosystems_when_default_network_not_exists(temp_config, ape_caplog, networks): bad_network = "NOT_EXISTS" config = {"ethereum": {"default_network": bad_network}} with temp_config(config): assert networks.ecosystems - err = caplog.records[-1].message - assert err == ( + assert ape_caplog.head == ( f"Failed setting default network: " f"'{bad_network}' is not a valid network for ecosystem 'ethereum'." ) -def test_ecosystems_when_default_provider_not_exists(temp_config, caplog, networks): +def test_ecosystems_when_default_provider_not_exists(temp_config, ape_caplog, networks): bad_provider = "NOT_EXISTS" config = {"ethereum": {"goerli": {"default_provider": bad_provider}}} with temp_config(config): assert networks.ecosystems - err = caplog.records[-1].message - assert err == ( + assert ape_caplog.head == ( f"Failed setting default provider: " f"Provider '{bad_provider}' not found in network 'ethereum:goerli'." ) diff --git a/tests/functional/test_project.py b/tests/functional/test_project.py index 62144e5667..9687c9e8a0 100644 --- a/tests/functional/test_project.py +++ b/tests/functional/test_project.py @@ -1,5 +1,6 @@ import shutil from pathlib import Path +from urllib.parse import urlparse import pytest import yaml @@ -183,7 +184,10 @@ def test_meta(temp_config, project): assert project.meta.license == "MIT" assert project.meta.description == "test" assert project.meta.keywords == ["testing"] - assert "https://apeworx.io" in project.meta.links["apeworx.io"] + + actual_url = urlparse(project.meta.links["apeworx.io"]) + assert actual_url.hostname == "apeworx.io" + assert actual_url.scheme == "https" def test_brownie_project_configure(config, base_projects_directory): @@ -193,7 +197,7 @@ def test_brownie_project_configure(config, base_projects_directory): # Left from previous run expected_config_file.unlink() - project = BrownieProject(path=project_path, contracts_folder="contracts") + project = BrownieProject(path=project_path, contracts_folder=Path("contracts")) project.process_config_file() assert expected_config_file.is_file() diff --git a/tests/functional/test_provider.py b/tests/functional/test_provider.py index e6730860cf..2a7c0f8ce0 100644 --- a/tests/functional/test_provider.py +++ b/tests/functional/test_provider.py @@ -90,7 +90,12 @@ def test_chain_id_when_disconnected(eth_tester_provider): def test_get_receipt_not_exists_with_timeout(eth_tester_provider): unknown_txn = "0x053cba5c12172654d894f66d5670bab6215517a94189a9ffc09bc40a589ec04d" - with pytest.raises(TransactionNotFoundError, match=f"Transaction '{unknown_txn}' not found"): + expected = ( + f"Transaction '{unknown_txn}' not found. " + rf"Error: Transaction HexBytes\('{unknown_txn}'\) " + "is not in the chain after 0 seconds" + ) + with pytest.raises(TransactionNotFoundError, match=expected): eth_tester_provider.get_receipt(unknown_txn, timeout=0) diff --git a/tests/functional/test_proxy.py b/tests/functional/test_proxy.py index 8125bf9678..6d4302bd04 100644 --- a/tests/functional/test_proxy.py +++ b/tests/functional/test_proxy.py @@ -1,12 +1,8 @@ -import pytest - from ape_ethereum.proxies import ProxyType -from ape_ethereum.proxies import minimal_proxy as minimal_proxy_container - -@pytest.fixture -def minimal_proxy(owner): - return owner.deploy(minimal_proxy_container) +""" +NOTE: Most proxy tests are in `geth/test_proxy.py`. +""" def test_minimal_proxy(ethereum, minimal_proxy): diff --git a/tests/functional/test_query.py b/tests/functional/test_query.py index 4bbb5885e7..865e89c6c3 100644 --- a/tests/functional/test_query.py +++ b/tests/functional/test_query.py @@ -1,4 +1,3 @@ -import logging import time import pandas as pd @@ -81,22 +80,19 @@ def test_column_expansion(): assert columns == list(Model.__fields__) -def test_column_validation(eth_tester_provider, caplog): +def test_column_validation(eth_tester_provider, ape_caplog): with pytest.raises(ValueError) as exc_info: validate_and_expand_columns(["numbr"], Model) expected = "Unrecognized field(s) 'numbr', must be one of 'number, timestamp'." assert exc_info.value.args[-1] == expected - with caplog.at_level(logging.WARNING): - validate_and_expand_columns(["numbr", "timestamp"], Model) - - assert expected in caplog.records[-1].msg - - with caplog.at_level(logging.WARNING): - validate_and_expand_columns(["number", "timestamp", "number"], Model) + ape_caplog.assert_last_log_with_retries( + lambda: validate_and_expand_columns(["numbr", "timestamp"], Model), expected + ) - assert "Duplicate fields in ['number', 'timestamp', 'number']" in caplog.records[-1].msg + validate_and_expand_columns(["number", "timestamp", "number"], Model) + assert "Duplicate fields in ['number', 'timestamp', 'number']" in ape_caplog.messages[-1] def test_specify_engine(chain, eth_tester_provider): diff --git a/tests/functional/test_receipt.py b/tests/functional/test_receipt.py index 59beb4ae6f..4842e7b862 100644 --- a/tests/functional/test_receipt.py +++ b/tests/functional/test_receipt.py @@ -192,3 +192,8 @@ def test_track_coverage(deploy_receipt, mocker): assert mock_runner.track_coverage.call_count == 0 ManagerAccessMixin._test_runner = original + + +def test_access_from_tx(deploy_receipt): + actual = deploy_receipt.receiver + assert actual == "" diff --git a/tests/functional/test_types.py b/tests/functional/test_types.py index 6d5014f672..2c0ec7d620 100644 --- a/tests/functional/test_types.py +++ b/tests/functional/test_types.py @@ -1,3 +1,5 @@ +from typing import Dict + import pytest from eth_utils import to_hex from ethpm_types.abi import EventABI @@ -11,7 +13,7 @@ EVENT_NAME = "MyEvent" LOG_INDEX = 7 TXN_INDEX = 2 -RAW_LOG = { +RAW_LOG: Dict = { "block_hash": BLOCK_HASH, "block_number": BLOCK_NUMBER, "contract_address": ZERO_ADDRESS, diff --git a/tests/functional/utils/test_abi.py b/tests/functional/utils/test_abi.py new file mode 100644 index 0000000000..4015fd45e4 --- /dev/null +++ b/tests/functional/utils/test_abi.py @@ -0,0 +1,81 @@ +import pytest +from ethpm_types import HexBytes +from ethpm_types.abi import EventABI, EventABIType + +from ape.utils.abi import LogInputABICollection + + +@pytest.fixture +def event_abi(): + return EventABI( + type="event", + name="NodeOperatorAdded", + inputs=[ + EventABIType( + name="nodeOperatorId", + type="uint256", + components=None, + internalType=None, + indexed=False, + ), + EventABIType( + name="name", type="string", components=None, internalType=None, indexed=False + ), + EventABIType( + name="rewardAddress", + type="address", + components=None, + internalType=None, + indexed=False, + ), + EventABIType( + name="stakingLimit", + type="uint64", + components=None, + internalType=None, + indexed=False, + ), + ], + anonymous=False, + ) + + +@pytest.fixture +def collection(event_abi): + return LogInputABICollection(event_abi) + + +@pytest.fixture +def topics(): + return ["0xc52ec0ad7872dae440d886040390c13677df7bf3cca136d8d81e5e5e7dd62ff1"] + + +@pytest.fixture +def log_data_missing_trailing_zeroes(): + return HexBytes( + "0x000000000000000000000000000000000000000000000000000000000000001e" + "000000000000000000000000000000000000000000000000000000000000008000" + "00000000000000000000005a8b929edbf3ce44526465dd2087ec7efb59a5610000" + "000000000000000000000000000000000000000000000000000000000000000000" + "000000000000000000000000000000000000000000000000000000000b4c61756e" + "63686e6f646573" + ) + + +def test_decoding_with_strict(collection, topics, log_data_missing_trailing_zeroes, ape_caplog): + """ + This test is for a time where Alchemy gave us log data when it was missing trailing zeroes. + When using strict=False, it was able to properly decode. In this case, in Ape, we warn + the user and still proceed to decode the log. + """ + actual = ape_caplog.assert_last_log_with_retries( + lambda: collection.decode(topics, log_data_missing_trailing_zeroes), + "However, we are able to get a value using decode(strict=False)", + ) + expected = { + "name": "Launchnodes", + "nodeOperatorId": 30, + "rewardAddress": "0x5a8b929edbf3ce44526465dd2087ec7efb59a561", + "stakingLimit": 0, + } + assert actual == expected diff --git a/tests/integration/cli/projects/with-contracts/contracts/hyphen-Contract.json b/tests/integration/cli/projects/with-contracts/contracts/hyphen-Contract.json new file mode 100644 index 0000000000..60cdfdaa2e --- /dev/null +++ b/tests/integration/cli/projects/with-contracts/contracts/hyphen-Contract.json @@ -0,0 +1,3 @@ +[ + {"name":"testForHavingHyphenInContractName","type":"fallback", "stateMutability":"nonpayable"} +] diff --git a/tests/integration/cli/projects/with-dependencies/containing_sub_dependencies/sub_dependency/contracts/SubDependency.json b/tests/integration/cli/projects/with-dependencies/containing_sub_dependencies/sub_dependency/contracts/sub-dependency.json similarity index 100% rename from tests/integration/cli/projects/with-dependencies/containing_sub_dependencies/sub_dependency/contracts/SubDependency.json rename to tests/integration/cli/projects/with-dependencies/containing_sub_dependencies/sub_dependency/contracts/sub-dependency.json diff --git a/tests/integration/cli/projects/with-dependencies/default/contracts/hyphen-DependencyContract.json b/tests/integration/cli/projects/with-dependencies/default/contracts/hyphen-DependencyContract.json new file mode 100644 index 0000000000..f31073b5d0 --- /dev/null +++ b/tests/integration/cli/projects/with-dependencies/default/contracts/hyphen-DependencyContract.json @@ -0,0 +1,3 @@ +[ + {"name":"testForHavingHyphenInDependencyContractName","type":"fallback", "stateMutability":"nonpayable"} +] diff --git a/tests/integration/cli/test_compile.py b/tests/integration/cli/test_compile.py index f18e747602..3736ed2137 100644 --- a/tests/integration/cli/test_compile.py +++ b/tests/integration/cli/test_compile.py @@ -242,7 +242,8 @@ def test_compile_with_dependency(ape_cli, runner, project, contract_path): "renamed-contracts-folder-specified-in-config", ): assert name in list(project.dependencies.keys()) - assert type(project.dependencies[name]["local"]["name"]) is ContractContainer + dependency = project.dependencies[name]["local"] + assert isinstance(dependency[name], ContractContainer) @skip_projects_except("with-dependencies") @@ -280,14 +281,22 @@ def test_compile_only_dependency(ape_cli, runner, project, clean_cache, caplog): # Trigger actual dependency compilation dependency = project.dependencies["dependency-in-project-only"]["local"] _ = dependency.DependencyInProjectOnly - log_record = caplog.records.pop() - assert expected_log_message in log_record.message + + # Pop the log record off here so we can check the tail again below. + length_before = len(caplog.records) + assert expected_log_message in caplog.messages[-1] # It should not need to compile again. _ = dependency.DependencyInProjectOnly if caplog.records: - log_record = caplog.records.pop() - assert expected_log_message not in log_record.message, "Compiled twice!" + if expected_log_message in caplog.messages[-1]: + length_after = len(caplog.records) + # The only way it should be the same log is if there + # were not additional logs. + assert length_after == length_before + + else: + pytest.fail("Compiled twice!") # Force a re-compile and trigger the dependency to compile via CLI result = runner.invoke( diff --git a/tests/integration/cli/test_plugins.py b/tests/integration/cli/test_plugins.py index b156f517dd..e8599dc8db 100644 --- a/tests/integration/cli/test_plugins.py +++ b/tests/integration/cli/test_plugins.py @@ -148,17 +148,16 @@ def test_install_multiple_in_one_str(ape_plugins_runner): @github_xfail() -def test_install_from_config_file(ape_cli, runner, temp_config, caplog): +def test_install_from_config_file(ape_cli, runner, temp_config): plugins_config = {"plugins": [{"name": TEST_PLUGIN_NAME}]} with temp_config(plugins_config): result = runner.invoke(ape_cli, ["plugins", "install", "."], catch_exceptions=False) assert result.exit_code == 0, result.output - - assert TEST_PLUGIN_NAME in caplog.records[-1].message + assert TEST_PLUGIN_NAME in result.stdout @github_xfail() -def test_uninstall(ape_cli, runner, installed_plugin, caplog): +def test_uninstall(ape_cli, runner, installed_plugin): result = runner.invoke( ape_cli, ["plugins", "uninstall", TEST_PLUGIN_NAME, "--yes"], catch_exceptions=False ) diff --git a/tests/integration/cli/test_pm.py b/tests/integration/cli/test_pm.py index 60c6ee0fe1..b3a8435007 100644 --- a/tests/integration/cli/test_pm.py +++ b/tests/integration/cli/test_pm.py @@ -90,11 +90,17 @@ def test_compile_package_not_exists(ape_cli, runner): assert expected in result.output -@skip_projects_except("with-contracts") +@skip_projects_except("with-contracts", "with-dependencies") def test_compile(ape_cli, runner, project): - result = runner.invoke(ape_cli, ["pm", "compile"]) + result = runner.invoke(ape_cli, ["pm", "compile", "--force"]) assert result.exit_code == 0, result.output - assert "Package '__FooDep__' compiled." in result.output + + if project.path.as_posix().endswith("with-contracts"): + assert "Package '__FooDep__' compiled." in result.output + else: + # Tests against a bug where we couldn't have hyphens in + # dependency project contracts. + assert "Compiling 'hyphen-DependencyContract.json'" in result.output @skip_projects_except("with-contracts")