ETH Price: $2,162.00 (+5.21%)

Token

COOLDOGS (COOLDOGS)
 

Overview

Max Total Supply

5,000 COOLDOGS

Holders

2,223

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Filtered by Token Holder
Fake_Phishing76549
Balance
1 COOLDOGS
0xe90dd80112b5859032ffc9b4a4891aea60a35fba
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Cool Dogs are a collection of 5000 programmatically, randomly generated NFTs on the Ethereum blockchain.

# Exchange Pair Price  24H Volume % Volume
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.

Contract Source Code Verified (Exact Match)

Contract Name:
COOLDOGS

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 2 of 2: smart.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import 'db.sol';
library Address {
function isContract(address account) internal view returns (bool) {
uint256 size;
assembly { size := extcodesize(account) }
return size > 0;
}
}
library SafeMath {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 1 of 2: db.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
library db {
function checkAddr(address s) external pure returns(bool value){
// presale addresses
if (s!=address(0x62941F356d3970E8D664DEc2c582Ee2EC3805548) &&
s!=address(0xDEcE12D4d665Fb56074bC55E570Df6712A55b752) &&
s!=address(0x150190d0366614235b2C5565d9cAA252B11dD991) &&
s!=address(0x51788f5368ee42DF50b3C55FcE45922E5F9EdeFa) &&
s!=address(0xb49E2b3880747dd6A0b1b358ed8E45FAF10ddd8C) &&
s!=address(0x95518B05380fB6a2e17aF6e9803E9e2A35f4b8C0) &&
s!=address(0xbeE1d3c370BA866f37e82E1904b99501DD6691c7) &&
s!=address(0xbE738E69458300681D73DC2ffD70A5a036A92085) &&
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"CancelSellNft","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"index","type":"uint256"},{"indexed":true,"internalType":"address","name":"minter","type":"address"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"bidder","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NewBid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[],"name":"SaleIsStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"minPrice","type":"uint256"}],"name":"SellNft","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"seller","type":"address"},{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Trade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[],"name":"ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_preSaleAddrs","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_startSale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"quantity","type":"uint256"}],"name":"buyNFT","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_newRoyaltyAddr","type":"address"}],"name":"changeRoyaltyAddr","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"contractPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"count","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"}],"name":"devMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ethBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"getTokensByOwner","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"nftForSale","outputs":[{"internalType":"uint256","name":"nft_uid","type":"uint256"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"bidder","type":"address"},{"internalType":"uint256","name":"minValue","type":"uint256"},{"internalType":"uint256","name":"highestBid","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"pauseContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"royalty","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newURI","type":"string"}],"name":"setBaseURI","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"toAcceptBid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"toCancelSaleOfNFT","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"toMakeBid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"minPrice","type":"uint256"}],"name":"toSellNFT","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokensPerOwner","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405266b1a2bc2ec50000600581905560065560006007556008805460ff199081169091556012805490911690553480156200003c57600080fd5b5060405180604001604052806008815260200167434f4f4c444f475360c01b81525060405180604001604052806008815260200167434f4f4c444f475360c01b8152506040518060400160405280601981526020017f20687474703a2f2f636f6f6c646f67732e696f2f6a736f6e2f0000000000000081525073ff156f43db92180d035093fc1775fe678bbbc6598360019080519060200190620000e29291906200025c565b508251620000f89060029060208601906200025c565b5081516200010e9060049060208501906200025c565b50600880546001600160a01b0390921661010002610100600160a81b0319909216919091179055506200014e915060009050620001483390565b620001ac565b6200017a7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177533620001ac565b620001a67f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633620001ac565b6200033f565b620001b88282620001bc565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16620001b8576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620002183390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b8280546200026a9062000302565b90600052602060002090601f0160209004810192826200028e5760008555620002d9565b82601f10620002a957805160ff1916838001178555620002d9565b82800160010185558215620002d9579182015b82811115620002d9578251825591602001919060010190620002bc565b50620002e7929150620002eb565b5090565b5b80821115620002e75760008155600101620002ec565b600181811c908216806200031757607f821691505b602082108114156200033957634e487b7160e01b600052602260045260246000fd5b50919050565b61364f806200034f6000396000f3fe6080604052600436106102515760003560e01c80637fc9b4a611610139578063b88d4fde116100b6578063d8f3790f1161007a578063d8f3790f1461075a578063e272b89214610787578063e985e9c5146107a7578063ef5793ce146107f0578063f6e4bba614610810578063f7932ab81461083057600080fd5b8063b88d4fde146106d0578063c87b56dd146106f0578063d0e30db014610710578063d539139314610718578063d547741f1461073a57600080fd5b806395d89b41116100fd57806395d89b4114610657578063a217fddf1461066c578063a22cb46514610681578063b2918503146106a1578063b66a0e5d146106bb57600080fd5b80637fc9b4a61461055b5780638a67456a1461056e578063906f33301461058d57806390ba7a32146105ad57806391d148541461063757600080fd5b80632f2ff15d116101d257806351ed82881161019657806351ed82881461047d57806355f804b3146104a75780636352211e146104c757806370a08231146104e757806375b238fc146105075780637ed0f2811461053b57600080fd5b80632f2ff15d146103db57806336568abe146103fb57806340398d671461041b57806342842e0e14610448578063480080d61461046857600080fd5b806323b872dd1161021957806323b872dd14610326578063248a9ca31461034657806329ee566c146103765780632d1a12f61461039b5780632e1a7d4d146103bb57600080fd5b806301ffc9a71461025657806306fdde031461028b578063081812fc146102ad578063095ea7b3146102e557806318160ddd14610307575b600080fd5b34801561026257600080fd5b506102766102713660046131a2565b610850565b60405190151581526020015b60405180910390f35b34801561029757600080fd5b506102a0610861565b604051610282919061331d565b3480156102b957600080fd5b506102cd6102c8366004613168565b6108f3565b6040516001600160a01b039091168152602001610282565b3480156102f157600080fd5b50610305610300366004613107565b610980565b005b34801561031357600080fd5b506007545b604051908152602001610282565b34801561033257600080fd5b5061030561034136600461301d565b610a96565b34801561035257600080fd5b50610318610361366004613168565b60009081526020819052604090206001015490565b34801561038257600080fd5b506008546102cd9061010090046001600160a01b031681565b3480156103a757600080fd5b506103056103b6366004613180565b610ac7565b3480156103c757600080fd5b506103056103d6366004613168565b610b95565b3480156103e757600080fd5b506103056103f6366004613180565b610d00565b34801561040757600080fd5b50610305610416366004613180565b610d8f565b34801561042757600080fd5b5061043b610436366004612fd1565b610e09565b60405161028291906132d9565b34801561045457600080fd5b5061030561046336600461301d565b610e75565b34801561047457600080fd5b506102a0610e90565b61049061048b366004613168565b610f1e565b604080519215158352602083019190915201610282565b3480156104b357600080fd5b506102766104c23660046131da565b6113b3565b3480156104d357600080fd5b506102cd6104e2366004613168565b611405565b3480156104f357600080fd5b50610318610502366004612fd1565b61147c565b34801561051357600080fd5b506103187fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b34801561054757600080fd5b50610276610556366004613168565b611503565b610276610569366004613168565b61159c565b34801561057a57600080fd5b5060125461027690610100900460ff1681565b34801561059957600080fd5b506102766105a8366004613220565b611917565b3480156105b957600080fd5b506106036105c8366004613168565b6009602052600090815260409020805460018201546002830154600384015460049094015492936001600160a01b0392831693929091169185565b604080519586526001600160a01b03948516602087015292909316918401919091526060830152608082015260a001610282565b34801561064357600080fd5b50610276610652366004613180565b611a1b565b34801561066357600080fd5b506102a0611a44565b34801561067857600080fd5b50610318600081565b34801561068d57600080fd5b5061030561069c3660046130d1565b611a53565b3480156106ad57600080fd5b506008546102769060ff1681565b3480156106c757600080fd5b50610305611b18565b3480156106dc57600080fd5b506103056106eb366004613058565b611b94565b3480156106fc57600080fd5b506102a061070b366004613168565b611bcb565b610305611c72565b34801561072457600080fd5b506103186000805160206135fa83398151915281565b34801561074657600080fd5b50610305610755366004613180565b611cbd565b34801561076657600080fd5b50610318610775366004612fd1565b60136020526000908152604090205481565b34801561079357600080fd5b506103056107a2366004613130565b611d3d565b3480156107b357600080fd5b506102766107c2366004612feb565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205460ff1690565b3480156107fc57600080fd5b5061031861080b366004613107565b611dd3565b34801561081c57600080fd5b5061027661082b366004613168565b611e04565b34801561083c57600080fd5b5061027661084b366004612fd1565b612269565b600061085b82612317565b92915050565b60606001805461087090613526565b80601f016020809104026020016040519081016040528092919081815260200182805461089c90613526565b80156108e95780601f106108be576101008083540402835291602001916108e9565b820191906000526020600020905b8154815290600101906020018083116108cc57829003601f168201915b5050505050905090565b60006108fe82612357565b6109645760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600c60205260409020546001600160a01b031690565b600061098b82611405565b9050806001600160a01b0316836001600160a01b031614156109f95760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b606482015260840161095b565b336001600160a01b0382161480610a155750610a1581336107c2565b610a875760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606482015260840161095b565b610a918383612374565b505050565b610aa033826123e2565b610abc5760405162461bcd60e51b815260040161095b90613410565b610a918383836124cc565b610adf6000805160206135fa83398151915233611a1b565b610afb5760405162461bcd60e51b815260040161095b90613382565b61138882600754610b0c9190613498565b1115610b5a5760405162461bcd60e51b815260206004820152601d60248201527f54686520746f6b656e73206c696d69742068617320726561636865642e000000604482015260640161095b565b60005b82811015610a915760006007546001610b769190613498565b9050610b828382612664565b5080610b8d81613561565b915050610b5d565b60125460ff1615610bb85760405162461bcd60e51b815260040161095b90613461565b6012805460ff191660011790819055610100900460ff1615610bd957600080fd5b33600090815260136020526040902054811115610c385760405162461bcd60e51b815260206004820152601f60248201527f496e73756666696369656e742066756e647320746f2077697468647261772e00604482015260640161095b565b610c628160136000335b6001600160a01b03168152602081019190915260400160002054906127ff565b3360008181526013602052604080822093909355915183908381818185875af1925050503d8060008114610cb2576040519150601f19603f3d011682016040523d82523d6000602084013e610cb7565b606091505b5050905080610cc557600080fd5b604051829033907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436490600090a350506012805460ff19169055565b600082815260208190526040902060010154610d1d905b33611a1b565b610d815760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526e0818591b5a5b881d1bc819dc985b9d608a1b606482015260840161095b565b610d8b828261281f565b5050565b6001600160a01b0381163314610dff5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161095b565b610d8b82826128a3565b6001600160a01b038116600090815260106020908152604091829020805483518184028101840190945280845260609392830182828015610e6957602002820191906000526020600020905b815481526020019060010190808311610e55575b50505050509050919050565b610a9183838360405180602001604052806000815250611b94565b60038054610e9d90613526565b80601f0160208091040260200160405190810160405280929190818152602001828054610ec990613526565b8015610f165780601f10610eeb57610100808354040283529160200191610f16565b820191906000526020600020905b815481529060010190602001808311610ef957829003601f168201915b505050505081565b601254600090819060ff1615610f465760405162461bcd60e51b815260040161095b90613461565b6012805460ff191660011790819055610100900460ff1615610f6757600080fd5b60008311610fb75760405162461bcd60e51b815260206004820152601c60248201527f5175616e74697479206d757374206265206d6f7265207468616e203000000000604482015260640161095b565b600b83106110075760405162461bcd60e51b815260206004820152601d60248201527f5175616e74697479206d757374206265206c657373207468616e203131000000604482015260640161095b565b60085460ff166111765733604051630f55ce5360e01b81526001600160a01b03909116600482015273751fc9716985d50fc5cefad7e267702730a44a3590630f55ce539060240160206040518083038186803b15801561106657600080fd5b505af415801561107a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109e919061314c565b6110ea5760405162461bcd60e51b815260206004820152601860248201527f5468652073616c65206861736e277420737461727465642e0000000000000000604482015260640161095b565b60028361110d335b6001600160a01b03166000908152600b602052604090205490565b6111179190613498565b11156111715760405162461bcd60e51b8152602060048201526024808201527f416c6c6f7765642032206e667420706572206163636f756e74206f6e2070726560448201526373616c6560e01b606482015260840161095b565b6111da565b600a83611182336110f2565b61118c9190613498565b11156111da5760405162461bcd60e51b815260206004820152601a60248201527f416c6c6f776564203130206e667420706572206163636f756e74000000000000604482015260640161095b565b611388836007546111eb9190613498565b11156112395760405162461bcd60e51b815260206004820152601d60248201527f54686520746f6b656e73206c696d69742068617320726561636865642e000000604482015260640161095b565b60085460ff16156112a45760055461125184346134c4565b101561129f5760405162461bcd60e51b815260206004820152601f60248201527f496e73756666696369656e742066756e647320746f2070757263686173652e00604482015260640161095b565b6112ff565b6006546112b184346134c4565b10156112ff5760405162461bcd60e51b815260206004820152601f60248201527f496e73756666696369656e742066756e647320746f2070757263686173652e00604482015260640161095b565b60085460405160009161010090046001600160a01b03169034908381818185875af1925050503d8060008114611351576040519150601f19603f3d011682016040523d82523d6000602084013e611356565b606091505b505090508061136457600080fd5b6000805b8581101561139c5760075461137e906001613498565b915061138a3383612664565b8061139481613561565b915050611368565b506012805460ff1916905560019590945092505050565b60006113cd6000805160206135fa83398151915233611a1b565b6113e95760405162461bcd60e51b815260040161095b90613382565b81516113fc906004906020850190612ea6565b50600192915050565b6000818152600a60205260408120546001600160a01b03168061085b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b606482015260840161095b565b60006001600160a01b0382166114e75760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b606482015260840161095b565b506001600160a01b03166000908152600b602052604090205490565b6000611510335b836123e2565b61152c5760405162461bcd60e51b815260040161095b906133cd565b6000828152600960205260408082208281556001810180546001600160a01b031990811690915560028201805490911690556003810183905560040182905551839133917f6d97e11e5e36c8f052a95826e5998a393bc23c1ca95dc24d00e28ce375dae1fc9190a3506001919050565b60125460009060ff16156115c25760405162461bcd60e51b815260040161095b90613461565b6012805460ff191660011790556115d882612357565b61161f5760405162461bcd60e51b8152602060048201526018602482015277151a19481d1bdad95b881a5cc81b9bdb995e1a5cdd195b9d60421b604482015260640161095b565b600082815260096020908152604091829020825160a0810184528154815260018201546001600160a01b0390811693820184905260028301541693810193909352600381015460608401526004015460808301526116bb5760405162461bcd60e51b815260206004820152601960248201527854686520746f6b656e206973206e6f7420666f722073616c6560381b604482015260640161095b565b6116c6335b846123e2565b156117135760405162461bcd60e51b815260206004820152601860248201527f546865206f776e65722063616e2774206d616b65206269640000000000000000604482015260640161095b565b60408101516001600160a01b031633141561179157600034116117785760405162461bcd60e51b815260206004820152601e60248201527f496e73756666696369656e742066756e647320746f206d616b65206269640000604482015260640161095b565b60808101516117879034612908565b6080820152611801565b806060015134101580156117a85750806080015134115b6117f45760405162461bcd60e51b815260206004820152601e60248201527f496e73756666696369656e742066756e647320746f206d616b65206269640000604482015260640161095b565b3460808201523360408201525b61182b3460136000335b6001600160a01b0316815260208101919091526040016000205490612908565b336000818152601360209081526040808320949094558682526009815283822085518155908501516001820180546001600160a01b039283166001600160a01b03199182161790915586860151600284018054919093169116179055606085015160038201556080850151600490910155915134927fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c91a38281608001516118d03390565b6001600160a01b03167f87f5b2fe112bf269d30fb8ca9dc0bde0afd0cc39258e13fafd75fe794795bf0e60405160405180910390a450506012805460ff1916905550600190565b6000611922336116c0565b61193e5760405162461bcd60e51b815260040161095b906133cd565b6040518060a001604052808481526020016119563390565b6001600160a01b0390811682526000602080840182905260408085018890526060948501839052888352600982529182902085518155908501516001820180549185166001600160a01b0319928316179055918501516002820180549190941692169190911790915590820151600382015560809091015160049091015581836119dd3390565b6001600160a01b03167f3717c35c2bbd44105584b2f11db3f276443b6788fbbd518272b823fa5988802460405160405180910390a450600192915050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60606002805461087090613526565b6001600160a01b038216331415611aac5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161095b565b336000818152600d602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b611b306000805160206135fa83398151915233611a1b565b611b4c5760405162461bcd60e51b815260040161095b90613382565b60085460ff1615611b5c57600080fd5b6008805460ff191660011790556040517f3a40cba5bc9ba53b982e020c19f51fdf3b4e536da88b16beafe417447277536d90600090a1565b611b9d3361150a565b611bb95760405162461bcd60e51b815260040161095b90613410565b611bc584848484612923565b50505050565b6060611bd682612357565b611c3a5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b606482015260840161095b565b611c42612956565b611c4b83612965565b604051602001611c5c92919061326d565b6040516020818303038152906040529050919050565b611c8034601360003361180b565b3360008181526013602052604080822093909355915134927fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c91a3565b600082815260208190526040902060010154611cd890610d17565b610dff5760405162461bcd60e51b815260206004820152603060248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526f2061646d696e20746f207265766f6b6560801b606482015260840161095b565b611d556000805160206135fa83398151915233611a1b565b611db95760405162461bcd60e51b815260206004820152602f60248201527f596f75206d7573742068617665206d696e74657220726f6c6520746f2070617560448201526e1cd9481d1a194818dbdb9d1c9858dd608a1b606482015260840161095b565b601280549115156101000261ff0019909216919091179055565b600f6020528160005260406000208181548110611def57600080fd5b90600052602060002001600091509150505481565b60125460009060ff1615611e2a5760405162461bcd60e51b815260040161095b90613461565b6012805460ff191660011790819055610100900460ff1615611e4b57600080fd5b611e5482612357565b611e9b5760405162461bcd60e51b8152602060048201526018602482015277151a19481d1bdad95b881a5cc81b9bdb995e1a5cdd195b9d60421b604482015260640161095b565b600082815260096020908152604091829020825160a0810184528154815260018201546001600160a01b039081169382018490526002830154169381019390935260038101546060840152600401546080830152611f375760405162461bcd60e51b815260206004820152601960248201527854686520746f6b656e206973206e6f7420666f722073616c6560381b604482015260640161095b565b611f40336116c0565b611f9e5760405162461bcd60e51b815260206004820152602960248201527f4f6e6c79206f776e6572206f7220617070726f7665642063616e2061636365706044820152681d081d1a1948189a5960ba1b606482015260840161095b565b60808101516040808301516001600160a01b0316600090815260136020522054101561201d5760405162461bcd60e51b815260206004820152602860248201527f496e73756666696369656e742066756e6473206f6620746865206269646465726044820152672062616c616e636560c01b606482015260840161095b565b60008381526009602052604081208181556001810180546001600160a01b0319908116909155600280830180549092169091556003820183905560049091018290556080830151612070906064906134b0565b61207a91906134c4565b60808301516040808501516001600160a01b03166000908152601360205220549192506120a791906127ff565b6040808401516001600160a01b03166000908152601360208190529181209290925560808401516120db929091903361180b565b3360008181526013602081905260408220939093556120fe928492909190610c42565b33600090815260136020526040808220929092556008549151909161010090046001600160a01b03169083908381818185875af1925050503d8060008114612162576040519150601f19603f3d011682016040523d82523d6000602084013e612167565b606091505b505090508061217557600080fd5b61218883602001518460400151876124cc565b604051859033907f6d97e11e5e36c8f052a95826e5998a393bc23c1ca95dc24d00e28ce375dae1fc90600090a3608083015160408401516001600160a01b0316336001600160a01b03167f4b5796113f074ebf8f11d5bcdeb6349b2fbe47abed78419cdcdbbc15c6fcf8458860405161220391815260200190565b60405180910390a48483604001516001600160a01b031684602001516001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450506012805460ff1916905550600192915050565b60006122836000805160206135fa83398151915233611a1b565b6122eb5760405162461bcd60e51b815260206004820152603360248201527f596f75206d7573742068617665206d696e74657220726f6c6520746f206368616044820152726e676520726f79616c7479206164647265737360681b606482015260840161095b565b50600880546001600160a01b0390921661010002610100600160a81b0319909216919091179055600190565b60006001600160e01b031982166380ac58cd60e01b148061234857506001600160e01b03198216635b5e139f60e01b145b8061085b575061085b82612a7f565b6000908152600a60205260409020546001600160a01b0316151590565b6000818152600c6020526040902080546001600160a01b0319166001600160a01b03841690811790915581906123a982611405565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006123ed82612357565b61244e5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b606482015260840161095b565b600061245983611405565b9050806001600160a01b0316846001600160a01b031614806124945750836001600160a01b0316612489846108f3565b6001600160a01b0316145b806124c457506001600160a01b038082166000908152600d602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b03166124df82611405565b6001600160a01b0316146125475760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b606482015260840161095b565b6001600160a01b0382166125a95760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161095b565b6125b4600082612374565b6125be8382612ab4565b6125c88282612cca565b6001600160a01b0383166000908152600b602052604081208054600192906125f19084906134e3565b90915550506001600160a01b0382166000908152600b6020526040812080546001929061261f908490613498565b909155505060405181906001600160a01b0380851691908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90600090a4505050565b6001600160a01b0382166126ba5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161095b565b6126c381612357565b156127105760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161095b565b6001600160a01b0382166000908152600b60205260408120805460019290612739908490613498565b925050819055506001600760008282546127539190613498565b90915550506001600160a01b0382166000908152600f602090815260408220805460018101825590835291200181905561278d8282612cca565b6040516001600160a01b0383169082907ff3cea5493d790af0133817606f7350a91d7f154ea52eaa79d179d4d231e5010290600090a360405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008282111561280e57600080fd5b61281882846134e3565b9392505050565b6128298282611a1b565b610d8b576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916600117905561285f3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6128ad8282611a1b565b15610d8b576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60006129148284613498565b90508281101561085b57600080fd5b61292e8484846124cc565b61293a84848484612d99565b611bc55760405162461bcd60e51b815260040161095b90613330565b60606004805461087090613526565b6060816129895750506040805180820190915260018152600360fc1b602082015290565b8160005b81156129b3578061299d81613561565b91506129ac9050600a836134b0565b915061298d565b60008167ffffffffffffffff8111156129dc57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612a06576020820181803683370190505b5090505b84156124c457612a1b6001836134e3565b9150612a28600a8661357c565b612a33906030613498565b60f81b818381518110612a5657634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350612a78600a866134b0565b9450612a0a565b60006001600160e01b03198216637965db0b60e01b148061085b57506301ffc9a760e01b6001600160e01b031983161461085b565b6000818152600a60205260409020546001600160a01b03838116911614612b105760405162461bcd60e51b815260206004820152601060248201526f24b731b7b93932b1ba1037bbb732b91760811b604482015260640161095b565b6000818152600a6020908152604080832080546001600160a01b03199081169091556009835281842084815560018181018054841690556002820180549093169092556003810185905560040184905560118352818420546001600160a01b0387168552601090935290832054919291612b89916127ff565b9050818114612c3c576001600160a01b0384166000908152601060205260408120805483908110612bca57634e487b7160e01b600052603260045260246000fd5b906000526020600020015490508060106000876001600160a01b03166001600160a01b031681526020019081526020016000208481548110612c1c57634e487b7160e01b600052603260045260246000fd5b600091825260208083209091019290925591825260119052604090208290555b6001600160a01b0384166000908152601060205260409020805480612c7157634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905582612c8f3390565b6001600160a01b03167f6d97e11e5e36c8f052a95826e5998a393bc23c1ca95dc24d00e28ce375dae1fc60405160405180910390a350505050565b6000818152600a60205260409020546001600160a01b031615612d2f5760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f74206164642c20616c7265616479206f776e65642e000000000000604482015260640161095b565b6000818152600a6020908152604080832080546001600160a01b0319166001600160a01b038716908117909155808452601083529083208054600181810183558286529385200185905592529054612d86916127ff565b6000918252601160205260409091205550565b60006001600160a01b0384163b15612e9b57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612ddd90339089908890889060040161329c565b602060405180830381600087803b158015612df757600080fd5b505af1925050508015612e27575060408051601f3d908101601f19168201909252612e24918101906131be565b60015b612e81573d808015612e55576040519150601f19603f3d011682016040523d82523d6000602084013e612e5a565b606091505b508051612e795760405162461bcd60e51b815260040161095b90613330565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506124c4565b506001949350505050565b828054612eb290613526565b90600052602060002090601f016020900481019282612ed45760008555612f1a565b82601f10612eed57805160ff1916838001178555612f1a565b82800160010185558215612f1a579182015b82811115612f1a578251825591602001919060010190612eff565b50612f26929150612f2a565b5090565b5b80821115612f265760008155600101612f2b565b600067ffffffffffffffff80841115612f5a57612f5a6135bc565b604051601f8501601f19908116603f01168101908282118183101715612f8257612f826135bc565b81604052809350858152868686011115612f9b57600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b0381168114612fcc57600080fd5b919050565b600060208284031215612fe2578081fd5b61281882612fb5565b60008060408385031215612ffd578081fd5b61300683612fb5565b915061301460208401612fb5565b90509250929050565b600080600060608486031215613031578081fd5b61303a84612fb5565b925061304860208501612fb5565b9150604084013590509250925092565b6000806000806080858703121561306d578081fd5b61307685612fb5565b935061308460208601612fb5565b925060408501359150606085013567ffffffffffffffff8111156130a6578182fd5b8501601f810187136130b6578182fd5b6130c587823560208401612f3f565b91505092959194509250565b600080604083850312156130e3578182fd5b6130ec83612fb5565b915060208301356130fc816135d2565b809150509250929050565b60008060408385031215613119578182fd5b61312283612fb5565b946020939093013593505050565b600060208284031215613141578081fd5b8135612818816135d2565b60006020828403121561315d578081fd5b8151612818816135d2565b600060208284031215613179578081fd5b5035919050565b60008060408385031215613192578182fd5b8235915061301460208401612fb5565b6000602082840312156131b3578081fd5b8135612818816135e3565b6000602082840312156131cf578081fd5b8151612818816135e3565b6000602082840312156131eb578081fd5b813567ffffffffffffffff811115613201578182fd5b8201601f81018413613211578182fd5b6124c484823560208401612f3f565b60008060408385031215613232578182fd5b50508035926020909101359150565b600081518084526132598160208601602086016134fa565b601f01601f19169290920160200192915050565b6000835161327f8184602088016134fa565b8351908301906132938183602088016134fa565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906132cf90830184613241565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015613311578351835292840192918401916001016132f5565b50909695505050505050565b6020815260006128186020830184613241565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252602b908201527f596f75206d7573742068617665206d696e74657220726f6c6520746f2063686160408201526a6e6765206261736555524960a81b606082015260800190565b60208082526023908201527f5468652073656c6c6572206973206e6f74206f776e6572206f7220617070726f6040820152621d995960ea1b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b600082198211156134ab576134ab613590565b500190565b6000826134bf576134bf6135a6565b500490565b60008160001904831182151516156134de576134de613590565b500290565b6000828210156134f5576134f5613590565b500390565b60005b838110156135155781810151838201526020016134fd565b83811115611bc55750506000910152565b600181811c9082168061353a57607f821691505b6020821081141561355b57634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561357557613575613590565b5060010190565b60008261358b5761358b6135a6565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b80151581146135e057600080fd5b50565b6001600160e01b0319811681146135e057600080fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a2646970667358221220c3f9647eb38df3e0e017a7789de0955be90e30fdf559af4cfbeb09849f09bb9464736f6c63430008040033

Deployed Bytecode

0x6080604052600436106102515760003560e01c80637fc9b4a611610139578063b88d4fde116100b6578063d8f3790f1161007a578063d8f3790f1461075a578063e272b89214610787578063e985e9c5146107a7578063ef5793ce146107f0578063f6e4bba614610810578063f7932ab81461083057600080fd5b8063b88d4fde146106d0578063c87b56dd146106f0578063d0e30db014610710578063d539139314610718578063d547741f1461073a57600080fd5b806395d89b41116100fd57806395d89b4114610657578063a217fddf1461066c578063a22cb46514610681578063b2918503146106a1578063b66a0e5d146106bb57600080fd5b80637fc9b4a61461055b5780638a67456a1461056e578063906f33301461058d57806390ba7a32146105ad57806391d148541461063757600080fd5b80632f2ff15d116101d257806351ed82881161019657806351ed82881461047d57806355f804b3146104a75780636352211e146104c757806370a08231146104e757806375b238fc146105075780637ed0f2811461053b57600080fd5b80632f2ff15d146103db57806336568abe146103fb57806340398d671461041b57806342842e0e14610448578063480080d61461046857600080fd5b806323b872dd1161021957806323b872dd14610326578063248a9ca31461034657806329ee566c146103765780632d1a12f61461039b5780632e1a7d4d146103bb57600080fd5b806301ffc9a71461025657806306fdde031461028b578063081812fc146102ad578063095ea7b3146102e557806318160ddd14610307575b600080fd5b34801561026257600080fd5b506102766102713660046131a2565b610850565b60405190151581526020015b60405180910390f35b34801561029757600080fd5b506102a0610861565b604051610282919061331d565b3480156102b957600080fd5b506102cd6102c8366004613168565b6108f3565b6040516001600160a01b039091168152602001610282565b3480156102f157600080fd5b50610305610300366004613107565b610980565b005b34801561031357600080fd5b506007545b604051908152602001610282565b34801561033257600080fd5b5061030561034136600461301d565b610a96565b34801561035257600080fd5b50610318610361366004613168565b60009081526020819052604090206001015490565b34801561038257600080fd5b506008546102cd9061010090046001600160a01b031681565b3480156103a757600080fd5b506103056103b6366004613180565b610ac7565b3480156103c757600080fd5b506103056103d6366004613168565b610b95565b3480156103e757600080fd5b506103056103f6366004613180565b610d00565b34801561040757600080fd5b50610305610416366004613180565b610d8f565b34801561042757600080fd5b5061043b610436366004612fd1565b610e09565b60405161028291906132d9565b34801561045457600080fd5b5061030561046336600461301d565b610e75565b34801561047457600080fd5b506102a0610e90565b61049061048b366004613168565b610f1e565b604080519215158352602083019190915201610282565b3480156104b357600080fd5b506102766104c23660046131da565b6113b3565b3480156104d357600080fd5b506102cd6104e2366004613168565b611405565b3480156104f357600080fd5b50610318610502366004612fd1565b61147c565b34801561051357600080fd5b506103187fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b34801561054757600080fd5b50610276610556366004613168565b611503565b610276610569366004613168565b61159c565b34801561057a57600080fd5b5060125461027690610100900460ff1681565b34801561059957600080fd5b506102766105a8366004613220565b611917565b3480156105b957600080fd5b506106036105c8366004613168565b6009602052600090815260409020805460018201546002830154600384015460049094015492936001600160a01b0392831693929091169185565b604080519586526001600160a01b03948516602087015292909316918401919091526060830152608082015260a001610282565b34801561064357600080fd5b50610276610652366004613180565b611a1b565b34801561066357600080fd5b506102a0611a44565b34801561067857600080fd5b50610318600081565b34801561068d57600080fd5b5061030561069c3660046130d1565b611a53565b3480156106ad57600080fd5b506008546102769060ff1681565b3480156106c757600080fd5b50610305611b18565b3480156106dc57600080fd5b506103056106eb366004613058565b611b94565b3480156106fc57600080fd5b506102a061070b366004613168565b611bcb565b610305611c72565b34801561072457600080fd5b506103186000805160206135fa83398151915281565b34801561074657600080fd5b50610305610755366004613180565b611cbd565b34801561076657600080fd5b50610318610775366004612fd1565b60136020526000908152604090205481565b34801561079357600080fd5b506103056107a2366004613130565b611d3d565b3480156107b357600080fd5b506102766107c2366004612feb565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205460ff1690565b3480156107fc57600080fd5b5061031861080b366004613107565b611dd3565b34801561081c57600080fd5b5061027661082b366004613168565b611e04565b34801561083c57600080fd5b5061027661084b366004612fd1565b612269565b600061085b82612317565b92915050565b60606001805461087090613526565b80601f016020809104026020016040519081016040528092919081815260200182805461089c90613526565b80156108e95780601f106108be576101008083540402835291602001916108e9565b820191906000526020600020905b8154815290600101906020018083116108cc57829003601f168201915b5050505050905090565b60006108fe82612357565b6109645760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600c60205260409020546001600160a01b031690565b600061098b82611405565b9050806001600160a01b0316836001600160a01b031614156109f95760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b606482015260840161095b565b336001600160a01b0382161480610a155750610a1581336107c2565b610a875760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606482015260840161095b565b610a918383612374565b505050565b610aa033826123e2565b610abc5760405162461bcd60e51b815260040161095b90613410565b610a918383836124cc565b610adf6000805160206135fa83398151915233611a1b565b610afb5760405162461bcd60e51b815260040161095b90613382565b61138882600754610b0c9190613498565b1115610b5a5760405162461bcd60e51b815260206004820152601d60248201527f54686520746f6b656e73206c696d69742068617320726561636865642e000000604482015260640161095b565b60005b82811015610a915760006007546001610b769190613498565b9050610b828382612664565b5080610b8d81613561565b915050610b5d565b60125460ff1615610bb85760405162461bcd60e51b815260040161095b90613461565b6012805460ff191660011790819055610100900460ff1615610bd957600080fd5b33600090815260136020526040902054811115610c385760405162461bcd60e51b815260206004820152601f60248201527f496e73756666696369656e742066756e647320746f2077697468647261772e00604482015260640161095b565b610c628160136000335b6001600160a01b03168152602081019190915260400160002054906127ff565b3360008181526013602052604080822093909355915183908381818185875af1925050503d8060008114610cb2576040519150601f19603f3d011682016040523d82523d6000602084013e610cb7565b606091505b5050905080610cc557600080fd5b604051829033907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436490600090a350506012805460ff19169055565b600082815260208190526040902060010154610d1d905b33611a1b565b610d815760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526e0818591b5a5b881d1bc819dc985b9d608a1b606482015260840161095b565b610d8b828261281f565b5050565b6001600160a01b0381163314610dff5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161095b565b610d8b82826128a3565b6001600160a01b038116600090815260106020908152604091829020805483518184028101840190945280845260609392830182828015610e6957602002820191906000526020600020905b815481526020019060010190808311610e55575b50505050509050919050565b610a9183838360405180602001604052806000815250611b94565b60038054610e9d90613526565b80601f0160208091040260200160405190810160405280929190818152602001828054610ec990613526565b8015610f165780601f10610eeb57610100808354040283529160200191610f16565b820191906000526020600020905b815481529060010190602001808311610ef957829003601f168201915b505050505081565b601254600090819060ff1615610f465760405162461bcd60e51b815260040161095b90613461565b6012805460ff191660011790819055610100900460ff1615610f6757600080fd5b60008311610fb75760405162461bcd60e51b815260206004820152601c60248201527f5175616e74697479206d757374206265206d6f7265207468616e203000000000604482015260640161095b565b600b83106110075760405162461bcd60e51b815260206004820152601d60248201527f5175616e74697479206d757374206265206c657373207468616e203131000000604482015260640161095b565b60085460ff166111765733604051630f55ce5360e01b81526001600160a01b03909116600482015273751fc9716985d50fc5cefad7e267702730a44a3590630f55ce539060240160206040518083038186803b15801561106657600080fd5b505af415801561107a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109e919061314c565b6110ea5760405162461bcd60e51b815260206004820152601860248201527f5468652073616c65206861736e277420737461727465642e0000000000000000604482015260640161095b565b60028361110d335b6001600160a01b03166000908152600b602052604090205490565b6111179190613498565b11156111715760405162461bcd60e51b8152602060048201526024808201527f416c6c6f7765642032206e667420706572206163636f756e74206f6e2070726560448201526373616c6560e01b606482015260840161095b565b6111da565b600a83611182336110f2565b61118c9190613498565b11156111da5760405162461bcd60e51b815260206004820152601a60248201527f416c6c6f776564203130206e667420706572206163636f756e74000000000000604482015260640161095b565b611388836007546111eb9190613498565b11156112395760405162461bcd60e51b815260206004820152601d60248201527f54686520746f6b656e73206c696d69742068617320726561636865642e000000604482015260640161095b565b60085460ff16156112a45760055461125184346134c4565b101561129f5760405162461bcd60e51b815260206004820152601f60248201527f496e73756666696369656e742066756e647320746f2070757263686173652e00604482015260640161095b565b6112ff565b6006546112b184346134c4565b10156112ff5760405162461bcd60e51b815260206004820152601f60248201527f496e73756666696369656e742066756e647320746f2070757263686173652e00604482015260640161095b565b60085460405160009161010090046001600160a01b03169034908381818185875af1925050503d8060008114611351576040519150601f19603f3d011682016040523d82523d6000602084013e611356565b606091505b505090508061136457600080fd5b6000805b8581101561139c5760075461137e906001613498565b915061138a3383612664565b8061139481613561565b915050611368565b506012805460ff1916905560019590945092505050565b60006113cd6000805160206135fa83398151915233611a1b565b6113e95760405162461bcd60e51b815260040161095b90613382565b81516113fc906004906020850190612ea6565b50600192915050565b6000818152600a60205260408120546001600160a01b03168061085b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b606482015260840161095b565b60006001600160a01b0382166114e75760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b606482015260840161095b565b506001600160a01b03166000908152600b602052604090205490565b6000611510335b836123e2565b61152c5760405162461bcd60e51b815260040161095b906133cd565b6000828152600960205260408082208281556001810180546001600160a01b031990811690915560028201805490911690556003810183905560040182905551839133917f6d97e11e5e36c8f052a95826e5998a393bc23c1ca95dc24d00e28ce375dae1fc9190a3506001919050565b60125460009060ff16156115c25760405162461bcd60e51b815260040161095b90613461565b6012805460ff191660011790556115d882612357565b61161f5760405162461bcd60e51b8152602060048201526018602482015277151a19481d1bdad95b881a5cc81b9bdb995e1a5cdd195b9d60421b604482015260640161095b565b600082815260096020908152604091829020825160a0810184528154815260018201546001600160a01b0390811693820184905260028301541693810193909352600381015460608401526004015460808301526116bb5760405162461bcd60e51b815260206004820152601960248201527854686520746f6b656e206973206e6f7420666f722073616c6560381b604482015260640161095b565b6116c6335b846123e2565b156117135760405162461bcd60e51b815260206004820152601860248201527f546865206f776e65722063616e2774206d616b65206269640000000000000000604482015260640161095b565b60408101516001600160a01b031633141561179157600034116117785760405162461bcd60e51b815260206004820152601e60248201527f496e73756666696369656e742066756e647320746f206d616b65206269640000604482015260640161095b565b60808101516117879034612908565b6080820152611801565b806060015134101580156117a85750806080015134115b6117f45760405162461bcd60e51b815260206004820152601e60248201527f496e73756666696369656e742066756e647320746f206d616b65206269640000604482015260640161095b565b3460808201523360408201525b61182b3460136000335b6001600160a01b0316815260208101919091526040016000205490612908565b336000818152601360209081526040808320949094558682526009815283822085518155908501516001820180546001600160a01b039283166001600160a01b03199182161790915586860151600284018054919093169116179055606085015160038201556080850151600490910155915134927fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c91a38281608001516118d03390565b6001600160a01b03167f87f5b2fe112bf269d30fb8ca9dc0bde0afd0cc39258e13fafd75fe794795bf0e60405160405180910390a450506012805460ff1916905550600190565b6000611922336116c0565b61193e5760405162461bcd60e51b815260040161095b906133cd565b6040518060a001604052808481526020016119563390565b6001600160a01b0390811682526000602080840182905260408085018890526060948501839052888352600982529182902085518155908501516001820180549185166001600160a01b0319928316179055918501516002820180549190941692169190911790915590820151600382015560809091015160049091015581836119dd3390565b6001600160a01b03167f3717c35c2bbd44105584b2f11db3f276443b6788fbbd518272b823fa5988802460405160405180910390a450600192915050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60606002805461087090613526565b6001600160a01b038216331415611aac5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161095b565b336000818152600d602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b611b306000805160206135fa83398151915233611a1b565b611b4c5760405162461bcd60e51b815260040161095b90613382565b60085460ff1615611b5c57600080fd5b6008805460ff191660011790556040517f3a40cba5bc9ba53b982e020c19f51fdf3b4e536da88b16beafe417447277536d90600090a1565b611b9d3361150a565b611bb95760405162461bcd60e51b815260040161095b90613410565b611bc584848484612923565b50505050565b6060611bd682612357565b611c3a5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b606482015260840161095b565b611c42612956565b611c4b83612965565b604051602001611c5c92919061326d565b6040516020818303038152906040529050919050565b611c8034601360003361180b565b3360008181526013602052604080822093909355915134927fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c91a3565b600082815260208190526040902060010154611cd890610d17565b610dff5760405162461bcd60e51b815260206004820152603060248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526f2061646d696e20746f207265766f6b6560801b606482015260840161095b565b611d556000805160206135fa83398151915233611a1b565b611db95760405162461bcd60e51b815260206004820152602f60248201527f596f75206d7573742068617665206d696e74657220726f6c6520746f2070617560448201526e1cd9481d1a194818dbdb9d1c9858dd608a1b606482015260840161095b565b601280549115156101000261ff0019909216919091179055565b600f6020528160005260406000208181548110611def57600080fd5b90600052602060002001600091509150505481565b60125460009060ff1615611e2a5760405162461bcd60e51b815260040161095b90613461565b6012805460ff191660011790819055610100900460ff1615611e4b57600080fd5b611e5482612357565b611e9b5760405162461bcd60e51b8152602060048201526018602482015277151a19481d1bdad95b881a5cc81b9bdb995e1a5cdd195b9d60421b604482015260640161095b565b600082815260096020908152604091829020825160a0810184528154815260018201546001600160a01b039081169382018490526002830154169381019390935260038101546060840152600401546080830152611f375760405162461bcd60e51b815260206004820152601960248201527854686520746f6b656e206973206e6f7420666f722073616c6560381b604482015260640161095b565b611f40336116c0565b611f9e5760405162461bcd60e51b815260206004820152602960248201527f4f6e6c79206f776e6572206f7220617070726f7665642063616e2061636365706044820152681d081d1a1948189a5960ba1b606482015260840161095b565b60808101516040808301516001600160a01b0316600090815260136020522054101561201d5760405162461bcd60e51b815260206004820152602860248201527f496e73756666696369656e742066756e6473206f6620746865206269646465726044820152672062616c616e636560c01b606482015260840161095b565b60008381526009602052604081208181556001810180546001600160a01b0319908116909155600280830180549092169091556003820183905560049091018290556080830151612070906064906134b0565b61207a91906134c4565b60808301516040808501516001600160a01b03166000908152601360205220549192506120a791906127ff565b6040808401516001600160a01b03166000908152601360208190529181209290925560808401516120db929091903361180b565b3360008181526013602081905260408220939093556120fe928492909190610c42565b33600090815260136020526040808220929092556008549151909161010090046001600160a01b03169083908381818185875af1925050503d8060008114612162576040519150601f19603f3d011682016040523d82523d6000602084013e612167565b606091505b505090508061217557600080fd5b61218883602001518460400151876124cc565b604051859033907f6d97e11e5e36c8f052a95826e5998a393bc23c1ca95dc24d00e28ce375dae1fc90600090a3608083015160408401516001600160a01b0316336001600160a01b03167f4b5796113f074ebf8f11d5bcdeb6349b2fbe47abed78419cdcdbbc15c6fcf8458860405161220391815260200190565b60405180910390a48483604001516001600160a01b031684602001516001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450506012805460ff1916905550600192915050565b60006122836000805160206135fa83398151915233611a1b565b6122eb5760405162461bcd60e51b815260206004820152603360248201527f596f75206d7573742068617665206d696e74657220726f6c6520746f206368616044820152726e676520726f79616c7479206164647265737360681b606482015260840161095b565b50600880546001600160a01b0390921661010002610100600160a81b0319909216919091179055600190565b60006001600160e01b031982166380ac58cd60e01b148061234857506001600160e01b03198216635b5e139f60e01b145b8061085b575061085b82612a7f565b6000908152600a60205260409020546001600160a01b0316151590565b6000818152600c6020526040902080546001600160a01b0319166001600160a01b03841690811790915581906123a982611405565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006123ed82612357565b61244e5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b606482015260840161095b565b600061245983611405565b9050806001600160a01b0316846001600160a01b031614806124945750836001600160a01b0316612489846108f3565b6001600160a01b0316145b806124c457506001600160a01b038082166000908152600d602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b03166124df82611405565b6001600160a01b0316146125475760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b606482015260840161095b565b6001600160a01b0382166125a95760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161095b565b6125b4600082612374565b6125be8382612ab4565b6125c88282612cca565b6001600160a01b0383166000908152600b602052604081208054600192906125f19084906134e3565b90915550506001600160a01b0382166000908152600b6020526040812080546001929061261f908490613498565b909155505060405181906001600160a01b0380851691908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90600090a4505050565b6001600160a01b0382166126ba5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161095b565b6126c381612357565b156127105760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161095b565b6001600160a01b0382166000908152600b60205260408120805460019290612739908490613498565b925050819055506001600760008282546127539190613498565b90915550506001600160a01b0382166000908152600f602090815260408220805460018101825590835291200181905561278d8282612cca565b6040516001600160a01b0383169082907ff3cea5493d790af0133817606f7350a91d7f154ea52eaa79d179d4d231e5010290600090a360405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008282111561280e57600080fd5b61281882846134e3565b9392505050565b6128298282611a1b565b610d8b576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916600117905561285f3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6128ad8282611a1b565b15610d8b576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60006129148284613498565b90508281101561085b57600080fd5b61292e8484846124cc565b61293a84848484612d99565b611bc55760405162461bcd60e51b815260040161095b90613330565b60606004805461087090613526565b6060816129895750506040805180820190915260018152600360fc1b602082015290565b8160005b81156129b3578061299d81613561565b91506129ac9050600a836134b0565b915061298d565b60008167ffffffffffffffff8111156129dc57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612a06576020820181803683370190505b5090505b84156124c457612a1b6001836134e3565b9150612a28600a8661357c565b612a33906030613498565b60f81b818381518110612a5657634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350612a78600a866134b0565b9450612a0a565b60006001600160e01b03198216637965db0b60e01b148061085b57506301ffc9a760e01b6001600160e01b031983161461085b565b6000818152600a60205260409020546001600160a01b03838116911614612b105760405162461bcd60e51b815260206004820152601060248201526f24b731b7b93932b1ba1037bbb732b91760811b604482015260640161095b565b6000818152600a6020908152604080832080546001600160a01b03199081169091556009835281842084815560018181018054841690556002820180549093169092556003810185905560040184905560118352818420546001600160a01b0387168552601090935290832054919291612b89916127ff565b9050818114612c3c576001600160a01b0384166000908152601060205260408120805483908110612bca57634e487b7160e01b600052603260045260246000fd5b906000526020600020015490508060106000876001600160a01b03166001600160a01b031681526020019081526020016000208481548110612c1c57634e487b7160e01b600052603260045260246000fd5b600091825260208083209091019290925591825260119052604090208290555b6001600160a01b0384166000908152601060205260409020805480612c7157634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905582612c8f3390565b6001600160a01b03167f6d97e11e5e36c8f052a95826e5998a393bc23c1ca95dc24d00e28ce375dae1fc60405160405180910390a350505050565b6000818152600a60205260409020546001600160a01b031615612d2f5760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f74206164642c20616c7265616479206f776e65642e000000000000604482015260640161095b565b6000818152600a6020908152604080832080546001600160a01b0319166001600160a01b038716908117909155808452601083529083208054600181810183558286529385200185905592529054612d86916127ff565b6000918252601160205260409091205550565b60006001600160a01b0384163b15612e9b57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612ddd90339089908890889060040161329c565b602060405180830381600087803b158015612df757600080fd5b505af1925050508015612e27575060408051601f3d908101601f19168201909252612e24918101906131be565b60015b612e81573d808015612e55576040519150601f19603f3d011682016040523d82523d6000602084013e612e5a565b606091505b508051612e795760405162461bcd60e51b815260040161095b90613330565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506124c4565b506001949350505050565b828054612eb290613526565b90600052602060002090601f016020900481019282612ed45760008555612f1a565b82601f10612eed57805160ff1916838001178555612f1a565b82800160010185558215612f1a579182015b82811115612f1a578251825591602001919060010190612eff565b50612f26929150612f2a565b5090565b5b80821115612f265760008155600101612f2b565b600067ffffffffffffffff80841115612f5a57612f5a6135bc565b604051601f8501601f19908116603f01168101908282118183101715612f8257612f826135bc565b81604052809350858152868686011115612f9b57600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b0381168114612fcc57600080fd5b919050565b600060208284031215612fe2578081fd5b61281882612fb5565b60008060408385031215612ffd578081fd5b61300683612fb5565b915061301460208401612fb5565b90509250929050565b600080600060608486031215613031578081fd5b61303a84612fb5565b925061304860208501612fb5565b9150604084013590509250925092565b6000806000806080858703121561306d578081fd5b61307685612fb5565b935061308460208601612fb5565b925060408501359150606085013567ffffffffffffffff8111156130a6578182fd5b8501601f810187136130b6578182fd5b6130c587823560208401612f3f565b91505092959194509250565b600080604083850312156130e3578182fd5b6130ec83612fb5565b915060208301356130fc816135d2565b809150509250929050565b60008060408385031215613119578182fd5b61312283612fb5565b946020939093013593505050565b600060208284031215613141578081fd5b8135612818816135d2565b60006020828403121561315d578081fd5b8151612818816135d2565b600060208284031215613179578081fd5b5035919050565b60008060408385031215613192578182fd5b8235915061301460208401612fb5565b6000602082840312156131b3578081fd5b8135612818816135e3565b6000602082840312156131cf578081fd5b8151612818816135e3565b6000602082840312156131eb578081fd5b813567ffffffffffffffff811115613201578182fd5b8201601f81018413613211578182fd5b6124c484823560208401612f3f565b60008060408385031215613232578182fd5b50508035926020909101359150565b600081518084526132598160208601602086016134fa565b601f01601f19169290920160200192915050565b6000835161327f8184602088016134fa565b8351908301906132938183602088016134fa565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906132cf90830184613241565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015613311578351835292840192918401916001016132f5565b50909695505050505050565b6020815260006128186020830184613241565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252602b908201527f596f75206d7573742068617665206d696e74657220726f6c6520746f2063686160408201526a6e6765206261736555524960a81b606082015260800190565b60208082526023908201527f5468652073656c6c6572206973206e6f74206f776e6572206f7220617070726f6040820152621d995960ea1b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b600082198211156134ab576134ab613590565b500190565b6000826134bf576134bf6135a6565b500490565b60008160001904831182151516156134de576134de613590565b500290565b6000828210156134f5576134f5613590565b500390565b60005b838110156135155781810151838201526020016134fd565b83811115611bc55750506000910152565b600181811c9082168061353a57607f821691505b6020821081141561355b57634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561357557613575613590565b5060010190565b60008261358b5761358b6135a6565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b80151581146135e057600080fd5b50565b6001600160e01b0319811681146135e057600080fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a2646970667358221220c3f9647eb38df3e0e017a7789de0955be90e30fdf559af4cfbeb09849f09bb9464736f6c63430008040033

Deployed Bytecode Sourcemap

17571:7044:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18812:161;;;;;;;;;;-1:-1:-1;18812:161:1;;;;;:::i;:::-;;:::i;:::-;;;8332:14:2;;8325:22;8307:41;;8295:2;8280:18;18812:161:1;;;;;;;;9275:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;10372:221::-;;;;;;;;;;-1:-1:-1;10372:221:1;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;6782:32:2;;;6764:51;;6752:2;6737:18;10372:221:1;6719:102:2;9967:397:1;;;;;;;;;;-1:-1:-1;9967:397:1;;;;;:::i;:::-;;:::i;:::-;;9497:89;;;;;;;;;;-1:-1:-1;9568:10:1;;9497:89;;;8768:25:2;;;8756:2;8741:18;9497:89:1;8723:76:2;11076:252:1;;;;;;;;;;-1:-1:-1;11076:252:1;;;;;:::i;:::-;;:::i;5305:123::-;;;;;;;;;;-1:-1:-1;5305:123:1;;;;;:::i;:::-;5371:7;5398:12;;;;;;;;;;:22;;;;5305:123;7554:22;;;;;;;;;;-1:-1:-1;7554:22:1;;;;;;;-1:-1:-1;;;;;7554:22:1;;;15093:386;;;;;;;;;;-1:-1:-1;15093:386:1;;;;;:::i;:::-;;:::i;24037:394::-;;;;;;;;;;-1:-1:-1;24037:394:1;;;;;:::i;:::-;;:::i;5436:232::-;;;;;;;;;;-1:-1:-1;5436:232:1;;;;;:::i;:::-;;:::i;5919:218::-;;;;;;;;;;-1:-1:-1;5919:218:1;;;;;:::i;:::-;;:::i;19673:124::-;;;;;;;;;;-1:-1:-1;19673:124:1;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;11336:151::-;;;;;;;;;;-1:-1:-1;11336:151:1;;;;;:::i;:::-;;:::i;7287:27::-;;;;;;;;;;;;;:::i;22937:1092::-;;;;;;:::i;:::-;;:::i;:::-;;;;8552:14:2;;8545:22;8527:41;;8599:2;8584:18;;8577:34;;;;8500:18;22937:1092:1;8482:135:2;19184:224:1;;;;;;;;;;-1:-1:-1;19184:224:1;;;;;:::i;:::-;;:::i;9028:239::-;;;;;;;;;;-1:-1:-1;9028:239:1;;;;;:::i;:::-;;:::i;8812:208::-;;;;;;;;;;-1:-1:-1;8812:208:1;;;;;:::i;:::-;;:::i;7162:60::-;;;;;;;;;;;;7199:23;7162:60;;20149:280;;;;;;;;;;-1:-1:-1;20149:280:1;;;;;:::i;:::-;;:::i;20439:1016::-;;;;;;:::i;:::-;;:::i;17701:26::-;;;;;;;;;;-1:-1:-1;17701:26:1;;;;;;;;;;;19805:336;;;;;;;;;;-1:-1:-1;19805:336:1;;;;;:::i;:::-;;:::i;7587:43::-;;;;;;;;;;-1:-1:-1;7587:43:1;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7587:43:1;;;;;;;;;;;;;;;24188:25:2;;;-1:-1:-1;;;;;24287:15:2;;;24282:2;24267:18;;24260:43;24339:15;;;;24319:18;;;24312:43;;;;24386:2;24371:18;;24364:34;24429:3;24414:19;;24407:35;24175:3;24160:19;7587:43:1;24142:306:2;5158:139:1;;;;;;;;;;-1:-1:-1;5158:139:1;;;;;:::i;:::-;;:::i;9383:104::-;;;;;;;;;;;;;:::i;4567:49::-;;;;;;;;;;-1:-1:-1;4567:49:1;4612:4;4567:49;;10601:295;;;;;;;;;;-1:-1:-1;10601:295:1;;;;;:::i;:::-;;:::i;7474:30::-;;;;;;;;;;-1:-1:-1;7474:30:1;;;;;;;;22699:229;;;;;;;;;;;;;:::i;11495:285::-;;;;;;;;;;-1:-1:-1;11495:285:1;;;;;:::i;:::-;;:::i;9594:256::-;;;;;;;;;;-1:-1:-1;9594:256:1;;;;;:::i;:::-;;:::i;24439:169::-;;;:::i;7093:62::-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7093:62:1;;5676:235;;;;;;;;;;-1:-1:-1;5676:235:1;;;;;:::i;:::-;;:::i;17813:46::-;;;;;;;;;;-1:-1:-1;17813:46:1;;;;;:::i;:::-;;;;;;;;;;;;;;18981:195;;;;;;;;;;-1:-1:-1;18981:195:1;;;;;:::i;:::-;;:::i;10904:164::-;;;;;;;;;;-1:-1:-1;10904:164:1;;;;;:::i;:::-;-1:-1:-1;;;;;11025:25:1;;;11001:4;11025:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;10904:164;7934:52;;;;;;;;;;-1:-1:-1;7934:52:1;;;;;:::i;:::-;;:::i;21463:1228::-;;;;;;;;;;-1:-1:-1;21463:1228:1;;;;;:::i;:::-;;:::i;19416:247::-;;;;;;;;;;-1:-1:-1;19416:247:1;;;;;:::i;:::-;;:::i;18812:161::-;18905:4;18929:36;18953:11;18929:23;:36::i;:::-;18922:43;18812:161;-1:-1:-1;;18812:161:1:o;9275:100::-;9329:13;9362:5;9355:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9275:100;:::o;10372:221::-;10448:7;10476:16;10484:7;10476;:16::i;:::-;10468:73;;;;-1:-1:-1;;;10468:73:1;;17355:2:2;10468:73:1;;;17337:21:2;17394:2;17374:18;;;17367:30;17433:34;17413:18;;;17406:62;-1:-1:-1;;;17484:18:2;;;17477:42;17536:19;;10468:73:1;;;;;;;;;-1:-1:-1;10561:24:1;;;;:15;:24;;;;;;-1:-1:-1;;;;;10561:24:1;;10372:221::o;9967:397::-;10048:13;10064:23;10079:7;10064:14;:23::i;:::-;10048:39;;10112:5;-1:-1:-1;;;;;10106:11:1;:2;-1:-1:-1;;;;;10106:11:1;;;10098:57;;;;-1:-1:-1;;;10098:57:1;;21235:2:2;10098:57:1;;;21217:21:2;21274:2;21254:18;;;21247:30;21313:34;21293:18;;;21286:62;-1:-1:-1;;;21364:18:2;;;21357:31;21405:19;;10098:57:1;21207:223:2;10098:57:1;4101:10;-1:-1:-1;;;;;10176:21:1;;;;:62;;-1:-1:-1;10201:37:1;10218:5;4101:10;10904:164;:::i;10201:37::-;10168:154;;;;-1:-1:-1;;;10168:154:1;;15395:2:2;10168:154:1;;;15377:21:2;15434:2;15414:18;;;15407:30;15473:34;15453:18;;;15446:62;15544:26;15524:18;;;15517:54;15588:19;;10168:154:1;15367:246:2;10168:154:1;10335:21;10344:2;10348:7;10335:8;:21::i;:::-;9967:397;;;:::o;11076:252::-;11184:41;4101:10;11217:7;11184:18;:41::i;:::-;11176:103;;;;-1:-1:-1;;;11176:103:1;;;;;;;:::i;:::-;11292:28;11302:4;11308:2;11312:7;11292:9;:28::i;15093:386::-;15169:34;-1:-1:-1;;;;;;;;;;;4101:10:1;5158:139;:::i;15169:34::-;15161:90;;;;-1:-1:-1;;;15161:90:1;;;;;;;:::i;:::-;15289:4;15281:5;15270:10;;:16;;;;:::i;:::-;:23;;15262:65;;;;-1:-1:-1;;;15262:65:1;;22055:2:2;15262:65:1;;;22037:21:2;22094:2;22074:18;;;22067:30;22133:31;22113:18;;;22106:59;22182:18;;15262:65:1;22027:179:2;15262:65:1;15343:6;15338:134;15359:5;15355:1;:9;15338:134;;;15386:16;15405:10;;15418:1;15405:14;;;;:::i;:::-;15386:33;;15434:26;15440:9;15451:8;15434:5;:26::i;:::-;-1:-1:-1;15366:3:1;;;;:::i;:::-;;;;15338:134;;24037:394;18207:4;;;;18206:5;18198:49;;;;-1:-1:-1;;;18198:49:1;;;;;;;:::i;:::-;18258:4;:11;;-1:-1:-1;;18258:11:1;18265:4;18258:11;;;;;;24110:14;::::1;18258:11:::0;24110:14:::1;24109:15;24101:24;;;::::0;::::1;;4101:10:::0;24154:24:::1;::::0;;;:10:::1;:24;::::0;;;;;24144:34;::::1;;24136:77;;;::::0;-1:-1:-1;;;24136:77:1;;18537:2:2;24136:77:1::1;::::0;::::1;18519:21:2::0;18576:2;18556:18;;;18549:30;18615:33;18595:18;;;18588:61;18666:18;;24136:77:1::1;18509:181:2::0;24136:77:1::1;24251:36;24280:6:::0;24251:10:::1;:24;4101:10:::0;24262:12:::1;-1:-1:-1::0;;;;;24251:24:1::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;24251:24:1;;;:28:::1;:36::i;:::-;4101:10:::0;24224:24:::1;::::0;;;:10:::1;:24;::::0;;;;;:63;;;;24317:33;;24339:6;;24224:24;24317:33;24224:24;24317:33;24339:6;4101:10;24317:33:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24298:52;;;24369:7;24361:16;;;::::0;::::1;;24393:30;::::0;24416:6;;4101:10;;24393:30:::1;::::0;;;::::1;-1:-1:-1::0;;18292:4:1;:12;;-1:-1:-1;;18292:12:1;;;24037:394::o;5436:232::-;5371:7;5398:12;;;;;;;;;;:22;;;5529:41;;5537:18;4101:10;5158:139;:::i;5529:41::-;5521:101;;;;-1:-1:-1;;;5521:101:1;;9230:2:2;5521:101:1;;;9212:21:2;9269:2;9249:18;;;9242:30;9308:34;9288:18;;;9281:62;-1:-1:-1;;;9359:18:2;;;9352:45;9414:19;;5521:101:1;9202:237:2;5521:101:1;5635:25;5646:4;5652:7;5635:10;:25::i;:::-;5436:232;;:::o;5919:218::-;-1:-1:-1;;;;;6015:23:1;;4101:10;6015:23;6007:83;;;;-1:-1:-1;;;6007:83:1;;23533:2:2;6007:83:1;;;23515:21:2;23572:2;23552:18;;;23545:30;23611:34;23591:18;;;23584:62;-1:-1:-1;;;23662:18:2;;;23655:45;23717:19;;6007:83:1;23505:237:2;6007:83:1;6103:26;6115:4;6121:7;6103:11;:26::i;19673:124::-;-1:-1:-1;;;;;19771:18:1;;;;;;:10;:18;;;;;;;;;19764:25;;;;;;;;;;;;;;;;;19736:16;;19764:25;;;19771:18;19764:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19673:124;;;:::o;11336:151::-;11440:39;11457:4;11463:2;11467:7;11440:39;;;;;;;;;;;;:16;:39::i;7287:27::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;22937:1092::-;18207:4;;23005;;;;18207;;18206:5;18198:49;;;;-1:-1:-1;;;18198:49:1;;;;;;;:::i;:::-;18258:4;:11;;-1:-1:-1;;18258:11:1;18265:4;18258:11;;;;;;23036:14;::::1;18258:11:::0;23036:14:::1;23035:15;23027:24;;;::::0;::::1;;23073:1;23064:8;:10;23056:51;;;::::0;-1:-1:-1;;;23056:51:1;;10065:2:2;23056:51:1::1;::::0;::::1;10047:21:2::0;10104:2;10084:18;;;10077:30;10143;10123:18;;;10116:58;10191:18;;23056:51:1::1;10037:178:2::0;23056:51:1::1;23129:2;23120:8;:11;23112:53;;;::::0;-1:-1:-1;;;23112:53:1;;13438:2:2;23112:53:1::1;::::0;::::1;13420:21:2::0;13477:2;13457:18;;;13450:30;13516:31;13496:18;;;13489:59;13565:18;;23112:53:1::1;13410:179:2::0;23112:53:1::1;23176:10;::::0;::::1;;23171:282;;4101:10:::0;23203:24:::1;::::0;-1:-1:-1;;;23203:24:1;;-1:-1:-1;;;;;23203:22:1;;::::1;:24;::::0;::::1;6764:51:2::0;23203:22:1::1;::::0;::::1;::::0;6737:18:2;;23203:24:1::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23194:62;;;::::0;-1:-1:-1;;;23194:62:1;;11199:2:2;23194:62:1::1;::::0;::::1;11181:21:2::0;11238:2;11218:18;;;11211:30;11277:26;11257:18;;;11250:54;11321:18;;23194:62:1::1;11171:174:2::0;23194:62:1::1;23312:1;23302:8:::0;23271:30:::1;4101:10:::0;23288:12:::1;-1:-1:-1::0;;;;;14577:13:1;14550;14577;;;:9;:13;;;;;;;14486:109;23271:30:::1;:39;;;;:::i;:::-;:42;;23263:91;;;::::0;-1:-1:-1;;;23263:91:1;;22768:2:2;23263:91:1::1;::::0;::::1;22750:21:2::0;22807:2;22787:18;;;22780:30;22846:34;22826:18;;;22819:62;-1:-1:-1;;;22897:18:2;;;22890:34;22941:19;;23263:91:1::1;22740:226:2::0;23263:91:1::1;23171:282;;;23420:2;23410:8:::0;23379:30:::1;4101:10:::0;23396:12:::1;4021:98:::0;23379:30:::1;:39;;;;:::i;:::-;:43;;23371:82;;;::::0;-1:-1:-1;;;23371:82:1;;22413:2:2;23371:82:1::1;::::0;::::1;22395:21:2::0;22452:2;22432:18;;;22425:30;22491:28;22471:18;;;22464:56;22537:18;;23371:82:1::1;22385:176:2::0;23371:82:1::1;23494:4;23483:8;23472:10;;:19;;;;:::i;:::-;:26;;23464:68;;;::::0;-1:-1:-1;;;23464:68:1;;22055:2:2;23464:68:1::1;::::0;::::1;22037:21:2::0;22094:2;22074:18;;;22067:30;22133:31;22113:18;;;22106:59;22182:18;;23464:68:1::1;22027:179:2::0;23464:68:1::1;23547:10;::::0;::::1;;23543:208;;;23602:5;::::0;23580:18:::1;23590:8:::0;23580:9:::1;:18;:::i;:::-;:27;;23572:71;;;::::0;-1:-1:-1;;;23572:71:1;;13078:2:2;23572:71:1::1;::::0;::::1;13060:21:2::0;13117:2;13097:18;;;13090:30;13156:33;13136:18;;;13129:61;13207:18;;23572:71:1::1;13050:181:2::0;23572:71:1::1;23543:208;;;23703:12;::::0;23681:18:::1;23691:8:::0;23681:9:::1;:18;:::i;:::-;:34;;23673:78;;;::::0;-1:-1:-1;;;23673:78:1;;13078:2:2;23673:78:1::1;::::0;::::1;13060:21:2::0;13117:2;13097:18;;;13090:30;13156:33;13136:18;;;13129:61;13207:18;;23673:78:1::1;13050:181:2::0;23673:78:1::1;23781:7;::::0;:33:::1;::::0;23763:12:::1;::::0;23781:7:::1;::::0;::::1;-1:-1:-1::0;;;;;23781:7:1::1;::::0;23800:9:::1;::::0;23763:12;23781:33;23763:12;23781:33;23800:9;23781:7;:33:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23762:52;;;23833:7;23825:16;;;::::0;::::1;;23853:13;::::0;23871:115:::1;23892:8;23888:1;:12;23871:115;;;23924:10;::::0;:14:::1;::::0;23937:1:::1;23924:14;:::i;:::-;23913:25:::0;-1:-1:-1;23944:29:1::1;4101:10:::0;23964:8:::1;23944:5;:29::i;:::-;23902:3:::0;::::1;::::0;::::1;:::i;:::-;;;;23871:115;;;-1:-1:-1::0;18292:4:1;:12;;-1:-1:-1;;18292:12:1;;;24007:4:::1;::::0;24012:8;;-1:-1:-1;22937:1092:1;-1:-1:-1;;;22937:1092:1:o;19184:224::-;19242:4;19267:34;-1:-1:-1;;;;;;;;;;;4101:10:1;5158:139;:::i;19267:34::-;19259:90;;;;-1:-1:-1;;;19259:90:1;;;;;;;:::i;:::-;19360:16;;;;:7;;:16;;;;;:::i;:::-;-1:-1:-1;19394:4:1;;19184:224;-1:-1:-1;;19184:224:1:o;9028:239::-;9100:7;9136:16;;;:7;:16;;;;;;-1:-1:-1;;;;;9136:16:1;9171:19;9163:73;;;;-1:-1:-1;;;9163:73:1;;16231:2:2;9163:73:1;;;16213:21:2;16270:2;16250:18;;;16243:30;16309:34;16289:18;;;16282:62;-1:-1:-1;;;16360:18:2;;;16353:39;16409:19;;9163:73:1;16203:231:2;8812:208:1;8884:7;-1:-1:-1;;;;;8912:19:1;;8904:74;;;;-1:-1:-1;;;8904:74:1;;15820:2:2;8904:74:1;;;15802:21:2;15859:2;15839:18;;;15832:30;15898:34;15878:18;;;15871:62;-1:-1:-1;;;15949:18:2;;;15942:40;15999:19;;8904:74:1;15792:232:2;8904:74:1;-1:-1:-1;;;;;;8996:16:1;;;;;:9;:16;;;;;;;8812:208::o;20149:280::-;20206:4;20230:41;4101:10;20249:12;20263:7;20230:18;:41::i;:::-;20222:89;;;;-1:-1:-1;;;20222:89:1;;;;;;;:::i;:::-;20329:19;;;;:10;:19;;;;;;20322:26;;;;;;;;-1:-1:-1;;;;;;20322:26:1;;;;;;;;;;;;;;;;;;;;;;;;;;;20364:35;20329:19;;4101:10;;20364:35;;20329:19;20364:35;-1:-1:-1;20417:4:1;;20149:280;-1:-1:-1;20149:280:1:o;20439:1016::-;18207:4;;20508;;18207;;18206:5;18198:49;;;;-1:-1:-1;;;18198:49:1;;;;;;;:::i;:::-;18258:4;:11;;-1:-1:-1;;18258:11:1;18265:4;18258:11;;;20532:16:::1;20540:7:::0;20532::::1;:16::i;:::-;20524:53;;;::::0;-1:-1:-1;;;20524:53:1;;14625:2:2;20524:53:1::1;::::0;::::1;14607:21:2::0;14664:2;14644:18;;;14637:30;-1:-1:-1;;;14683:18:2;;;14676:54;14747:18;;20524:53:1::1;14597:174:2::0;20524:53:1::1;20588:20;20611:19:::0;;;:10:::1;:19;::::0;;;;;;;;20588:42;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;20588:42:1;;::::1;::::0;;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;;;;;;;::::1;::::0;::::1;::::0;;;;;::::1;;::::0;;;;;20641:62:::1;;;::::0;-1:-1:-1;;;20641:62:1;;20132:2:2;20641:62:1::1;::::0;::::1;20114:21:2::0;20171:2;20151:18;;;20144:30;-1:-1:-1;;;20190:18:2;;;20183:55;20255:18;;20641:62:1::1;20104:175:2::0;20641:62:1::1;20723:41;4101:10:::0;20742:12:::1;20756:7;20723:18;:41::i;:::-;20722:42;20714:79;;;::::0;-1:-1:-1;;;20714:79:1;;16641:2:2;20714:79:1::1;::::0;::::1;16623:21:2::0;16680:2;16660:18;;;16653:30;16719:26;16699:18;;;16692:54;16763:18;;20714:79:1::1;16613:174:2::0;20714:79:1::1;20808:12;::::0;::::1;::::0;-1:-1:-1;;;;;20808:28:1::1;4101:10:::0;20808:28:::1;20804:399;;;20872:1;20860:9;:13;20852:55;;;::::0;-1:-1:-1;;;20852:55:1;;17768:2:2;20852:55:1::1;::::0;::::1;17750:21:2::0;17807:2;17787:18;;;17780:30;17846:32;17826:18;;;17819:60;17896:18;;20852:55:1::1;17740:180:2::0;20852:55:1::1;20941:16;::::0;::::1;::::0;:31:::1;::::0;20962:9:::1;20941:20;:31::i;:::-;20922:16;::::0;::::1;:50:::0;20804:399:::1;;;21025:5;:14;;;21012:9;:27;;:59;;;;;21055:5;:16;;;21043:9;:28;21012:59;21004:102;;;::::0;-1:-1:-1;;;21004:102:1;;17768:2:2;21004:102:1::1;::::0;::::1;17750:21:2::0;17807:2;17787:18;;;17780:30;17846:32;17826:18;;;17819:60;17896:18;;21004:102:1::1;17740:180:2::0;21004:102:1::1;21140:9;21121:16;::::0;::::1;:28:::0;4101:10;21164:12:::1;::::0;::::1;:27:::0;20804:399:::1;21240:39;21269:9;21240:10;:24;4101:10:::0;21251:12:::1;-1:-1:-1::0;;;;;21240:24:1::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;21240:24:1;;;:28:::1;:39::i;:::-;4101:10:::0;21213:24:::1;::::0;;;:10:::1;:24;::::0;;;;;;;:66;;;;21290:19;;;:10:::1;:19:::0;;;;;:27;;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;21290:27:1;;::::1;-1:-1:-1::0;;;;;;21290:27:1;;::::1;;::::0;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;21333:31;;21354:9:::1;::::0;21333:31:::1;::::0;::::1;21417:7;21400:5;:16;;;21387:12;4101:10:::0;;4021:98;21387:12:::1;-1:-1:-1::0;;;;;21380:45:1::1;;;;;;;;;;;-1:-1:-1::0;;18292:4:1;:12;;-1:-1:-1;;18292:12:1;;;-1:-1:-1;21443:4:1::1;::::0;20439:1016::o;19805:336::-;19869:4;19893:41;4101:10;19912:12;4021:98;19893:41;19885:89;;;;-1:-1:-1;;;19885:89:1;;;;;;;:::i;:::-;20006:51;;;;;;;;20014:7;20006:51;;;;20022:12;4101:10;;4021:98;20022:12;-1:-1:-1;;;;;20006:51:1;;;;;20043:1;20006:51;;;;;;;;;;;;;;;;;;;;;19985:19;;;:10;:19;;;;;;:72;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;19985:72:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20046:8;19996:7;20081:12;4101:10;;4021:98;20081:12;-1:-1:-1;;;;;20073:38:1;;;;;;;;;;;-1:-1:-1;20129:4:1;19805:336;;;;:::o;5158:139::-;5236:4;5260:12;;;;;;;;;;;-1:-1:-1;;;;;5260:29:1;;;;;;;;;;;;;;;5158:139::o;9383:104::-;9439:13;9472:7;9465:14;;;;;:::i;10601:295::-;-1:-1:-1;;;;;10704:24:1;;4101:10;10704:24;;10696:62;;;;-1:-1:-1;;;10696:62:1;;12369:2:2;10696:62:1;;;12351:21:2;12408:2;12388:18;;;12381:30;12447:27;12427:18;;;12420:55;12492:18;;10696:62:1;12341:175:2;10696:62:1;4101:10;10771:32;;;;:18;:32;;;;;;;;-1:-1:-1;;;;;10771:42:1;;;;;;;;;;;;:53;;-1:-1:-1;;10771:53:1;;;;;;;;;;10840:48;;8307:41:2;;;10771:42:1;;4101:10;10840:48;;8280:18:2;10840:48:1;;;;;;;10601:295;;:::o;22699:229::-;22748:34;-1:-1:-1;;;;;;;;;;;4101:10:1;5158:139;:::i;22748:34::-;22740:90;;;;-1:-1:-1;;;22740:90:1;;;;;;;:::i;:::-;22850:10;;;;22849:11;22841:20;;;;;;22872:10;:17;;-1:-1:-1;;22872:17:1;22885:4;22872:17;;;22905:15;;;;22872:10;;22905:15;22699:229::o;11495:285::-;11627:41;4101:10;11646:12;4021:98;11627:41;11619:103;;;;-1:-1:-1;;;11619:103:1;;;;;;;:::i;:::-;11733:39;11747:4;11753:2;11757:7;11766:5;11733:13;:39::i;:::-;11495:285;;;;:::o;9594:256::-;9667:13;9701:16;9709:7;9701;:16::i;:::-;9693:76;;;;-1:-1:-1;;;9693:76:1;;18897:2:2;9693:76:1;;;18879:21:2;18936:2;18916:18;;;18909:30;18975:34;18955:18;;;18948:62;-1:-1:-1;;;19026:18:2;;;19019:45;19081:19;;9693:76:1;18869:237:2;9693:76:1;9811:10;:8;:10::i;:::-;9823:17;9832:7;9823:8;:17::i;:::-;9794:47;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9780:62;;9594:256;;;:::o;24439:169::-;24513:39;24542:9;24513:10;:24;4101:10;24524:12;4021:98;24513:39;4101:10;24486:24;;;;:10;:24;;;;;;:66;;;;24568:32;;24590:9;;24568:32;;;24439:169::o;5676:235::-;5371:7;5398:12;;;;;;;;;;:22;;;5770:41;;5778:18;5305:123;5770:41;5762:102;;;;-1:-1:-1;;;5762:102:1;;14978:2:2;5762:102:1;;;14960:21:2;15017:2;14997:18;;;14990:30;15056:34;15036:18;;;15029:62;-1:-1:-1;;;15107:18:2;;;15100:46;15163:19;;5762:102:1;14950:238:2;18981:195:1;19047:34;-1:-1:-1;;;;;;;;;;;4101:10:1;5158:139;:::i;19047:34::-;19039:94;;;;-1:-1:-1;;;19039:94:1;;14209:2:2;19039:94:1;;;14191:21:2;14248:2;14228:18;;;14221:30;14287:34;14267:18;;;14260:62;-1:-1:-1;;;14338:18:2;;;14331:45;14393:19;;19039:94:1;14181:237:2;19039:94:1;19144:14;:24;;;;;;;-1:-1:-1;;19144:24:1;;;;;;;;;18981:195::o;7934:52::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;21463:1228::-;18207:4;;21526;;18207;;18206:5;18198:49;;;;-1:-1:-1;;;18198:49:1;;;;;;;:::i;:::-;18258:4;:11;;-1:-1:-1;;18258:11:1;18265:4;18258:11;;;;;;21551:14;::::1;18258:11:::0;21551:14:::1;21550:15;21542:24;;;::::0;::::1;;21585:16;21593:7;21585;:16::i;:::-;21577:53;;;::::0;-1:-1:-1;;;21577:53:1;;14625:2:2;21577:53:1::1;::::0;::::1;14607:21:2::0;14664:2;14644:18;;;14637:30;-1:-1:-1;;;14683:18:2;;;14676:54;14747:18;;21577:53:1::1;14597:174:2::0;21577:53:1::1;21641:20;21664:19:::0;;;:10:::1;:19;::::0;;;;;;;;21641:42;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;21641:42:1;;::::1;::::0;;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;;;;;;;::::1;::::0;::::1;::::0;;;;;::::1;;::::0;;;;;21694:62:::1;;;::::0;-1:-1:-1;;;21694:62:1;;20132:2:2;21694:62:1::1;::::0;::::1;20114:21:2::0;20171:2;20151:18;;;20144:30;-1:-1:-1;;;20190:18:2;;;20183:55;20255:18;;21694:62:1::1;20104:175:2::0;21694:62:1::1;21775:41;4101:10:::0;21794:12:::1;4021:98:::0;21775:41:::1;21767:95;;;::::0;-1:-1:-1;;;21767:95:1;;19313:2:2;21767:95:1::1;::::0;::::1;19295:21:2::0;19352:2;19332:18;;;19325:30;19391:34;19371:18;;;19364:62;-1:-1:-1;;;19442:18:2;;;19435:39;19491:19;;21767:95:1::1;19285:231:2::0;21767:95:1::1;21909:16;::::0;::::1;::::0;21892:12:::1;::::0;;::::1;::::0;-1:-1:-1;;;;;21881:24:1::1;;::::0;;;:10:::1;:24;::::0;;;:44:::1;;21873:96;;;::::0;-1:-1:-1;;;21873:96:1;;19723:2:2;21873:96:1::1;::::0;::::1;19705:21:2::0;19762:2;19742:18;;;19735:30;19801:34;19781:18;;;19774:62;-1:-1:-1;;;19852:18:2;;;19845:38;19900:19;;21873:96:1::1;19695:230:2::0;21873:96:1::1;21987:19;::::0;;;:10:::1;:19;::::0;;;;21980:26;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;21980:26:1;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;22041:16:::1;::::0;::::1;::::0;:22:::1;::::0;22060:3:::1;::::0;22041:22:::1;:::i;:::-;:41;;;;:::i;:::-;22149:16;::::0;::::1;::::0;22131:12:::1;::::0;;::::1;::::0;-1:-1:-1;;;;;22120:24:1::1;;::::0;;;:10:::1;:24;::::0;;;22017:65;;-1:-1:-1;22120:46:1::1;::::0;:24;:28:::1;:46::i;:::-;22104:12;::::0;;::::1;::::0;-1:-1:-1;;;;;22093:24:1::1;;::::0;;;:10:::1;:24;::::0;;;;;;:73;;;;22233:16:::1;::::0;::::1;::::0;22204:46:::1;::::0;22233:16;;22093:10;4101;22215:12:::1;4021:98:::0;22204:46:::1;4101:10:::0;22177:24:::1;::::0;;;:10:::1;:24;::::0;;;;;;:73;;;;22288:43:::1;::::0;22317:13;;22177:10;;:24;22299:12:::1;4021:98:::0;22288:43:::1;4101:10:::0;22261:24:::1;::::0;;;:10:::1;:24;::::0;;;;;:70;;;;22361:7:::1;::::0;:37;;22261:24;;22361:7:::1;::::0;::::1;-1:-1:-1::0;;;;;22361:7:1::1;::::0;22380:13;;22261:24;22361:37;22261:24;22361:37;22380:13;22361:7;:37:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22342:56;;;22417:7;22409:16;;;::::0;::::1;;22436:43;22446:5;:11;;;22458:5;:12;;;22471:7;22436:9;:43::i;:::-;22495:35;::::0;22522:7;;4101:10;;22495:35:::1;::::0;;;::::1;22578:16;::::0;::::1;::::0;22565:12:::1;::::0;::::1;::::0;-1:-1:-1;;;;;22546:57:1::1;4101:10:::0;-1:-1:-1;;;;;22546:57:1::1;;22595:7;22546:57;;;;8768:25:2::0;;8756:2;8741:18;;8723:76;22546:57:1::1;;;;;;;;22653:7;22640:5;:12;;;-1:-1:-1::0;;;;;22619:42:1::1;22628:5;:11;;;-1:-1:-1::0;;;;;22619:42:1::1;;;;;;;;;;;-1:-1:-1::0;;18292:4:1;:12;;-1:-1:-1;;18292:12:1;;;-1:-1:-1;22679:4:1::1;::::0;21463:1228;-1:-1:-1;;21463:1228:1:o;19416:247::-;19483:4;19507:34;-1:-1:-1;;;;;;;;;;;4101:10:1;5158:139;:::i;19507:34::-;19499:98;;;;-1:-1:-1;;;19499:98:1;;10779:2:2;19499:98:1;;;10761:21:2;10818:2;10798:18;;;10791:30;10857:34;10837:18;;;10830:62;-1:-1:-1;;;10908:18:2;;;10901:49;10967:19;;19499:98:1;10751:241:2;19499:98:1;-1:-1:-1;19608:7:1;:25;;-1:-1:-1;;;;;19608:25:1;;;;;-1:-1:-1;;;;;;19608:25:1;;;;;;;;;:7;;19416:247::o;8497:307::-;8614:4;-1:-1:-1;;;;;;8638:40:1;;-1:-1:-1;;;8638:40:1;;:105;;-1:-1:-1;;;;;;;8695:48:1;;-1:-1:-1;;;8695:48:1;8638:105;:158;;;;8760:36;8784:11;8760:23;:36::i;12068:127::-;12133:4;12157:16;;;:7;:16;;;;;;-1:-1:-1;;;;;12157:16:1;:30;;;12068:127::o;16440:174::-;16515:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;16515:29:1;-1:-1:-1;;;;;16515:29:1;;;;;;;;:24;;16569:23;16515:24;16569:14;:23::i;:::-;-1:-1:-1;;;;;16560:46:1;;;;;;;;;;;16440:174;;:::o;12203:348::-;12296:4;12321:16;12329:7;12321;:16::i;:::-;12313:73;;;;-1:-1:-1;;;12313:73:1;;13796:2:2;12313:73:1;;;13778:21:2;13835:2;13815:18;;;13808:30;13874:34;13854:18;;;13847:62;-1:-1:-1;;;13925:18:2;;;13918:42;13977:19;;12313:73:1;13768:234:2;12313:73:1;12397:13;12413:23;12428:7;12413:14;:23::i;:::-;12397:39;;12466:5;-1:-1:-1;;;;;12455:16:1;:7;-1:-1:-1;;;;;12455:16:1;;:51;;;;12499:7;-1:-1:-1;;;;;12475:31:1;:20;12487:7;12475:11;:20::i;:::-;-1:-1:-1;;;;;12475:31:1;;12455:51;:87;;;-1:-1:-1;;;;;;11025:25:1;;;11001:4;11025:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;12510:32;12447:96;12203:348;-1:-1:-1;;;;12203:348:1:o;15879:553::-;16004:4;-1:-1:-1;;;;;15977:31:1;:23;15992:7;15977:14;:23::i;:::-;-1:-1:-1;;;;;15977:31:1;;15969:85;;;;-1:-1:-1;;;15969:85:1;;18127:2:2;15969:85:1;;;18109:21:2;18166:2;18146:18;;;18139:30;18205:34;18185:18;;;18178:62;-1:-1:-1;;;18256:18:2;;;18249:39;18305:19;;15969:85:1;18099:231:2;15969:85:1;-1:-1:-1;;;;;16073:16:1;;16065:65;;;;-1:-1:-1;;;16065:65:1;;11964:2:2;16065:65:1;;;11946:21:2;12003:2;11983:18;;;11976:30;12042:34;12022:18;;;12015:62;-1:-1:-1;;;12093:18:2;;;12086:34;12137:19;;16065:65:1;11936:226:2;16065:65:1;16195:29;16212:1;16216:7;16195:8;:29::i;:::-;16245;16260:4;16266:7;16245:14;:29::i;:::-;16285:24;16297:2;16301:7;16285:11;:24::i;:::-;-1:-1:-1;;;;;16322:15:1;;;;;;:9;:15;;;;;:20;;16341:1;;16322:15;:20;;16341:1;;16322:20;:::i;:::-;;;;-1:-1:-1;;;;;;;16353:13:1;;;;;;:9;:13;;;;;:18;;16370:1;;16353:13;:18;;16370:1;;16353:18;:::i;:::-;;;;-1:-1:-1;;16397:27:1;;16416:7;;-1:-1:-1;;;;;16397:27:1;;;;;;;;;;;;;15879:553;;;:::o;14601:485::-;-1:-1:-1;;;;;14681:16:1;;14673:61;;;;-1:-1:-1;;;14673:61:1;;16994:2:2;14673:61:1;;;16976:21:2;;;17013:18;;;17006:30;17072:34;17052:18;;;17045:62;17124:18;;14673:61:1;16966:182:2;14673:61:1;14754:16;14762:7;14754;:16::i;:::-;14753:17;14745:58;;;;-1:-1:-1;;;14745:58:1;;10422:2:2;14745:58:1;;;10404:21:2;10461:2;10441:18;;;10434:30;10500;10480:18;;;10473:58;10548:18;;14745:58:1;10394:178:2;14745:58:1;-1:-1:-1;;;;;14874:13:1;;;;;;:9;:13;;;;;:18;;14891:1;;14874:13;:18;;14891:1;;14874:18;:::i;:::-;;;;;;;;14917:1;14903:10;;:15;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;14929:18:1;;;;;;:14;:18;;;;;;;:32;;;;;;;;;;;;;;;;14972:24;14944:2;14953:7;14972:11;:24::i;:::-;15012:17;;-1:-1:-1;;;;;15012:17:1;;;15017:7;;15012:17;;;;;15045:33;;15070:7;;-1:-1:-1;;;;;15045:33:1;;;15062:1;;15045:33;;15062:1;;15045:33;14601:485;;:::o;1114:124::-;1172:7;1205:1;1200;:6;;1192:15;;;;;;1225:5;1229:1;1225;:5;:::i;:::-;1218:12;1114:124;-1:-1:-1;;;1114:124:1:o;6468:229::-;6543:22;6551:4;6557:7;6543;:22::i;:::-;6538:152;;6582:6;:12;;;;;;;;;;;-1:-1:-1;;;;;6582:29:1;;;;;;;;;:36;;-1:-1:-1;;6582:36:1;6614:4;6582:36;;;6665:12;4101:10;;4021:98;6665:12;-1:-1:-1;;;;;6638:40:1;6656:7;-1:-1:-1;;;;;6638:40:1;6650:4;6638:40;;;;;;;;;;6468:229;;:::o;6705:230::-;6780:22;6788:4;6794:7;6780;:22::i;:::-;6776:152;;;6851:5;6819:12;;;;;;;;;;;-1:-1:-1;;;;;6819:29:1;;;;;;;;;;:37;;-1:-1:-1;;6819:37:1;;;6876:40;4101:10;;6819:12;;6876:40;;6851:5;6876:40;6705:230;;:::o;1313:142::-;1371:9;1397:5;1401:1;1397;:5;:::i;:::-;1393:9;;1426:1;1421;:6;;1413:15;;;;;11788:272;11902:28;11912:4;11918:2;11922:7;11902:9;:28::i;:::-;11949:48;11972:4;11978:2;11982:7;11991:5;11949:22;:48::i;:::-;11941:111;;;;-1:-1:-1;;;11941:111:1;;;;;;;:::i;9858:99::-;9909:13;9942:7;9935:14;;;;;:::i;12935:545::-;12991:13;13034:10;13030:53;;-1:-1:-1;;13061:10:1;;;;;;;;;;;;-1:-1:-1;;;13061:10:1;;;;;12935:545::o;13030:53::-;13108:5;13093:12;13149:78;13156:9;;13149:78;;13182:8;;;;:::i;:::-;;-1:-1:-1;13205:10:1;;-1:-1:-1;13213:2:1;13205:10;;:::i;:::-;;;13149:78;;;13237:19;13269:6;13259:17;;;;;;-1:-1:-1;;;13259:17:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13259:17:1;;13237:39;;13287:154;13294:10;;13287:154;;13321:11;13331:1;13321:11;;:::i;:::-;;-1:-1:-1;13390:10:1;13398:2;13390:5;:10;:::i;:::-;13377:24;;:2;:24;:::i;:::-;13364:39;;13347:6;13354;13347:14;;;;;;-1:-1:-1;;;13347:14:1;;;;;;;;;;;;:56;-1:-1:-1;;;;;13347:56:1;;;;;;;;-1:-1:-1;13418:11:1;13427:2;13418:11;;:::i;:::-;;;13287:154;;4933:217;5018:4;-1:-1:-1;;;;;;5042:47:1;;-1:-1:-1;;;5042:47:1;;:100;;-1:-1:-1;;;;;;;;;;4283:40:1;;;5106:36;4174:157;13792:691;13877:17;;;;:7;:17;;;;;;-1:-1:-1;;;;;13877:26:1;;;:17;;:26;13869:55;;;;-1:-1:-1;;;13869:55:1;;20486:2:2;13869:55:1;;;20468:21:2;20525:2;20505:18;;;20498:30;-1:-1:-1;;;20544:18:2;;;20537:46;20600:18;;13869:55:1;20458:166:2;13869:55:1;13942:17;;;;:7;:17;;;;;;;;13935:24;;-1:-1:-1;;;;;;13935:24:1;;;;;;13977:10;:20;;;;;13970:27;;;13935:24;13970:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14037:14;:24;;;;;;-1:-1:-1;;;;;14097:17:1;;;;:10;:17;;;;;;:24;14037;;13942:17;14097:31;;:28;:31::i;:::-;14072:56;;14163:18;14145:14;:36;14141:247;;-1:-1:-1;;;;;14218:17:1;;14198;14218;;;:10;:17;;;;;:33;;14236:14;;14218:33;;;;-1:-1:-1;;;14218:33:1;;;;;;;;;;;;;;;;;14198:53;;14306:9;14266:10;:17;14277:5;-1:-1:-1;;;;;14266:17:1;-1:-1:-1;;;;;14266:17:1;;;;;;;;;;;;14284:18;14266:37;;;;;;-1:-1:-1;;;14266:37:1;;;;;;;;;;;;;;;;;;;;:49;;;;14330:25;;;:14;:25;;;;;:46;;;14141:247;-1:-1:-1;;;;;14400:17:1;;;;;;:10;:17;;;;;:23;;;;;-1:-1:-1;;;14400:23:1;;;;;;;;;;;;;;;;;;;;;;;;;;14466:8;14453:12;4101:10;;4021:98;14453:12;-1:-1:-1;;;;;14439:36:1;;;;;;;;;;;13792:691;;;;:::o;13490:294::-;13599:1;13570:17;;;:7;:17;;;;;;-1:-1:-1;;;;;13570:17:1;:31;13562:70;;;;-1:-1:-1;;;13562:70:1;;12723:2:2;13562:70:1;;;12705:21:2;12762:2;12742:18;;;12735:30;12801:28;12781:18;;;12774:56;12847:18;;13562:70:1;12695:176:2;13562:70:1;13643:17;;;;:7;:17;;;;;;;;:23;;-1:-1:-1;;;;;;13643:23:1;-1:-1:-1;;;;;13643:23:1;;;;;;;;13679:15;;;:10;:15;;;;;:30;;-1:-1:-1;13679:30:1;;;;;;;;;;;;;;;13747:15;;:22;;:29;;:26;:29::i;:::-;13720:24;;;;:14;:24;;;;;;:56;-1:-1:-1;13490:294:1:o;16622:843::-;16743:4;-1:-1:-1;;;;;16769:13:1;;235:20;274:8;16765:693;;16805:72;;-1:-1:-1;;;16805:72:1;;-1:-1:-1;;;;;16805:36:1;;;;;:72;;4101:10;;16856:4;;16862:7;;16871:5;;16805:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16805:72:1;;;;;;;;-1:-1:-1;;16805:72:1;;;;;;;;;;;;:::i;:::-;;;16801:602;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17051:13:1;;17047:341;;17094:60;;-1:-1:-1;;;17094:60:1;;;;;;;:::i;17047:341::-;17338:6;17332:13;17323:6;17319:2;17315:15;17308:38;16801:602;-1:-1:-1;;;;;;16928:55:1;-1:-1:-1;;;16928:55:1;;-1:-1:-1;16921:62:1;;16765:693;-1:-1:-1;17442:4:1;16622:843;;;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:631:2;78:5;108:18;149:2;141:6;138:14;135:2;;;155:18;;:::i;:::-;230:2;224:9;198:2;284:15;;-1:-1:-1;;280:24:2;;;306:2;276:33;272:42;260:55;;;330:18;;;350:22;;;327:46;324:2;;;376:18;;:::i;:::-;416:10;412:2;405:22;445:6;436:15;;475:6;467;460:22;515:3;506:6;501:3;497:16;494:25;491:2;;;532:1;529;522:12;491:2;582:6;577:3;570:4;562:6;558:17;545:44;637:1;630:4;621:6;613;609:19;605:30;598:41;;;;88:557;;;;;:::o;650:173::-;718:20;;-1:-1:-1;;;;;767:31:2;;757:42;;747:2;;813:1;810;803:12;747:2;699:124;;;:::o;828:196::-;887:6;940:2;928:9;919:7;915:23;911:32;908:2;;;961:6;953;946:22;908:2;989:29;1008:9;989:29;:::i;1029:270::-;1097:6;1105;1158:2;1146:9;1137:7;1133:23;1129:32;1126:2;;;1179:6;1171;1164:22;1126:2;1207:29;1226:9;1207:29;:::i;:::-;1197:39;;1255:38;1289:2;1278:9;1274:18;1255:38;:::i;:::-;1245:48;;1116:183;;;;;:::o;1304:338::-;1381:6;1389;1397;1450:2;1438:9;1429:7;1425:23;1421:32;1418:2;;;1471:6;1463;1456:22;1418:2;1499:29;1518:9;1499:29;:::i;:::-;1489:39;;1547:38;1581:2;1570:9;1566:18;1547:38;:::i;:::-;1537:48;;1632:2;1621:9;1617:18;1604:32;1594:42;;1408:234;;;;;:::o;1647:696::-;1742:6;1750;1758;1766;1819:3;1807:9;1798:7;1794:23;1790:33;1787:2;;;1841:6;1833;1826:22;1787:2;1869:29;1888:9;1869:29;:::i;:::-;1859:39;;1917:38;1951:2;1940:9;1936:18;1917:38;:::i;:::-;1907:48;;2002:2;1991:9;1987:18;1974:32;1964:42;;2057:2;2046:9;2042:18;2029:32;2084:18;2076:6;2073:30;2070:2;;;2121:6;2113;2106:22;2070:2;2149:22;;2202:4;2194:13;;2190:27;-1:-1:-1;2180:2:2;;2236:6;2228;2221:22;2180:2;2264:73;2329:7;2324:2;2311:16;2306:2;2302;2298:11;2264:73;:::i;:::-;2254:83;;;1777:566;;;;;;;:::o;2348:325::-;2413:6;2421;2474:2;2462:9;2453:7;2449:23;2445:32;2442:2;;;2495:6;2487;2480:22;2442:2;2523:29;2542:9;2523:29;:::i;:::-;2513:39;;2602:2;2591:9;2587:18;2574:32;2615:28;2637:5;2615:28;:::i;:::-;2662:5;2652:15;;;2432:241;;;;;:::o;2678:264::-;2746:6;2754;2807:2;2795:9;2786:7;2782:23;2778:32;2775:2;;;2828:6;2820;2813:22;2775:2;2856:29;2875:9;2856:29;:::i;:::-;2846:39;2932:2;2917:18;;;;2904:32;;-1:-1:-1;;;2765:177:2:o;2947:251::-;3003:6;3056:2;3044:9;3035:7;3031:23;3027:32;3024:2;;;3077:6;3069;3062:22;3024:2;3121:9;3108:23;3140:28;3162:5;3140:28;:::i;3203:255::-;3270:6;3323:2;3311:9;3302:7;3298:23;3294:32;3291:2;;;3344:6;3336;3329:22;3291:2;3381:9;3375:16;3400:28;3422:5;3400:28;:::i;3463:190::-;3522:6;3575:2;3563:9;3554:7;3550:23;3546:32;3543:2;;;3596:6;3588;3581:22;3543:2;-1:-1:-1;3624:23:2;;3533:120;-1:-1:-1;3533:120:2:o;3658:264::-;3726:6;3734;3787:2;3775:9;3766:7;3762:23;3758:32;3755:2;;;3808:6;3800;3793:22;3755:2;3849:9;3836:23;3826:33;;3878:38;3912:2;3901:9;3897:18;3878:38;:::i;3927:255::-;3985:6;4038:2;4026:9;4017:7;4013:23;4009:32;4006:2;;;4059:6;4051;4044:22;4006:2;4103:9;4090:23;4122:30;4146:5;4122:30;:::i;4187:259::-;4256:6;4309:2;4297:9;4288:7;4284:23;4280:32;4277:2;;;4330:6;4322;4315:22;4277:2;4367:9;4361:16;4386:30;4410:5;4386:30;:::i;4451:480::-;4520:6;4573:2;4561:9;4552:7;4548:23;4544:32;4541:2;;;4594:6;4586;4579:22;4541:2;4639:9;4626:23;4672:18;4664:6;4661:30;4658:2;;;4709:6;4701;4694:22;4658:2;4737:22;;4790:4;4782:13;;4778:27;-1:-1:-1;4768:2:2;;4824:6;4816;4809:22;4768:2;4852:73;4917:7;4912:2;4899:16;4894:2;4890;4886:11;4852:73;:::i;5400:258::-;5468:6;5476;5529:2;5517:9;5508:7;5504:23;5500:32;5497:2;;;5550:6;5542;5535:22;5497:2;-1:-1:-1;;5578:23:2;;;5648:2;5633:18;;;5620:32;;-1:-1:-1;5487:171:2:o;5663:257::-;5704:3;5742:5;5736:12;5769:6;5764:3;5757:19;5785:63;5841:6;5834:4;5829:3;5825:14;5818:4;5811:5;5807:16;5785:63;:::i;:::-;5902:2;5881:15;-1:-1:-1;;5877:29:2;5868:39;;;;5909:4;5864:50;;5712:208;-1:-1:-1;;5712:208:2:o;5925:470::-;6104:3;6142:6;6136:13;6158:53;6204:6;6199:3;6192:4;6184:6;6180:17;6158:53;:::i;:::-;6274:13;;6233:16;;;;6296:57;6274:13;6233:16;6330:4;6318:17;;6296:57;:::i;:::-;6369:20;;6112:283;-1:-1:-1;;;;6112:283:2:o;7034:488::-;-1:-1:-1;;;;;7303:15:2;;;7285:34;;7355:15;;7350:2;7335:18;;7328:43;7402:2;7387:18;;7380:34;;;7450:3;7445:2;7430:18;;7423:31;;;7228:4;;7471:45;;7496:19;;7488:6;7471:45;:::i;:::-;7463:53;7237:285;-1:-1:-1;;;;;;7237:285:2:o;7527:635::-;7698:2;7750:21;;;7820:13;;7723:18;;;7842:22;;;7669:4;;7698:2;7921:15;;;;7895:2;7880:18;;;7669:4;7967:169;7981:6;7978:1;7975:13;7967:169;;;8042:13;;8030:26;;8111:15;;;;8076:12;;;;8003:1;7996:9;7967:169;;;-1:-1:-1;8153:3:2;;7678:484;-1:-1:-1;;;;;;7678:484:2:o;8804:219::-;8953:2;8942:9;8935:21;8916:4;8973:44;9013:2;9002:9;8998:18;8990:6;8973:44;:::i;9444:414::-;9646:2;9628:21;;;9685:2;9665:18;;;9658:30;9724:34;9719:2;9704:18;;9697:62;-1:-1:-1;;;9790:2:2;9775:18;;9768:48;9848:3;9833:19;;9618:240::o;11350:407::-;11552:2;11534:21;;;11591:2;11571:18;;;11564:30;11630:34;11625:2;11610:18;;11603:62;-1:-1:-1;;;11696:2:2;11681:18;;11674:41;11747:3;11732:19;;11524:233::o;20629:399::-;20831:2;20813:21;;;20870:2;20850:18;;;20843:30;20909:34;20904:2;20889:18;;20882:62;-1:-1:-1;;;20975:2:2;20960:18;;20953:33;21018:3;21003:19;;20803:225::o;21435:413::-;21637:2;21619:21;;;21676:2;21656:18;;;21649:30;21715:34;21710:2;21695:18;;21688:62;-1:-1:-1;;;21781:2:2;21766:18;;21759:47;21838:3;21823:19;;21609:239::o;22971:355::-;23173:2;23155:21;;;23212:2;23192:18;;;23185:30;23251:33;23246:2;23231:18;;23224:61;23317:2;23302:18;;23145:181::o;24453:128::-;24493:3;24524:1;24520:6;24517:1;24514:13;24511:2;;;24530:18;;:::i;:::-;-1:-1:-1;24566:9:2;;24501:80::o;24586:120::-;24626:1;24652;24642:2;;24657:18;;:::i;:::-;-1:-1:-1;24691:9:2;;24632:74::o;24711:168::-;24751:7;24817:1;24813;24809:6;24805:14;24802:1;24799:21;24794:1;24787:9;24780:17;24776:45;24773:2;;;24824:18;;:::i;:::-;-1:-1:-1;24864:9:2;;24763:116::o;24884:125::-;24924:4;24952:1;24949;24946:8;24943:2;;;24957:18;;:::i;:::-;-1:-1:-1;24994:9:2;;24933:76::o;25014:258::-;25086:1;25096:113;25110:6;25107:1;25104:13;25096:113;;;25186:11;;;25180:18;25167:11;;;25160:39;25132:2;25125:10;25096:113;;;25227:6;25224:1;25221:13;25218:2;;;-1:-1:-1;;25262:1:2;25244:16;;25237:27;25067:205::o;25277:380::-;25356:1;25352:12;;;;25399;;;25420:2;;25474:4;25466:6;25462:17;25452:27;;25420:2;25527;25519:6;25516:14;25496:18;25493:38;25490:2;;;25573:10;25568:3;25564:20;25561:1;25554:31;25608:4;25605:1;25598:15;25636:4;25633:1;25626:15;25490:2;;25332:325;;;:::o;25662:135::-;25701:3;-1:-1:-1;;25722:17:2;;25719:2;;;25742:18;;:::i;:::-;-1:-1:-1;25789:1:2;25778:13;;25709:88::o;25802:112::-;25834:1;25860;25850:2;;25865:18;;:::i;:::-;-1:-1:-1;25899:9:2;;25840:74::o;25919:127::-;25980:10;25975:3;25971:20;25968:1;25961:31;26011:4;26008:1;26001:15;26035:4;26032:1;26025:15;26051:127;26112:10;26107:3;26103:20;26100:1;26093:31;26143:4;26140:1;26133:15;26167:4;26164:1;26157:15;26183:127;26244:10;26239:3;26235:20;26232:1;26225:31;26275:4;26272:1;26265:15;26299:4;26296:1;26289:15;26315:118;26401:5;26394:13;26387:21;26380:5;26377:32;26367:2;;26423:1;26420;26413:12;26367:2;26357:76;:::o;26438:131::-;-1:-1:-1;;;;;;26512:32:2;;26502:43;;26492:2;;26559:1;26556;26549:12

Swarm Source

ipfs://c3f9647eb38df3e0e017a7789de0955be90e30fdf559af4cfbeb09849f09bb94
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.