POL Price: $0.369972 (-2.17%)
 

Sponsored

Transaction Hash
Method
Block
From
To
Approve623347892024-09-27 9:58:596 days ago1727431139IN
0x7387D3Bb...2F99681A9
0 POL0.0008436234.83333336
Transfer616655722024-09-10 19:29:0822 days ago1725996548IN
0x7387D3Bb...2F99681A9
0 POL0.001486550
Approve614870532024-09-06 8:36:0227 days ago1725611762IN
0x7387D3Bb...2F99681A9
0 POL0.0034877275
Approve597927682024-07-25 13:16:5270 days ago1721913412IN
0x7387D3Bb...2F99681A9
0 POL0.0012109550
Approve597874462024-07-25 10:06:1370 days ago1721901973IN
0x7387D3Bb...2F99681A9
0 POL0.0013950930.00000004
Approve596380692024-07-21 16:55:0873 days ago1721580908IN
0x7387D3Bb...2F99681A9
0 POL0.0013983430.07000006
Approve587829252024-06-30 9:06:5395 days ago1719738413IN
0x7387D3Bb...2F99681A9
0 POL0.0013950930.00000004
Approve581318932024-06-14 1:14:50111 days ago1718327690IN
0x7387D3Bb...2F99681A9
0 POL0.0013109550
Approve581318892024-06-14 1:14:42111 days ago1718327682IN
0x7387D3Bb...2F99681A9
0 POL0.0012109550
Approve581318592024-06-14 1:13:38111 days ago1718327618IN
0x7387D3Bb...2F99681A9
0 POL0.0012109550
Approve577442832024-06-04 3:58:27121 days ago1717473507IN
0x7387D3Bb...2F99681A9
0 POL0.0034877275
Approve577438722024-06-04 3:42:51121 days ago1717472571IN
0x7387D3Bb...2F99681A9
0 POL0.0028626161.55759747
Transfer577067612024-06-03 4:22:53122 days ago1717388573IN
0x7387D3Bb...2F99681A9
0 POL0.0344941,000
Transfer577067552024-06-03 4:22:41122 days ago1717388561IN
0x7387D3Bb...2F99681A9
0 POL0.0344941,000
Transfer577067492024-06-03 4:22:27122 days ago1717388547IN
0x7387D3Bb...2F99681A9
0 POL0.0344941,000
Transfer577067392024-06-03 4:22:07122 days ago1717388527IN
0x7387D3Bb...2F99681A9
0 POL0.0344941,000
Transfer577067322024-06-03 4:21:51122 days ago1717388511IN
0x7387D3Bb...2F99681A9
0 POL0.0344941,000
Transfer577067262024-06-03 4:21:39122 days ago1717388499IN
0x7387D3Bb...2F99681A9
0 POL0.0344941,000
Transfer577067212024-06-03 4:21:29122 days ago1717388489IN
0x7387D3Bb...2F99681A9
0 POL0.0344941,000
Transfer577067162024-06-03 4:21:17122 days ago1717388477IN
0x7387D3Bb...2F99681A9
0 POL0.0344941,000
Transfer577067112024-06-03 4:21:07122 days ago1717388467IN
0x7387D3Bb...2F99681A9
0 POL0.0344941,000
Transfer577067022024-06-03 4:20:47122 days ago1717388447IN
0x7387D3Bb...2F99681A9
0 POL0.0344941,000
Transfer577066952024-06-03 4:20:33122 days ago1717388433IN
0x7387D3Bb...2F99681A9
0 POL0.0344941,000
Transfer577066892024-06-03 4:20:21122 days ago1717388421IN
0x7387D3Bb...2F99681A9
0 POL0.0344941,000
Transfer577066812024-06-03 4:20:03122 days ago1717388403IN
0x7387D3Bb...2F99681A9
0 POL0.0344941,000
View all transactions

Latest 3 internal transactions

Parent Transaction Hash Block From To
433598712023-05-31 7:51:26491 days ago1685519486
0x7387D3Bb...2F99681A9
24.96506385 POL
432390252023-05-28 6:33:55494 days ago1685255635
0x7387D3Bb...2F99681A9
101.59806623 POL
428632102023-05-18 17:39:21503 days ago1684431561
0x7387D3Bb...2F99681A9
3.04 POL
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AZURALINK

Compiler Version
v0.5.10+commit.5a6ea5b1

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2023-05-08
*/

pragma solidity >=0.5.10;

library SafeMath {
  function add(uint a, uint b) internal pure returns (uint c) {
    c = a + b;
    require(c >= a);
  }
  function sub(uint a, uint b) internal pure returns (uint c) {
    require(b <= a);
    c = a - b;
  }
  function mul(uint a, uint b) internal pure returns (uint c) {
    c = a * b;
    require(a == 0 || c / a == b);
  }
  function div(uint a, uint b) internal pure returns (uint c) {
    require(b > 0);
    c = a / b;
  }
}

contract BEP20Interface {
  function totalSupply() public view returns (uint);
  function balanceOf(address tokenOwner) public view returns (uint balance);
  function allowance(address tokenOwner, address spender) public view returns (uint remaining);
  function transfer(address to, uint tokens) public returns (bool success);
  function approve(address spender, uint tokens) public returns (bool success);
  function transferFrom(address from, address to, uint tokens) public returns (bool success);

  event Transfer(address indexed from, address indexed to, uint tokens);
  event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}

contract ApproveAndCallFallBack {
  function receiveApproval(address from, uint256 tokens, address token, bytes memory data) public;
}

contract Owned {
  address public owner;
  address public newOwner;
  address public BUSD = 0xdAb529f40E671A1D4bF91361c21bf9f0C9712ab7;
  address public USDT = 0xc2132D05D31c914a87C6611C10748AEb04B58e8F;
  address public USDC = 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174;
  address public WBNB = 0xeCDCB5B88F8e3C15f95c720C51c71c9E2080525d;


  event OwnershipTransferred(address indexed _from, address indexed _to);

  constructor() public {
    owner = msg.sender;
  }

  modifier onlyOwner {
    require(msg.sender == owner);
    _;
  }

  function transferOwnership(address _newOwner) public onlyOwner {
    newOwner = _newOwner;
  }
  function acceptOwnership() public {
    require(msg.sender == newOwner);
    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
    newOwner = address(0);
  }
}

