FRAX Price: $0.83 (+13.20%)

Contract

0x6a19faB4847125DCB6eCCb822974714a31138274

Overview

FRAX Balance | FXTL Balance

0 FRAX | 52 FXTL

FRAX Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Set_approved_dir...167138782025-02-22 15:34:27344 days ago1740238467IN
0x6a19faB4...a31138274
0 FRAX0.00000010.00100025

View more zero value Internal Transactions in Advanced View mode

Advanced mode:

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WETH Auction Zap

Compiler Version
vyper:0.4.0

Optimization Enabled:
Yes

Other Settings:
default evmVersion, MIT license

Contract Source Code (Vyper Json-Input format)

File 1 of 2 : AuctionZap.vy
# @version 0.4.0

"""
@title WETH Auction Zap
@author https://github.com/leviathan-news/auction-block
@license MIT
@notice Facilitates token swaps and bidding for Leviathan auction system
@dev Provides core functionality for:
     - Token conversion through Curve pool
     - Direct bidding with alternative tokens
     - Flexible trading across different token pairs
     - Delegated bidding permissions
     - Contract holds no WETH/ETH


                            ####++++++++
                       #+++++++++####+++##++
                     #########+++-++##++-..
                      ....++++#++++++#+++-....
                 ++++++----+++++++++++++++++-..-++##
                  ...-+++++++++++++++++++++++++++#####
              +++-....+#+++++++++++++++++++++++++######
          +++++++++++++++++++++++++++++++-+++++++++++++++++
        ++#########++++++++----+++--++----+++++++########++++
      ###############+++++-.-------------..+++++#############++
     ##########++++###++++.  .---------.  .+++++++++-+++  ######
     ########  ....--+++++.   .-------..  .++++++++++#+++#+ ####
    ########  ..--+++++++++....-------....+++++++####+++++## ###
     ######   +++++++++++++++-+-----+-++-+-++++++#######++++
     #####   +#######+#+++++++++-+-++-++++++++++++---+#####++
      ####  ++####+----+++++++++++++++++++++++++++++-  #####++
       ###  +###+.....-+++++++++++++++++++++++++###+++  +###++
            ++##+....-+++++#+++++++++++++#++++----+##++  +####+
            +###  ..-+#####++++++++++++++##+++-....##++   ####
            ++##   ++####+-++++##+##+++++++###++-+  +++  #####
             +##+  +####-..+++####++###++-.-+###+++ ++   ###
               +#  +####-..++#####--+###++--  +#++++
                   ++###   +++####+..-+###+++   ++++
                    ++#++   ++++###+     +#+++  +++
                     ++++     +++++++     +++++
                       +++      +++++++    +++
                                     ++    +
"""

# ============================================================================================
# ⚙️ Modules
# ============================================================================================

from ethereum.ercs import IERC20
from .imports import ownable_2step as ownable

initializes: ownable
exports: (
    ownable.owner,
    ownable.pending_owner,
    ownable.transfer_ownership,
    ownable.accept_ownership,
)


# ============================================================================================
# 🧩 Interfaces
# ============================================================================================

interface Pool:
    def get_dy(i: uint256, j: uint256, dx: uint256) -> uint256: view
    def get_dx(i: uint256, j: uint256, dy: uint256) -> uint256: view
    def exchange(
        i: uint256,
        j: uint256,
        dx: uint256,
        min_dy: uint256,
    ) -> uint256: nonpayable


interface AuctionHouse:
    def auction_bid_by_user(auction_id: uint256, user: address) -> uint256: view
    def create_bid(
        auction_id: uint256,
        bid_amount: uint256,
        ipfs_hash: String[46],
        on_behalf_of: address,
    ): nonpayable
    def minimum_additional_bid_for_user(
        auction_id: uint256, user: address
    ) -> uint256: view


flag ApprovalStatus:
    Nothing  # Default value, indicating no approval
    BidOnly  # Approved for bid only
    WithdrawOnly  # Approved for withdraw only
    BidAndWithdraw  # Approved for both bid and withdraw


# ============================================================================================
# 📣 Events
# ============================================================================================

event ApprovedCallerSet:
    account: address
    caller: address
    status: ApprovalStatus


event DirectorySet:
    directory_address: address


# ============================================================================================
# 💾 Storage
# ============================================================================================


payment_token: public(IERC20)
trading_token: public(IERC20)
pool: public(Pool)
indices: public(uint256[2])

# User settings: user -> caller -> status
approved_caller: public(HashMap[address, HashMap[address, ApprovalStatus]])
authorized_directory: public(address)

# ============================================================================================
# 🚧 Constructor
# ============================================================================================


@deploy
def __init__(
    _payment_token: IERC20,
    _trading_token: IERC20,
    _pool: Pool,
    _indices: uint256[2],
):
    self.payment_token = _payment_token
    self.trading_token = _trading_token
    self.pool = _pool
    self.indices = _indices

    ownable.__init__()


# ============================================================================================
# 👀 View functions
# ============================================================================================

@external
@view
def get_dx(_dy: uint256) -> uint256:
    """
    @notice Calculate input token amount required for desired output
    @param _dy Desired output token amount
    @return Required input token amount
    """

    return self._get_dx(_dy)


@external
@view
def get_dy(_dx: uint256) -> uint256:
    """
    @notice Calculate output token amount for given input
    @param _dx Input token amount
    @return Expected output token amount
    """

    return self._get_dy(_dx)


@external
@view
def safe_get_dx(_dy: uint256) -> uint256:
    """
    @notice Calculate input amount with extra buffer to guarantee output
    @dev Iterative calculation to ensure sufficient input for desired output
         Gas intensive so only for offchain use
    @param _dy Desired output token amount
    @return Input token amount with safety margin
    """

    _actual_dy: uint256 = 0
    _dx: uint256 = self._get_dx(_dy)
    for _i: uint256 in range(10):
        _actual_dy = self._get_dy(_dx)
        if _actual_dy >= _dy:
            break
        else:
            _dx = _dx * 100000001 // 100000000
    assert _actual_dy >= _dy
    return _dx


# ============================================================================================
# ✍️ Write functions
# ============================================================================================

