Polygon Sponsored slots available. Book your slot here!
Overview
POL Balance
44.907500166967208 POL
POL Value
$32.42 (@ $0.72/POL)Token Holdings
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 11,286 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Pay Native | 63272125 | 43 days ago | IN | 0 POL | 0.00799369 | ||||
Pay Native | 63240234 | 44 days ago | IN | 0 POL | 0.00303269 | ||||
Pay Native | 60946997 | 101 days ago | IN | 0 POL | 0.02693739 | ||||
Pay Native | 58249361 | 169 days ago | IN | 16.12903225 POL | 0.00368153 | ||||
Pay Native | 58181874 | 171 days ago | IN | 0 POL | 0.00267815 | ||||
Pay Native | 57647780 | 184 days ago | IN | 14.28571428 POL | 0.00449254 | ||||
Pay Native | 57383985 | 191 days ago | IN | 0 POL | 0.0028636 | ||||
Pay Native | 57368559 | 191 days ago | IN | 0 POL | 0.00272979 | ||||
Pay Native | 56862907 | 205 days ago | IN | 0 POL | 0.0028636 | ||||
Pay Native | 56771077 | 207 days ago | IN | 14.49275362 POL | 0.00394767 | ||||
Pay Native | 56754474 | 208 days ago | IN | 0 POL | 0.00288436 | ||||
Pay Native | 56754434 | 208 days ago | IN | 0 POL | 0.00316691 | ||||
Pay Native | 56629417 | 211 days ago | IN | 0 POL | 0.00296758 | ||||
Withdraw | 56418828 | 216 days ago | IN | 0 POL | 0.00542188 | ||||
Pay Native | 56329874 | 219 days ago | IN | 0 POL | 0.00511167 | ||||
Pay Native | 56324891 | 219 days ago | IN | 0 POL | 0.00326504 | ||||
Pay Native | 56324421 | 219 days ago | IN | 0 POL | 0.00371109 | ||||
Pay Native | 56293139 | 220 days ago | IN | 14.28571428 POL | 0.00825799 | ||||
Pay Native | 55596686 | 238 days ago | IN | 10.63829787 POL | 0.0263098 | ||||
Pay Native | 55535159 | 240 days ago | IN | 11.11111111 POL | 0.00981441 | ||||
Pay Native | 55534949 | 240 days ago | IN | 11.11111111 POL | 0.00901986 | ||||
Pay Native | 55491616 | 241 days ago | IN | 11.23595505 POL | 0.01091112 | ||||
Pay Native | 55476561 | 241 days ago | IN | 11.23595505 POL | 0.03254313 | ||||
Pay Native | 55463015 | 242 days ago | IN | 11.23595505 POL | 0.01403338 | ||||
Pay Native | 55439691 | 242 days ago | IN | 0 POL | 0.01487111 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
56418828 | 216 days ago | 114.56480207 POL | ||||
54280249 | 273 days ago | 3,304.9939769 POL | ||||
47023976 | 458 days ago | 4,106.03957037 POL | ||||
44645537 | 518 days ago | 4,346.07527401 POL | ||||
43990578 | 535 days ago | 4,962.05699686 POL | ||||
43481149 | 548 days ago | 13,593.85001287 POL | ||||
42305956 | 578 days ago | 2,558.32212619 POL | ||||
42187536 | 581 days ago | 8,232.10734605 POL | ||||
41987926 | 586 days ago | 3,292.77256856 POL | ||||
41610792 | 596 days ago | 1,746.64289576 POL | ||||
41485425 | 599 days ago | 681.77753354 POL | ||||
41461840 | 600 days ago | 1,994.19273318 POL | ||||
41421978 | 601 days ago | 898.39384983 POL | ||||
41383472 | 602 days ago | 2,722.12183737 POL | ||||
41306091 | 604 days ago | 2,437.69158769 POL | ||||
41266553 | 605 days ago | 2,334.92283945 POL | ||||
41204824 | 607 days ago | 3,056.49874967 POL | ||||
41137905 | 608 days ago | 2,488.59047308 POL | ||||
41106984 | 609 days ago | 15,525.39899348 POL | ||||
40349186 | 629 days ago | 476.05705267 POL | ||||
39844663 | 642 days ago | 464.72690745 POL | ||||
39520470 | 651 days ago | 963.55083767 POL | ||||
39411602 | 654 days ago | 431.00192625 POL | ||||
39375508 | 655 days ago | 535.36752033 POL | ||||
39099204 | 662 days ago | 354.25187976 POL |
Loading...
Loading
Contract Name:
payments
Compiler Version
v0.8.1+commit.df193b15
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2022-06-06 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.1; library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } contract payments { using SafeMath for uint256; mapping(string => uint256) percent; mapping(address => bool) private admins; address public contractOwner = msg.sender; mapping(bytes32 => address) public receipts; mapping(bytes32 => uint256) public amounts; mapping(address => uint256) public balanceOf; mapping(string => address) public delegate; mapping(string => bytes32) public IDrissHashes; constructor() { delegate["IDriss"] = contractOwner; percent["IDriss"] = 100; } event PaymentDone(address indexed payer, uint256 amount, bytes32 paymentId_hash, string indexed IDrissHash, uint256 date); event AdminAdded(address indexed admin); event AdminDeleted(address indexed admin); event DelegateAdded(string delegateHandle, address indexed delegateAddress); event DelegateDeleted(string delegateHandle, address indexed delegateAddress); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); function addAdmin(address adminAddress) external { require(msg.sender == contractOwner, "Only contractOwner can add admins."); admins[adminAddress] = true; emit AdminAdded(adminAddress); } function deleteAdmin(address adminAddress) external { require(msg.sender == contractOwner, "Only contractOwner can delete admins."); admins[adminAddress] = false; emit AdminDeleted(adminAddress); } function addDelegateException(address delegateAddress, string memory delegateHandle, uint256 percentage) external { require(msg.sender == contractOwner, "Only contractOwner can add special delegate partner."); require(delegate[delegateHandle] == address(0), "Delegate handle exists."); require(delegateAddress != address(0), "Ownable: delegateAddress is the zero address."); delegate[delegateHandle] = delegateAddress; percent[delegateHandle] = percentage; emit DelegateAdded(delegateHandle, delegateAddress); } // Anyone can create a delegate link for anyone function addDelegate(address delegateAddress, string memory delegateHandle) external { require(delegate[delegateHandle] == address(0), "Delegate handle exists."); require(delegateAddress != address(0), "Ownable: delegateAddress is the zero address."); delegate[delegateHandle] = delegateAddress; percent[delegateHandle] = 20; emit DelegateAdded(delegateHandle, delegateAddress); } // Delete the delegation link if needed. function deleteDelegate(string memory delegateHandle) external { require(msg.sender == delegate[delegateHandle], "Only delegate can delete delegation link."); address deletedDelegate = delegate[delegateHandle]; delete delegate[delegateHandle]; delete percent[delegateHandle]; emit DelegateDeleted(delegateHandle, deletedDelegate); } // Payment function distributing the payment into two balances. function payNative(bytes32 paymentId_hash, string memory IDrissHash, string memory delegateHandle) external payable { require(receipts[paymentId_hash] == address(0), "Already paid this receipt."); receipts[paymentId_hash] = msg.sender; amounts[paymentId_hash] = msg.value; IDrissHashes[IDrissHash] = paymentId_hash; if (delegate[delegateHandle] != address(0)) { balanceOf[contractOwner] += msg.value.sub((msg.value.mul(percent[delegateHandle])).div(100)); balanceOf[delegate[delegateHandle]] += (msg.value.mul(percent[delegateHandle])).div(100); } else { balanceOf[contractOwner] += msg.value; } emit PaymentDone(receipts[paymentId_hash], amounts[paymentId_hash], paymentId_hash, IDrissHash, block.timestamp); } // Anyone can withraw funds to any participating delegate function withdraw(uint256 amount, string memory delegateHandle) external returns (bytes memory) { require(amount <= balanceOf[delegate[delegateHandle]]); balanceOf[delegate[delegateHandle]] -= amount; (bool sent, bytes memory data) = delegate[delegateHandle].call{value: amount, gas: 40000}(""); require(sent, "Failed to withdraw"); return data; } // commit payment hash creation function hashReceipt(string memory receiptId, address paymAddr) public pure returns (bytes32) { require(paymAddr != address(0), "Payment address cannot be null address."); return keccak256(abi.encode(receiptId, paymAddr)); } // reveal payment hash function verifyReceipt(string memory receiptId, address paymAddr) public view returns (bool) { require(paymAddr != address(0), "Payment address cannot be null address."); require(receipts[hashReceipt(receiptId, paymAddr)] == paymAddr); return true; } // Transfer contract ownership function transferContractOwnership(address newOwner) public payable { require(msg.sender == contractOwner, "Only contractOwner can change ownership of contract."); require(newOwner != address(0), "Ownable: new contractOwner is the zero address."); _transferOwnership(newOwner); } // Helper function function _transferOwnership(address newOwner) internal virtual { address oldOwner = contractOwner; // transfer balance of old owner to new owner uint256 ownerAmount = balanceOf[oldOwner]; // delete balance of old owner balanceOf[oldOwner] = 0; contractOwner = newOwner; // set new owner delegate["IDriss"] = newOwner; // set balance of new owner balanceOf[newOwner] = ownerAmount; emit OwnershipTransferred(oldOwner, newOwner); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"admin","type":"address"}],"name":"AdminAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"admin","type":"address"}],"name":"AdminDeleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"delegateHandle","type":"string"},{"indexed":true,"internalType":"address","name":"delegateAddress","type":"address"}],"name":"DelegateAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"delegateHandle","type":"string"},{"indexed":true,"internalType":"address","name":"delegateAddress","type":"address"}],"name":"DelegateDeleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payer","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"paymentId_hash","type":"bytes32"},{"indexed":true,"internalType":"string","name":"IDrissHash","type":"string"},{"indexed":false,"internalType":"uint256","name":"date","type":"uint256"}],"name":"PaymentDone","type":"event"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"IDrissHashes","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adminAddress","type":"address"}],"name":"addAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegateAddress","type":"address"},{"internalType":"string","name":"delegateHandle","type":"string"}],"name":"addDelegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegateAddress","type":"address"},{"internalType":"string","name":"delegateHandle","type":"string"},{"internalType":"uint256","name":"percentage","type":"uint256"}],"name":"addDelegateException","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"amounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"delegate","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adminAddress","type":"address"}],"name":"deleteAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"delegateHandle","type":"string"}],"name":"deleteDelegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"receiptId","type":"string"},{"internalType":"address","name":"paymAddr","type":"address"}],"name":"hashReceipt","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"paymentId_hash","type":"bytes32"},{"internalType":"string","name":"IDrissHash","type":"string"},{"internalType":"string","name":"delegateHandle","type":"string"}],"name":"payNative","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"receipts","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferContractOwnership","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"string","name":"receiptId","type":"string"},{"internalType":"address","name":"paymAddr","type":"address"}],"name":"verifyReceipt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"string","name":"delegateHandle","type":"string"}],"name":"withdraw","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405233600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200005257600080fd5b50600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006604051620000869062000123565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060646000604051620000e49062000123565b9081526020016040518091039020819055506200016e565b60006200010b6006836200013a565b9150620001188262000145565b600682019050919050565b60006200013082620000fc565b9150819050919050565b600081905092915050565b7f4944726973730000000000000000000000000000000000000000000000000000600082015250565b61280f806200017e6000396000f3fe6080604052600436106100f35760003560e01c8063923c85d51161008a578063ca7b620511610059578063ca7b620514610342578063ce606ee01461036b578063dc048cf214610396578063ef6cf04d146103d3576100f3565b8063923c85d5146102835780639ddb511a146102ac578063a843c51f146102e9578063c8662d9514610305576100f3565b806356dcb58d116100c657806356dcb58d146101b7578063658b626e146101e0578063704802751461021d57806370a0823114610246576100f3565b8063064cdcdc146100f85780630960d7791461013557806327e1f7df14610151578063464e49271461017a575b600080fd5b34801561010457600080fd5b5061011f600480360381019061011a9190611b12565b610410565b60405161012c9190611f18565b60405180910390f35b61014f600480360381019061014a9190611a93565b61043e565b005b34801561015d57600080fd5b5061017860048036038101906101739190611986565b6108b4565b005b34801561018657600080fd5b506101a1600480360381019061019c9190611b53565b6109e2565b6040516101ae9190611f18565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d991906119af565b610a84565b005b3480156101ec57600080fd5b5061020760048036038101906102029190611b53565b610c74565b6040516102149190611efd565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f9190611986565b610d63565b005b34801561025257600080fd5b5061026d60048036038101906102689190611986565b610e90565b60405161027a9190612107565b60405180910390f35b34801561028f57600080fd5b506102aa60048036038101906102a59190611b12565b610ea8565b005b3480156102b857600080fd5b506102d360048036038101906102ce9190611b12565b61104c565b6040516102e09190611ee2565b60405180910390f35b61030360048036038101906102fe9190611986565b611095565b005b34801561031157600080fd5b5061032c60048036038101906103279190611a6a565b6111a1565b6040516103399190612107565b60405180910390f35b34801561034e57600080fd5b5061036960048036038101906103649190611a03565b6111b9565b005b34801561037757600080fd5b50610380611439565b60405161038d9190611ee2565b60405180910390f35b3480156103a257600080fd5b506103bd60048036038101906103b89190611ba7565b61145f565b6040516103ca9190611f33565b60405180910390f35b3480156103df57600080fd5b506103fa60048036038101906103f59190611a6a565b61167b565b6040516104079190611ee2565b60405180910390f35b6007818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff166003600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d790611fa7565b60405180910390fd5b336003600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503460046000858152602001908152602001600020819055508260078360405161055b9190611ea1565b908152602001604051809103902081905550600073ffffffffffffffffffffffffffffffffffffffff166006826040516105959190611ea1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107885761063561062660646106186000856040516105fa9190611ea1565b908152602001604051809103902054346116ae90919063ffffffff16565b6116c490919063ffffffff16565b346116da90919063ffffffff16565b60056000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106a591906121fd565b925050819055506106f060646106e26000846040516106c49190611ea1565b908152602001604051809103902054346116ae90919063ffffffff16565b6116c490919063ffffffff16565b600560006006846040516107049190611ea1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461077c91906121fd565b92505081905550610801565b3460056000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107f991906121fd565b925050819055505b8160405161080f9190611ea1565b60405180910390206003600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2686fa1c4fa7eb7d1d1bf7209fb9691d4182302db1c43b4d15db644665421912600460008781526020019081526020016000205486426040516108a793929190612122565b60405180910390a3505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093b90611fe7565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f989ddfce057dad219e0ae16f691b121bb0e348f0d8ae0ad400b4d5ac8d616c8b60405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4a906120e7565b60405180910390fd5b8282604051602001610a66929190611f77565b60405160208183030381529060405280519060200120905092915050565b600073ffffffffffffffffffffffffffffffffffffffff16600682604051610aac9190611ea1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2890611fc7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ba1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b98906120c7565b60405180910390fd5b81600682604051610bb29190611ea1565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506014600082604051610c109190611ea1565b9081526020016040518091039020819055508173ffffffffffffffffffffffffffffffffffffffff167f7725d75decde45f52c5f59ef6bcb3c1129181396cff579819d367a32256b6cf582604051610c689190611f55565b60405180910390a25050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdc906120e7565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1660036000610d0a86866109e2565b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d5957600080fd5b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610df3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dea906120a7565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f44d6d25963f097ad14f29f06854a01f575648a1ef82f30e562ccd3889717e33960405160405180910390a250565b60056020528060005260406000206000915090505481565b600681604051610eb89190611ea1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4b90612047565b60405180910390fd5b6000600682604051610f669190611ea1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600682604051610fa79190611ea1565b908152602001604051809103902060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600082604051610fe89190611ea1565b9081526020016040518091039020600090558073ffffffffffffffffffffffffffffffffffffffff167fe58813483134131f95838d689a35b4bb93e7ce7c108fa88f82aacb6440436469836040516110409190611f55565b60405180910390a25050565b6006818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111c90612087565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118c90612007565b60405180910390fd5b61119e816116f0565b50565b60046020528060005260406000206000915090505481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124090612067565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166006836040516112719190611ea1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ed90611fc7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611366576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135d906120c7565b60405180910390fd5b826006836040516113779190611ea1565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000836040516113d49190611ea1565b9081526020016040518091039020819055508273ffffffffffffffffffffffffffffffffffffffff167f7725d75decde45f52c5f59ef6bcb3c1129181396cff579819d367a32256b6cf58360405161142c9190611f55565b60405180910390a2505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600560006006846040516114759190611ea1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311156114eb57600080fd5b82600560006006856040516115009190611ea1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461157891906122de565b925050819055506000806006846040516115929190611ea1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1685619c40906040516115e890611ecd565b600060405180830381858888f193505050503d8060008114611626576040519150601f19603f3d011682016040523d82523d6000602084013e61162b565b606091505b509150915081611670576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166790612027565b60405180910390fd5b809250505092915050565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081836116bc9190612284565b905092915050565b600081836116d29190612253565b905092915050565b600081836116e891906122de565b905092915050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260066040516117f090611eb8565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b60006118f26118ed8461217e565b612159565b90508281526020810184848401111561190a57600080fd5b611915848285612364565b509392505050565b60008135905061192c81612794565b92915050565b600081359050611941816127ab565b92915050565b600082601f83011261195857600080fd5b81356119688482602086016118df565b91505092915050565b600081359050611980816127c2565b92915050565b60006020828403121561199857600080fd5b60006119a68482850161191d565b91505092915050565b600080604083850312156119c257600080fd5b60006119d08582860161191d565b925050602083013567ffffffffffffffff8111156119ed57600080fd5b6119f985828601611947565b9150509250929050565b600080600060608486031215611a1857600080fd5b6000611a268682870161191d565b935050602084013567ffffffffffffffff811115611a4357600080fd5b611a4f86828701611947565b9250506040611a6086828701611971565b9150509250925092565b600060208284031215611a7c57600080fd5b6000611a8a84828501611932565b91505092915050565b600080600060608486031215611aa857600080fd5b6000611ab686828701611932565b935050602084013567ffffffffffffffff811115611ad357600080fd5b611adf86828701611947565b925050604084013567ffffffffffffffff811115611afc57600080fd5b611b0886828701611947565b9150509250925092565b600060208284031215611b2457600080fd5b600082013567ffffffffffffffff811115611b3e57600080fd5b611b4a84828501611947565b91505092915050565b60008060408385031215611b6657600080fd5b600083013567ffffffffffffffff811115611b8057600080fd5b611b8c85828601611947565b9250506020611b9d8582860161191d565b9150509250929050565b60008060408385031215611bba57600080fd5b6000611bc885828601611971565b925050602083013567ffffffffffffffff811115611be557600080fd5b611bf185828601611947565b9150509250929050565b611c0481612312565b82525050565b611c1381612324565b82525050565b611c2281612330565b82525050565b6000611c33826121af565b611c3d81856121c5565b9350611c4d818560208601612373565b611c5681612464565b840191505092915050565b6000611c6c826121ba565b611c7681856121e1565b9350611c86818560208601612373565b611c8f81612464565b840191505092915050565b6000611ca5826121ba565b611caf81856121f2565b9350611cbf818560208601612373565b80840191505092915050565b6000611cd8601a836121e1565b9150611ce382612475565b602082019050919050565b6000611cfb6017836121e1565b9150611d068261249e565b602082019050919050565b6000611d1e6025836121e1565b9150611d29826124c7565b604082019050919050565b6000611d416006836121f2565b9150611d4c82612516565b600682019050919050565b6000611d64602f836121e1565b9150611d6f8261253f565b604082019050919050565b6000611d876013836121e1565b9150611d928261258e565b602082019050919050565b6000611daa6029836121e1565b9150611db5826125b7565b604082019050919050565b6000611dcd6034836121e1565b9150611dd882612606565b604082019050919050565b6000611df06034836121e1565b9150611dfb82612655565b604082019050919050565b6000611e136022836121e1565b9150611e1e826126a4565b604082019050919050565b6000611e36602d836121e1565b9150611e41826126f3565b604082019050919050565b6000611e596000836121d6565b9150611e6482612742565b600082019050919050565b6000611e7c6027836121e1565b9150611e8782612745565b604082019050919050565b611e9b8161235a565b82525050565b6000611ead8284611c9a565b915081905092915050565b6000611ec382611d34565b9150819050919050565b6000611ed882611e4c565b9150819050919050565b6000602082019050611ef76000830184611bfb565b92915050565b6000602082019050611f126000830184611c0a565b92915050565b6000602082019050611f2d6000830184611c19565b92915050565b60006020820190508181036000830152611f4d8184611c28565b905092915050565b60006020820190508181036000830152611f6f8184611c61565b905092915050565b60006040820190508181036000830152611f918185611c61565b9050611fa06020830184611bfb565b9392505050565b60006020820190508181036000830152611fc081611ccb565b9050919050565b60006020820190508181036000830152611fe081611cee565b9050919050565b6000602082019050818103600083015261200081611d11565b9050919050565b6000602082019050818103600083015261202081611d57565b9050919050565b6000602082019050818103600083015261204081611d7a565b9050919050565b6000602082019050818103600083015261206081611d9d565b9050919050565b6000602082019050818103600083015261208081611dc0565b9050919050565b600060208201905081810360008301526120a081611de3565b9050919050565b600060208201905081810360008301526120c081611e06565b9050919050565b600060208201905081810360008301526120e081611e29565b9050919050565b6000602082019050818103600083015261210081611e6f565b9050919050565b600060208201905061211c6000830184611e92565b92915050565b60006060820190506121376000830186611e92565b6121446020830185611c19565b6121516040830184611e92565b949350505050565b6000612163612174565b905061216f82826123a6565b919050565b6000604051905090565b600067ffffffffffffffff82111561219957612198612435565b5b6121a282612464565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006122088261235a565b91506122138361235a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612248576122476123d7565b5b828201905092915050565b600061225e8261235a565b91506122698361235a565b92508261227957612278612406565b5b828204905092915050565b600061228f8261235a565b915061229a8361235a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156122d3576122d26123d7565b5b828202905092915050565b60006122e98261235a565b91506122f48361235a565b925082821015612307576123066123d7565b5b828203905092915050565b600061231d8261233a565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015612391578082015181840152602081019050612376565b838111156123a0576000848401525b50505050565b6123af82612464565b810181811067ffffffffffffffff821117156123ce576123cd612435565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f416c72656164792070616964207468697320726563656970742e000000000000600082015250565b7f44656c65676174652068616e646c65206578697374732e000000000000000000600082015250565b7f4f6e6c7920636f6e74726163744f776e65722063616e2064656c65746520616460008201527f6d696e732e000000000000000000000000000000000000000000000000000000602082015250565b7f4944726973730000000000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a206e657720636f6e74726163744f776e657220697320746860008201527f65207a65726f20616464726573732e0000000000000000000000000000000000602082015250565b7f4661696c656420746f2020776974686472617700000000000000000000000000600082015250565b7f4f6e6c792064656c65676174652063616e2064656c6574652064656c6567617460008201527f696f6e206c696e6b2e0000000000000000000000000000000000000000000000602082015250565b7f4f6e6c7920636f6e74726163744f776e65722063616e2061646420737065636960008201527f616c2064656c656761746520706172746e65722e000000000000000000000000602082015250565b7f4f6e6c7920636f6e74726163744f776e65722063616e206368616e6765206f7760008201527f6e657273686970206f6620636f6e74726163742e000000000000000000000000602082015250565b7f4f6e6c7920636f6e74726163744f776e65722063616e206164642061646d696e60008201527f732e000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2064656c656761746541646472657373206973207468652060008201527f7a65726f20616464726573732e00000000000000000000000000000000000000602082015250565b50565b7f5061796d656e7420616464726573732063616e6e6f74206265206e756c6c206160008201527f6464726573732e00000000000000000000000000000000000000000000000000602082015250565b61279d81612312565b81146127a857600080fd5b50565b6127b481612330565b81146127bf57600080fd5b50565b6127cb8161235a565b81146127d657600080fd5b5056fea26469706673582212205a372bf14748525310b69d4d3fda3fb9f16733b263ac75315a3508d0328d60fc64736f6c63430008010033
Deployed Bytecode
0x6080604052600436106100f35760003560e01c8063923c85d51161008a578063ca7b620511610059578063ca7b620514610342578063ce606ee01461036b578063dc048cf214610396578063ef6cf04d146103d3576100f3565b8063923c85d5146102835780639ddb511a146102ac578063a843c51f146102e9578063c8662d9514610305576100f3565b806356dcb58d116100c657806356dcb58d146101b7578063658b626e146101e0578063704802751461021d57806370a0823114610246576100f3565b8063064cdcdc146100f85780630960d7791461013557806327e1f7df14610151578063464e49271461017a575b600080fd5b34801561010457600080fd5b5061011f600480360381019061011a9190611b12565b610410565b60405161012c9190611f18565b60405180910390f35b61014f600480360381019061014a9190611a93565b61043e565b005b34801561015d57600080fd5b5061017860048036038101906101739190611986565b6108b4565b005b34801561018657600080fd5b506101a1600480360381019061019c9190611b53565b6109e2565b6040516101ae9190611f18565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d991906119af565b610a84565b005b3480156101ec57600080fd5b5061020760048036038101906102029190611b53565b610c74565b6040516102149190611efd565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f9190611986565b610d63565b005b34801561025257600080fd5b5061026d60048036038101906102689190611986565b610e90565b60405161027a9190612107565b60405180910390f35b34801561028f57600080fd5b506102aa60048036038101906102a59190611b12565b610ea8565b005b3480156102b857600080fd5b506102d360048036038101906102ce9190611b12565b61104c565b6040516102e09190611ee2565b60405180910390f35b61030360048036038101906102fe9190611986565b611095565b005b34801561031157600080fd5b5061032c60048036038101906103279190611a6a565b6111a1565b6040516103399190612107565b60405180910390f35b34801561034e57600080fd5b5061036960048036038101906103649190611a03565b6111b9565b005b34801561037757600080fd5b50610380611439565b60405161038d9190611ee2565b60405180910390f35b3480156103a257600080fd5b506103bd60048036038101906103b89190611ba7565b61145f565b6040516103ca9190611f33565b60405180910390f35b3480156103df57600080fd5b506103fa60048036038101906103f59190611a6a565b61167b565b6040516104079190611ee2565b60405180910390f35b6007818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff166003600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d790611fa7565b60405180910390fd5b336003600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503460046000858152602001908152602001600020819055508260078360405161055b9190611ea1565b908152602001604051809103902081905550600073ffffffffffffffffffffffffffffffffffffffff166006826040516105959190611ea1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107885761063561062660646106186000856040516105fa9190611ea1565b908152602001604051809103902054346116ae90919063ffffffff16565b6116c490919063ffffffff16565b346116da90919063ffffffff16565b60056000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106a591906121fd565b925050819055506106f060646106e26000846040516106c49190611ea1565b908152602001604051809103902054346116ae90919063ffffffff16565b6116c490919063ffffffff16565b600560006006846040516107049190611ea1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461077c91906121fd565b92505081905550610801565b3460056000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107f991906121fd565b925050819055505b8160405161080f9190611ea1565b60405180910390206003600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2686fa1c4fa7eb7d1d1bf7209fb9691d4182302db1c43b4d15db644665421912600460008781526020019081526020016000205486426040516108a793929190612122565b60405180910390a3505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093b90611fe7565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f989ddfce057dad219e0ae16f691b121bb0e348f0d8ae0ad400b4d5ac8d616c8b60405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4a906120e7565b60405180910390fd5b8282604051602001610a66929190611f77565b60405160208183030381529060405280519060200120905092915050565b600073ffffffffffffffffffffffffffffffffffffffff16600682604051610aac9190611ea1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2890611fc7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ba1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b98906120c7565b60405180910390fd5b81600682604051610bb29190611ea1565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506014600082604051610c109190611ea1565b9081526020016040518091039020819055508173ffffffffffffffffffffffffffffffffffffffff167f7725d75decde45f52c5f59ef6bcb3c1129181396cff579819d367a32256b6cf582604051610c689190611f55565b60405180910390a25050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdc906120e7565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1660036000610d0a86866109e2565b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d5957600080fd5b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610df3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dea906120a7565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f44d6d25963f097ad14f29f06854a01f575648a1ef82f30e562ccd3889717e33960405160405180910390a250565b60056020528060005260406000206000915090505481565b600681604051610eb89190611ea1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4b90612047565b60405180910390fd5b6000600682604051610f669190611ea1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600682604051610fa79190611ea1565b908152602001604051809103902060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600082604051610fe89190611ea1565b9081526020016040518091039020600090558073ffffffffffffffffffffffffffffffffffffffff167fe58813483134131f95838d689a35b4bb93e7ce7c108fa88f82aacb6440436469836040516110409190611f55565b60405180910390a25050565b6006818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111c90612087565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118c90612007565b60405180910390fd5b61119e816116f0565b50565b60046020528060005260406000206000915090505481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124090612067565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166006836040516112719190611ea1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ed90611fc7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611366576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135d906120c7565b60405180910390fd5b826006836040516113779190611ea1565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000836040516113d49190611ea1565b9081526020016040518091039020819055508273ffffffffffffffffffffffffffffffffffffffff167f7725d75decde45f52c5f59ef6bcb3c1129181396cff579819d367a32256b6cf58360405161142c9190611f55565b60405180910390a2505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600560006006846040516114759190611ea1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311156114eb57600080fd5b82600560006006856040516115009190611ea1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461157891906122de565b925050819055506000806006846040516115929190611ea1565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1685619c40906040516115e890611ecd565b600060405180830381858888f193505050503d8060008114611626576040519150601f19603f3d011682016040523d82523d6000602084013e61162b565b606091505b509150915081611670576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166790612027565b60405180910390fd5b809250505092915050565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081836116bc9190612284565b905092915050565b600081836116d29190612253565b905092915050565b600081836116e891906122de565b905092915050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260066040516117f090611eb8565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b60006118f26118ed8461217e565b612159565b90508281526020810184848401111561190a57600080fd5b611915848285612364565b509392505050565b60008135905061192c81612794565b92915050565b600081359050611941816127ab565b92915050565b600082601f83011261195857600080fd5b81356119688482602086016118df565b91505092915050565b600081359050611980816127c2565b92915050565b60006020828403121561199857600080fd5b60006119a68482850161191d565b91505092915050565b600080604083850312156119c257600080fd5b60006119d08582860161191d565b925050602083013567ffffffffffffffff8111156119ed57600080fd5b6119f985828601611947565b9150509250929050565b600080600060608486031215611a1857600080fd5b6000611a268682870161191d565b935050602084013567ffffffffffffffff811115611a4357600080fd5b611a4f86828701611947565b9250506040611a6086828701611971565b9150509250925092565b600060208284031215611a7c57600080fd5b6000611a8a84828501611932565b91505092915050565b600080600060608486031215611aa857600080fd5b6000611ab686828701611932565b935050602084013567ffffffffffffffff811115611ad357600080fd5b611adf86828701611947565b925050604084013567ffffffffffffffff811115611afc57600080fd5b611b0886828701611947565b9150509250925092565b600060208284031215611b2457600080fd5b600082013567ffffffffffffffff811115611b3e57600080fd5b611b4a84828501611947565b91505092915050565b60008060408385031215611b6657600080fd5b600083013567ffffffffffffffff811115611b8057600080fd5b611b8c85828601611947565b9250506020611b9d8582860161191d565b9150509250929050565b60008060408385031215611bba57600080fd5b6000611bc885828601611971565b925050602083013567ffffffffffffffff811115611be557600080fd5b611bf185828601611947565b9150509250929050565b611c0481612312565b82525050565b611c1381612324565b82525050565b611c2281612330565b82525050565b6000611c33826121af565b611c3d81856121c5565b9350611c4d818560208601612373565b611c5681612464565b840191505092915050565b6000611c6c826121ba565b611c7681856121e1565b9350611c86818560208601612373565b611c8f81612464565b840191505092915050565b6000611ca5826121ba565b611caf81856121f2565b9350611cbf818560208601612373565b80840191505092915050565b6000611cd8601a836121e1565b9150611ce382612475565b602082019050919050565b6000611cfb6017836121e1565b9150611d068261249e565b602082019050919050565b6000611d1e6025836121e1565b9150611d29826124c7565b604082019050919050565b6000611d416006836121f2565b9150611d4c82612516565b600682019050919050565b6000611d64602f836121e1565b9150611d6f8261253f565b604082019050919050565b6000611d876013836121e1565b9150611d928261258e565b602082019050919050565b6000611daa6029836121e1565b9150611db5826125b7565b604082019050919050565b6000611dcd6034836121e1565b9150611dd882612606565b604082019050919050565b6000611df06034836121e1565b9150611dfb82612655565b604082019050919050565b6000611e136022836121e1565b9150611e1e826126a4565b604082019050919050565b6000611e36602d836121e1565b9150611e41826126f3565b604082019050919050565b6000611e596000836121d6565b9150611e6482612742565b600082019050919050565b6000611e7c6027836121e1565b9150611e8782612745565b604082019050919050565b611e9b8161235a565b82525050565b6000611ead8284611c9a565b915081905092915050565b6000611ec382611d34565b9150819050919050565b6000611ed882611e4c565b9150819050919050565b6000602082019050611ef76000830184611bfb565b92915050565b6000602082019050611f126000830184611c0a565b92915050565b6000602082019050611f2d6000830184611c19565b92915050565b60006020820190508181036000830152611f4d8184611c28565b905092915050565b60006020820190508181036000830152611f6f8184611c61565b905092915050565b60006040820190508181036000830152611f918185611c61565b9050611fa06020830184611bfb565b9392505050565b60006020820190508181036000830152611fc081611ccb565b9050919050565b60006020820190508181036000830152611fe081611cee565b9050919050565b6000602082019050818103600083015261200081611d11565b9050919050565b6000602082019050818103600083015261202081611d57565b9050919050565b6000602082019050818103600083015261204081611d7a565b9050919050565b6000602082019050818103600083015261206081611d9d565b9050919050565b6000602082019050818103600083015261208081611dc0565b9050919050565b600060208201905081810360008301526120a081611de3565b9050919050565b600060208201905081810360008301526120c081611e06565b9050919050565b600060208201905081810360008301526120e081611e29565b9050919050565b6000602082019050818103600083015261210081611e6f565b9050919050565b600060208201905061211c6000830184611e92565b92915050565b60006060820190506121376000830186611e92565b6121446020830185611c19565b6121516040830184611e92565b949350505050565b6000612163612174565b905061216f82826123a6565b919050565b6000604051905090565b600067ffffffffffffffff82111561219957612198612435565b5b6121a282612464565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006122088261235a565b91506122138361235a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612248576122476123d7565b5b828201905092915050565b600061225e8261235a565b91506122698361235a565b92508261227957612278612406565b5b828204905092915050565b600061228f8261235a565b915061229a8361235a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156122d3576122d26123d7565b5b828202905092915050565b60006122e98261235a565b91506122f48361235a565b925082821015612307576123066123d7565b5b828203905092915050565b600061231d8261233a565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015612391578082015181840152602081019050612376565b838111156123a0576000848401525b50505050565b6123af82612464565b810181811067ffffffffffffffff821117156123ce576123cd612435565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f416c72656164792070616964207468697320726563656970742e000000000000600082015250565b7f44656c65676174652068616e646c65206578697374732e000000000000000000600082015250565b7f4f6e6c7920636f6e74726163744f776e65722063616e2064656c65746520616460008201527f6d696e732e000000000000000000000000000000000000000000000000000000602082015250565b7f4944726973730000000000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a206e657720636f6e74726163744f776e657220697320746860008201527f65207a65726f20616464726573732e0000000000000000000000000000000000602082015250565b7f4661696c656420746f2020776974686472617700000000000000000000000000600082015250565b7f4f6e6c792064656c65676174652063616e2064656c6574652064656c6567617460008201527f696f6e206c696e6b2e0000000000000000000000000000000000000000000000602082015250565b7f4f6e6c7920636f6e74726163744f776e65722063616e2061646420737065636960008201527f616c2064656c656761746520706172746e65722e000000000000000000000000602082015250565b7f4f6e6c7920636f6e74726163744f776e65722063616e206368616e6765206f7760008201527f6e657273686970206f6620636f6e74726163742e000000000000000000000000602082015250565b7f4f6e6c7920636f6e74726163744f776e65722063616e206164642061646d696e60008201527f732e000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2064656c656761746541646472657373206973207468652060008201527f7a65726f20616464726573732e00000000000000000000000000000000000000602082015250565b50565b7f5061796d656e7420616464726573732063616e6e6f74206265206e756c6c206160008201527f6464726573732e00000000000000000000000000000000000000000000000000602082015250565b61279d81612312565b81146127a857600080fd5b50565b6127b481612330565b81146127bf57600080fd5b50565b6127cb8161235a565b81146127d657600080fd5b5056fea26469706673582212205a372bf14748525310b69d4d3fda3fb9f16733b263ac75315a3508d0328d60fc64736f6c63430008010033
Deployed Bytecode Sourcemap
6574:5908:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6970:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9653:827;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7842:229;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10994:247;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8710:430;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11277:282;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7614:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6869:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9194:382;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6921:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11603:311;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6820:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8079:570;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6721:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10551:398;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6770:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6970:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9653:827::-;9824:1;9788:38;;:8;:24;9797:14;9788:24;;;;;;;;;;;;;;;;;;;;;:38;;;9780:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;9895:10;9868:8;:24;9877:14;9868:24;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;9942:9;9916:7;:23;9924:14;9916:23;;;;;;;;;;;:35;;;;9989:14;9962:12;9975:10;9962:24;;;;;;:::i;:::-;;;;;;;;;;;;;:41;;;;10054:1;10018:38;;:8;10027:14;10018:24;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:38;;;10014:336;;10101:64;10115:49;10160:3;10116:38;10130:7;10138:14;10130:23;;;;;;:::i;:::-;;;;;;;;;;;;;;10116:9;:13;;:38;;;;:::i;:::-;10115:44;;:49;;;;:::i;:::-;10101:9;:13;;:64;;;;:::i;:::-;10073:9;:24;10083:13;;;;;;;;;;;10073:24;;;;;;;;;;;;;;;;:92;;;;;;;:::i;:::-;;;;;;;;10219:49;10264:3;10220:38;10234:7;10242:14;10234:23;;;;;;:::i;:::-;;;;;;;;;;;;;;10220:9;:13;;:38;;;;:::i;:::-;10219:44;;:49;;;;:::i;:::-;10180:9;:35;10190:8;10199:14;10190:24;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10180:35;;;;;;;;;;;;;;;;:88;;;;;;;:::i;:::-;;;;;;;;10014:336;;;10329:9;10301;:24;10311:13;;;;;;;;;;;10301:24;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;10014:336;10444:10;10365:107;;;;;;:::i;:::-;;;;;;;;10377:8;:24;10386:14;10377:24;;;;;;;;;;;;;;;;;;;;;10365:107;;;10403:7;:23;10411:14;10403:23;;;;;;;;;;;;10428:14;10456:15;10365:107;;;;;;;;:::i;:::-;;;;;;;;9653:827;;;:::o;7842:229::-;7927:13;;;;;;;;;;;7913:27;;:10;:27;;;7905:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;8016:5;7993:6;:20;8000:12;7993:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;8050:12;8037:26;;;;;;;;;;;;7842:229;:::o;10994:247::-;11079:7;11127:1;11107:22;;:8;:22;;;;11099:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;11212:9;11223:8;11201:31;;;;;;;;;:::i;:::-;;;;;;;;;;;;;11191:42;;;;;;11184:49;;10994:247;;;;:::o;8710:430::-;8850:1;8814:38;;:8;8823:14;8814:24;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:38;;;8806:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8926:1;8899:29;;:15;:29;;;;8891:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;9016:15;8989:8;8998:14;8989:24;;;;;;:::i;:::-;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;9068:2;9042:7;9050:14;9042:23;;;;;;:::i;:::-;;;;;;;;;;;;;:28;;;;9116:15;9086:46;;;9100:14;9086:46;;;;;;:::i;:::-;;;;;;;;8710:430;;:::o;11277:282::-;11364:4;11409:1;11389:22;;:8;:22;;;;11381:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;11520:8;11474:54;;:8;:42;11483:32;11495:9;11506:8;11483:11;:32::i;:::-;11474:42;;;;;;;;;;;;;;;;;;;;;:54;;;11466:63;;;;;;11547:4;11540:11;;11277:282;;;;:::o;7614:220::-;7696:13;;;;;;;;;;;7682:27;;:10;:27;;;7674:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7782:4;7759:6;:20;7766:12;7759:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;7813:12;7802:24;;;;;;;;;;;;7614:220;:::o;6869:44::-;;;;;;;;;;;;;;;;;:::o;9194:382::-;9290:8;9299:14;9290:24;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9276:38;;:10;:38;;;9268:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;9371:23;9397:8;9406:14;9397:24;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9371:50;;9439:8;9448:14;9439:24;;;;;;:::i;:::-;;;;;;;;;;;;;;9432:31;;;;;;;;;;;9481:7;9489:14;9481:23;;;;;;:::i;:::-;;;;;;;;;;;;;9474:30;;;9552:15;9520:48;;;9536:14;9520:48;;;;;;:::i;:::-;;;;;;;;9194:382;;:::o;6921:42::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11603:311::-;11704:13;;;;;;;;;;;11690:27;;:10;:27;;;11682:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;11813:1;11793:22;;:8;:22;;;;11785:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;11878:28;11897:8;11878:18;:28::i;:::-;11603:311;:::o;6820:42::-;;;;;;;;;;;;;;;;;:::o;8079:570::-;8226:13;;;;;;;;;;;8212:27;;:10;:27;;;8204:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;8351:1;8315:38;;:8;8324:14;8315:24;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:38;;;8307:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8427:1;8400:29;;:15;:29;;;;8392:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;8517:15;8490:8;8499:14;8490:24;;;;;;:::i;:::-;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;8569:10;8543:7;8551:14;8543:23;;;;;;:::i;:::-;;;;;;;;;;;;;:36;;;;8625:15;8595:46;;;8609:14;8595:46;;;;;;:::i;:::-;;;;;;;;8079:570;;;:::o;6721:41::-;;;;;;;;;;;;;:::o;10551:398::-;10633:12;10676:9;:35;10686:8;10695:14;10686:24;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10676:35;;;;;;;;;;;;;;;;10666:6;:45;;10658:54;;;;;;10762:6;10723:9;:35;10733:8;10742:14;10733:24;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10723:35;;;;;;;;;;;;;;;;:45;;;;;;;:::i;:::-;;;;;;;;10780:9;10791:17;10812:8;10821:14;10812:24;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:29;;10849:6;10862:5;10812:60;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10779:93;;;;10891:4;10883:36;;;;;;;;;;;;:::i;:::-;;;;;;;;;10937:4;10930:11;;;;10551:398;;;;:::o;6770:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;3147:98::-;3205:7;3236:1;3232;:5;;;;:::i;:::-;3225:12;;3147:98;;;;:::o;3546:::-;3604:7;3635:1;3631;:5;;;;:::i;:::-;3624:12;;3546:98;;;;:::o;2790:::-;2848:7;2879:1;2875;:5;;;;:::i;:::-;2868:12;;2790:98;;;;:::o;11946:533::-;12020:16;12039:13;;;;;;;;;;;12020:32;;12118:19;12140:9;:19;12150:8;12140:19;;;;;;;;;;;;;;;;12118:41;;12232:1;12210:9;:19;12220:8;12210:19;;;;;;;;;;;;;;;:23;;;;12260:8;12244:13;;:24;;;;;;;;;;;;;;;;;;12326:8;12305;:18;;;;;:::i;:::-;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;12404:11;12382:9;:19;12392:8;12382:19;;;;;;;;;;;;;;;:33;;;;12462:8;12431:40;;12452:8;12431:40;;;;;;;;;;;;11946:533;;;:::o;7:345:1:-;;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:2;;;292:1;289;282:12;251:2;305:41;339:6;334:3;329;305:41;:::i;:::-;91:261;;;;;;:::o;358:139::-;;442:6;429:20;420:29;;458:33;485:5;458:33;:::i;:::-;410:87;;;;:::o;503:139::-;;587:6;574:20;565:29;;603:33;630:5;603:33;:::i;:::-;555:87;;;;:::o;662:273::-;;767:3;760:4;752:6;748:17;744:27;734:2;;785:1;782;775:12;734:2;825:6;812:20;850:79;925:3;917:6;910:4;902:6;898:17;850:79;:::i;:::-;841:88;;724:211;;;;;:::o;941:139::-;;1025:6;1012:20;1003:29;;1041:33;1068:5;1041:33;:::i;:::-;993:87;;;;:::o;1086:262::-;;1194:2;1182:9;1173:7;1169:23;1165:32;1162:2;;;1210:1;1207;1200:12;1162:2;1253:1;1278:53;1323:7;1314:6;1303:9;1299:22;1278:53;:::i;:::-;1268:63;;1224:117;1152:196;;;;:::o;1354:520::-;;;1489:2;1477:9;1468:7;1464:23;1460:32;1457:2;;;1505:1;1502;1495:12;1457:2;1548:1;1573:53;1618:7;1609:6;1598:9;1594:22;1573:53;:::i;:::-;1563:63;;1519:117;1703:2;1692:9;1688:18;1675:32;1734:18;1726:6;1723:30;1720:2;;;1766:1;1763;1756:12;1720:2;1794:63;1849:7;1840:6;1829:9;1825:22;1794:63;:::i;:::-;1784:73;;1646:221;1447:427;;;;;:::o;1880:665::-;;;;2032:2;2020:9;2011:7;2007:23;2003:32;2000:2;;;2048:1;2045;2038:12;2000:2;2091:1;2116:53;2161:7;2152:6;2141:9;2137:22;2116:53;:::i;:::-;2106:63;;2062:117;2246:2;2235:9;2231:18;2218:32;2277:18;2269:6;2266:30;2263:2;;;2309:1;2306;2299:12;2263:2;2337:63;2392:7;2383:6;2372:9;2368:22;2337:63;:::i;:::-;2327:73;;2189:221;2449:2;2475:53;2520:7;2511:6;2500:9;2496:22;2475:53;:::i;:::-;2465:63;;2420:118;1990:555;;;;;:::o;2551:262::-;;2659:2;2647:9;2638:7;2634:23;2630:32;2627:2;;;2675:1;2672;2665:12;2627:2;2718:1;2743:53;2788:7;2779:6;2768:9;2764:22;2743:53;:::i;:::-;2733:63;;2689:117;2617:196;;;;:::o;2819:778::-;;;;2981:2;2969:9;2960:7;2956:23;2952:32;2949:2;;;2997:1;2994;2987:12;2949:2;3040:1;3065:53;3110:7;3101:6;3090:9;3086:22;3065:53;:::i;:::-;3055:63;;3011:117;3195:2;3184:9;3180:18;3167:32;3226:18;3218:6;3215:30;3212:2;;;3258:1;3255;3248:12;3212:2;3286:63;3341:7;3332:6;3321:9;3317:22;3286:63;:::i;:::-;3276:73;;3138:221;3426:2;3415:9;3411:18;3398:32;3457:18;3449:6;3446:30;3443:2;;;3489:1;3486;3479:12;3443:2;3517:63;3572:7;3563:6;3552:9;3548:22;3517:63;:::i;:::-;3507:73;;3369:221;2939:658;;;;;:::o;3603:375::-;;3721:2;3709:9;3700:7;3696:23;3692:32;3689:2;;;3737:1;3734;3727:12;3689:2;3808:1;3797:9;3793:17;3780:31;3838:18;3830:6;3827:30;3824:2;;;3870:1;3867;3860:12;3824:2;3898:63;3953:7;3944:6;3933:9;3929:22;3898:63;:::i;:::-;3888:73;;3751:220;3679:299;;;;:::o;3984:520::-;;;4119:2;4107:9;4098:7;4094:23;4090:32;4087:2;;;4135:1;4132;4125:12;4087:2;4206:1;4195:9;4191:17;4178:31;4236:18;4228:6;4225:30;4222:2;;;4268:1;4265;4258:12;4222:2;4296:63;4351:7;4342:6;4331:9;4327:22;4296:63;:::i;:::-;4286:73;;4149:220;4408:2;4434:53;4479:7;4470:6;4459:9;4455:22;4434:53;:::i;:::-;4424:63;;4379:118;4077:427;;;;;:::o;4510:520::-;;;4645:2;4633:9;4624:7;4620:23;4616:32;4613:2;;;4661:1;4658;4651:12;4613:2;4704:1;4729:53;4774:7;4765:6;4754:9;4750:22;4729:53;:::i;:::-;4719:63;;4675:117;4859:2;4848:9;4844:18;4831:32;4890:18;4882:6;4879:30;4876:2;;;4922:1;4919;4912:12;4876:2;4950:63;5005:7;4996:6;4985:9;4981:22;4950:63;:::i;:::-;4940:73;;4802:221;4603:427;;;;;:::o;5036:118::-;5123:24;5141:5;5123:24;:::i;:::-;5118:3;5111:37;5101:53;;:::o;5160:109::-;5241:21;5256:5;5241:21;:::i;:::-;5236:3;5229:34;5219:50;;:::o;5275:118::-;5362:24;5380:5;5362:24;:::i;:::-;5357:3;5350:37;5340:53;;:::o;5399:360::-;;5513:38;5545:5;5513:38;:::i;:::-;5567:70;5630:6;5625:3;5567:70;:::i;:::-;5560:77;;5646:52;5691:6;5686:3;5679:4;5672:5;5668:16;5646:52;:::i;:::-;5723:29;5745:6;5723:29;:::i;:::-;5718:3;5714:39;5707:46;;5489:270;;;;;:::o;5765:364::-;;5881:39;5914:5;5881:39;:::i;:::-;5936:71;6000:6;5995:3;5936:71;:::i;:::-;5929:78;;6016:52;6061:6;6056:3;6049:4;6042:5;6038:16;6016:52;:::i;:::-;6093:29;6115:6;6093:29;:::i;:::-;6088:3;6084:39;6077:46;;5857:272;;;;;:::o;6135:377::-;;6269:39;6302:5;6269:39;:::i;:::-;6324:89;6406:6;6401:3;6324:89;:::i;:::-;6317:96;;6422:52;6467:6;6462:3;6455:4;6448:5;6444:16;6422:52;:::i;:::-;6499:6;6494:3;6490:16;6483:23;;6245:267;;;;;:::o;6518:366::-;;6681:67;6745:2;6740:3;6681:67;:::i;:::-;6674:74;;6757:93;6846:3;6757:93;:::i;:::-;6875:2;6870:3;6866:12;6859:19;;6664:220;;;:::o;6890:366::-;;7053:67;7117:2;7112:3;7053:67;:::i;:::-;7046:74;;7129:93;7218:3;7129:93;:::i;:::-;7247:2;7242:3;7238:12;7231:19;;7036:220;;;:::o;7262:366::-;;7425:67;7489:2;7484:3;7425:67;:::i;:::-;7418:74;;7501:93;7590:3;7501:93;:::i;:::-;7619:2;7614:3;7610:12;7603:19;;7408:220;;;:::o;7634:400::-;;7815:84;7897:1;7892:3;7815:84;:::i;:::-;7808:91;;7908:93;7997:3;7908:93;:::i;:::-;8026:1;8021:3;8017:11;8010:18;;7798:236;;;:::o;8040:366::-;;8203:67;8267:2;8262:3;8203:67;:::i;:::-;8196:74;;8279:93;8368:3;8279:93;:::i;:::-;8397:2;8392:3;8388:12;8381:19;;8186:220;;;:::o;8412:366::-;;8575:67;8639:2;8634:3;8575:67;:::i;:::-;8568:74;;8651:93;8740:3;8651:93;:::i;:::-;8769:2;8764:3;8760:12;8753:19;;8558:220;;;:::o;8784:366::-;;8947:67;9011:2;9006:3;8947:67;:::i;:::-;8940:74;;9023:93;9112:3;9023:93;:::i;:::-;9141:2;9136:3;9132:12;9125:19;;8930:220;;;:::o;9156:366::-;;9319:67;9383:2;9378:3;9319:67;:::i;:::-;9312:74;;9395:93;9484:3;9395:93;:::i;:::-;9513:2;9508:3;9504:12;9497:19;;9302:220;;;:::o;9528:366::-;;9691:67;9755:2;9750:3;9691:67;:::i;:::-;9684:74;;9767:93;9856:3;9767:93;:::i;:::-;9885:2;9880:3;9876:12;9869:19;;9674:220;;;:::o;9900:366::-;;10063:67;10127:2;10122:3;10063:67;:::i;:::-;10056:74;;10139:93;10228:3;10139:93;:::i;:::-;10257:2;10252:3;10248:12;10241:19;;10046:220;;;:::o;10272:366::-;;10435:67;10499:2;10494:3;10435:67;:::i;:::-;10428:74;;10511:93;10600:3;10511:93;:::i;:::-;10629:2;10624:3;10620:12;10613:19;;10418:220;;;:::o;10644:398::-;;10824:83;10905:1;10900:3;10824:83;:::i;:::-;10817:90;;10916:93;11005:3;10916:93;:::i;:::-;11034:1;11029:3;11025:11;11018:18;;10807:235;;;:::o;11048:366::-;;11211:67;11275:2;11270:3;11211:67;:::i;:::-;11204:74;;11287:93;11376:3;11287:93;:::i;:::-;11405:2;11400:3;11396:12;11389:19;;11194:220;;;:::o;11420:118::-;11507:24;11525:5;11507:24;:::i;:::-;11502:3;11495:37;11485:53;;:::o;11544:275::-;;11698:95;11789:3;11780:6;11698:95;:::i;:::-;11691:102;;11810:3;11803:10;;11680:139;;;;:::o;11825:381::-;;12032:148;12176:3;12032:148;:::i;:::-;12025:155;;12197:3;12190:10;;12014:192;;;:::o;12212:379::-;;12418:147;12561:3;12418:147;:::i;:::-;12411:154;;12582:3;12575:10;;12400:191;;;:::o;12597:222::-;;12728:2;12717:9;12713:18;12705:26;;12741:71;12809:1;12798:9;12794:17;12785:6;12741:71;:::i;:::-;12695:124;;;;:::o;12825:210::-;;12950:2;12939:9;12935:18;12927:26;;12963:65;13025:1;13014:9;13010:17;13001:6;12963:65;:::i;:::-;12917:118;;;;:::o;13041:222::-;;13172:2;13161:9;13157:18;13149:26;;13185:71;13253:1;13242:9;13238:17;13229:6;13185:71;:::i;:::-;13139:124;;;;:::o;13269:309::-;;13418:2;13407:9;13403:18;13395:26;;13467:9;13461:4;13457:20;13453:1;13442:9;13438:17;13431:47;13495:76;13566:4;13557:6;13495:76;:::i;:::-;13487:84;;13385:193;;;;:::o;13584:313::-;;13735:2;13724:9;13720:18;13712:26;;13784:9;13778:4;13774:20;13770:1;13759:9;13755:17;13748:47;13812:78;13885:4;13876:6;13812:78;:::i;:::-;13804:86;;13702:195;;;;:::o;13903:423::-;;14082:2;14071:9;14067:18;14059:26;;14131:9;14125:4;14121:20;14117:1;14106:9;14102:17;14095:47;14159:78;14232:4;14223:6;14159:78;:::i;:::-;14151:86;;14247:72;14315:2;14304:9;14300:18;14291:6;14247:72;:::i;:::-;14049:277;;;;;:::o;14332:419::-;;14536:2;14525:9;14521:18;14513:26;;14585:9;14579:4;14575:20;14571:1;14560:9;14556:17;14549:47;14613:131;14739:4;14613:131;:::i;:::-;14605:139;;14503:248;;;:::o;14757:419::-;;14961:2;14950:9;14946:18;14938:26;;15010:9;15004:4;15000:20;14996:1;14985:9;14981:17;14974:47;15038:131;15164:4;15038:131;:::i;:::-;15030:139;;14928:248;;;:::o;15182:419::-;;15386:2;15375:9;15371:18;15363:26;;15435:9;15429:4;15425:20;15421:1;15410:9;15406:17;15399:47;15463:131;15589:4;15463:131;:::i;:::-;15455:139;;15353:248;;;:::o;15607:419::-;;15811:2;15800:9;15796:18;15788:26;;15860:9;15854:4;15850:20;15846:1;15835:9;15831:17;15824:47;15888:131;16014:4;15888:131;:::i;:::-;15880:139;;15778:248;;;:::o;16032:419::-;;16236:2;16225:9;16221:18;16213:26;;16285:9;16279:4;16275:20;16271:1;16260:9;16256:17;16249:47;16313:131;16439:4;16313:131;:::i;:::-;16305:139;;16203:248;;;:::o;16457:419::-;;16661:2;16650:9;16646:18;16638:26;;16710:9;16704:4;16700:20;16696:1;16685:9;16681:17;16674:47;16738:131;16864:4;16738:131;:::i;:::-;16730:139;;16628:248;;;:::o;16882:419::-;;17086:2;17075:9;17071:18;17063:26;;17135:9;17129:4;17125:20;17121:1;17110:9;17106:17;17099:47;17163:131;17289:4;17163:131;:::i;:::-;17155:139;;17053:248;;;:::o;17307:419::-;;17511:2;17500:9;17496:18;17488:26;;17560:9;17554:4;17550:20;17546:1;17535:9;17531:17;17524:47;17588:131;17714:4;17588:131;:::i;:::-;17580:139;;17478:248;;;:::o;17732:419::-;;17936:2;17925:9;17921:18;17913:26;;17985:9;17979:4;17975:20;17971:1;17960:9;17956:17;17949:47;18013:131;18139:4;18013:131;:::i;:::-;18005:139;;17903:248;;;:::o;18157:419::-;;18361:2;18350:9;18346:18;18338:26;;18410:9;18404:4;18400:20;18396:1;18385:9;18381:17;18374:47;18438:131;18564:4;18438:131;:::i;:::-;18430:139;;18328:248;;;:::o;18582:419::-;;18786:2;18775:9;18771:18;18763:26;;18835:9;18829:4;18825:20;18821:1;18810:9;18806:17;18799:47;18863:131;18989:4;18863:131;:::i;:::-;18855:139;;18753:248;;;:::o;19007:222::-;;19138:2;19127:9;19123:18;19115:26;;19151:71;19219:1;19208:9;19204:17;19195:6;19151:71;:::i;:::-;19105:124;;;;:::o;19235:442::-;;19422:2;19411:9;19407:18;19399:26;;19435:71;19503:1;19492:9;19488:17;19479:6;19435:71;:::i;:::-;19516:72;19584:2;19573:9;19569:18;19560:6;19516:72;:::i;:::-;19598;19666:2;19655:9;19651:18;19642:6;19598:72;:::i;:::-;19389:288;;;;;;:::o;19683:129::-;;19744:20;;:::i;:::-;19734:30;;19773:33;19801:4;19793:6;19773:33;:::i;:::-;19724:88;;;:::o;19818:75::-;;19884:2;19878:9;19868:19;;19858:35;:::o;19899:308::-;;20051:18;20043:6;20040:30;20037:2;;;20073:18;;:::i;:::-;20037:2;20111:29;20133:6;20111:29;:::i;:::-;20103:37;;20195:4;20189;20185:15;20177:23;;19966:241;;;:::o;20213:98::-;;20298:5;20292:12;20282:22;;20271:40;;;:::o;20317:99::-;;20403:5;20397:12;20387:22;;20376:40;;;:::o;20422:168::-;;20539:6;20534:3;20527:19;20579:4;20574:3;20570:14;20555:29;;20517:73;;;;:::o;20596:147::-;;20734:3;20719:18;;20709:34;;;;:::o;20749:169::-;;20867:6;20862:3;20855:19;20907:4;20902:3;20898:14;20883:29;;20845:73;;;;:::o;20924:148::-;;21063:3;21048:18;;21038:34;;;;:::o;21078:305::-;;21137:20;21155:1;21137:20;:::i;:::-;21132:25;;21171:20;21189:1;21171:20;:::i;:::-;21166:25;;21325:1;21257:66;21253:74;21250:1;21247:81;21244:2;;;21331:18;;:::i;:::-;21244:2;21375:1;21372;21368:9;21361:16;;21122:261;;;;:::o;21389:185::-;;21446:20;21464:1;21446:20;:::i;:::-;21441:25;;21480:20;21498:1;21480:20;:::i;:::-;21475:25;;21519:1;21509:2;;21524:18;;:::i;:::-;21509:2;21566:1;21563;21559:9;21554:14;;21431:143;;;;:::o;21580:348::-;;21643:20;21661:1;21643:20;:::i;:::-;21638:25;;21677:20;21695:1;21677:20;:::i;:::-;21672:25;;21865:1;21797:66;21793:74;21790:1;21787:81;21782:1;21775:9;21768:17;21764:105;21761:2;;;21872:18;;:::i;:::-;21761:2;21920:1;21917;21913:9;21902:20;;21628:300;;;;:::o;21934:191::-;;21994:20;22012:1;21994:20;:::i;:::-;21989:25;;22028:20;22046:1;22028:20;:::i;:::-;22023:25;;22067:1;22064;22061:8;22058:2;;;22072:18;;:::i;:::-;22058:2;22117:1;22114;22110:9;22102:17;;21979:146;;;;:::o;22131:96::-;;22197:24;22215:5;22197:24;:::i;:::-;22186:35;;22176:51;;;:::o;22233:90::-;;22310:5;22303:13;22296:21;22285:32;;22275:48;;;:::o;22329:77::-;;22395:5;22384:16;;22374:32;;;:::o;22412:126::-;;22489:42;22482:5;22478:54;22467:65;;22457:81;;;:::o;22544:77::-;;22610:5;22599:16;;22589:32;;;:::o;22627:154::-;22711:6;22706:3;22701;22688:30;22773:1;22764:6;22759:3;22755:16;22748:27;22678:103;;;:::o;22787:307::-;22855:1;22865:113;22879:6;22876:1;22873:13;22865:113;;;22964:1;22959:3;22955:11;22949:18;22945:1;22940:3;22936:11;22929:39;22901:2;22898:1;22894:10;22889:15;;22865:113;;;22996:6;22993:1;22990:13;22987:2;;;23076:1;23067:6;23062:3;23058:16;23051:27;22987:2;22836:258;;;;:::o;23100:281::-;23183:27;23205:4;23183:27;:::i;:::-;23175:6;23171:40;23313:6;23301:10;23298:22;23277:18;23265:10;23262:34;23259:62;23256:2;;;23324:18;;:::i;:::-;23256:2;23364:10;23360:2;23353:22;23143:238;;;:::o;23387:180::-;23435:77;23432:1;23425:88;23532:4;23529:1;23522:15;23556:4;23553:1;23546:15;23573:180;23621:77;23618:1;23611:88;23718:4;23715:1;23708:15;23742:4;23739:1;23732:15;23759:180;23807:77;23804:1;23797:88;23904:4;23901:1;23894:15;23928:4;23925:1;23918:15;23945:102;;24037:2;24033:7;24028:2;24021:5;24017:14;24013:28;24003:38;;23993:54;;;:::o;24053:176::-;24193:28;24189:1;24181:6;24177:14;24170:52;24159:70;:::o;24235:173::-;24375:25;24371:1;24363:6;24359:14;24352:49;24341:67;:::o;24414:224::-;24554:34;24550:1;24542:6;24538:14;24531:58;24623:7;24618:2;24610:6;24606:15;24599:32;24520:118;:::o;24644:156::-;24784:8;24780:1;24772:6;24768:14;24761:32;24750:50;:::o;24806:234::-;24946:34;24942:1;24934:6;24930:14;24923:58;25015:17;25010:2;25002:6;24998:15;24991:42;24912:128;:::o;25046:169::-;25186:21;25182:1;25174:6;25170:14;25163:45;25152:63;:::o;25221:228::-;25361:34;25357:1;25349:6;25345:14;25338:58;25430:11;25425:2;25417:6;25413:15;25406:36;25327:122;:::o;25455:239::-;25595:34;25591:1;25583:6;25579:14;25572:58;25664:22;25659:2;25651:6;25647:15;25640:47;25561:133;:::o;25700:239::-;25840:34;25836:1;25828:6;25824:14;25817:58;25909:22;25904:2;25896:6;25892:15;25885:47;25806:133;:::o;25945:221::-;26085:34;26081:1;26073:6;26069:14;26062:58;26154:4;26149:2;26141:6;26137:15;26130:29;26051:115;:::o;26172:232::-;26312:34;26308:1;26300:6;26296:14;26289:58;26381:15;26376:2;26368:6;26364:15;26357:40;26278:126;:::o;26410:114::-;26516:8;:::o;26530:226::-;26670:34;26666:1;26658:6;26654:14;26647:58;26739:9;26734:2;26726:6;26722:15;26715:34;26636:120;:::o;26762:122::-;26835:24;26853:5;26835:24;:::i;:::-;26828:5;26825:35;26815:2;;26874:1;26871;26864:12;26815:2;26805:79;:::o;26890:122::-;26963:24;26981:5;26963:24;:::i;:::-;26956:5;26953:35;26943:2;;27002:1;26999;26992:12;26943:2;26933:79;:::o;27018:122::-;27091:24;27109:5;27091:24;:::i;:::-;27084:5;27081:35;27071:2;;27130:1;27127;27120:12;27071:2;27061:79;:::o
Swarm Source
ipfs://5a372bf14748525310b69d4d3fda3fb9f16733b263ac75315a3508d0328d60fc
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 29 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
POL | Polygon (POL) | 100.00% | $0.721962 | 44.9075 | $32.42 |
[ 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.