contract TokenBEP20 is BEP20Interface, Owned{
  using SafeMath for uint;

  string public symbol;
  string public name;
  uint8 public decimals;
  uint _totalSupply;

  mapping(address => uint) balances;
  mapping(address => mapping(address => uint)) allowed;
  mapping(address => bool) public hasClaimed;

  constructor() public {
    symbol = "AZURA";
    name = "AZURA LINK";
    decimals = 18;
    _totalSupply =  500000000000e18;
    balances[owner] = _totalSupply;
    emit Transfer(address(0), owner, _totalSupply);
  }

  function totalSupply() public view returns (uint) {
    return _totalSupply.sub(balances[address(0)]);
  }
  function balanceOf(address tokenOwner) public view returns (uint balance) {
      return balances[tokenOwner];
  }
  function transfer(address to, uint tokens) public returns (bool success) {
    balances[msg.sender] = balances[msg.sender].sub(tokens);
    balances[to] = balances[to].add(tokens);
    emit Transfer(msg.sender, to, tokens);
    return true;
  }
  function approve(address spender, uint tokens) public returns (bool success) {
    allowed[msg.sender][spender] = tokens;
    emit Approval(msg.sender, spender, tokens);
    return true;
  }
  function transferFrom(address from, address to, uint tokens) public returns (bool success) {
    balances[from] = balances[from].sub(tokens);
    allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);
    balances[to] = balances[to].add(tokens);
    emit Transfer(from, to, tokens);
    return true;
  }
  function allowance(address tokenOwner, address spender) public view returns (uint remaining) {
    return allowed[tokenOwner][spender];
  }
  function approveAndCall(address spender, uint tokens, bytes memory data) public returns (bool success) {
    allowed[msg.sender][spender] = tokens;
    emit Approval(msg.sender, spender, tokens);
    ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, address(this), data);
    return true;
  }
  function () external payable {
    revert();
  }
}