@external
def zap(token_amount: uint256, min_dy: uint256) -> uint256:
    """
    @notice Trade misc token for payment token
    @dev Utilized in Auction directory
    @param token_amount Input amount of trading token (WETH) to trade
    @param min_dy Minimum payment tokens to receive
    @return Amount of payment tokens received
    """
    amount_received: uint256 = self._exchange(token_amount, min_dy, msg.sender)
    extcall self.payment_token.transfer(msg.sender, amount_received)
    return amount_received


@external
def zap_and_bid(
    auction_contract: AuctionHouse,
    auction_id: uint256,
    token_amount: uint256,
    min_total_bid: uint256,
    ipfs_hash: String[46] = "",
    on_behalf_of: address = msg.sender,
):
    """
    @notice Swap tokens and place bid in single transaction
    @dev Converts trading token to payment token and bids on auction
         Requires trading token approval on Zap
         Requires payment token approval on AuctionHouse
         Requires setting this contract as approved caller for bidding on AuctionHouse
    @param auction_contract Target auction contract
    @param auction_id Specific auction to bid on
    @param token_amount Trading tokens to convert
    @param min_total_bid Minimum acceptable total bid after conversion
    @param ipfs_hash Optional metadata for bid
    @param on_behalf_of Address to bid for
    """
    self._check_caller(on_behalf_of, msg.sender, ApprovalStatus.BidOnly)
    current_bid: uint256 = staticcall auction_contract.auction_bid_by_user(
        auction_id, on_behalf_of
    )
    tokens_needed: uint256 = (
        staticcall auction_contract.minimum_additional_bid_for_user(
            auction_id, on_behalf_of
        )
    )

    dy: uint256 = self._get_dy(token_amount)
    assert dy >= tokens_needed, "!token_amount"
    assert dy + current_bid >= min_total_bid, "!token_amount"

    token_source: address = on_behalf_of
    if msg.sender == self.authorized_directory:
        token_source = self.authorized_directory

    amount_received: uint256 = self._exchange(token_amount, dy, token_source)

    total_bid: uint256 = amount_received + current_bid
    assert total_bid >= min_total_bid, "!token_amount"

    extcall self.payment_token.transfer(msg.sender, amount_received)
    extcall auction_contract.create_bid(
        auction_id, total_bid, ipfs_hash, on_behalf_of
    )


@external
def exchange(
    _dx: uint256, _min_dy: uint256, _from: address = msg.sender
) -> uint256:
    """
    @notice Direct WETH -> SQUID trade through Curve pool
    @param _dx Input amount of trading token (WETH) to exchange
    @param _min_dy Minimum amount of payment token to receive
    @param _from Optional address to pull tokens from
    @return Amount of payment token received
    """
    received: uint256 = self._exchange(_dx, _min_dy, _from)
    # Transfer output tokens back to sender
    extcall self.payment_token.transfer(_from, received)
    return received


@external
def set_approved_caller(caller: address, status: ApprovalStatus):
    """
    @notice Configure delegation permissions for a specific caller
    @dev Allows user to set granular permissions for another address
    @param caller Address being granted or restricted permissions
    @param status Approval level for the caller:
                  - Nothing: No permissions
                  - BidOnly: Can place bids on behalf of user
                  - WithdrawOnly: Can withdraw funds on behalf of user
                  - BidAndWithdraw: Full bidding and withdrawal permissions
    """
    self.approved_caller[msg.sender][caller] = status
    log ApprovedCallerSet(msg.sender, caller, status)


# ============================================================================================
# 👑 Owner functions
# ============================================================================================


@external
def set_approved_directory(directory_address: address):
    """
    @notice Set authorized directory contract address
    @dev Only callable by owner
         Directory contract gets special permissions for bidding
    @param directory_address Address of directory contract
    @custom:security Directory can bypass normal approval checks
                     Only one directory can be authorized at a time
    """
    ownable._check_owner()
    self.authorized_directory = directory_address
    log DirectorySet(directory_address)


@external
def recover_erc20(token_addr: address, amount: uint256):
    """
    @notice Recover ERC20 tokens accidentally sent to contract
    @dev Only callable by owner for cleanup purposes
    @param token_addr The token contract address
    @param amount Amount of tokens to recover
    """
    ownable._check_owner()
    token: IERC20 = IERC20(token_addr)

    assert extcall token.transfer(ownable.owner, amount), "transfer failed"


# ============================================================================================
# 🏠 Internal functions
# ============================================================================================

@internal
def _exchange(
    _dx: uint256, _min_dy: uint256, _from: address = msg.sender
) -> uint256:
    # Transfer tokens from sender to this contract
    extcall self.trading_token.transferFrom(_from, self, _dx)

    # Do the exchange
    extcall self.trading_token.approve(self.pool.address, max_value(uint256))
    received: uint256 = extcall self.pool.exchange(
        self.indices[0], self.indices[1], _dx, _min_dy
    )
    return received


@internal
@view
def _get_dx(_dy: uint256) -> uint256:
    return staticcall self.pool.get_dx(self.indices[0], self.indices[1], _dy)


@internal
@view
def _get_dy(_dx: uint256) -> uint256:
    return staticcall self.pool.get_dy(self.indices[0], self.indices[1], _dx)


@internal
@view
def _check_caller(
    _account: address, _caller: address, _req_status: ApprovalStatus
):
    # Directory contract assumes onus of confirming status
    if _account != _caller and msg.sender != self.authorized_directory:
        _status: ApprovalStatus = self.approved_caller[_account][_caller]
        if _status == ApprovalStatus.BidAndWithdraw:
            return
        assert (_status == _req_status), "!caller"

File 2 of 2 : ownable_2step.vy
# @version 0.4.0

"""
@title Ownable 2-step
@license MIT
@author yearn.finance, asymmetry.finance
@notice ownable_2step.vy is a two-step ownable contract that allows for a two-step transfer of ownership
"""


# ============================================================================================
# Events
# ============================================================================================


event PendingOwnershipTransfer:
    old_owner: address
    new_owner: address


event OwnershipTransferred:
    old_owner: address
    new_owner: address


# ============================================================================================
# Storage
# ============================================================================================


owner: public(address)
pending_owner: public(address)


# ============================================================================================
# Constructor
# ============================================================================================


@deploy
@payable
def __init__():
    """
    @dev To omit the opcodes for checking the `msg.value`
         in the creation-time EVM bytecode, the constructor
         is declared as `payable`.
    @notice Initializes the contract setting the deployer as the initial owner
    """
    self.owner = msg.sender


# ============================================================================================
# Owner functions
# ============================================================================================


@external
def transfer_ownership(new_owner: address):
    """
    @dev Starts the ownership transfer of the contract
         to a new account `new_owner`
    @notice Note that this function can only be
            called by the current `owner`. Also, there is
            no security risk in setting `new_owner` to the
            zero address as the default value of `pending_owner`
            is in fact already the zero address and the zero
            address cannot call `accept_ownership`. Eventually,
            the function replaces the pending transfer if
            there is one
    @param new_owner The address of the new owner
    """
    self._check_owner()
    self.pending_owner = new_owner
    log PendingOwnershipTransfer(self.owner, new_owner)


@external
def accept_ownership():
    """
    @dev The new owner accepts the ownership transfer.
    @notice Note that this function can only be
            called by the current `pending_owner`
    """
    assert self.pending_owner == msg.sender, "!new owner"
    self._transfer_ownership(msg.sender)


# ============================================================================================
# Internal functions
# ============================================================================================


@internal
def _check_owner():
    """
    @dev Throws if the sender is not the owner
    """
    assert msg.sender == self.owner, "!owner"


@internal
def _transfer_ownership(new_owner: address):
    """
    @dev Transfers the ownership of the contract
         to a new account `new_owner` and deletes
         any pending owner
    @notice This is an `internal` function without
            access restriction
    @param new_owner The address of the new owner
    """
    self.pending_owner = empty(address)
    old_owner: address = self.owner
    self.owner = new_owner
    log OwnershipTransferred(old_owner, new_owner)

Settings
{
  "outputSelection": {
    "contracts/AuctionZap.vy": [
      "evm.bytecode",
      "evm.deployedBytecode",
      "abi"
    ]
  },
  "search_paths": [
    "."
  ]
}

Contract Security Audit

Contract ABI