contract AZURALINK is TokenBEP20 {

  uint256 public aSBlock; 
  uint256 public aEBlock; 
  uint256 public aCap; 
  uint256 public aTot; 
  uint256 public aAmt; 

 
  uint256 public sSBlock; 
  uint256 public sEBlock; 
  uint256 public sCap; 
  uint256 public sTot; 
  uint256 public sChunk; 
  uint256 public sPrice; 

    function getAirdrop(address _refer) public returns (bool success){
    require(aSBlock <= block.number && block.number <= aEBlock);
    require(aTot < aCap || aCap == 0);
    require(!hasClaimed[msg.sender], "You have already claimed the airdrop");
    aTot ++;
    hasClaimed[msg.sender] = true;
    if(msg.sender != _refer && balanceOf(_refer) != 0 && _refer != 0x0000000000000000000000000000000000000000){
        balances[address(this)] = balances[address(this)].sub(aAmt / 1);
        balances[_refer] = balances[_refer].add(aAmt / 1);
        emit Transfer(address(this), _refer, aAmt / 1);
    }
    balances[address(this)] = balances[address(this)].sub(aAmt / 1);
    balances[msg.sender] = balances[msg.sender].add(aAmt / 1);
    emit Transfer(address(this), msg.sender, aAmt / 1);
    return true;
    }

  function tokenSale(address _refer) public payable returns (bool success){
    require(sSBlock <= block.number && block.number <= sEBlock);
    require(sTot < sCap || sCap == 0);
    uint256 _eth = msg.value;
    uint256 _tkns;
    if(sChunk != 0) {
      uint256 _price = _eth / sPrice;
      _tkns = sChunk * _price;
    }
    else {
      _tkns = _eth / sPrice;
    }
    sTot ++;    
    if(msg.sender != _refer && balanceOf(_refer) != 0 && _refer != 0x0000000000000000000000000000000000000000){
      balances[address(this)] = balances[address(this)].sub(_tkns / 10);
      balances[_refer] = balances[_refer].add(_tkns / 10);
      emit Transfer(address(this), _refer, _tkns / 10);
    }
    balances[address(this)] = balances[address(this)].sub(_tkns);
    balances[msg.sender] = balances[msg.sender].add(_tkns);
    emit Transfer(address(this), msg.sender, _tkns);
    return true;
  }

  function viewAirdrop() public view returns(uint256 StartBlock, uint256 EndBlock, uint256 DropCap, uint256 DropCount, uint256 DropAmount){
    return(aSBlock, aEBlock, aCap, aTot, aAmt);
  }
  function viewSale() public view returns(uint256 StartBlock, uint256 EndBlock, uint256 SaleCap, uint256 SaleCount, uint256 ChunkSize, uint256 SalePrice){
    return(sSBlock, sEBlock, sCap, sTot, sChunk, sPrice);
  }
  
  function startAirdrop(uint256 _aSBlock, uint256 _aEBlock, uint256 _aAmt, uint256 _aCap) public onlyOwner() {
    aSBlock = _aSBlock;
    aEBlock = _aEBlock;
    aAmt = _aAmt;
    aCap = _aCap;
    aTot = 0;
  }
  function startSale(uint256 _sSBlock, uint256 _sEBlock, uint256 _sChunk, uint256 _sPrice, uint256 _sCap) public onlyOwner() {
    sSBlock = _sSBlock;
    sEBlock = _sEBlock;
    sChunk = _sChunk;
    sPrice =_sPrice;
    sCap = _sCap;
    sTot = 0;
  }
  function WithdrawMATIC() public onlyOwner() {
    address payable _owner = msg.sender;
    _owner.transfer(address(this).balance);
  }

function withdrawTokens() public onlyOwner() {
    uint256 balance = balanceOf(address(this));
    require(balance > 0, "No balance to withdraw");
    balances[msg.sender] = balances[msg.sender].add(balance);
    balances[address(this)] = 0;
    emit Transfer(address(this), msg.sender, balance);
}

  function withdrawBUSD(uint256 amount) public onlyOwner returns (bool) {
  BEP20Interface BUSDContract = BEP20Interface(BUSD);
  require(BUSDContract.transfer(msg.sender, amount), "BUSD transfer failed");
  return true;
}

  function withdrawUSDT(uint256 amount) public onlyOwner returns (bool) {
  BEP20Interface BUSDContract = BEP20Interface(USDT);
  require(BUSDContract.transfer(msg.sender, amount), "USDT transfer failed");
  return true;
}

  function withdrawUSDC(uint256 amount) public onlyOwner returns (bool) {
  BEP20Interface BUSDContract = BEP20Interface(USDC);
  require(BUSDContract.transfer(msg.sender, amount), "USDC transfer failed");
  return true;
}

  function withdrawWBNB(uint256 amount) public onlyOwner returns (bool) {
  BEP20Interface BUSDContract = BEP20Interface(WBNB);
  require(BUSDContract.transfer(msg.sender, amount), "WBNB transfer failed");
  return true;
}

  function burnTokens(uint256 _amount) public returns (bool success) {
    require(balances[msg.sender] >= _amount, "Insufficient balance");
    balances[msg.sender] = balances[msg.sender].sub(_amount);
    _totalSupply = _totalSupply.sub(_amount);
    emit Transfer(msg.sender, address(0), _amount);
    return true;
}

  function() external payable {

  }
  
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_refer","type":"address"}],"name":"getAirdrop","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"aSBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sSBlock","type":"uint256"},{"name":"_sEBlock","type":"uint256"},{"name":"_sChunk","type":"uint256"},{"name":"_sPrice","type":"uint256"},{"name":"_sCap","type":"uint256"}],"name":"startSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdrawUSDT","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"BUSD","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"viewSale","outputs":[{"name":"StartBlock","type":"uint256"},{"name":"EndBlock","type":"uint256"},{"name":"SaleCap","type":"uint256"},{"name":"SaleCount","type":"uint256"},{"name":"ChunkSize","type":"uint256"},{"name":"SalePrice","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"aTot","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_refer","type":"address"}],"name":"tokenSale","outputs":[{"name":"success","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"burnTokens","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"hasClaimed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_aSBlock","type":"uint256"},{"name":"_aEBlock","type":"uint256"},{"name":"_aAmt","type":"uint256"},{"name":"_aCap","type":"uint256"}],"name":"startAirdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sTot","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"USDC","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"WBNB","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sSBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdrawWBNB","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sChunk","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"aEBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"aCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"USDT","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"},{"name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdrawBUSD","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sEBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"viewAirdrop","outputs":[{"name":"StartBlock","type":"uint256"},{"name":"EndBlock","type":"uint256"},{"name":"DropCap","type":"uint256"},{"name":"DropCount","type":"uint256"},{"name":"DropAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdrawUSDC","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"WithdrawMATIC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"aAmt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"}]

608060405273dab529f40e671a1d4bf91361c21bf9f0c9712ab7600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c2132d05d31c914a87c6611c10748aeb04b58e8f600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550732791bca1f2de4661ed88a30c99a7a9449aa84174600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073ecdcb5b88f8e3c15f95c720c51c71c9e2080525d600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600581526020017f415a55524100000000000000000000000000000000000000000000000000000081525060069080519060200190620001e59291906200035a565b506040518060400160405280600a81526020017f415a555241204c494e4b0000000000000000000000000000000000000000000081525060079080519060200190620002339291906200035a565b506012600860006101000a81548160ff021916908360ff1602179055506c064f964e68233a76f520000000600981905550600954600a60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040518082815260200191505060405180910390a362000409565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200039d57805160ff1916838001178555620003ce565b82800160010185558215620003ce579182015b82811115620003cd578251825591602001919060010190620003b0565b5b509050620003dd9190620003e1565b5090565b6200040691905b8082111562000402576000816000905550600101620003e8565b5090565b90565b61347880620004196000396000f3fe60806040526004361061025c5760003560e01c80638d8f2adb11610144578063c54e44eb116100b6578063d69b197f1161007a578063d69b197f14610e2c578063db81f99b14610e73578063dd62ed3e14610ec6578063f2fde38b14610f4b578063f58481d514610f9c578063fc88471214610fb35761025c565b8063c54e44eb14610bf6578063cae9ca5114610c4d578063cc3bcaf314610d57578063ced4138a14610daa578063d4ee1d9014610dd55761025c565b80639c095a35116101085780639c095a3514610a845780639d5f9dfb14610ad7578063a695cb7f14610b02578063a9059cbb14610b2d578063af5f65ee14610ba0578063c465a3db14610bcb5761025c565b80638d8f2adb146109045780638da5cb5b1461091b5780638dd9500214610972578063933fe660146109c957806395d89b41146109f45761025c565b80634a7781d9116101dd57806370a08231116101a157806370a082311461074457806373b2e80e146107a957806376f25a841461081257806379ba50971461086b5780637d1702831461088257806389a30271146108ad5761025c565b80634a7781d9146105f15780634d1d03d11461061c57806354aeebe41461066a5780636643ef9f146106955780636d1b229d146106f15761025c565b80631dc4f9ea116102245780631dc4f9ea1461042057806323b872dd14610483578063313ce567146105165780633ea521ef14610547578063484f4ea91461059a5761025c565b8063069f5bdd1461025e57806306fdde03146102c7578063095ea7b31461035757806315d8f7e4146103ca57806318160ddd146103f5575b005b34801561026a57600080fd5b506102ad6004803603602081101561028157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fde565b604051808215151515815260200191505060405180910390f35b3480156102d357600080fd5b506102dc61151a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561031c578082015181840152602081019050610301565b50505050905090810190601f1680156103495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561036357600080fd5b506103b06004803603604081101561037a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115b8565b604051808215151515815260200191505060405180910390f35b3480156103d657600080fd5b506103df6116aa565b6040518082815260200191505060405180910390f35b34801561040157600080fd5b5061040a6116b0565b6040518082815260200191505060405180910390f35b34801561042c57600080fd5b50610481600480360360a081101561044357600080fd5b81019080803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919050505061170b565b005b34801561048f57600080fd5b506104fc600480360360608110156104a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611796565b604051808215151515815260200191505060405180910390f35b34801561052257600080fd5b5061052b611a41565b604051808260ff1660ff16815260200191505060405180910390f35b34801561055357600080fd5b506105806004803603602081101561056a57600080fd5b8101908080359060200190929190505050611a54565b604051808215151515815260200191505060405180910390f35b3480156105a657600080fd5b506105af611c14565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105fd57600080fd5b50610606611c3a565b6040518082815260200191505060405180910390f35b34801561062857600080fd5b50610631611c40565b60405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390f35b34801561067657600080fd5b5061067f611c6f565b6040518082815260200191505060405180910390f35b6106d7600480360360208110156106ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c75565b604051808215151515815260200191505060405180910390f35b3480156106fd57600080fd5b5061072a6004803603602081101561071457600080fd5b81019080803590602001909291905050506120ca565b604051808215151515815260200191505060405180910390f35b34801561075057600080fd5b506107936004803603602081101561076757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122a0565b6040518082815260200191505060405180910390f35b3480156107b557600080fd5b506107f8600480360360208110156107cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122e9565b604051808215151515815260200191505060405180910390f35b34801561081e57600080fd5b506108696004803603608081101561083557600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190505050612309565b005b34801561087757600080fd5b5061088061238c565b005b34801561088e57600080fd5b50610897612529565b6040518082815260200191505060405180910390f35b3480156108b957600080fd5b506108c261252f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561091057600080fd5b50610919612555565b005b34801561092757600080fd5b50610930612773565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561097e57600080fd5b50610987612798565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109d557600080fd5b506109de6127be565b6040518082815260200191505060405180910390f35b348015610a0057600080fd5b50610a096127c4565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a49578082015181840152602081019050610a2e565b50505050905090810190601f168015610a765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a9057600080fd5b50610abd60048036036020811015610aa757600080fd5b8101908080359060200190929190505050612862565b604051808215151515815260200191505060405180910390f35b348015610ae357600080fd5b50610aec612a22565b6040518082815260200191505060405180910390f35b348015610b0e57600080fd5b50610b17612a28565b6040518082815260200191505060405180910390f35b348015610b3957600080fd5b50610b8660048036036040811015610b5057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612a2e565b604051808215151515815260200191505060405180910390f35b348015610bac57600080fd5b50610bb5612bc9565b6040518082815260200191505060405180910390f35b348015610bd757600080fd5b50610be0612bcf565b6040518082815260200191505060405180910390f35b348015610c0257600080fd5b50610c0b612bd5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c5957600080fd5b50610d3d60048036036060811015610c7057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610cb757600080fd5b820183602082011115610cc957600080fd5b80359060200191846001830284011164010000000083111715610ceb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612bfb565b604051808215151515815260200191505060405180910390f35b348015610d6357600080fd5b50610d9060048036036020811015610d7a57600080fd5b8101908080359060200190929190505050612e2e565b604051808215151515815260200191505060405180910390f35b348015610db657600080fd5b50610dbf612fee565b6040518082815260200191505060405180910390f35b348015610de157600080fd5b50610dea612ff4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e3857600080fd5b50610e4161301a565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b348015610e7f57600080fd5b50610eac60048036036020811015610e9657600080fd5b8101908080359060200190929190505050613042565b604051808215151515815260200191505060405180910390f35b348015610ed257600080fd5b50610f3560048036036040811015610ee957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613202565b6040518082815260200191505060405180910390f35b348015610f5757600080fd5b50610f9a60048036036020811015610f6e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613289565b005b348015610fa857600080fd5b50610fb1613326565b005b348015610fbf57600080fd5b50610fc86133e5565b6040518082815260200191505060405180910390f35b600043600d5411158015610ff45750600e544311155b610ffd57600080fd5b600f54601054108061101157506000600f54145b61101a57600080fd5b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156110bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806134206024913960400191505060405180910390fd5b6010600081548092919060010191905055506001600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561116c57506000611169836122a0565b14155b80156111a55750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561135e576112086001601154816111b957fe5b04600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133eb90919063ffffffff16565b600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112a960016011548161125a57fe5b04600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461340590919063ffffffff16565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60016011548161134757fe5b046040518082815260200191505060405180910390a35b6113bc60016011548161136d57fe5b04600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133eb90919063ffffffff16565b600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061145d60016011548161140e57fe5b04600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461340590919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6001601154816114fb57fe5b046040518082815260200191505060405180910390a360019050919050565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115b05780601f10611585576101008083540402835291602001916115b0565b820191906000526020600020905b81548152906001019060200180831161159357829003601f168201915b505050505081565b600081600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600d5481565b6000611706600a60008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546009546133eb90919063ffffffff16565b905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461176457600080fd5b846012819055508360138190555082601681905550816017819055508060148190555060006015819055505050505050565b60006117ea82600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133eb90919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118bc82600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133eb90919063ffffffff16565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061198e82600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461340590919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600860009054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611aaf57600080fd5b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611b5d57600080fd5b505af1158015611b71573d6000803e3d6000fd5b505050506040513d6020811015611b8757600080fd5b8101908080519060200190929190505050611c0a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f55534454207472616e73666572206661696c656400000000000000000000000081525060200191505060405180910390fd5b6001915050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60175481565b600080600080600080601254601354601454601554601654601754955095509550955095509550909192939495565b60105481565b60004360125411158015611c8b57506013544311155b611c9457600080fd5b6014546015541080611ca857506000601454145b611cb157600080fd5b600034905060008060165414611cde5760006017548381611cce57fe5b0490508060165402915050611ced565b6017548281611ce957fe5b0490505b6015600081548092919060010191905055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611d4457506000611d41856122a0565b14155b8015611d7d5750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f3057611dde600a8281611d8f57fe5b04600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133eb90919063ffffffff16565b600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e7d600a8281611e2e57fe5b04600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461340590919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a8481611f1957fe5b046040518082815260200191505060405180910390a35b611f8281600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133eb90919063ffffffff16565b600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061201781600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461340590919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600192505050919050565b600081600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612181576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f496e73756666696369656e742062616c616e636500000000000000000000000081525060200191505060405180910390fd5b6121d382600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133eb90919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061222b826009546133eb90919063ffffffff16565b600981905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050919050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461236257600080fd5b83600d8190555082600e819055508160118190555080600f81905550600060108190555050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146123e657600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60155481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125ae57600080fd5b60006125b9306122a0565b905060008111612631576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4e6f2062616c616e636520746f2077697468647261770000000000000000000081525060200191505060405180910390fd5b61268381600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461340590919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b60068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561285a5780601f1061282f5761010080835404028352916020019161285a565b820191906000526020600020905b81548152906001019060200180831161283d57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146128bd57600080fd5b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561296b57600080fd5b505af115801561297f573d6000803e3d6000fd5b505050506040513d602081101561299557600080fd5b8101908080519060200190929190505050612a18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f57424e42207472616e73666572206661696c656400000000000000000000000081525060200191505060405180910390fd5b6001915050919050565b60165481565b600e5481565b6000612a8282600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133eb90919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b1782600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461340590919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60145481565b600f5481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600082600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612dbc578082015181840152602081019050612da1565b50505050905090810190601f168015612de95780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015612e0b57600080fd5b505af1158015612e1f573d6000803e3d6000fd5b50505050600190509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612e8957600080fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612f3757600080fd5b505af1158015612f4b573d6000803e3d6000fd5b505050506040513d6020811015612f6157600080fd5b8101908080519060200190929190505050612fe4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f42555344207472616e73666572206661696c656400000000000000000000000081525060200191505060405180910390fd5b6001915050919050565b60135481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000806000600d54600e54600f54601054601154945094509450945094509091929394565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461309d57600080fd5b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561314b57600080fd5b505af115801561315f573d6000803e3d6000fd5b505050506040513d602081101561317557600080fd5b81019080805190602001909291905050506131f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f55534443207472616e73666572206661696c656400000000000000000000000081525060200191505060405180910390fd5b6001915050919050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146132e257600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461337f57600080fd5b60003390508073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501580156133e1573d6000803e3d6000fd5b5050565b60115481565b6000828211156133fa57600080fd5b818303905092915050565b600081830190508281101561341957600080fd5b9291505056fe596f75206861766520616c726561647920636c61696d6564207468652061697264726f70a265627a7a7230582000fd0c59baf1bb8ab1f7959f96dd51b713006c3eae5f0f91b432ab855fcdb29564736f6c634300050a0032

Deployed Bytecode

0x60806040526004361061025c5760003560e01c80638d8f2adb11610144578063c54e44eb116100b6578063d69b197f1161007a578063d69b197f14610e2c578063db81f99b14610e73578063dd62ed3e14610ec6578063f2fde38b14610f4b578063f58481d514610f9c578063fc88471214610fb35761025c565b8063c54e44eb14610bf6578063cae9ca5114610c4d578063cc3bcaf314610d57578063ced4138a14610daa578063d4ee1d9014610dd55761025c565b80639c095a35116101085780639c095a3514610a845780639d5f9dfb14610ad7578063a695cb7f14610b02578063a9059cbb14610b2d578063af5f65ee14610ba0578063c465a3db14610bcb5761025c565b80638d8f2adb146109045780638da5cb5b1461091b5780638dd9500214610972578063933fe660146109c957806395d89b41146109f45761025c565b80634a7781d9116101dd57806370a08231116101a157806370a082311461074457806373b2e80e146107a957806376f25a841461081257806379ba50971461086b5780637d1702831461088257806389a30271146108ad5761025c565b80634a7781d9146105f15780634d1d03d11461061c57806354aeebe41461066a5780636643ef9f146106955780636d1b229d146106f15761025c565b80631dc4f9ea116102245780631dc4f9ea1461042057806323b872dd14610483578063313ce567146105165780633ea521ef14610547578063484f4ea91461059a5761025c565b8063069f5bdd1461025e57806306fdde03146102c7578063095ea7b31461035757806315d8f7e4146103ca57806318160ddd146103f5575b005b34801561026a57600080fd5b506102ad6004803603602081101561028157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fde565b604051808215151515815260200191505060405180910390f35b3480156102d357600080fd5b506102dc61151a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561031c578082015181840152602081019050610301565b50505050905090810190601f1680156103495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561036357600080fd5b506103b06004803603604081101561037a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115b8565b604051808215151515815260200191505060405180910390f35b3480156103d657600080fd5b506103df6116aa565b6040518082815260200191505060405180910390f35b34801561040157600080fd5b5061040a6116b0565b6040518082815260200191505060405180910390f35b34801561042c57600080fd5b50610481600480360360a081101561044357600080fd5b81019080803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919050505061170b565b005b34801561048f57600080fd5b506104fc600480360360608110156104a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611796565b604051808215151515815260200191505060405180910390f35b34801561052257600080fd5b5061052b611a41565b604051808260ff1660ff16815260200191505060405180910390f35b34801561055357600080fd5b506105806004803603602081101561056a57600080fd5b8101908080359060200190929190505050611a54565b604051808215151515815260200191505060405180910390f35b3480156105a657600080fd5b506105af611c14565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105fd57600080fd5b50610606611c3a565b6040518082815260200191505060405180910390f35b34801561062857600080fd5b50610631611c40565b60405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390f35b34801561067657600080fd5b5061067f611c6f565b6040518082815260200191505060405180910390f35b6106d7600480360360208110156106ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c75565b604051808215151515815260200191505060405180910390f35b3480156106fd57600080fd5b5061072a6004803603602081101561071457600080fd5b81019080803590602001909291905050506120ca565b604051808215151515815260200191505060405180910390f35b34801561075057600080fd5b506107936004803603602081101561076757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122a0565b6040518082815260200191505060405180910390f35b3480156107b557600080fd5b506107f8600480360360208110156107cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122e9565b604051808215151515815260200191505060405180910390f35b34801561081e57600080fd5b506108696004803603608081101561083557600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190505050612309565b005b34801561087757600080fd5b5061088061238c565b005b34801561088e57600080fd5b50610897612529565b6040518082815260200191505060405180910390f35b3480156108b957600080fd5b506108c261252f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561091057600080fd5b50610919612555565b005b34801561092757600080fd5b50610930612773565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561097e57600080fd5b50610987612798565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109d557600080fd5b506109de6127be565b6040518082815260200191505060405180910390f35b348015610a0057600080fd5b50610a096127c4565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a49578082015181840152602081019050610a2e565b50505050905090810190601f168015610a765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a9057600080fd5b50610abd60048036036020811015610aa757600080fd5b8101908080359060200190929190505050612862565b604051808215151515815260200191505060405180910390f35b348015610ae357600080fd5b50610aec612a22565b6040518082815260200191505060405180910390f35b348015610b0e57600080fd5b50610b17612a28565b6040518082815260200191505060405180910390f35b348015610b3957600080fd5b50610b8660048036036040811015610b5057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612a2e565b604051808215151515815260200191505060405180910390f35b348015610bac57600080fd5b50610bb5612bc9565b6040518082815260200191505060405180910390f35b348015610bd757600080fd5b50610be0612bcf565b6040518082815260200191505060405180910390f35b348015610c0257600080fd5b50610c0b612bd5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c5957600080fd5b50610d3d60048036036060811015610c7057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610cb757600080fd5b820183602082011115610cc957600080fd5b80359060200191846001830284011164010000000083111715610ceb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612bfb565b604051808215151515815260200191505060405180910390f35b348015610d6357600080fd5b50610d9060048036036020811015610d7a57600080fd5b8101908080359060200190929190505050612e2e565b604051808215151515815260200191505060405180910390f35b348015610db657600080fd5b50610dbf612fee565b6040518082815260200191505060405180910390f35b348015610de157600080fd5b50610dea612ff4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e3857600080fd5b50610e4161301a565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b348015610e7f57600080fd5b50610eac60048036036020811015610e9657600080fd5b8101908080359060200190929190505050613042565b604051808215151515815260200191505060405180910390f35b348015610ed257600080fd5b50610f3560048036036040811015610ee957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613202565b6040518082815260200191505060405180910390f35b348015610f5757600080fd5b50610f9a60048036036020811015610f6e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613289565b005b348015610fa857600080fd5b50610fb1613326565b005b348015610fbf57600080fd5b50610fc86133e5565b6040518082815260200191505060405180910390f35b600043600d5411158015610ff45750600e544311155b610ffd57600080fd5b600f54601054108061101157506000600f54145b61101a57600080fd5b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156110bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806134206024913960400191505060405180910390fd5b6010600081548092919060010191905055506001600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561116c57506000611169836122a0565b14155b80156111a55750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561135e576112086001601154816111b957fe5b04600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133eb90919063ffffffff16565b600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112a960016011548161125a57fe5b04600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461340590919063ffffffff16565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60016011548161134757fe5b046040518082815260200191505060405180910390a35b6113bc60016011548161136d57fe5b04600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133eb90919063ffffffff16565b600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061145d60016011548161140e57fe5b04600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461340590919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6001601154816114fb57fe5b046040518082815260200191505060405180910390a360019050919050565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115b05780601f10611585576101008083540402835291602001916115b0565b820191906000526020600020905b81548152906001019060200180831161159357829003601f168201915b505050505081565b600081600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600d5481565b6000611706600a60008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546009546133eb90919063ffffffff16565b905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461176457600080fd5b846012819055508360138190555082601681905550816017819055508060148190555060006015819055505050505050565b60006117ea82600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133eb90919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118bc82600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133eb90919063ffffffff16565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061198e82600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461340590919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600860009054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611aaf57600080fd5b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611b5d57600080fd5b505af1158015611b71573d6000803e3d6000fd5b505050506040513d6020811015611b8757600080fd5b8101908080519060200190929190505050611c0a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f55534454207472616e73666572206661696c656400000000000000000000000081525060200191505060405180910390fd5b6001915050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60175481565b600080600080600080601254601354601454601554601654601754955095509550955095509550909192939495565b60105481565b60004360125411158015611c8b57506013544311155b611c9457600080fd5b6014546015541080611ca857506000601454145b611cb157600080fd5b600034905060008060165414611cde5760006017548381611cce57fe5b0490508060165402915050611ced565b6017548281611ce957fe5b0490505b6015600081548092919060010191905055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611d4457506000611d41856122a0565b14155b8015611d7d5750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f3057611dde600a8281611d8f57fe5b04600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133eb90919063ffffffff16565b600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e7d600a8281611e2e57fe5b04600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461340590919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a8481611f1957fe5b046040518082815260200191505060405180910390a35b611f8281600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133eb90919063ffffffff16565b600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061201781600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461340590919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600192505050919050565b600081600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612181576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f496e73756666696369656e742062616c616e636500000000000000000000000081525060200191505060405180910390fd5b6121d382600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133eb90919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061222b826009546133eb90919063ffffffff16565b600981905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050919050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461236257600080fd5b83600d8190555082600e819055508160118190555080600f81905550600060108190555050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146123e657600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60155481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125ae57600080fd5b60006125b9306122a0565b905060008111612631576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4e6f2062616c616e636520746f2077697468647261770000000000000000000081525060200191505060405180910390fd5b61268381600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461340590919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b60068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561285a5780601f1061282f5761010080835404028352916020019161285a565b820191906000526020600020905b81548152906001019060200180831161283d57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146128bd57600080fd5b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561296b57600080fd5b505af115801561297f573d6000803e3d6000fd5b505050506040513d602081101561299557600080fd5b8101908080519060200190929190505050612a18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f57424e42207472616e73666572206661696c656400000000000000000000000081525060200191505060405180910390fd5b6001915050919050565b60165481565b600e5481565b6000612a8282600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133eb90919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b1782600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461340590919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60145481565b600f5481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600082600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612dbc578082015181840152602081019050612da1565b50505050905090810190601f168015612de95780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015612e0b57600080fd5b505af1158015612e1f573d6000803e3d6000fd5b50505050600190509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612e8957600080fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612f3757600080fd5b505af1158015612f4b573d6000803e3d6000fd5b505050506040513d6020811015612f6157600080fd5b8101908080519060200190929190505050612fe4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f42555344207472616e73666572206661696c656400000000000000000000000081525060200191505060405180910390fd5b6001915050919050565b60135481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000806000600d54600e54600f54601054601154945094509450945094509091929394565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461309d57600080fd5b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561314b57600080fd5b505af115801561315f573d6000803e3d6000fd5b505050506040513d602081101561317557600080fd5b81019080805190602001909291905050506131f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f55534443207472616e73666572206661696c656400000000000000000000000081525060200191505060405180910390fd5b6001915050919050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146132e257600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461337f57600080fd5b60003390508073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501580156133e1573d6000803e3d6000fd5b5050565b60115481565b6000828211156133fa57600080fd5b818303905092915050565b600081830190508281101561341957600080fd5b9291505056fe596f75206861766520616c726561647920636c61696d6564207468652061697264726f70a265627a7a7230582000fd0c59baf1bb8ab1f7959f96dd51b713006c3eae5f0f91b432ab855fcdb29564736f6c634300050a0032

Deployed Bytecode Sourcemap

4241:4738:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4581:828;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4581:828:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4581:828:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2265:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2265:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2265:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3197:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3197:194:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3197:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4281:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4281:22:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2712:108;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2712:108:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6974:258;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6974:258:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;6974:258:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3395:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3395:321:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3395:321:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2288:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2288:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7917:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7917:224:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7917:224:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1387:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1387:64:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4550:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4550:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6530:216;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6530:216:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4362:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4362:19:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5415:914;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5415:914:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8607:323;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8607:323:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8607:323:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2824:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2824:116:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2824:116:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2433:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2433:42:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2433:42:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6754:216;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6754:216:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;6754:216:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1976:178;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1976:178:0;;;:::i;:::-;;4498:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4498:19:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1525:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1525:64:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7377:304;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7377:304:0;;;:::i;:::-;;1334:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1334:20:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1594:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1594:64:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4417:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4417:22:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2240:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2240:20:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2240:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8377:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8377:224:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8377:224:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4523:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4523:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4309:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4309:22:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2944:249;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2944:249:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2944:249:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4473:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4473:19:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4337;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4337:19:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1456:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1456:64:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3865:315;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3865:315:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3865:315:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3865:315:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3865:315:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3865:315:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;3865:315:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7687:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7687:224:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7687:224:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4445:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4445:22:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1359:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1359:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6335:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6335:191:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8147:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8147:224:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8147:224:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3720:141;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3720:141:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3720:141:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1876:96;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1876:96:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1876:96:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;7236:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7236:137:0;;;:::i;:::-;;4387:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4387:19:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4581:828;4633:12;4672;4661:7;;:23;;:50;;;;;4704:7;;4688:12;:23;;4661:50;4653:59;;;;;;4734:4;;4727;;:11;:24;;;;4750:1;4742:4;;:9;4727:24;4719:33;;;;;;4768:10;:22;4779:10;4768:22;;;;;;;;;;;;;;;;;;;;;;;;;4767:23;4759:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4838:4;;:7;;;;;;;;;;;;;4877:4;4852:10;:22;4863:10;4852:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;4905:6;4891:20;;:10;:20;;;;:46;;;;;4936:1;4915:17;4925:6;4915:9;:17::i;:::-;:22;;4891:46;:102;;;;;4951:42;4941:52;;:6;:52;;;;4891:102;4888:305;;;5031:37;5066:1;5059:4;;:8;;;;;;5031;:23;5048:4;5031:23;;;;;;;;;;;;;;;;:27;;:37;;;;:::i;:::-;5005:8;:23;5022:4;5005:23;;;;;;;;;;;;;;;:63;;;;5098:30;5126:1;5119:4;;:8;;;;;;5098;:16;5107:6;5098:16;;;;;;;;;;;;;;;;:20;;:30;;;;:::i;:::-;5079:8;:16;5088:6;5079:16;;;;;;;;;;;;;;;:49;;;;5168:6;5144:41;;5161:4;5144:41;;;5183:1;5176:4;;:8;;;;;;5144:41;;;;;;;;;;;;;;;;;;4888:305;5225:37;5260:1;5253:4;;:8;;;;;;5225;:23;5242:4;5225:23;;;;;;;;;;;;;;;;:27;;:37;;;;:::i;:::-;5199:8;:23;5216:4;5199:23;;;;;;;;;;;;;;;:63;;;;5292:34;5324:1;5317:4;;:8;;;;;;5292;:20;5301:10;5292:20;;;;;;;;;;;;;;;;:24;;:34;;;;:::i;:::-;5269:8;:20;5278:10;5269:20;;;;;;;;;;;;;;;:57;;;;5362:10;5338:45;;5355:4;5338:45;;;5381:1;5374:4;;:8;;;;;;5338:45;;;;;;;;;;;;;;;;;;5397:4;5390:11;;4581:828;;;:::o;2265:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3197:194::-;3260:12;3312:6;3281:7;:19;3289:10;3281:19;;;;;;;;;;;;;;;:28;3301:7;3281:28;;;;;;;;;;;;;;;:37;;;;3351:7;3330:37;;3339:10;3330:37;;;3360:6;3330:37;;;;;;;;;;;;;;;;;;3381:4;3374:11;;3197:194;;;;:::o;4281:22::-;;;;:::o;2712:108::-;2756:4;2776:38;2793:8;:20;2810:1;2793:20;;;;;;;;;;;;;;;;2776:12;;:16;;:38;;;;:::i;:::-;2769:45;;2712:108;:::o;6974:258::-;1850:5;;;;;;;;;;;1836:19;;:10;:19;;;1828:28;;;;;;7114:8;7104:7;:18;;;;7139:8;7129:7;:18;;;;7163:7;7154:6;:16;;;;7185:7;7177:6;:15;;;;7206:5;7199:4;:12;;;;7225:1;7218:4;:8;;;;6974:258;;;;;:::o;3395:321::-;3472:12;3510:26;3529:6;3510:8;:14;3519:4;3510:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;3493:8;:14;3502:4;3493:14;;;;;;;;;;;;;;;:43;;;;3571:37;3601:6;3571:7;:13;3579:4;3571:13;;;;;;;;;;;;;;;:25;3585:10;3571:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;3543:7;:13;3551:4;3543:13;;;;;;;;;;;;;;;:25;3557:10;3543:25;;;;;;;;;;;;;;;:65;;;;3630:24;3647:6;3630:8;:12;3639:2;3630:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;3615:8;:12;3624:2;3615:12;;;;;;;;;;;;;;;:39;;;;3681:2;3666:26;;3675:4;3666:26;;;3685:6;3666:26;;;;;;;;;;;;;;;;;;3706:4;3699:11;;3395:321;;;;;:::o;2288:21::-;;;;;;;;;;;;;:::o;7917:224::-;7981:4;1850:5;;;;;;;;;;;1836:19;;:10;:19;;;1828:28;;;;;;7992:27;8037:4;;;;;;;;;;;7992:50;;8055:12;:21;;;8077:10;8089:6;8055:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8055:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8055:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8055:41:0;;;;;;;;;;;;;;;;8047:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8133:4;8126:11;;;7917:224;;;:::o;1387:64::-;;;;;;;;;;;;;:::o;4550:21::-;;;;:::o;6530:216::-;6570:18;6590:16;6608:15;6625:17;6644;6663;6695:7;;6704;;6713:4;;6719;;6725:6;;6733;;6688:52;;;;;;;;;;;;6530:216;;;;;;:::o;4362:19::-;;;;:::o;5415:914::-;5474:12;5513;5502:7;;:23;;:50;;;;;5545:7;;5529:12;:23;;5502:50;5494:59;;;;;;5575:4;;5568;;:11;:24;;;;5591:1;5583:4;;:9;5568:24;5560:33;;;;;;5600:12;5615:9;5600:24;;5631:13;5664:1;5654:6;;:11;5651:144;;5676:14;5700:6;;5693:4;:13;;;;;;5676:30;;5732:6;5723;;:15;5715:23;;5651:144;;;;5781:6;;5774:4;:13;;;;;;5766:21;;5651:144;5801:4;;:7;;;;;;;;;;;;;5836:6;5822:20;;:10;:20;;;;:46;;;;;5867:1;5846:17;5856:6;5846:9;:17::i;:::-;:22;;5822:46;:102;;;;;5882:42;5872:52;;:6;:52;;;;5822:102;5819:305;;;5960:39;5996:2;5988:5;:10;;;;;;5960:8;:23;5977:4;5960:23;;;;;;;;;;;;;;;;:27;;:39;;;;:::i;:::-;5934:8;:23;5951:4;5934:23;;;;;;;;;;;;;;;:65;;;;6027:32;6056:2;6048:5;:10;;;;;;6027:8;:16;6036:6;6027:16;;;;;;;;;;;;;;;;:20;;:32;;;;:::i;:::-;6008:8;:16;6017:6;6008:16;;;;;;;;;;;;;;;:51;;;;6097:6;6073:43;;6090:4;6073:43;;;6113:2;6105:5;:10;;;;;;6073:43;;;;;;;;;;;;;;;;;;5819:305;6156:34;6184:5;6156:8;:23;6173:4;6156:23;;;;;;;;;;;;;;;;:27;;:34;;;;:::i;:::-;6130:8;:23;6147:4;6130:23;;;;;;;;;;;;;;;:60;;;;6220:31;6245:5;6220:8;:20;6229:10;6220:20;;;;;;;;;;;;;;;;:24;;:31;;;;:::i;:::-;6197:8;:20;6206:10;6197:20;;;;;;;;;;;;;;;:54;;;;6287:10;6263:42;;6280:4;6263:42;;;6299:5;6263:42;;;;;;;;;;;;;;;;;;6319:4;6312:11;;;;5415:914;;;:::o;8607:323::-;8660:12;8713:7;8689:8;:20;8698:10;8689:20;;;;;;;;;;;;;;;;:31;;8681:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8775:33;8800:7;8775:8;:20;8784:10;8775:20;;;;;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;8752:8;:20;8761:10;8752:20;;;;;;;;;;;;;;;:56;;;;8830:25;8847:7;8830:12;;:16;;:25;;;;:::i;:::-;8815:12;:40;;;;8896:1;8867:41;;8876:10;8867:41;;;8900:7;8867:41;;;;;;;;;;;;;;;;;;8922:4;8915:11;;8607:323;;;:::o;2824:116::-;2884:12;2914:8;:20;2923:10;2914:20;;;;;;;;;;;;;;;;2907:27;;2824:116;;;:::o;2433:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;6754:216::-;1850:5;;;;;;;;;;;1836:19;;:10;:19;;;1828:28;;;;;;6878:8;6868:7;:18;;;;6903:8;6893:7;:18;;;;6925:5;6918:4;:12;;;;6944:5;6937:4;:12;;;;6963:1;6956:4;:8;;;;6754:216;;;;:::o;1976:178::-;2039:8;;;;;;;;;;;2025:22;;:10;:22;;;2017:31;;;;;;2088:8;;;;;;;;;;;2060:37;;2081:5;;;;;;;;;;;2060:37;;;;;;;;;;;;2112:8;;;;;;;;;;;2104:5;;:16;;;;;;;;;;;;;;;;;;2146:1;2127:8;;:21;;;;;;;;;;;;;;;;;;1976:178::o;4498:19::-;;;;:::o;1525:64::-;;;;;;;;;;;;;:::o;7377:304::-;1850:5;;;;;;;;;;;1836:19;;:10;:19;;;1828:28;;;;;;7429:15;7447:24;7465:4;7447:9;:24::i;:::-;7429:42;;7496:1;7486:7;:11;7478:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7554:33;7579:7;7554:8;:20;7563:10;7554:20;;;;;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;7531:8;:20;7540:10;7531:20;;;;;;;;;;;;;;;:56;;;;7620:1;7594:8;:23;7611:4;7594:23;;;;;;;;;;;;;;;:27;;;;7657:10;7633:44;;7650:4;7633:44;;;7669:7;7633:44;;;;;;;;;;;;;;;;;;1863:1;7377:304::o;1334:20::-;;;;;;;;;;;;;:::o;1594:64::-;;;;;;;;;;;;;:::o;4417:22::-;;;;:::o;2240:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8377:224::-;8441:4;1850:5;;;;;;;;;;;1836:19;;:10;:19;;;1828:28;;;;;;8452:27;8497:4;;;;;;;;;;;8452:50;;8515:12;:21;;;8537:10;8549:6;8515:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8515:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8515:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8515:41:0;;;;;;;;;;;;;;;;8507:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8593:4;8586:11;;;8377:224;;;:::o;4523:21::-;;;;:::o;4309:22::-;;;;:::o;2944:249::-;3003:12;3047:32;3072:6;3047:8;:20;3056:10;3047:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;3024:8;:20;3033:10;3024:20;;;;;;;;;;;;;;;:55;;;;3101:24;3118:6;3101:8;:12;3110:2;3101:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;3086:8;:12;3095:2;3086:12;;;;;;;;;;;;;;;:39;;;;3158:2;3137:32;;3146:10;3137:32;;;3162:6;3137:32;;;;;;;;;;;;;;;;;;3183:4;3176:11;;2944:249;;;;:::o;4473:19::-;;;;:::o;4337:::-;;;;:::o;1456:64::-;;;;;;;;;;;;;:::o;3865:315::-;3954:12;4006:6;3975:7;:19;3983:10;3975:19;;;;;;;;;;;;;;;:28;3995:7;3975:28;;;;;;;;;;;;;;;:37;;;;4045:7;4024:37;;4033:10;4024:37;;;4054:6;4024:37;;;;;;;;;;;;;;;;;;4091:7;4068:47;;;4116:10;4128:6;4144:4;4151;4068:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4068:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4068:88:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4068:88:0;;;;4170:4;4163:11;;3865:315;;;;;:::o;7687:224::-;7751:4;1850:5;;;;;;;;;;;1836:19;;:10;:19;;;1828:28;;;;;;7762:27;7807:4;;;;;;;;;;;7762:50;;7825:12;:21;;;7847:10;7859:6;7825:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7825:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7825:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7825:41:0;;;;;;;;;;;;;;;;7817:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7903:4;7896:11;;;7687:224;;;:::o;4445:22::-;;;;:::o;1359:23::-;;;;;;;;;;;;;:::o;6335:191::-;6378:18;6398:16;6416:15;6433:17;6452:18;6485:7;;6494;;6503:4;;6509;;6515;;6478:42;;;;;;;;;;6335:191;;;;;:::o;8147:224::-;8211:4;1850:5;;;;;;;;;;;1836:19;;:10;:19;;;1828:28;;;;;;8222:27;8267:4;;;;;;;;;;;8222:50;;8285:12;:21;;;8307:10;8319:6;8285:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8285:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8285:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8285:41:0;;;;;;;;;;;;;;;;8277:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8363:4;8356:11;;;8147:224;;;:::o;3720:141::-;3797:14;3827:7;:19;3835:10;3827:19;;;;;;;;;;;;;;;:28;3847:7;3827:28;;;;;;;;;;;;;;;;3820:35;;3720:141;;;;:::o;1876:96::-;1850:5;;;;;;;;;;;1836:19;;:10;:19;;;1828:28;;;;;;1957:9;1946:8;;:20;;;;;;;;;;;;;;;;;;1876:96;:::o;7236:137::-;1850:5;;;;;;;;;;;1836:19;;:10;:19;;;1828:28;;;;;;7287:22;7312:10;7287:35;;7329:6;:15;;:38;7353:4;7345:21;;;7329:38;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7329:38:0;1863:1;7236:137::o;4387:19::-;;;;:::o;159:104::-;211:6;239:1;234;:6;;226:15;;;;;;256:1;252;:5;248:9;;159:104;;;;:::o;51:::-;103:6;126:1;122;:5;118:9;;147:1;142;:6;;134:15;;;;;;51:104;;;;:::o

Swarm Source

bzzr://00fd0c59baf1bb8ab1f7959f96dd51b713006c3eae5f0f91b432ab855fcdb295

Block Transaction Gas Used Reward
view all blocks produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]
[ 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.