API
[{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"},{"indexed":false,"name":"caller","type":"address"},{"indexed":false,"name":"status","type":"uint256"}],"name":"ApprovedCallerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"directory_address","type":"address"}],"name":"DirectorySet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"old_owner","type":"address"},{"indexed":false,"name":"new_owner","type":"address"}],"name":"PendingOwnershipTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"old_owner","type":"address"},{"indexed":false,"name":"new_owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pending_owner","outputs":[{"name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"name":"new_owner","type":"address"}],"name":"transfer_ownership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"accept_ownership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_dy","type":"uint256"}],"name":"get_dx","outputs":[{"name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"name":"_dx","type":"uint256"}],"name":"get_dy","outputs":[{"name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"name":"_dy","type":"uint256"}],"name":"safe_get_dx","outputs":[{"name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"name":"token_amount","type":"uint256"},{"name":"min_dy","type":"uint256"}],"name":"zap","outputs":[{"name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"auction_contract","type":"address"},{"name":"auction_id","type":"uint256"},{"name":"token_amount","type":"uint256"},{"name":"min_total_bid","type":"uint256"}],"name":"zap_and_bid","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"auction_contract","type":"address"},{"name":"auction_id","type":"uint256"},{"name":"token_amount","type":"uint256"},{"name":"min_total_bid","type":"uint256"},{"name":"ipfs_hash","type":"string"}],"name":"zap_and_bid","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"auction_contract","type":"address"},{"name":"auction_id","type":"uint256"},{"name":"token_amount","type":"uint256"},{"name":"min_total_bid","type":"uint256"},{"name":"ipfs_hash","type":"string"},{"name":"on_behalf_of","type":"address"}],"name":"zap_and_bid","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_dx","type":"uint256"},{"name":"_min_dy","type":"uint256"}],"name":"exchange","outputs":[{"name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_dx","type":"uint256"},{"name":"_min_dy","type":"uint256"},{"name":"_from","type":"address"}],"name":"exchange","outputs":[{"name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"caller","type":"address"},{"name":"status","type":"uint256"}],"name":"set_approved_caller","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"directory_address","type":"address"}],"name":"set_approved_directory","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"token_addr","type":"address"},{"name":"amount","type":"uint256"}],"name":"recover_erc20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"payment_token","outputs":[{"name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trading_token","outputs":[{"name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pool","outputs":[{"name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"name":"arg0","type":"uint256"}],"name":"indices","outputs":[{"name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"name":"arg0","type":"address"},{"name":"arg1","type":"address"}],"name":"approved_caller","outputs":[{"name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"authorized_directory","outputs":[{"name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"name":"_payment_token","type":"address"},{"name":"_trading_token","type":"address"},{"name":"_pool","type":"address"},{"name":"_indices","type":"uint256[2]"}],"outputs":[],"stateMutability":"nonpayable","type":"constructor"}]

34610089576020610f275f395f518060a01c610089576040526020610f475f395f518060a01c610089576060526020610f675f395f518060a01c610089576080526040516002556060516003556080516004556020610f875f395f516005556020610fa75f395f51600655610072610084565b610e8561008d61000039610e85610000f35b335f55565b5f80fd5f3560e01c60026012820660011b610e6101601e395f51565b638da5cb5b81186100335734610e5d575f5460405260206040f35b63331c6587811861004f5734610e5d5760025460405260206040f35b63a1a953fd8118610b1257602436103417610e5d576004356002811015610e5d576005015460405260206040f35b637f4ec4c381186100995734610e5d5760015460405260206040f35b63d4b7eac38118610b1257604436103417610e5d573361016052610996565b63f0350c04811861012257602436103417610e5d576004358060a01c610e5d57610100526100e4610b16565b610100516001557f23e1f881d1e797ea57a7247e53536f0bfc37c42e6645b3bdc4b1c9a0e0d8a1335f546101205261010051610140526040610120a1005b63737efe6c811861014d57602436103417610e5d57602060043560405261014960e0610bd9565b60e0f35b6323a50d3c8118610b1257604436103417610e5d576004358060a01c610e5d5761010052610179610b16565b61010051610120526101205163a9059cbb610140525f5461016052602435610180526020610140604461015c5f855af16101b5573d5f5f3e3d5ffd5b3d602081183d6020100218806101400161016011610e5d57610140518060011c610e5d576101a052506101a09050516102655760208061022052600f6101c0527f7472616e73666572206661696c656400000000000000000000000000000000006101e0526101c0816102200160208251018083835e508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506308c379a0610200528060040161021cfd5b005b63a67c2dcb81186103095734610e5d573360015418156102fb5760208061012052600a60c0527f216e6577206f776e65720000000000000000000000000000000000000000000060e05260c0816101200160208251018083835e508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506308c379a0610100528060040161011cfd5b33604052610307610b97565b005b63093727818118610b125760a436103417610e5d576084356004018035602e8111610e5d5750602081350180826101a037505033610200526105b6565b631b4e255b811861037157602436103417610e5d57602060043560405261036d60e0610c1f565b60e0f35b63c98251f18118610b1257602436103417610e5d576004358060a01c610e5d576101005261039d610b16565b610100516008557f79fc27c5e5235682a30d043d2d009457fae7d6e6b26c5e062949d2d7aae4d6f161010051610120526020610120a1005b63cdd92a58811861047c57602436103417610e5d575f60e0526004356040526103ff610120610bd9565b61012051610100525f600a905b806101205261010051604052610423610140610c1f565b6101405160e05260043560e051101561046857610100516305f5e1018102816305f5e101820418610e5d5790506305f5e100810490506101005260010181811861040c575b505060043560e05110610e5d576020610100f35b633f21b3b28118610b125734610e5d5760035460405260206040f35b6349afe603811861053357604436103417610e5d5760406004604037336080526104c3610180610c65565b610180516101605260025463a9059cbb61018052336101a052610160516101c0526020610180604461019c5f855af16104fe573d5f5f3e3d5ffd5b3d602081183d602010021880610180016101a011610e5d57610180518060011c610e5d576101e052506101e050506020610160f35b6316f0115b8118610b125734610e5d5760045460405260206040f35b63096be7388118610b1257608436103417610e5d575f6101a05233610200526105b6565b639122878e8118610b125760c436103417610e5d576084356004018035602e8111610e5d5750602081350180826101a037505060a4358060a01c610e5d57610200525b6004358060a01c610e5d5761018052610200516040523360605260026080526105dd610d8c565b6101805163c2faa3596102605260243561028052610200516102a0526020610260604461027c845afa610612573d5f5f3e3d5ffd5b60203d10610e5d576102609050516102405261018051637e30b608610280526024356102a052610200516102c0526020610280604461029c845afa610659573d5f5f3e3d5ffd5b60203d10610e5d576102809050516102605260443560405261067c6102a0610c1f565b6102a051610280526102605161028051101561070f5760208061030052600d6102a0527f21746f6b656e5f616d6f756e74000000000000000000000000000000000000006102c0526102a0816103000160208251018083835e508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506308c379a06102e052806004016102fcfd5b6064356102805161024051808201828110610e5d579050905010156107ab5760208061030052600d6102a0527f21746f6b656e5f616d6f756e74000000000000000000000000000000000000006102c0526102a0816103000160208251018083835e508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506308c379a06102e052806004016102fcfd5b610200516102a05260085433186107c4576008546102a0525b604435604052604061028060605e6107dd6102e0610c65565b6102e0516102c0526102c05161024051808201828110610e5d57905090506102e0526064356102e05110156108895760208061036052600d610300527f21746f6b656e5f616d6f756e740000000000000000000000000000000000000061032052610300816103600160208251018083835e508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506308c379a0610340528060040161035cfd5b60025463a9059cbb6103005233610320526102c051610340526020610300604461031c5f855af16108bc573d5f5f3e3d5ffd5b3d602081183d6020100218806103000161032011610e5d57610300518060011c610e5d576103605250610360505061018051635ed79db5610300526080602435610320526102e051610340528061036052806103200160206101a05101806101a0835e508051806020830101601f825f03163682375050601f19601f82516020010116905081019050610200516103805250803b15610e5d575f61030060e461031c5f855af161096e573d5f5f3e3d5ffd5b50005b63a85fc2fb8118610b1257606436103417610e5d576044358060a01c610e5d57610160525b60406004604037610160516080526109af6101a0610c65565b6101a0516101805260025463a9059cbb6101a05260406101606101c05e60206101a060446101bc5f855af16109e6573d5f5f3e3d5ffd5b3d602081183d6020100218806101a0016101c011610e5d576101a0518060011c610e5d57610200525061020050506020610180f35b633b6d61678118610b1257604436103417610e5d576004358060a01c610e5d576040526024358060041c610e5d576060526060516007336020525f5260405f20806040516020525f5260405f209050557f52a3ea22a2d541f847671dc3f3c9fd2fbb7274e8bc4577f05d4ca6359320d195336080526040604060a05e60606080a1005b6355fff1f88118610b1257604436103417610e5d576004358060a01c610e5d576040526024358060a01c610e5d5760605260076040516020525f5260405f20806060516020525f5260405f2090505460805260206080f35b633e6323048118610b125734610e5d5760085460405260206040f35b5f5ffd5b5f54331815610b955760208060a05260066040527f216f776e6572000000000000000000000000000000000000000000000000000060605260408160a00160208251018083835e508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506308c379a060805280600401609cfd5b565b5f6001555f546060526040515f557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060605160805260405160a05260406080a1565b6004546337ed3a7a60605260055460805260065460a05260405160c052602060606064607c845afa610c0d573d5f5f3e3d5ffd5b60203d10610e5d576060905051815250565b60045463556d6e9f60605260055460805260065460a05260405160c052602060606064607c845afa610c53573d5f5f3e3d5ffd5b60203d10610e5d576060905051815250565b6003546323b872dd60a05260805160c0523060e05260405161010052602060a0606460bc5f855af1610c99573d5f5f3e3d5ffd5b3d602081183d60201002188060a00160c011610e5d5760a0518060011c610e5d576101205250610120505060035463095ea7b360a05260045460c0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60e052602060a0604460bc5f855af1610d11573d5f5f3e3d5ffd5b3d602081183d60201002188060a00160c011610e5d5760a0518060011c610e5d5761010052506101005050600454635b41b90860c05260055460e05260065461010052604060406101205e602060c0608460dc5f855af1610d74573d5f5f3e3d5ffd5b60203d10610e5d5760c090505160a05260a051815250565b60605160405114610da257600854331415610da4565b5f5b15610e5b5760076040516020525f5260405f20806060516020525f5260405f2090505460a052600860a0511815610e5b5760805160a0511815610e5b5760208061012052600760c0527f2163616c6c65720000000000000000000000000000000000000000000000000060e05260c0816101200160208251018083835e508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506308c379a0610100528060040161011cfd5b565b5f80fd03d50b120b1200180a9e007d00b804980af60b12054f0346057302670b1209710b120a1b84190e8581182400a16576797065728300040000150000000000000000000000006e58089d8e8f664823d26454f49a5a0f2ff697fe000000000000000000000000fc00000000000000000000000000000000000006000000000000000000000000277fa53c8a53c880e0625c92c92a62a9f60f3f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001

Deployed Bytecode

0x5f3560e01c60026012820660011b610e6101601e395f51565b638da5cb5b81186100335734610e5d575f5460405260206040f35b63331c6587811861004f5734610e5d5760025460405260206040f35b63a1a953fd8118610b1257602436103417610e5d576004356002811015610e5d576005015460405260206040f35b637f4ec4c381186100995734610e5d5760015460405260206040f35b63d4b7eac38118610b1257604436103417610e5d573361016052610996565b63f0350c04811861012257602436103417610e5d576004358060a01c610e5d57610100526100e4610b16565b610100516001557f23e1f881d1e797ea57a7247e53536f0bfc37c42e6645b3bdc4b1c9a0e0d8a1335f546101205261010051610140526040610120a1005b63737efe6c811861014d57602436103417610e5d57602060043560405261014960e0610bd9565b60e0f35b6323a50d3c8118610b1257604436103417610e5d576004358060a01c610e5d5761010052610179610b16565b61010051610120526101205163a9059cbb610140525f5461016052602435610180526020610140604461015c5f855af16101b5573d5f5f3e3d5ffd5b3d602081183d6020100218806101400161016011610e5d57610140518060011c610e5d576101a052506101a09050516102655760208061022052600f6101c0527f7472616e73666572206661696c656400000000000000000000000000000000006101e0526101c0816102200160208251018083835e508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506308c379a0610200528060040161021cfd5b005b63a67c2dcb81186103095734610e5d573360015418156102fb5760208061012052600a60c0527f216e6577206f776e65720000000000000000000000000000000000000000000060e05260c0816101200160208251018083835e508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506308c379a0610100528060040161011cfd5b33604052610307610b97565b005b63093727818118610b125760a436103417610e5d576084356004018035602e8111610e5d5750602081350180826101a037505033610200526105b6565b631b4e255b811861037157602436103417610e5d57602060043560405261036d60e0610c1f565b60e0f35b63c98251f18118610b1257602436103417610e5d576004358060a01c610e5d576101005261039d610b16565b610100516008557f79fc27c5e5235682a30d043d2d009457fae7d6e6b26c5e062949d2d7aae4d6f161010051610120526020610120a1005b63cdd92a58811861047c57602436103417610e5d575f60e0526004356040526103ff610120610bd9565b61012051610100525f600a905b806101205261010051604052610423610140610c1f565b6101405160e05260043560e051101561046857610100516305f5e1018102816305f5e101820418610e5d5790506305f5e100810490506101005260010181811861040c575b505060043560e05110610e5d576020610100f35b633f21b3b28118610b125734610e5d5760035460405260206040f35b6349afe603811861053357604436103417610e5d5760406004604037336080526104c3610180610c65565b610180516101605260025463a9059cbb61018052336101a052610160516101c0526020610180604461019c5f855af16104fe573d5f5f3e3d5ffd5b3d602081183d602010021880610180016101a011610e5d57610180518060011c610e5d576101e052506101e050506020610160f35b6316f0115b8118610b125734610e5d5760045460405260206040f35b63096be7388118610b1257608436103417610e5d575f6101a05233610200526105b6565b639122878e8118610b125760c436103417610e5d576084356004018035602e8111610e5d5750602081350180826101a037505060a4358060a01c610e5d57610200525b6004358060a01c610e5d5761018052610200516040523360605260026080526105dd610d8c565b6101805163c2faa3596102605260243561028052610200516102a0526020610260604461027c845afa610612573d5f5f3e3d5ffd5b60203d10610e5d576102609050516102405261018051637e30b608610280526024356102a052610200516102c0526020610280604461029c845afa610659573d5f5f3e3d5ffd5b60203d10610e5d576102809050516102605260443560405261067c6102a0610c1f565b6102a051610280526102605161028051101561070f5760208061030052600d6102a0527f21746f6b656e5f616d6f756e74000000000000000000000000000000000000006102c0526102a0816103000160208251018083835e508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506308c379a06102e052806004016102fcfd5b6064356102805161024051808201828110610e5d579050905010156107ab5760208061030052600d6102a0527f21746f6b656e5f616d6f756e74000000000000000000000000000000000000006102c0526102a0816103000160208251018083835e508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506308c379a06102e052806004016102fcfd5b610200516102a05260085433186107c4576008546102a0525b604435604052604061028060605e6107dd6102e0610c65565b6102e0516102c0526102c05161024051808201828110610e5d57905090506102e0526064356102e05110156108895760208061036052600d610300527f21746f6b656e5f616d6f756e740000000000000000000000000000000000000061032052610300816103600160208251018083835e508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506308c379a0610340528060040161035cfd5b60025463a9059cbb6103005233610320526102c051610340526020610300604461031c5f855af16108bc573d5f5f3e3d5ffd5b3d602081183d6020100218806103000161032011610e5d57610300518060011c610e5d576103605250610360505061018051635ed79db5610300526080602435610320526102e051610340528061036052806103200160206101a05101806101a0835e508051806020830101601f825f03163682375050601f19601f82516020010116905081019050610200516103805250803b15610e5d575f61030060e461031c5f855af161096e573d5f5f3e3d5ffd5b50005b63a85fc2fb8118610b1257606436103417610e5d576044358060a01c610e5d57610160525b60406004604037610160516080526109af6101a0610c65565b6101a0516101805260025463a9059cbb6101a05260406101606101c05e60206101a060446101bc5f855af16109e6573d5f5f3e3d5ffd5b3d602081183d6020100218806101a0016101c011610e5d576101a0518060011c610e5d57610200525061020050506020610180f35b633b6d61678118610b1257604436103417610e5d576004358060a01c610e5d576040526024358060041c610e5d576060526060516007336020525f5260405f20806040516020525f5260405f209050557f52a3ea22a2d541f847671dc3f3c9fd2fbb7274e8bc4577f05d4ca6359320d195336080526040604060a05e60606080a1005b6355fff1f88118610b1257604436103417610e5d576004358060a01c610e5d576040526024358060a01c610e5d5760605260076040516020525f5260405f20806060516020525f5260405f2090505460805260206080f35b633e6323048118610b125734610e5d5760085460405260206040f35b5f5ffd5b5f54331815610b955760208060a05260066040527f216f776e6572000000000000000000000000000000000000000000000000000060605260408160a00160208251018083835e508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506308c379a060805280600401609cfd5b565b5f6001555f546060526040515f557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060605160805260405160a05260406080a1565b6004546337ed3a7a60605260055460805260065460a05260405160c052602060606064607c845afa610c0d573d5f5f3e3d5ffd5b60203d10610e5d576060905051815250565b60045463556d6e9f60605260055460805260065460a05260405160c052602060606064607c845afa610c53573d5f5f3e3d5ffd5b60203d10610e5d576060905051815250565b6003546323b872dd60a05260805160c0523060e05260405161010052602060a0606460bc5f855af1610c99573d5f5f3e3d5ffd5b3d602081183d60201002188060a00160c011610e5d5760a0518060011c610e5d576101205250610120505060035463095ea7b360a05260045460c0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60e052602060a0604460bc5f855af1610d11573d5f5f3e3d5ffd5b3d602081183d60201002188060a00160c011610e5d5760a0518060011c610e5d5761010052506101005050600454635b41b90860c05260055460e05260065461010052604060406101205e602060c0608460dc5f855af1610d74573d5f5f3e3d5ffd5b60203d10610e5d5760c090505160a05260a051815250565b60605160405114610da257600854331415610da4565b5f5b15610e5b5760076040516020525f5260405f20806060516020525f5260405f2090505460a052600860a0511815610e5b5760805160a0511815610e5b5760208061012052600760c0527f2163616c6c65720000000000000000000000000000000000000000000000000060e05260c0816101200160208251018083835e508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506308c379a0610100528060040161011cfd5b565b5f80fd03d50b120b1200180a9e007d00b804980af60b12054f0346057302670b1209710b120a1b

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000006e58089d8e8f664823d26454f49a5a0f2ff697fe000000000000000000000000fc00000000000000000000000000000000000006000000000000000000000000277fa53c8a53c880e0625c92c92a62a9f60f3f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001

-----Decoded View---------------
Arg [0] : _payment_token (address): 0x6e58089d8E8f664823d26454f49A5A0f2fF697Fe
Arg [1] : _trading_token (address): 0xFC00000000000000000000000000000000000006
Arg [2] : _pool (address): 0x277FA53c8a53C880E0625c92C92a62a9F60f3f04
Arg [3] : _indices (uint256[2]): 0,1

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000006e58089d8e8f664823d26454f49a5a0f2ff697fe
Arg [1] : 000000000000000000000000fc00000000000000000000000000000000000006
Arg [2] : 000000000000000000000000277fa53c8a53c880e0625c92c92a62a9f60f3f04
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000001


Deployed Bytecode Sourcemap

0:12591:0:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;768:22:1;-1:-1:-1;768:22:1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;4032:29:0;-1:-1:-1;4032:29:0;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;4111:27:0;-1:-1:-1;4111:27:0;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;791:30:1;-1:-1:-1;791:30:1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;8815:10:0;8798:14:0;-1:-1:-1;-1:-1:-1;8798:14:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;1584:18:1;-1:-1:-1;-1:-1:-1;1584:18:1;-1:-1:-1;-1:-1:-1;-1:-1:-1;2206:19:1;-1:-1:-1;-1:-1:-1;2206:19:1:i;2206:19:1:-;2251:9:1;-1:-1:-1;-1:-1:-1;-1:-1:-1;2230:18:1;-1:-1:-1;-1:-1:-1;2265:51:1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;2294:10:1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;2306:9:1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;2265:51:1;-1:-1:-1;-1:-1:-1;2265:51:1;1561:755:1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;5011:234:0;-1:-1:-1;5241:3:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;5228:17:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;5228:17:0;-1:-1:-1;5228:17:0;-1:-1:-1;-1:-1:-1;5228:17:0:i;5228:17:0:-;5228:17:0;-1:-1:-1;5011:234:0;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;10812:19:0;-1:-1:-1;-1:-1:-1;10812:19:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;11082:22:0;-1:-1:-1;-1:-1:-1;11082:22:0:i;11082:22:0:-;11125:18:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11109:34:0;11164:5:0;-1:-1:-1;-1:-1:-1;11156:45:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11179:13:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11194:6:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11156:45:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11156:45:0;11156:45:0;-1:-1:-1;10794:426:0;-1:-1:-1;-1:-1:-1;11149:71:0:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11203:17:0;-1:-1:-1;-1:-1:-1;11203:17:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11203:17:0;11203:17:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;10794:426:0:-;10794:426:0;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;2555:10:1;2533:18:1;-1:-1:-1;2533:32:1;2533:32:1;2533:32:1;2526:53:1;-1:-1:-1;-1:-1:-1;2526:53:1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;2567:12:1;-1:-1:-1;2567:12:1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;2567:12:1;2567:12:1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;2526:53:1:-;2609:10:1;-1:-1:-1;-1:-1:-1;2584:36:1;2329:291:1;-1:-1:-1;-1:-1:-1;2584:36:1;-1:-1:-1;-1:-1:-1;2584:36:1:i;2329:291:1:-;2329:291:1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;7018:21:0;7018:21:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;7018:21:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;7018:21:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;7018:21:0;7074:10:0;7050:21:0;-1:-1:-1;-1:-1:-1;7050:21:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;5264:215:0;-1:-1:-1;5475:3:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;5462:17:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;5462:17:0;-1:-1:-1;5462:17:0;-1:-1:-1;-1:-1:-1;5462:17:0:i;5462:17:0:-;5462:17:0;-1:-1:-1;5264:215:0;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;10277:26:0;-1:-1:-1;-1:-1:-1;10277:26:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;10669:22:0;-1:-1:-1;-1:-1:-1;10669:22:0:i;10669:22:0:-;10724:17:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;10696:25:0;-1:-1:-1;-1:-1:-1;10746:35:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;10763:17:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;10746:35:0;-1:-1:-1;-1:-1:-1;10746:35:0;10250:531:0;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;5874:1:0;-1:-1:-1;-1:-1:-1;5852:23:0;6120:3:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;5895:17:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;5895:17:0;-1:-1:-1;-1:-1:-1;5895:17:0;-1:-1:-1;-1:-1:-1;5895:17:0:i;5895:17:0:-;5895:17:0;-1:-1:-1;-1:-1:-1;5880:32:0;5880:32:0;-1:-1:-1;-1:-1:-1;5880:32:0;5917:177:0;5917:177:0;-1:-1:-1;5917:177:0;5917:177:0:-;5917:177:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;5981:3:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;5968:17:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;5968:17:0;-1:-1:-1;-1:-1:-1;5968:17:0;-1:-1:-1;-1:-1:-1;5968:17:0:i;5968:17:0:-;5968:17:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;5955:10:0;-1:-1:-1;-1:-1:-1;6120:3:0;-1:-1:-1;5997:17:0;5997:10:0;-1:-1:-1;5997:17:0;-1:-1:-1;5994:100:0;6028:5:0;-1:-1:-1;-1:-1:-1;5994:100:0:-;6066:3:0;-1:-1:-1;-1:-1:-1;6066:15:0;6072:9:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;6066:15:0;-1:-1:-1;6066:15:0;6072:9:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;6066:15:0;6066:15:0;6085:9:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;6066:28:0;-1:-1:-1;6066:28:0;6066:28:0;6060:3:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;5917:177:0;-1:-1:-1;5917:177:0;5917:177:0;5917:177:0;5917:177:0;5917:177:0;-1:-1:-1;-1:-1:-1;5917:177:0:-;5917:177:0:-;5917:177:0;5917:177:0;6120:3:0;-1:-1:-1;6106:17:0;6106:10:0;-1:-1:-1;6106:17:0;-1:-1:-1;6099:24:0;-1:-1:-1;-1:-1:-1;6099:24:0:-;5498:640:0;-1:-1:-1;6135:3:0;-1:-1:-1;-1:-1:-1;5498:640:0;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;4062:29:0;-1:-1:-1;4062:29:0;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;6761:10:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;6724:48:0;-1:-1:-1;-1:-1:-1;6724:48:0;-1:-1:-1;-1:-1:-1;6724:48:0:i;6724:48:0:-;6724:48:0;-1:-1:-1;-1:-1:-1;6697:75:0;6697:75:0;-1:-1:-1;-1:-1:-1;6697:75:0;6785:18:0;-1:-1:-1;6777:64:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;6813:10:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;6825:15:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;6777:64:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;6777:64:0;6363:505:0;6363:505:0;-1:-1:-1;6853:15:0;-1:-1:-1;-1:-1:-1;6363:505:0;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;4092:18:0;-1:-1:-1;4092:18:0;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;7018:21:0;-1:-1:-1;-1:-1:-1;7018:21:0;7074:10:0;7050:21:0;-1:-1:-1;-1:-1:-1;7050:21:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;7018:21:0;7018:21:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;7018:21:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;7018:21:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;7018:21:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;7050:21:0;-1:-1:-1;-1:-1:-1;7050:21:0;6881:1854:0:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;6902:30:0;-1:-1:-1;-1:-1:-1;6902:30:0;7761:12:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;7775:10:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;7787:22:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;7742:68:0;-1:-1:-1;-1:-1:-1;7742:68:0:i;7742:68:0:-;7849:16:0;-1:-1:-1;-1:-1:-1;7838:87:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8683:10:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;7907:12:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;7838:87:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;7838:87:0;7838:87:0;7815:110:0;7815:110:0;-1:-1:-1;-1:-1:-1;7815:110:0;7976:16:0;-1:-1:-1;-1:-1:-1;7965:107:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8683:10:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8050:12:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;7965:107:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;7965:107:0;7965:107:0;7930:148:0;7930:148:0;-1:-1:-1;-1:-1:-1;7930:148:0;8421:12:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8098:26:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;8098:26:0;-1:-1:-1;-1:-1:-1;8098:26:0;-1:-1:-1;-1:-1:-1;8098:26:0:i;8098:26:0:-;8098:26:0;-1:-1:-1;-1:-1:-1;8084:40:0;8084:40:0;-1:-1:-1;-1:-1:-1;8084:40:0;8142:13:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;8136:2:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8129:43:0;8129:43:0;-1:-1:-1;-1:-1:-1;8129:43:0:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8157:15:0;-1:-1:-1;-1:-1:-1;8157:15:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8157:15:0;8157:15:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8129:43:0:-;8533:13:0;-1:-1:-1;8184:33:0;8184:2:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;8189:11:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;8184:16:0;8184:16:0;-1:-1:-1;8177:57:0;8177:57:0;-1:-1:-1;-1:-1:-1;8177:57:0:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8219:15:0;-1:-1:-1;-1:-1:-1;8219:15:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8219:15:0;8219:15:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8177:57:0:-;8264:12:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8240:36:0;8298:25:0;-1:-1:-1;8284:39:0;8284:10:0;8284:39:0;8281:92:0;-1:-1:-1;-1:-1:-1;8281:92:0:-;8348:25:0;-1:-1:-1;-1:-1:-1;8333:12:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;8281:92:0:-;8421:12:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8406:46:0;-1:-1:-1;-1:-1:-1;8406:46:0;-1:-1:-1;-1:-1:-1;8406:46:0:i;8406:46:0:-;8406:46:0;-1:-1:-1;-1:-1:-1;8379:73:0;8379:73:0;-1:-1:-1;-1:-1:-1;8379:73:0;8479:15:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;8497:11:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;8479:29:0;8479:29:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;8458:50:0;8533:13:0;-1:-1:-1;8520:26:0;8520:9:0;-1:-1:-1;-1:-1:-1;8520:26:0;-1:-1:-1;8513:50:0;8513:50:0;-1:-1:-1;-1:-1:-1;8513:50:0:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8548:15:0;-1:-1:-1;-1:-1:-1;8548:15:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8548:15:0;8548:15:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8513:50:0:-;8577:18:0;-1:-1:-1;8569:64:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8605:10:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8617:15:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8569:64:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8569:64:0;6881:1854:0;8646:16:0;-1:-1:-1;-1:-1:-1;8638:97:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8683:10:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8695:9:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8706:9:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8706:9:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8717:12:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8638:97:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;8638:97:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;8638:97:0;6881:1854:0;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;8798:14:0;-1:-1:-1;-1:-1:-1;8798:14:0;8748:571:0:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;9192:5:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;9163:35:0;-1:-1:-1;-1:-1:-1;9163:35:0;-1:-1:-1;-1:-1:-1;9163:35:0:i;9163:35:0:-;9163:35:0;-1:-1:-1;-1:-1:-1;9143:55:0;9143:55:0;-1:-1:-1;-1:-1:-1;9143:55:0;9255:18:0;-1:-1:-1;9247:52:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;9247:52:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;9247:52:0;8748:571:0;8748:571:0;-1:-1:-1;9311:8:0;-1:-1:-1;-1:-1:-1;8748:571:0;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;9356:15:0;-1:-1:-1;9356:15:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;9373:22:0;-1:-1:-1;9373:22:0;9965:6:0;-1:-1:-1;-1:-1:-1;9922:20:0;-1:-1:-1;9943:10:0;9922:32:0;-1:-1:-1;9922:32:0;9922:32:0;9922:32:0;9922:32:0;-1:-1:-1;9922:32:0;9922:32:0;-1:-1:-1;9955:6:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;9922:40:0;9922:40:0;-1:-1:-1;9976:49:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;9998:10:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;9976:49:0;-1:-1:-1;9976:49:0;9332:693:0;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;4182:75:0;-1:-1:-1;4182:75:0;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;4258:37:0;-1:-1:-1;4258:37:0;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;2954:10:1;2940:24:1;2940:10:1;2940:24:1;2940:24:1;-1:-1:-1;-1:-1:-1;-1:-1:-1;2933:41:1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;2966:8:1;-1:-1:-1;2966:8:1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;2966:8:1;2966:8:1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1:-;-1:-1:-1:-;-1:-1:-1;3310:18:1;-1:-1:-1;-1:-1:-1;3371:10:1;-1:-1:-1;-1:-1:-1;-1:-1:-1;3350:31:1;3399:9:1;-1:-1:-1;-1:-1:-1;3386:10:1;-1:-1:-1;3413:46:1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;3438:9:1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;3449:9:1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;3413:46:1;-1:-1:-1;3413:46:1;-1:-1:-1:-;-1:-1:-1:-;11965:9:0;-1:-1:-1;11954:66:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11982:15:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11999:15:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;12016:3:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11954:66:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;11954:66:0;11954:66:0;-1:-1:-1;-1:-1:-1;11947:73:0;11947:73:0;-1:-1:-1:-;-1:-1:-1:-;12099:9:0;-1:-1:-1;12088:66:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;12116:15:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;12133:15:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;12150:3:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;12088:66:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;12088:66:0;12088:66:0;-1:-1:-1;-1:-1:-1;12081:73:0;12081:73:0;-1:-1:-1:-;-1:-1:-1:-;11603:18:0;-1:-1:-1;11595:57:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11635:5:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11642:4:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;11648:3:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11595:57:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11595:57:0;-1:-1:-1;11688:18:0;-1:-1:-1;11680:73:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11715:17:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11734:18:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11680:73:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11680:73:0;-1:-1:-1;11786:9:0;-1:-1:-1;11778:88:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11814:15:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11831:15:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;11778:88:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;11778:88:0;11778:88:0;11758:108:0;11758:108:0;-1:-1:-1;11758:108:0;11878:8:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;11871:15:0;11871:15:0;-1:-1:-1:-;-1:-1:-1:-;12342:7:0;-1:-1:-1;-1:-1:-1;12330:8:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;12330:63:0;-1:-1:-1;-1:-1:-1;12330:63:0:-;12368:25:0;-1:-1:-1;-1:-1:-1;12354:10:0;-1:-1:-1;-1:-1:-1;12330:63:0;-1:-1:-1;-1:-1:-1;12330:63:0:-;12330:63:0:-;-1:-1:-1;12330:63:0:-;12327:264:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;12327:264:0:-;12429:20:0;-1:-1:-1;12450:8:0;-1:-1:-1;-1:-1:-1;12429:30:0;-1:-1:-1;12429:30:0;12429:30:0;12429:30:0;12429:30:0;-1:-1:-1;12429:30:0;12429:30:0;-1:-1:-1;12460:7:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;12429:39:0;12429:39:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;12403:65:0;12491:29:0;-1:-1:-1;12480:7:0;-1:-1:-1;12480:40:0;12480:40:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;12568:11:0;-1:-1:-1;12557:22:0;12557:7:0;-1:-1:-1;12557:22:0;12557:22:0;12557:22:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;12549:42:0:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;12582:9:0;-1:-1:-1;12582:9:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;12582:9:0;12582:9:0;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1:-;-1:-1:-1:-;-1:-1:-1:-;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1;-1:-1:-1

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.