ETH Price: $1,862.26 (-1.63%)
 

Overview

Max Total Supply

4,444 BOKI

Holders

2,524

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Balance
1 BOKI
0xd0972fb4eed907d3980afee4d269507c80e3aa8f
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BokiSilhouette

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**
*Submitted for verification at Etherscan.io on 2022-06-04
*/
// File: erc721a/contracts/IERC721A.sol
// ERC721A Contracts v4.0.0
// Creator: Chiru Labs
pragma solidity ^0.8.4;
/**
* @dev Interface of an ERC721A compliant contract.
*/
interface IERC721A {
/**
* The caller must own the token or be an approved operator.
*/
error ApprovalCallerNotOwnerNorApproved();
/**
* The token does not exist.
*/
error ApprovalQueryForNonexistentToken();
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint32","name":"maxSupply","type":"uint32"},{"internalType":"uint32","name":"txLimit","type":"uint32"},{"internalType":"uint32","name":"walletLimit","type":"uint32"},{"internalType":"uint32","name":"teamReserved","type":"uint32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ApprovalCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"ApprovalQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"ApprovalToCurrentOwner","type":"error"},{"inputs":[],"name":"ApproveToCaller","type":"error"},{"inputs":[],"name":"BalanceQueryForZeroAddress","type":"error"},{"inputs":[],"name":"InvalidQueryRange","type":"error"},{"inputs":[],"name":"MintToZeroAddress","type":"error"},{"inputs":[],"name":"MintZeroQuantity","type":"error"},{"inputs":[],"name":"OwnerQueryForNonexistentToken","type":"error"},{"inputs":[],"name":"TransferCallerNotOwnerNorApproved","type":"error"},{"inputs":[],"name":"TransferFromIncorrectOwner","type":"error"},{"inputs":[],"name":"TransferToNonERC721ReceiverImplementer","type":"error"},{"inputs":[],"name":"TransferToZeroAddress","type":"error"},{"inputs":[],"name":"URIQueryForNonexistentToken","type":"error"},{"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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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"},{"inputs":[],"name":"_maxSupply","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_metadataURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_started","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"minter","type":"address"}],"name":"_state","outputs":[{"components":[{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint32","name":"txLimit","type":"uint32"},{"internalType":"uint32","name":"walletLimit","type":"uint32"},{"internalType":"uint32","name":"maxSupply","type":"uint32"},{"internalType":"uint32","name":"teamReserved","type":"uint32"},{"internalType":"uint32","name":"totalMinted","type":"uint32"},{"internalType":"uint32","name":"userMinted","type":"uint32"},{"internalType":"bool","name":"started","type":"bool"}],"internalType":"struct BokiSilhouette.HelperState","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamMinted","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamReserved","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_txLimit","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletLimit","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"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":"address","name":"to","type":"address"},{"internalType":"uint32","name":"amount","type":"uint32"}],"name":"devMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"explicitOwnershipOf","outputs":[{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint64","name":"startTimestamp","type":"uint64"},{"internalType":"bool","name":"burned","type":"bool"}],"internalType":"struct IERC721A.TokenOwnership","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"explicitOwnershipsOf","outputs":[{"components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint64","name":"startTimestamp","type":"uint64"},{"internalType":"bool","name":"burned","type":"bool"}],"internalType":"struct IERC721A.TokenOwnership[]","name":"","type":"tuple[]"}],"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":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"amount","type":"uint32"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"name":"royaltyInfo","outputs":[{"internalType":"address","name":"","type":"address"},{"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":"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":"uint96","name":"feeNumerator","type":"uint96"}],"name":"setFeeNumerator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"uri","type":"string"}],"name":"setMetadataURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"started","type":"bool"}],"name":"setStarted","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":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"tokensOfOwner","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"stop","type":"uint256"}],"name":"tokensOfOwnerIn","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":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6101206040526040518060600160405280603681526020016200548460369139600b90805190602001906200003692919062000471565b503480156200004457600080fd5b50604051620054ba380380620054ba83398181016040528101906200006a9190620005a2565b6040518060400160405280600e81526020017f426f6b6953696c686f75657474650000000000000000000000000000000000008152506040518060400160405280600481526020017f424f4b49000000000000000000000000000000000000000000000000000000008152508160049080519060200190620000ee92919062000471565b5080600590805190602001906200010792919062000471565b5062000118620001c760201b60201c565b60028190555050506200014062000134620001cc60201b60201c565b620001d460201b60201c565b84608081815250508363ffffffff1660c08163ffffffff16815250508263ffffffff1660a08163ffffffff16815250508163ffffffff166101008163ffffffff16815250508063ffffffff1660e08163ffffffff1681525050620001bc620001ad6200029a60201b60201c565b6101f4620002c460201b60201c565b5050505050620007aa565b600090565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620002d46200046760201b60201c565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff16111562000335576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200032c90620006b1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620003a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200039f9062000723565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff168152506000808201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b6000612710905090565b8280546200047f9062000774565b90600052602060002090601f016020900481019282620004a35760008555620004ef565b82601f10620004be57805160ff1916838001178555620004ef565b82800160010185558215620004ef579182015b82811115620004ee578251825591602001919060010190620004d1565b5b509050620004fe919062000502565b5090565b5b808211156200051d57600081600090555060010162000503565b5090565b600080fd5b6000819050919050565b6200053b8162000526565b81146200054757600080fd5b50565b6000815190506200055b8162000530565b92915050565b600063ffffffff82169050919050565b6200057c8162000561565b81146200058857600080fd5b50565b6000815190506200059c8162000571565b92915050565b600080600080600060a08688031215620005c157620005c062000521565b5b6000620005d1888289016200054a565b9550506020620005e4888289016200058b565b9450506040620005f7888289016200058b565b93505060606200060a888289016200058b565b92505060806200061d888289016200058b565b9150509295509295909350565b600082825260208201905092915050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b600062000699602a836200062a565b9150620006a6826200063b565b604082019050919050565b60006020820190508181036000830152620006cc816200068a565b9050919050565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b60006200070b6019836200062a565b91506200071882620006d3565b602082019050919050565b600060208201905081810360008301526200073e81620006fc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200078d57607f821691505b60208210811415620007a457620007a362000745565b5b50919050565b60805160a05160c05160e05161010051614c416200084360003960008181610c7d0152818161118b0152611dbc015260008181610d5c015281816111e301528181611b9101526122f2015260008181610e08015281816111b70152611bb201526000818161115f015281816113250152611c3d015260008181610e2c0152818161113901528181611cc20152611d3b0152614c416000f3fe60806040526004361061021a5760003560e01c8063653a819e11610123578063a71bbebe116100ab578063dd48f07d1161006f578063dd48f07d146107ff578063e985e9c51461082a578063ef6b141a14610867578063f2fde38b14610890578063f4e2ae58146108b95761021a565b8063a71bbebe14610715578063b88d4fde14610731578063c23dc68f1461075a578063c87b56dd14610797578063d4a67623146107d45761021a565b80638462151c116100f25780638462151c1461061c5780638da5cb5b1461065957806395d89b411461068457806399a2557a146106af578063a22cb465146106ec5761021a565b8063653a819e1461057657806370a082311461059f578063715018a6146105dc578063750521f5146105f35761021a565b806323b872dd116101a65780634df22a54116101755780634df22a54146104695780634df8bb45146104945780635bbb2177146104d15780636352211e1461050e57806363553e7c1461054b5761021a565b806323b872dd146103c25780632a55205a146103eb5780633ccfd60b1461042957806342842e0e146104405761021a565b80630e2351e2116101ed5780630e2351e2146102ed57806317a5aced1461031857806318160ddd1461034157806322f4596f1461036c578063235b6ea1146103975761021a565b806301ffc9a71461021f57806306fdde031461025c578063081812fc14610287578063095ea7b3146102c4575b600080fd5b34801561022b57600080fd5b50610246600480360381019061024191906134b8565b6108e4565b6040516102539190613500565b60405180910390f35b34801561026857600080fd5b506102716109c6565b60405161027e91906135b4565b60405180910390f35b34801561029357600080fd5b506102ae60048036038101906102a9919061360c565b610a58565b6040516102bb919061367a565b60405180910390f35b3480156102d057600080fd5b506102eb60048036038101906102e691906136c1565b610ad4565b005b3480156102f957600080fd5b50610302610c7b565b60405161030f9190613720565b60405180910390f35b34801561032457600080fd5b5061033f600480360381019061033a9190613767565b610c9f565b005b34801561034d57600080fd5b50610356610def565b60405161036391906137b6565b60405180910390f35b34801561037857600080fd5b50610381610e06565b60405161038e9190613720565b60405180910390f35b3480156103a357600080fd5b506103ac610e2a565b6040516103b991906137b6565b60405180910390f35b3480156103ce57600080fd5b506103e960048036038101906103e491906137d1565b610e4e565b005b3480156103f757600080fd5b50610412600480360381019061040d9190613824565b610e5e565b604051610420929190613864565b60405180910390f35b34801561043557600080fd5b5061043e611049565b005b34801561044c57600080fd5b50610467600480360381019061046291906137d1565b6110f0565b005b34801561047557600080fd5b5061047e611110565b60405161048b9190613500565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b6919061388d565b611123565b6040516104c89190613989565b60405180910390f35b3480156104dd57600080fd5b506104f860048036038101906104f39190613aed565b611250565b6040516105059190613c59565b60405180910390f35b34801561051a57600080fd5b506105356004803603810190610530919061360c565b611311565b604051610542919061367a565b60405180910390f35b34801561055757600080fd5b50610560611323565b60405161056d9190613720565b60405180910390f35b34801561058257600080fd5b5061059d60048036038101906105989190613cbf565b611347565b005b3480156105ab57600080fd5b506105c660048036038101906105c1919061388d565b6113d7565b6040516105d391906137b6565b60405180910390f35b3480156105e857600080fd5b506105f1611490565b005b3480156105ff57600080fd5b5061061a60048036038101906106159190613da1565b611518565b005b34801561062857600080fd5b50610643600480360381019061063e919061388d565b6115ae565b6040516106509190613e99565b60405180910390f35b34801561066557600080fd5b5061066e6116f8565b60405161067b919061367a565b60405180910390f35b34801561069057600080fd5b50610699611722565b6040516106a691906135b4565b60405180910390f35b3480156106bb57600080fd5b506106d660048036038101906106d19190613ebb565b6117b4565b6040516106e39190613e99565b60405180910390f35b3480156106f857600080fd5b50610713600480360381019061070e9190613f3a565b6119c8565b005b61072f600480360381019061072a9190613f7a565b611b40565b005b34801561073d57600080fd5b5061075860048036038101906107539190614048565b611e48565b005b34801561076657600080fd5b50610781600480360381019061077c919061360c565b611ebb565b60405161078e919061410d565b60405180910390f35b3480156107a357600080fd5b506107be60048036038101906107b9919061360c565b611f25565b6040516107cb91906135b4565b60405180910390f35b3480156107e057600080fd5b506107e9612027565b6040516107f691906135b4565b60405180910390f35b34801561080b57600080fd5b506108146120b5565b6040516108219190613720565b60405180910390f35b34801561083657600080fd5b50610851600480360381019061084c9190614128565b6120cb565b60405161085e9190613500565b60405180910390f35b34801561087357600080fd5b5061088e60048036038101906108899190614168565b61215f565b005b34801561089c57600080fd5b506108b760048036038101906108b2919061388d565b6121f8565b005b3480156108c557600080fd5b506108ce6122f0565b6040516108db9190613720565b60405180910390f35b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806109af57507fc21b8f28000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806109bf57506109be82612314565b5b9050919050565b6060600480546109d5906141c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610a01906141c4565b8015610a4e5780601f10610a2357610100808354040283529160200191610a4e565b820191906000526020600020905b815481529060010190602001808311610a3157829003601f168201915b5050505050905090565b6000610a63826123a6565b610a99576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6008600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610adf82612405565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b47576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610b666124d3565b73ffffffffffffffffffffffffffffffffffffffff1614610bc957610b9281610b8d6124d3565b6120cb565b610bc8576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826008600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610ca76124db565b73ffffffffffffffffffffffffffffffffffffffff16610cc56116f8565b73ffffffffffffffffffffffffffffffffffffffff1614610d1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1290614242565b60405180910390fd5b80600a60158282829054906101000a900463ffffffff16610d3c9190614291565b92506101000a81548163ffffffff021916908363ffffffff1602179055507f000000000000000000000000000000000000000000000000000000000000000063ffffffff16600a60159054906101000a900463ffffffff1663ffffffff161115610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd29061433d565b60405180910390fd5b610deb828263ffffffff166124e3565b5050565b6000610df9612501565b6003546002540303905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b610e59838383612506565b505050565b6000806000600160008681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff161415610ff45760006040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b6000610ffe6128b0565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff168661102a919061435d565b61103491906143e6565b90508160000151819350935050509250929050565b6110516124db565b73ffffffffffffffffffffffffffffffffffffffff1661106f6116f8565b73ffffffffffffffffffffffffffffffffffffffff16146110c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bc90614242565b60405180910390fd5b6110ee473373ffffffffffffffffffffffffffffffffffffffff166128ba90919063ffffffff16565b565b61110b83838360405180602001604052806000815250611e48565b505050565b600a60149054906101000a900460ff1681565b61112b6132fb565b6040518061010001604052807f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000063ffffffff1681526020017f000000000000000000000000000000000000000000000000000000000000000063ffffffff1681526020017f000000000000000000000000000000000000000000000000000000000000000063ffffffff1681526020017f000000000000000000000000000000000000000000000000000000000000000063ffffffff1681526020016112156129ae565b63ffffffff168152602001611229846129c1565b63ffffffff168152602001600a60149054906101000a900460ff1615158152509050919050565b606060008251905060008167ffffffffffffffff811115611274576112736139aa565b5b6040519080825280602002602001820160405280156112ad57816020015b61129a613366565b8152602001906001900390816112925790505b50905060005b828114611306576112dd8582815181106112d0576112cf614417565b5b6020026020010151611ebb565b8282815181106112f0576112ef614417565b5b60200260200101819052508060010190506112b3565b508092505050919050565b600061131c82612405565b9050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b61134f6124db565b73ffffffffffffffffffffffffffffffffffffffff1661136d6116f8565b73ffffffffffffffffffffffffffffffffffffffff16146113c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ba90614242565b60405180910390fd5b6113d46113ce6116f8565b82612a18565b50565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561143f576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b6114986124db565b73ffffffffffffffffffffffffffffffffffffffff166114b66116f8565b73ffffffffffffffffffffffffffffffffffffffff161461150c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150390614242565b60405180910390fd5b6115166000612bad565b565b6115206124db565b73ffffffffffffffffffffffffffffffffffffffff1661153e6116f8565b73ffffffffffffffffffffffffffffffffffffffff1614611594576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158b90614242565b60405180910390fd5b80600b90805190602001906115aa9291906133a9565b5050565b606060008060006115be856113d7565b905060008167ffffffffffffffff8111156115dc576115db6139aa565b5b60405190808252806020026020018201604052801561160a5781602001602082028036833780820191505090505b509050611615613366565b600061161f612501565b90505b8386146116ea5761163281612c73565b9150816040015115611643576116df565b600073ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff161461168357816000015194505b8773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156116de57808387806001019850815181106116d1576116d0614417565b5b6020026020010181815250505b5b806001019050611622565b508195505050505050919050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054611731906141c4565b80601f016020809104026020016040519081016040528092919081815260200182805461175d906141c4565b80156117aa5780601f1061177f576101008083540402835291602001916117aa565b820191906000526020600020905b81548152906001019060200180831161178d57829003601f168201915b5050505050905090565b60608183106117ef576040517f32c1995a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806117fa612c9e565b9050611804612501565b85101561181657611813612501565b94505b80841115611822578093505b600061182d876113d7565b90508486101561185057600086860390508181101561184a578091505b50611855565b600090505b60008167ffffffffffffffff811115611871576118706139aa565b5b60405190808252806020026020018201604052801561189f5781602001602082028036833780820191505090505b50905060008214156118b757809450505050506119c1565b60006118c288611ebb565b9050600081604001516118d757816000015190505b60008990505b8881141580156118ed5750848714155b156119b3576118fb81612c73565b925082604001511561190c576119a8565b600073ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff161461194c57826000015191505b8a73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119a7578084888060010199508151811061199a57611999614417565b5b6020026020010181815250505b5b8060010190506118dd565b508583528296505050505050505b9392505050565b6119d06124d3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a35576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060096000611a426124d3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611aef6124d3565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611b349190613500565b60405180910390a35050565b600a60149054906101000a900460ff16611b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b86906144b8565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611bdb91906144d8565b63ffffffff16611be96129ae565b8263ffffffff16611bfa919061450c565b1115611c3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c329061433d565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff161115611caa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca1906145d4565b60405180910390fd5b6000611cb5336129c1565b90506000811115611d39577f00000000000000000000000000000000000000000000000000000000000000008263ffffffff16611cf2919061435d565b341015611d34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2b90614666565b60405180910390fd5b611dba565b7f0000000000000000000000000000000000000000000000000000000000000000600183611d6791906144d8565b63ffffffff16611d77919061435d565b341015611db9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db090614666565b60405180910390fd5b5b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168263ffffffff1682611df3919061450c565b1115611e34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2b906146f8565b60405180910390fd5b611e44338363ffffffff166124e3565b5050565b611e53848484612506565b60008373ffffffffffffffffffffffffffffffffffffffff163b14611eb557611e7e84848484612ca8565b611eb4576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b611ec3613366565b611ecb613366565b611ed3612501565b831080611ee75750611ee3612c9e565b8310155b15611ef55780915050611f20565b611efe83612c73565b9050806040015115611f135780915050611f20565b611f1c83612e08565b9150505b919050565b6060611f30826123a6565b611f66576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600b8054611f75906141c4565b80601f0160208091040260200160405190810160405280929190818152602001828054611fa1906141c4565b8015611fee5780601f10611fc357610100808354040283529160200191611fee565b820191906000526020600020905b815481529060010190602001808311611fd157829003601f168201915b5050505050905080611fff84612e28565b60405160200161201092919061477a565b604051602081830303815290604052915050919050565b600b8054612034906141c4565b80601f0160208091040260200160405190810160405280929190818152602001828054612060906141c4565b80156120ad5780601f10612082576101008083540402835291602001916120ad565b820191906000526020600020905b81548152906001019060200180831161209057829003601f168201915b505050505081565b600a60159054906101000a900463ffffffff1681565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6121676124db565b73ffffffffffffffffffffffffffffffffffffffff166121856116f8565b73ffffffffffffffffffffffffffffffffffffffff16146121db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d290614242565b60405180910390fd5b80600a60146101000a81548160ff02191690831515021790555050565b6122006124db565b73ffffffffffffffffffffffffffffffffffffffff1661221e6116f8565b73ffffffffffffffffffffffffffffffffffffffff1614612274576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226b90614242565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156122e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122db9061481b565b60405180910390fd5b6122ed81612bad565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061236f57506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061239f5750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6000816123b1612501565b111580156123c0575060025482105b80156123fe575060007c0100000000000000000000000000000000000000000000000000000000600660008581526020019081526020016000205416145b9050919050565b60008082905080612414612501565b1161249c5760025481101561249b5760006006600083815260200190815260200160002054905060007c010000000000000000000000000000000000000000000000000000000082161415612499575b600081141561248f576006600083600190039350838152602001908152602001600020549050612464565b80925050506124ce565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b600033905090565b600033905090565b6124fd828260405180602001604052806000815250612f89565b5050565b600090565b600061251182612405565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612578576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008473ffffffffffffffffffffffffffffffffffffffff166125996124d3565b73ffffffffffffffffffffffffffffffffffffffff1614806125c857506125c7856125c26124d3565b6120cb565b5b8061260d57506125d66124d3565b73ffffffffffffffffffffffffffffffffffffffff166125f584610a58565b73ffffffffffffffffffffffffffffffffffffffff16145b905080612646576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156126ad576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6126ba858585600161323f565b6008600084815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154600101919050819055507c020000000000000000000000000000000000000000000000000000000060a042901b6127b786613245565b1717600660008581526020019081526020016000208190555060007c02000000000000000000000000000000000000000000000000000000008316141561284157600060018401905060006006600083815260200190815260200160002054141561283f57600254811461283e578260066000838152602001908152602001600020819055505b5b505b828473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46128a9858585600161324f565b5050505050565b6000612710905090565b804710156128fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f490614887565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051612923906148d5565b60006040518083038185875af1925050503d8060008114612960576040519150601f19603f3d011682016040523d82523d6000602084013e612965565b606091505b50509050806129a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129a09061495c565b60405180910390fd5b505050565b60006129b8612501565b60025403905090565b600067ffffffffffffffff6040600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054901c169050919050565b612a206128b0565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff161115612a7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a75906149ee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612aee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ae590614a5a565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff168152506000808201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612c7b613366565b612c976006600084815260200190815260200160002054613255565b9050919050565b6000600254905090565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612cce6124d3565b8786866040518563ffffffff1660e01b8152600401612cf09493929190614acf565b602060405180830381600087803b158015612d0a57600080fd5b505af1925050508015612d3b57506040513d601f19601f82011682018060405250810190612d389190614b30565b60015b612db5573d8060008114612d6b576040519150601f19603f3d011682016040523d82523d6000602084013e612d70565b606091505b50600081511415612dad576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b612e10613366565b612e21612e1c83612405565b613255565b9050919050565b60606000821415612e70576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612f84565b600082905060005b60008214612ea2578080612e8b90614b5d565b915050600a82612e9b91906143e6565b9150612e78565b60008167ffffffffffffffff811115612ebe57612ebd6139aa565b5b6040519080825280601f01601f191660200182016040528015612ef05781602001600182028036833780820191505090505b5090505b60008514612f7d57600182612f099190614ba6565b9150600a85612f189190614bda565b6030612f24919061450c565b60f81b818381518110612f3a57612f39614417565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612f7691906143e6565b9450612ef4565b8093505050505b919050565b60006002549050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612ff7576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000831415613032576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61303f600085838661323f565b600160406001901b178302600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060e16130a4600185146132f1565b901b60a042901b6130b486613245565b1717600660008381526020019081526020016000208190555060008190506000848201905060008673ffffffffffffffffffffffffffffffffffffffff163b146131b8575b818673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46131686000878480600101955087612ca8565b61319e576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082106130f95782600254146131b357600080fd5b613223565b5b818060010192508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48082106131b9575b816002819055505050613239600085838661324f565b50505050565b50505050565b6000819050919050565b50505050565b61325d613366565b81816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060a082901c816020019067ffffffffffffffff16908167ffffffffffffffff168152505060007c010000000000000000000000000000000000000000000000000000000083161415816040019015159081151581525050919050565b6000819050919050565b60405180610100016040528060008152602001600063ffffffff168152602001600063ffffffff168152602001600063ffffffff168152602001600063ffffffff168152602001600063ffffffff168152602001600063ffffffff1681526020016000151581525090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581525090565b8280546133b5906141c4565b90600052602060002090601f0160209004810192826133d7576000855561341e565b82601f106133f057805160ff191683800117855561341e565b8280016001018555821561341e579182015b8281111561341d578251825591602001919060010190613402565b5b50905061342b919061342f565b5090565b5b80821115613448576000816000905550600101613430565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61349581613460565b81146134a057600080fd5b50565b6000813590506134b28161348c565b92915050565b6000602082840312156134ce576134cd613456565b5b60006134dc848285016134a3565b91505092915050565b60008115159050919050565b6134fa816134e5565b82525050565b600060208201905061351560008301846134f1565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561355557808201518184015260208101905061353a565b83811115613564576000848401525b50505050565b6000601f19601f8301169050919050565b60006135868261351b565b6135908185613526565b93506135a0818560208601613537565b6135a98161356a565b840191505092915050565b600060208201905081810360008301526135ce818461357b565b905092915050565b6000819050919050565b6135e9816135d6565b81146135f457600080fd5b50565b600081359050613606816135e0565b92915050565b60006020828403121561362257613621613456565b5b6000613630848285016135f7565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061366482613639565b9050919050565b61367481613659565b82525050565b600060208201905061368f600083018461366b565b92915050565b61369e81613659565b81146136a957600080fd5b50565b6000813590506136bb81613695565b92915050565b600080604083850312156136d8576136d7613456565b5b60006136e6858286016136ac565b92505060206136f7858286016135f7565b9150509250929050565b600063ffffffff82169050919050565b61371a81613701565b82525050565b60006020820190506137356000830184613711565b92915050565b61374481613701565b811461374f57600080fd5b50565b6000813590506137618161373b565b92915050565b6000806040838503121561377e5761377d613456565b5b600061378c858286016136ac565b925050602061379d85828601613752565b9150509250929050565b6137b0816135d6565b82525050565b60006020820190506137cb60008301846137a7565b92915050565b6000806000606084860312156137ea576137e9613456565b5b60006137f8868287016136ac565b9350506020613809868287016136ac565b925050604061381a868287016135f7565b9150509250925092565b6000806040838503121561383b5761383a613456565b5b6000613849858286016135f7565b925050602061385a858286016135f7565b9150509250929050565b6000604082019050613879600083018561366b565b61388660208301846137a7565b9392505050565b6000602082840312156138a3576138a2613456565b5b60006138b1848285016136ac565b91505092915050565b6138c3816135d6565b82525050565b6138d281613701565b82525050565b6138e1816134e5565b82525050565b610100820160008201516138fe60008501826138ba565b50602082015161391160208501826138c9565b50604082015161392460408501826138c9565b50606082015161393760608501826138c9565b50608082015161394a60808501826138c9565b5060a082015161395d60a08501826138c9565b5060c082015161397060c08501826138c9565b5060e082015161398360e08501826138d8565b50505050565b60006101008201905061399f60008301846138e7565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6139e28261356a565b810181811067ffffffffffffffff82111715613a0157613a006139aa565b5b80604052505050565b6000613a1461344c565b9050613a2082826139d9565b919050565b600067ffffffffffffffff821115613a4057613a3f6139aa565b5b602082029050602081019050919050565b600080fd5b6000613a69613a6484613a25565b613a0a565b90508083825260208201905060208402830185811115613a8c57613a8b613a51565b5b835b81811015613ab55780613aa188826135f7565b845260208401935050602081019050613a8e565b5050509392505050565b600082601f830112613ad457613ad36139a5565b5b8135613ae4848260208601613a56565b91505092915050565b600060208284031215613b0357613b02613456565b5b600082013567ffffffffffffffff811115613b2157613b2061345b565b5b613b2d84828501613abf565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613b6b81613659565b82525050565b600067ffffffffffffffff82169050919050565b613b8e81613b71565b82525050565b606082016000820151613baa6000850182613b62565b506020820151613bbd6020850182613b85565b506040820151613bd060408501826138d8565b50505050565b6000613be28383613b94565b60608301905092915050565b6000602082019050919050565b6000613c0682613b36565b613c108185613b41565b9350613c1b83613b52565b8060005b83811015613c4c578151613c338882613bd6565b9750613c3e83613bee565b925050600181019050613c1f565b5085935050505092915050565b60006020820190508181036000830152613c738184613bfb565b905092915050565b60006bffffffffffffffffffffffff82169050919050565b613c9c81613c7b565b8114613ca757600080fd5b50565b600081359050613cb981613c93565b92915050565b600060208284031215613cd557613cd4613456565b5b6000613ce384828501613caa565b91505092915050565b600080fd5b600067ffffffffffffffff821115613d0c57613d0b6139aa565b5b613d158261356a565b9050602081019050919050565b82818337600083830152505050565b6000613d44613d3f84613cf1565b613a0a565b905082815260208101848484011115613d6057613d5f613cec565b5b613d6b848285613d22565b509392505050565b600082601f830112613d8857613d876139a5565b5b8135613d98848260208601613d31565b91505092915050565b600060208284031215613db757613db6613456565b5b600082013567ffffffffffffffff811115613dd557613dd461345b565b5b613de184828501613d73565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000613e2283836138ba565b60208301905092915050565b6000602082019050919050565b6000613e4682613dea565b613e508185613df5565b9350613e5b83613e06565b8060005b83811015613e8c578151613e738882613e16565b9750613e7e83613e2e565b925050600181019050613e5f565b5085935050505092915050565b60006020820190508181036000830152613eb38184613e3b565b905092915050565b600080600060608486031215613ed457613ed3613456565b5b6000613ee2868287016136ac565b9350506020613ef3868287016135f7565b9250506040613f04868287016135f7565b9150509250925092565b613f17816134e5565b8114613f2257600080fd5b50565b600081359050613f3481613f0e565b92915050565b60008060408385031215613f5157613f50613456565b5b6000613f5f858286016136ac565b9250506020613f7085828601613f25565b9150509250929050565b600060208284031215613f9057613f8f613456565b5b6000613f9e84828501613752565b91505092915050565b600067ffffffffffffffff821115613fc257613fc16139aa565b5b613fcb8261356a565b9050602081019050919050565b6000613feb613fe684613fa7565b613a0a565b90508281526020810184848401111561400757614006613cec565b5b614012848285613d22565b509392505050565b600082601f83011261402f5761402e6139a5565b5b813561403f848260208601613fd8565b91505092915050565b6000806000806080858703121561406257614061613456565b5b6000614070878288016136ac565b9450506020614081878288016136ac565b9350506040614092878288016135f7565b925050606085013567ffffffffffffffff8111156140b3576140b261345b565b5b6140bf8782880161401a565b91505092959194509250565b6060820160008201516140e16000850182613b62565b5060208201516140f46020850182613b85565b50604082015161410760408501826138d8565b50505050565b600060608201905061412260008301846140cb565b92915050565b6000806040838503121561413f5761413e613456565b5b600061414d858286016136ac565b925050602061415e858286016136ac565b9150509250929050565b60006020828403121561417e5761417d613456565b5b600061418c84828501613f25565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806141dc57607f821691505b602082108114156141f0576141ef614195565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061422c602083613526565b9150614237826141f6565b602082019050919050565b6000602082019050818103600083015261425b8161421f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061429c82613701565b91506142a783613701565b92508263ffffffff038211156142c0576142bf614262565b5b828201905092915050565b7f426f6b6953696c686f75657474653a20457863656564206d617820737570706c60008201527f7900000000000000000000000000000000000000000000000000000000000000602082015250565b6000614327602183613526565b9150614332826142cb565b604082019050919050565b600060208201905081810360008301526143568161431a565b9050919050565b6000614368826135d6565b9150614373836135d6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156143ac576143ab614262565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006143f1826135d6565b91506143fc836135d6565b92508261440c5761440b6143b7565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f426f6b6953696c686f75657474653a2053616c65206973206e6f74207374617260008201527f7465640000000000000000000000000000000000000000000000000000000000602082015250565b60006144a2602383613526565b91506144ad82614446565b604082019050919050565b600060208201905081810360008301526144d181614495565b9050919050565b60006144e382613701565b91506144ee83613701565b92508282101561450157614500614262565b5b828203905092915050565b6000614517826135d6565b9150614522836135d6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561455757614556614262565b5b828201905092915050565b7f426f6b6953696c686f75657474653a20457863656564207472616e736163746960008201527f6f6e206c696d6974000000000000000000000000000000000000000000000000602082015250565b60006145be602883613526565b91506145c982614562565b604082019050919050565b600060208201905081810360008301526145ed816145b1565b9050919050565b7f426f6b6953696c686f75657474653a20696e73756666696369656e742066756e60008201527f6473000000000000000000000000000000000000000000000000000000000000602082015250565b6000614650602283613526565b915061465b826145f4565b604082019050919050565b6000602082019050818103600083015261467f81614643565b9050919050565b7f426f6b6953696c686f75657474653a204578636565642077616c6c6574206c6960008201527f6d69740000000000000000000000000000000000000000000000000000000000602082015250565b60006146e2602383613526565b91506146ed82614686565b604082019050919050565b60006020820190508181036000830152614711816146d5565b9050919050565b600081905092915050565b600061472e8261351b565b6147388185614718565b9350614748818560208601613537565b80840191505092915050565b50565b6000614764600083614718565b915061476f82614754565b600082019050919050565b60006147868285614723565b91506147928284614723565b915061479d82614757565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614805602683613526565b9150614810826147a9565b604082019050919050565b60006020820190508181036000830152614834816147f8565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000614871601d83613526565b915061487c8261483b565b602082019050919050565b600060208201905081810360008301526148a081614864565b9050919050565b600081905092915050565b60006148bf6000836148a7565b91506148ca82614754565b600082019050919050565b60006148e0826148b2565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000614946603a83613526565b9150614951826148ea565b604082019050919050565b6000602082019050818103600083015261497581614939565b9050919050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b60006149d8602a83613526565b91506149e38261497c565b604082019050919050565b60006020820190508181036000830152614a07816149cb565b9050919050565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b6000614a44601983613526565b9150614a4f82614a0e565b602082019050919050565b60006020820190508181036000830152614a7381614a37565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000614aa182614a7a565b614aab8185614a85565b9350614abb818560208601613537565b614ac48161356a565b840191505092915050565b6000608082019050614ae4600083018761366b565b614af1602083018661366b565b614afe60408301856137a7565b8181036060830152614b108184614a96565b905095945050505050565b600081519050614b2a8161348c565b92915050565b600060208284031215614b4657614b45613456565b5b6000614b5484828501614b1b565b91505092915050565b6000614b68826135d6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614b9b57614b9a614262565b5b600182019050919050565b6000614bb1826135d6565b9150614bbc836135d6565b925082821015614bcf57614bce614262565b5b828203905092915050565b6000614be5826135d6565b9150614bf0836135d6565b925082614c0057614bff6143b7565b5b82820690509291505056fea2646970667358221220826529a45d52ad0f891b6f12e77718510b8cad644f1d7bab65866316b498861364736f6c63430008090033697066733a2f2f516d654e3241646463697a536a517a4548534d7036416641443175617a4a614a35727a787766486e4a423743676f2f000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000000000000115c000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000c80000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061021a5760003560e01c8063653a819e11610123578063a71bbebe116100ab578063dd48f07d1161006f578063dd48f07d146107ff578063e985e9c51461082a578063ef6b141a14610867578063f2fde38b14610890578063f4e2ae58146108b95761021a565b8063a71bbebe14610715578063b88d4fde14610731578063c23dc68f1461075a578063c87b56dd14610797578063d4a67623146107d45761021a565b80638462151c116100f25780638462151c1461061c5780638da5cb5b1461065957806395d89b411461068457806399a2557a146106af578063a22cb465146106ec5761021a565b8063653a819e1461057657806370a082311461059f578063715018a6146105dc578063750521f5146105f35761021a565b806323b872dd116101a65780634df22a54116101755780634df22a54146104695780634df8bb45146104945780635bbb2177146104d15780636352211e1461050e57806363553e7c1461054b5761021a565b806323b872dd146103c25780632a55205a146103eb5780633ccfd60b1461042957806342842e0e146104405761021a565b80630e2351e2116101ed5780630e2351e2146102ed57806317a5aced1461031857806318160ddd1461034157806322f4596f1461036c578063235b6ea1146103975761021a565b806301ffc9a71461021f57806306fdde031461025c578063081812fc14610287578063095ea7b3146102c4575b600080fd5b34801561022b57600080fd5b50610246600480360381019061024191906134b8565b6108e4565b6040516102539190613500565b60405180910390f35b34801561026857600080fd5b506102716109c6565b60405161027e91906135b4565b60405180910390f35b34801561029357600080fd5b506102ae60048036038101906102a9919061360c565b610a58565b6040516102bb919061367a565b60405180910390f35b3480156102d057600080fd5b506102eb60048036038101906102e691906136c1565b610ad4565b005b3480156102f957600080fd5b50610302610c7b565b60405161030f9190613720565b60405180910390f35b34801561032457600080fd5b5061033f600480360381019061033a9190613767565b610c9f565b005b34801561034d57600080fd5b50610356610def565b60405161036391906137b6565b60405180910390f35b34801561037857600080fd5b50610381610e06565b60405161038e9190613720565b60405180910390f35b3480156103a357600080fd5b506103ac610e2a565b6040516103b991906137b6565b60405180910390f35b3480156103ce57600080fd5b506103e960048036038101906103e491906137d1565b610e4e565b005b3480156103f757600080fd5b50610412600480360381019061040d9190613824565b610e5e565b604051610420929190613864565b60405180910390f35b34801561043557600080fd5b5061043e611049565b005b34801561044c57600080fd5b50610467600480360381019061046291906137d1565b6110f0565b005b34801561047557600080fd5b5061047e611110565b60405161048b9190613500565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b6919061388d565b611123565b6040516104c89190613989565b60405180910390f35b3480156104dd57600080fd5b506104f860048036038101906104f39190613aed565b611250565b6040516105059190613c59565b60405180910390f35b34801561051a57600080fd5b506105356004803603810190610530919061360c565b611311565b604051610542919061367a565b60405180910390f35b34801561055757600080fd5b50610560611323565b60405161056d9190613720565b60405180910390f35b34801561058257600080fd5b5061059d60048036038101906105989190613cbf565b611347565b005b3480156105ab57600080fd5b506105c660048036038101906105c1919061388d565b6113d7565b6040516105d391906137b6565b60405180910390f35b3480156105e857600080fd5b506105f1611490565b005b3480156105ff57600080fd5b5061061a60048036038101906106159190613da1565b611518565b005b34801561062857600080fd5b50610643600480360381019061063e919061388d565b6115ae565b6040516106509190613e99565b60405180910390f35b34801561066557600080fd5b5061066e6116f8565b60405161067b919061367a565b60405180910390f35b34801561069057600080fd5b50610699611722565b6040516106a691906135b4565b60405180910390f35b3480156106bb57600080fd5b506106d660048036038101906106d19190613ebb565b6117b4565b6040516106e39190613e99565b60405180910390f35b3480156106f857600080fd5b50610713600480360381019061070e9190613f3a565b6119c8565b005b61072f600480360381019061072a9190613f7a565b611b40565b005b34801561073d57600080fd5b5061075860048036038101906107539190614048565b611e48565b005b34801561076657600080fd5b50610781600480360381019061077c919061360c565b611ebb565b60405161078e919061410d565b60405180910390f35b3480156107a357600080fd5b506107be60048036038101906107b9919061360c565b611f25565b6040516107cb91906135b4565b60405180910390f35b3480156107e057600080fd5b506107e9612027565b6040516107f691906135b4565b60405180910390f35b34801561080b57600080fd5b506108146120b5565b6040516108219190613720565b60405180910390f35b34801561083657600080fd5b50610851600480360381019061084c9190614128565b6120cb565b60405161085e9190613500565b60405180910390f35b34801561087357600080fd5b5061088e60048036038101906108899190614168565b61215f565b005b34801561089c57600080fd5b506108b760048036038101906108b2919061388d565b6121f8565b005b3480156108c557600080fd5b506108ce6122f0565b6040516108db9190613720565b60405180910390f35b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806109af57507fc21b8f28000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806109bf57506109be82612314565b5b9050919050565b6060600480546109d5906141c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610a01906141c4565b8015610a4e5780601f10610a2357610100808354040283529160200191610a4e565b820191906000526020600020905b815481529060010190602001808311610a3157829003601f168201915b5050505050905090565b6000610a63826123a6565b610a99576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6008600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610adf82612405565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b47576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610b666124d3565b73ffffffffffffffffffffffffffffffffffffffff1614610bc957610b9281610b8d6124d3565b6120cb565b610bc8576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826008600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b7f00000000000000000000000000000000000000000000000000000000000000c881565b610ca76124db565b73ffffffffffffffffffffffffffffffffffffffff16610cc56116f8565b73ffffffffffffffffffffffffffffffffffffffff1614610d1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1290614242565b60405180910390fd5b80600a60158282829054906101000a900463ffffffff16610d3c9190614291565b92506101000a81548163ffffffff021916908363ffffffff1602179055507f000000000000000000000000000000000000000000000000000000000000000063ffffffff16600a60159054906101000a900463ffffffff1663ffffffff161115610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd29061433d565b60405180910390fd5b610deb828263ffffffff166124e3565b5050565b6000610df9612501565b6003546002540303905090565b7f000000000000000000000000000000000000000000000000000000000000115c81565b7f000000000000000000000000000000000000000000000000000e35fa931a000081565b610e59838383612506565b505050565b6000806000600160008681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff161415610ff45760006040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b6000610ffe6128b0565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff168661102a919061435d565b61103491906143e6565b90508160000151819350935050509250929050565b6110516124db565b73ffffffffffffffffffffffffffffffffffffffff1661106f6116f8565b73ffffffffffffffffffffffffffffffffffffffff16146110c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bc90614242565b60405180910390fd5b6110ee473373ffffffffffffffffffffffffffffffffffffffff166128ba90919063ffffffff16565b565b61110b83838360405180602001604052806000815250611e48565b505050565b600a60149054906101000a900460ff1681565b61112b6132fb565b6040518061010001604052807f000000000000000000000000000000000000000000000000000e35fa931a000081526020017f000000000000000000000000000000000000000000000000000000000000000a63ffffffff1681526020017f00000000000000000000000000000000000000000000000000000000000000c863ffffffff1681526020017f000000000000000000000000000000000000000000000000000000000000115c63ffffffff1681526020017f000000000000000000000000000000000000000000000000000000000000000063ffffffff1681526020016112156129ae565b63ffffffff168152602001611229846129c1565b63ffffffff168152602001600a60149054906101000a900460ff1615158152509050919050565b606060008251905060008167ffffffffffffffff811115611274576112736139aa565b5b6040519080825280602002602001820160405280156112ad57816020015b61129a613366565b8152602001906001900390816112925790505b50905060005b828114611306576112dd8582815181106112d0576112cf614417565b5b6020026020010151611ebb565b8282815181106112f0576112ef614417565b5b60200260200101819052508060010190506112b3565b508092505050919050565b600061131c82612405565b9050919050565b7f000000000000000000000000000000000000000000000000000000000000000a81565b61134f6124db565b73ffffffffffffffffffffffffffffffffffffffff1661136d6116f8565b73ffffffffffffffffffffffffffffffffffffffff16146113c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ba90614242565b60405180910390fd5b6113d46113ce6116f8565b82612a18565b50565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561143f576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b6114986124db565b73ffffffffffffffffffffffffffffffffffffffff166114b66116f8565b73ffffffffffffffffffffffffffffffffffffffff161461150c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150390614242565b60405180910390fd5b6115166000612bad565b565b6115206124db565b73ffffffffffffffffffffffffffffffffffffffff1661153e6116f8565b73ffffffffffffffffffffffffffffffffffffffff1614611594576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158b90614242565b60405180910390fd5b80600b90805190602001906115aa9291906133a9565b5050565b606060008060006115be856113d7565b905060008167ffffffffffffffff8111156115dc576115db6139aa565b5b60405190808252806020026020018201604052801561160a5781602001602082028036833780820191505090505b509050611615613366565b600061161f612501565b90505b8386146116ea5761163281612c73565b9150816040015115611643576116df565b600073ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff161461168357816000015194505b8773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156116de57808387806001019850815181106116d1576116d0614417565b5b6020026020010181815250505b5b806001019050611622565b508195505050505050919050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054611731906141c4565b80601f016020809104026020016040519081016040528092919081815260200182805461175d906141c4565b80156117aa5780601f1061177f576101008083540402835291602001916117aa565b820191906000526020600020905b81548152906001019060200180831161178d57829003601f168201915b5050505050905090565b60608183106117ef576040517f32c1995a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806117fa612c9e565b9050611804612501565b85101561181657611813612501565b94505b80841115611822578093505b600061182d876113d7565b90508486101561185057600086860390508181101561184a578091505b50611855565b600090505b60008167ffffffffffffffff811115611871576118706139aa565b5b60405190808252806020026020018201604052801561189f5781602001602082028036833780820191505090505b50905060008214156118b757809450505050506119c1565b60006118c288611ebb565b9050600081604001516118d757816000015190505b60008990505b8881141580156118ed5750848714155b156119b3576118fb81612c73565b925082604001511561190c576119a8565b600073ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff161461194c57826000015191505b8a73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119a7578084888060010199508151811061199a57611999614417565b5b6020026020010181815250505b5b8060010190506118dd565b508583528296505050505050505b9392505050565b6119d06124d3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a35576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060096000611a426124d3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611aef6124d3565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611b349190613500565b60405180910390a35050565b600a60149054906101000a900460ff16611b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b86906144b8565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000115c611bdb91906144d8565b63ffffffff16611be96129ae565b8263ffffffff16611bfa919061450c565b1115611c3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c329061433d565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000a63ffffffff168163ffffffff161115611caa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca1906145d4565b60405180910390fd5b6000611cb5336129c1565b90506000811115611d39577f000000000000000000000000000000000000000000000000000e35fa931a00008263ffffffff16611cf2919061435d565b341015611d34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2b90614666565b60405180910390fd5b611dba565b7f000000000000000000000000000000000000000000000000000e35fa931a0000600183611d6791906144d8565b63ffffffff16611d77919061435d565b341015611db9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db090614666565b60405180910390fd5b5b7f00000000000000000000000000000000000000000000000000000000000000c863ffffffff168263ffffffff1682611df3919061450c565b1115611e34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2b906146f8565b60405180910390fd5b611e44338363ffffffff166124e3565b5050565b611e53848484612506565b60008373ffffffffffffffffffffffffffffffffffffffff163b14611eb557611e7e84848484612ca8565b611eb4576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b611ec3613366565b611ecb613366565b611ed3612501565b831080611ee75750611ee3612c9e565b8310155b15611ef55780915050611f20565b611efe83612c73565b9050806040015115611f135780915050611f20565b611f1c83612e08565b9150505b919050565b6060611f30826123a6565b611f66576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600b8054611f75906141c4565b80601f0160208091040260200160405190810160405280929190818152602001828054611fa1906141c4565b8015611fee5780601f10611fc357610100808354040283529160200191611fee565b820191906000526020600020905b815481529060010190602001808311611fd157829003601f168201915b5050505050905080611fff84612e28565b60405160200161201092919061477a565b604051602081830303815290604052915050919050565b600b8054612034906141c4565b80601f0160208091040260200160405190810160405280929190818152602001828054612060906141c4565b80156120ad5780601f10612082576101008083540402835291602001916120ad565b820191906000526020600020905b81548152906001019060200180831161209057829003601f168201915b505050505081565b600a60159054906101000a900463ffffffff1681565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6121676124db565b73ffffffffffffffffffffffffffffffffffffffff166121856116f8565b73ffffffffffffffffffffffffffffffffffffffff16146121db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d290614242565b60405180910390fd5b80600a60146101000a81548160ff02191690831515021790555050565b6122006124db565b73ffffffffffffffffffffffffffffffffffffffff1661221e6116f8565b73ffffffffffffffffffffffffffffffffffffffff1614612274576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226b90614242565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156122e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122db9061481b565b60405180910390fd5b6122ed81612bad565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061236f57506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061239f5750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6000816123b1612501565b111580156123c0575060025482105b80156123fe575060007c0100000000000000000000000000000000000000000000000000000000600660008581526020019081526020016000205416145b9050919050565b60008082905080612414612501565b1161249c5760025481101561249b5760006006600083815260200190815260200160002054905060007c010000000000000000000000000000000000000000000000000000000082161415612499575b600081141561248f576006600083600190039350838152602001908152602001600020549050612464565b80925050506124ce565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b600033905090565b600033905090565b6124fd828260405180602001604052806000815250612f89565b5050565b600090565b600061251182612405565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612578576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008473ffffffffffffffffffffffffffffffffffffffff166125996124d3565b73ffffffffffffffffffffffffffffffffffffffff1614806125c857506125c7856125c26124d3565b6120cb565b5b8061260d57506125d66124d3565b73ffffffffffffffffffffffffffffffffffffffff166125f584610a58565b73ffffffffffffffffffffffffffffffffffffffff16145b905080612646576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156126ad576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6126ba858585600161323f565b6008600084815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154600101919050819055507c020000000000000000000000000000000000000000000000000000000060a042901b6127b786613245565b1717600660008581526020019081526020016000208190555060007c02000000000000000000000000000000000000000000000000000000008316141561284157600060018401905060006006600083815260200190815260200160002054141561283f57600254811461283e578260066000838152602001908152602001600020819055505b5b505b828473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46128a9858585600161324f565b5050505050565b6000612710905090565b804710156128fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f490614887565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051612923906148d5565b60006040518083038185875af1925050503d8060008114612960576040519150601f19603f3d011682016040523d82523d6000602084013e612965565b606091505b50509050806129a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129a09061495c565b60405180910390fd5b505050565b60006129b8612501565b60025403905090565b600067ffffffffffffffff6040600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054901c169050919050565b612a206128b0565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff161115612a7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a75906149ee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612aee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ae590614a5a565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff168152506000808201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612c7b613366565b612c976006600084815260200190815260200160002054613255565b9050919050565b6000600254905090565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612cce6124d3565b8786866040518563ffffffff1660e01b8152600401612cf09493929190614acf565b602060405180830381600087803b158015612d0a57600080fd5b505af1925050508015612d3b57506040513d601f19601f82011682018060405250810190612d389190614b30565b60015b612db5573d8060008114612d6b576040519150601f19603f3d011682016040523d82523d6000602084013e612d70565b606091505b50600081511415612dad576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b612e10613366565b612e21612e1c83612405565b613255565b9050919050565b60606000821415612e70576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612f84565b600082905060005b60008214612ea2578080612e8b90614b5d565b915050600a82612e9b91906143e6565b9150612e78565b60008167ffffffffffffffff811115612ebe57612ebd6139aa565b5b6040519080825280601f01601f191660200182016040528015612ef05781602001600182028036833780820191505090505b5090505b60008514612f7d57600182612f099190614ba6565b9150600a85612f189190614bda565b6030612f24919061450c565b60f81b818381518110612f3a57612f39614417565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612f7691906143e6565b9450612ef4565b8093505050505b919050565b60006002549050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612ff7576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000831415613032576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61303f600085838661323f565b600160406001901b178302600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060e16130a4600185146132f1565b901b60a042901b6130b486613245565b1717600660008381526020019081526020016000208190555060008190506000848201905060008673ffffffffffffffffffffffffffffffffffffffff163b146131b8575b818673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46131686000878480600101955087612ca8565b61319e576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082106130f95782600254146131b357600080fd5b613223565b5b818060010192508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48082106131b9575b816002819055505050613239600085838661324f565b50505050565b50505050565b6000819050919050565b50505050565b61325d613366565b81816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060a082901c816020019067ffffffffffffffff16908167ffffffffffffffff168152505060007c010000000000000000000000000000000000000000000000000000000083161415816040019015159081151581525050919050565b6000819050919050565b60405180610100016040528060008152602001600063ffffffff168152602001600063ffffffff168152602001600063ffffffff168152602001600063ffffffff168152602001600063ffffffff168152602001600063ffffffff1681526020016000151581525090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581525090565b8280546133b5906141c4565b90600052602060002090601f0160209004810192826133d7576000855561341e565b82601f106133f057805160ff191683800117855561341e565b8280016001018555821561341e579182015b8281111561341d578251825591602001919060010190613402565b5b50905061342b919061342f565b5090565b5b80821115613448576000816000905550600101613430565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61349581613460565b81146134a057600080fd5b50565b6000813590506134b28161348c565b92915050565b6000602082840312156134ce576134cd613456565b5b60006134dc848285016134a3565b91505092915050565b60008115159050919050565b6134fa816134e5565b82525050565b600060208201905061351560008301846134f1565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561355557808201518184015260208101905061353a565b83811115613564576000848401525b50505050565b6000601f19601f8301169050919050565b60006135868261351b565b6135908185613526565b93506135a0818560208601613537565b6135a98161356a565b840191505092915050565b600060208201905081810360008301526135ce818461357b565b905092915050565b6000819050919050565b6135e9816135d6565b81146135f457600080fd5b50565b600081359050613606816135e0565b92915050565b60006020828403121561362257613621613456565b5b6000613630848285016135f7565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061366482613639565b9050919050565b61367481613659565b82525050565b600060208201905061368f600083018461366b565b92915050565b61369e81613659565b81146136a957600080fd5b50565b6000813590506136bb81613695565b92915050565b600080604083850312156136d8576136d7613456565b5b60006136e6858286016136ac565b92505060206136f7858286016135f7565b9150509250929050565b600063ffffffff82169050919050565b61371a81613701565b82525050565b60006020820190506137356000830184613711565b92915050565b61374481613701565b811461374f57600080fd5b50565b6000813590506137618161373b565b92915050565b6000806040838503121561377e5761377d613456565b5b600061378c858286016136ac565b925050602061379d85828601613752565b9150509250929050565b6137b0816135d6565b82525050565b60006020820190506137cb60008301846137a7565b92915050565b6000806000606084860312156137ea576137e9613456565b5b60006137f8868287016136ac565b9350506020613809868287016136ac565b925050604061381a868287016135f7565b9150509250925092565b6000806040838503121561383b5761383a613456565b5b6000613849858286016135f7565b925050602061385a858286016135f7565b9150509250929050565b6000604082019050613879600083018561366b565b61388660208301846137a7565b9392505050565b6000602082840312156138a3576138a2613456565b5b60006138b1848285016136ac565b91505092915050565b6138c3816135d6565b82525050565b6138d281613701565b82525050565b6138e1816134e5565b82525050565b610100820160008201516138fe60008501826138ba565b50602082015161391160208501826138c9565b50604082015161392460408501826138c9565b50606082015161393760608501826138c9565b50608082015161394a60808501826138c9565b5060a082015161395d60a08501826138c9565b5060c082015161397060c08501826138c9565b5060e082015161398360e08501826138d8565b50505050565b60006101008201905061399f60008301846138e7565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6139e28261356a565b810181811067ffffffffffffffff82111715613a0157613a006139aa565b5b80604052505050565b6000613a1461344c565b9050613a2082826139d9565b919050565b600067ffffffffffffffff821115613a4057613a3f6139aa565b5b602082029050602081019050919050565b600080fd5b6000613a69613a6484613a25565b613a0a565b90508083825260208201905060208402830185811115613a8c57613a8b613a51565b5b835b81811015613ab55780613aa188826135f7565b845260208401935050602081019050613a8e565b5050509392505050565b600082601f830112613ad457613ad36139a5565b5b8135613ae4848260208601613a56565b91505092915050565b600060208284031215613b0357613b02613456565b5b600082013567ffffffffffffffff811115613b2157613b2061345b565b5b613b2d84828501613abf565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613b6b81613659565b82525050565b600067ffffffffffffffff82169050919050565b613b8e81613b71565b82525050565b606082016000820151613baa6000850182613b62565b506020820151613bbd6020850182613b85565b506040820151613bd060408501826138d8565b50505050565b6000613be28383613b94565b60608301905092915050565b6000602082019050919050565b6000613c0682613b36565b613c108185613b41565b9350613c1b83613b52565b8060005b83811015613c4c578151613c338882613bd6565b9750613c3e83613bee565b925050600181019050613c1f565b5085935050505092915050565b60006020820190508181036000830152613c738184613bfb565b905092915050565b60006bffffffffffffffffffffffff82169050919050565b613c9c81613c7b565b8114613ca757600080fd5b50565b600081359050613cb981613c93565b92915050565b600060208284031215613cd557613cd4613456565b5b6000613ce384828501613caa565b91505092915050565b600080fd5b600067ffffffffffffffff821115613d0c57613d0b6139aa565b5b613d158261356a565b9050602081019050919050565b82818337600083830152505050565b6000613d44613d3f84613cf1565b613a0a565b905082815260208101848484011115613d6057613d5f613cec565b5b613d6b848285613d22565b509392505050565b600082601f830112613d8857613d876139a5565b5b8135613d98848260208601613d31565b91505092915050565b600060208284031215613db757613db6613456565b5b600082013567ffffffffffffffff811115613dd557613dd461345b565b5b613de184828501613d73565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000613e2283836138ba565b60208301905092915050565b6000602082019050919050565b6000613e4682613dea565b613e508185613df5565b9350613e5b83613e06565b8060005b83811015613e8c578151613e738882613e16565b9750613e7e83613e2e565b925050600181019050613e5f565b5085935050505092915050565b60006020820190508181036000830152613eb38184613e3b565b905092915050565b600080600060608486031215613ed457613ed3613456565b5b6000613ee2868287016136ac565b9350506020613ef3868287016135f7565b9250506040613f04868287016135f7565b9150509250925092565b613f17816134e5565b8114613f2257600080fd5b50565b600081359050613f3481613f0e565b92915050565b60008060408385031215613f5157613f50613456565b5b6000613f5f858286016136ac565b9250506020613f7085828601613f25565b9150509250929050565b600060208284031215613f9057613f8f613456565b5b6000613f9e84828501613752565b91505092915050565b600067ffffffffffffffff821115613fc257613fc16139aa565b5b613fcb8261356a565b9050602081019050919050565b6000613feb613fe684613fa7565b613a0a565b90508281526020810184848401111561400757614006613cec565b5b614012848285613d22565b509392505050565b600082601f83011261402f5761402e6139a5565b5b813561403f848260208601613fd8565b91505092915050565b6000806000806080858703121561406257614061613456565b5b6000614070878288016136ac565b9450506020614081878288016136ac565b9350506040614092878288016135f7565b925050606085013567ffffffffffffffff8111156140b3576140b261345b565b5b6140bf8782880161401a565b91505092959194509250565b6060820160008201516140e16000850182613b62565b5060208201516140f46020850182613b85565b50604082015161410760408501826138d8565b50505050565b600060608201905061412260008301846140cb565b92915050565b6000806040838503121561413f5761413e613456565b5b600061414d858286016136ac565b925050602061415e858286016136ac565b9150509250929050565b60006020828403121561417e5761417d613456565b5b600061418c84828501613f25565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806141dc57607f821691505b602082108114156141f0576141ef614195565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061422c602083613526565b9150614237826141f6565b602082019050919050565b6000602082019050818103600083015261425b8161421f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061429c82613701565b91506142a783613701565b92508263ffffffff038211156142c0576142bf614262565b5b828201905092915050565b7f426f6b6953696c686f75657474653a20457863656564206d617820737570706c60008201527f7900000000000000000000000000000000000000000000000000000000000000602082015250565b6000614327602183613526565b9150614332826142cb565b604082019050919050565b600060208201905081810360008301526143568161431a565b9050919050565b6000614368826135d6565b9150614373836135d6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156143ac576143ab614262565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006143f1826135d6565b91506143fc836135d6565b92508261440c5761440b6143b7565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f426f6b6953696c686f75657474653a2053616c65206973206e6f74207374617260008201527f7465640000000000000000000000000000000000000000000000000000000000602082015250565b60006144a2602383613526565b91506144ad82614446565b604082019050919050565b600060208201905081810360008301526144d181614495565b9050919050565b60006144e382613701565b91506144ee83613701565b92508282101561450157614500614262565b5b828203905092915050565b6000614517826135d6565b9150614522836135d6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561455757614556614262565b5b828201905092915050565b7f426f6b6953696c686f75657474653a20457863656564207472616e736163746960008201527f6f6e206c696d6974000000000000000000000000000000000000000000000000602082015250565b60006145be602883613526565b91506145c982614562565b604082019050919050565b600060208201905081810360008301526145ed816145b1565b9050919050565b7f426f6b6953696c686f75657474653a20696e73756666696369656e742066756e60008201527f6473000000000000000000000000000000000000000000000000000000000000602082015250565b6000614650602283613526565b915061465b826145f4565b604082019050919050565b6000602082019050818103600083015261467f81614643565b9050919050565b7f426f6b6953696c686f75657474653a204578636565642077616c6c6574206c6960008201527f6d69740000000000000000000000000000000000000000000000000000000000602082015250565b60006146e2602383613526565b91506146ed82614686565b604082019050919050565b60006020820190508181036000830152614711816146d5565b9050919050565b600081905092915050565b600061472e8261351b565b6147388185614718565b9350614748818560208601613537565b80840191505092915050565b50565b6000614764600083614718565b915061476f82614754565b600082019050919050565b60006147868285614723565b91506147928284614723565b915061479d82614757565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614805602683613526565b9150614810826147a9565b604082019050919050565b60006020820190508181036000830152614834816147f8565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000614871601d83613526565b915061487c8261483b565b602082019050919050565b600060208201905081810360008301526148a081614864565b9050919050565b600081905092915050565b60006148bf6000836148a7565b91506148ca82614754565b600082019050919050565b60006148e0826148b2565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000614946603a83613526565b9150614951826148ea565b604082019050919050565b6000602082019050818103600083015261497581614939565b9050919050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b60006149d8602a83613526565b91506149e38261497c565b604082019050919050565b60006020820190508181036000830152614a07816149cb565b9050919050565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b6000614a44601983613526565b9150614a4f82614a0e565b602082019050919050565b60006020820190508181036000830152614a7381614a37565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000614aa182614a7a565b614aab8185614a85565b9350614abb818560208601613537565b614ac48161356a565b840191505092915050565b6000608082019050614ae4600083018761366b565b614af1602083018661366b565b614afe60408301856137a7565b8181036060830152614b108184614a96565b905095945050505050565b600081519050614b2a8161348c565b92915050565b600060208284031215614b4657614b45613456565b5b6000614b5484828501614b1b565b91505092915050565b6000614b68826135d6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614b9b57614b9a614262565b5b600182019050919050565b6000614bb1826135d6565b9150614bbc836135d6565b925082821015614bcf57614bce614262565b5b828203905092915050565b6000614be5826135d6565b9150614bf0836135d6565b925082614c0057614bff6143b7565b5b82820690509291505056fea2646970667358221220826529a45d52ad0f891b6f12e77718510b8cad644f1d7bab65866316b498861364736f6c63430008090033

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

000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000000000000115c000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000c80000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : price (uint256): 4000000000000000
Arg [1] : maxSupply (uint32): 4444
Arg [2] : txLimit (uint32): 10
Arg [3] : walletLimit (uint32): 200
Arg [4] : teamReserved (uint32): 0

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000e35fa931a0000
Arg [1] : 000000000000000000000000000000000000000000000000000000000000115c
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [3] : 00000000000000000000000000000000000000000000000000000000000000c8
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

68163:3658:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;70833:300;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18086:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20154:204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19614:474;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;68468:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;71141:221;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12127:315;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;68383:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;68306:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21040:170;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;62123:442;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;71708:110;;;;;;;;;;;;;:::i;:::-;;21281:185;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;68513:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;70029:498;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;42285:468;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17875:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;68344:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;71370:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13752:224;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;67270:103;;;;;;;;;;;;;:::i;:::-;;71601:99;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;46097:892;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;66619:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18255:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;43143:2505;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20430:308;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;69277:744;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21537:396;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;41706:420;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;70535:290;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;68572:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;68540:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20809:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;71503:90;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;67528:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;68424:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;70833:300;70936:4;70988:26;70973:41;;;:11;:41;;;;:99;;;;71046:26;71031:41;;;:11;:41;;;;70973:99;:152;;;;71089:36;71113:11;71089:23;:36::i;:::-;70973:152;70953:172;;70833:300;;;:::o;18086:100::-;18140:13;18173:5;18166:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18086:100;:::o;20154:204::-;20222:7;20247:16;20255:7;20247;:16::i;:::-;20242:64;;20272:34;;;;;;;;;;;;;;20242:64;20326:15;:24;20342:7;20326:24;;;;;;;;;;;;;;;;;;;;;20319:31;;20154:204;;;:::o;19614:474::-;19687:13;19719:27;19738:7;19719:18;:27::i;:::-;19687:61;;19769:5;19763:11;;:2;:11;;;19759:48;;;19783:24;;;;;;;;;;;;;;19759:48;19847:5;19824:28;;:19;:17;:19::i;:::-;:28;;;19820:175;;19872:44;19889:5;19896:19;:17;:19::i;:::-;19872:16;:44::i;:::-;19867:128;;19944:35;;;;;;;;;;;;;;19867:128;19820:175;20034:2;20007:15;:24;20023:7;20007:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;20072:7;20068:2;20052:28;;20061:5;20052:28;;;;;;;;;;;;19676:412;19614:474;;:::o;68468:36::-;;;:::o;71141:221::-;66850:12;:10;:12::i;:::-;66839:23;;:7;:5;:7::i;:::-;:23;;;66831:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;71230:6:::1;71215:11;;:21;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;71271:13;71256:28;;:11;;;;;;;;;;;:28;;;;71247:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;71333:21;71343:2;71347:6;71333:21;;:9;:21::i;:::-;71141:221:::0;;:::o;12127:315::-;12180:7;12408:15;:13;:15::i;:::-;12393:12;;12377:13;;:28;:46;12370:53;;12127:315;:::o;68383:34::-;;;:::o;68306:31::-;;;:::o;21040:170::-;21174:28;21184:4;21190:2;21194:7;21174:9;:28::i;:::-;21040:170;;;:::o;62123:442::-;62220:7;62229;62249:26;62278:17;:27;62296:8;62278:27;;;;;;;;;;;62249:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;62350:1;62322:30;;:7;:16;;;:30;;;62318:92;;;62379:19;62369:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;62318:92;62422:21;62487:17;:15;:17::i;:::-;62446:58;;62460:7;:23;;;62447:36;;:10;:36;;;;:::i;:::-;62446:58;;;;:::i;:::-;62422:82;;62525:7;:16;;;62543:13;62517:40;;;;;;62123:442;;;;;:::o;71708:110::-;66850:12;:10;:12::i;:::-;66839:23;;:7;:5;:7::i;:::-;:23;;;66831:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;71758:52:::1;71788:21;71766:10;71758:29;;;;:52;;;;:::i;:::-;71708:110::o:0;21281:185::-;21419:39;21436:4;21442:2;21446:7;21419:39;;;;;;;;;;;;:16;:39::i;:::-;21281:185;;;:::o;68513:20::-;;;;;;;;;;;;;:::o;70029:498::-;70084:18;;:::i;:::-;70135:384;;;;;;;;70173:6;70135:384;;;;70207:8;70135:384;;;;;;70247:12;70135:384;;;;;;70289:10;70135:384;;;;;;70332:13;70135:384;;;;;;70384:22;:20;:22::i;:::-;70135:384;;;;;;70445:21;70459:6;70445:13;:21::i;:::-;70135:384;;;;;;70495:8;;;;;;;;;;;70135:384;;;;;70115:404;;70029:498;;;:::o;42285:468::-;42374:23;42435:22;42460:8;:15;42435:40;;42490:34;42548:14;42527:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;42490:73;;42583:9;42578:125;42599:14;42594:1;:19;42578:125;;42655:32;42675:8;42684:1;42675:11;;;;;;;;:::i;:::-;;;;;;;;42655:19;:32::i;:::-;42639:10;42650:1;42639:13;;;;;;;;:::i;:::-;;;;;;;:48;;;;42615:3;;;;;42578:125;;;;42724:10;42717:17;;;;42285:468;;;:::o;17875:144::-;17939:7;17982:27;18001:7;17982:18;:27::i;:::-;17959:52;;17875:144;;;:::o;68344:32::-;;;:::o;71370:125::-;66850:12;:10;:12::i;:::-;66839:23;;:7;:5;:7::i;:::-;:23;;;66831:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;71446:41:::1;71465:7;:5;:7::i;:::-;71474:12;71446:18;:41::i;:::-;71370:125:::0;:::o;13752:224::-;13816:7;13857:1;13840:19;;:5;:19;;;13836:60;;;13868:28;;;;;;;;;;;;;;13836:60;9091:13;13914:18;:25;13933:5;13914:25;;;;;;;;;;;;;;;;:54;13907:61;;13752:224;;;:::o;67270:103::-;66850:12;:10;:12::i;:::-;66839:23;;:7;:5;:7::i;:::-;:23;;;66831:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;67335:30:::1;67362:1;67335:18;:30::i;:::-;67270:103::o:0;71601:99::-;66850:12;:10;:12::i;:::-;66839:23;;:7;:5;:7::i;:::-;:23;;;66831:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;71689:3:::1;71674:12;:18;;;;;;;;;;;;:::i;:::-;;71601:99:::0;:::o;46097:892::-;46167:16;46221:19;46255:25;46295:22;46320:16;46330:5;46320:9;:16::i;:::-;46295:41;;46351:25;46393:14;46379:29;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46351:57;;46423:31;;:::i;:::-;46474:9;46486:15;:13;:15::i;:::-;46474:27;;46469:472;46518:14;46503:11;:29;46469:472;;46570:15;46583:1;46570:12;:15::i;:::-;46558:27;;46608:9;:16;;;46604:73;;;46649:8;;46604:73;46725:1;46699:28;;:9;:14;;;:28;;;46695:111;;46772:9;:14;;;46752:34;;46695:111;46849:5;46828:26;;:17;:26;;;46824:102;;;46905:1;46879:8;46888:13;;;;;;46879:23;;;;;;;;:::i;:::-;;;;;;;:27;;;;;46824:102;46469:472;46534:3;;;;;46469:472;;;;46962:8;46955:15;;;;;;;46097:892;;;:::o;66619:87::-;66665:7;66692:6;;;;;;;;;;;66685:13;;66619:87;:::o;18255:104::-;18311:13;18344:7;18337:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18255:104;:::o;43143:2505::-;43278:16;43345:4;43336:5;:13;43332:45;;43358:19;;;;;;;;;;;;;;43332:45;43392:19;43426:17;43446:14;:12;:14::i;:::-;43426:34;;43546:15;:13;:15::i;:::-;43538:5;:23;43534:87;;;43590:15;:13;:15::i;:::-;43582:23;;43534:87;43697:9;43690:4;:16;43686:73;;;43734:9;43727:16;;43686:73;43773:25;43801:16;43811:5;43801:9;:16::i;:::-;43773:44;;43995:4;43987:5;:12;43983:278;;;44020:19;44049:5;44042:4;:12;44020:34;;44091:17;44077:11;:31;44073:111;;;44153:11;44133:31;;44073:111;44001:198;43983:278;;;44244:1;44224:21;;43983:278;44275:25;44317:17;44303:32;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;44275:60;;44375:1;44354:17;:22;44350:78;;;44404:8;44397:15;;;;;;;;44350:78;44572:31;44606:26;44626:5;44606:19;:26::i;:::-;44572:60;;44647:25;44892:9;:16;;;44887:92;;44949:9;:14;;;44929:34;;44887:92;44998:9;45010:5;44998:17;;44993:478;45022:4;45017:1;:9;;:45;;;;;45045:17;45030:11;:32;;45017:45;44993:478;;;45100:15;45113:1;45100:12;:15::i;:::-;45088:27;;45138:9;:16;;;45134:73;;;45179:8;;45134:73;45255:1;45229:28;;:9;:14;;;:28;;;45225:111;;45302:9;:14;;;45282:34;;45225:111;45379:5;45358:26;;:17;:26;;;45354:102;;;45435:1;45409:8;45418:13;;;;;;45409:23;;;;;;;;:::i;:::-;;;;;;;:27;;;;;45354:102;44993:478;45064:3;;;;;44993:478;;;;45573:11;45563:8;45556:29;45621:8;45614:15;;;;;;;;43143:2505;;;;;;:::o;20430:308::-;20541:19;:17;:19::i;:::-;20529:31;;:8;:31;;;20525:61;;;20569:17;;;;;;;;;;;;;;20525:61;20651:8;20599:18;:39;20618:19;:17;:19::i;:::-;20599:39;;;;;;;;;;;;;;;:49;20639:8;20599:49;;;;;;;;;;;;;;;;:60;;;;;;;;;;;;;;;;;;20711:8;20675:55;;20690:19;:17;:19::i;:::-;20675:55;;;20721:8;20675:55;;;;;;:::i;:::-;;;;;;;;20430:308;;:::o;69277:744::-;69342:8;;;;;;;;;;;69334:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;69449:13;69436:10;:26;;;;:::i;:::-;69409:53;;69418:14;:12;:14::i;:::-;69409:6;:23;;;;;;:::i;:::-;:53;;69401:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;69529:8;69519:18;;:6;:18;;;;69511:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;69595:14;69612:25;69626:10;69612:13;:25::i;:::-;69595:42;;69661:1;69652:6;:10;69648:232;;;69709:6;69700;:15;;;;;;:::i;:::-;69687:9;:28;;69679:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;69648:232;;;69823:6;69818:1;69809:6;:10;;;;:::i;:::-;69808:21;;;;;;:::i;:::-;69795:9;:34;;69787:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;69648:232;69919:12;69900:31;;69909:6;69900:15;;:6;:15;;;;:::i;:::-;:31;;69892:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;69984:29;69994:10;70006:6;69984:29;;:9;:29::i;:::-;69323:698;69277:744;:::o;21537:396::-;21704:28;21714:4;21720:2;21724:7;21704:9;:28::i;:::-;21765:1;21747:2;:14;;;:19;21743:183;;21786:56;21817:4;21823:2;21827:7;21836:5;21786:30;:56::i;:::-;21781:145;;21870:40;;;;;;;;;;;;;;21781:145;21743:183;21537:396;;;;:::o;41706:420::-;41782:21;;:::i;:::-;41816:31;;:::i;:::-;41872:15;:13;:15::i;:::-;41862:7;:25;:54;;;;41902:14;:12;:14::i;:::-;41891:7;:25;;41862:54;41858:103;;;41940:9;41933:16;;;;;41858:103;41983:21;41996:7;41983:12;:21::i;:::-;41971:33;;42019:9;:16;;;42015:65;;;42059:9;42052:16;;;;;42015:65;42097:21;42110:7;42097:12;:21::i;:::-;42090:28;;;41706:420;;;;:::o;70535:290::-;70608:13;70639:16;70647:7;70639;:16::i;:::-;70634:59;;70664:29;;;;;;;;;;;;;;70634:59;70706:21;70730:12;70706:36;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;70784:7;70793:18;:7;:16;:18::i;:::-;70767:49;;;;;;;;;:::i;:::-;;;;;;;;;;;;;70753:64;;;70535:290;;;:::o;68572:85::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;68540:25::-;;;;;;;;;;;;;:::o;20809:164::-;20906:4;20930:18;:25;20949:5;20930:25;;;;;;;;;;;;;;;:35;20956:8;20930:35;;;;;;;;;;;;;;;;;;;;;;;;;20923:42;;20809:164;;;;:::o;71503:90::-;66850:12;:10;:12::i;:::-;66839:23;;:7;:5;:7::i;:::-;:23;;;66831:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;71578:7:::1;71567:8;;:18;;;;;;;;;;;;;;;;;;71503:90:::0;:::o;67528:201::-;66850:12;:10;:12::i;:::-;66839:23;;:7;:5;:7::i;:::-;:23;;;66831:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;67637:1:::1;67617:22;;:8;:22;;;;67609:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;67693:28;67712:8;67693:18;:28::i;:::-;67528:201:::0;:::o;68424:37::-;;;:::o;13073:615::-;13158:4;13473:10;13458:25;;:11;:25;;;;:102;;;;13550:10;13535:25;;:11;:25;;;;13458:102;:179;;;;13627:10;13612:25;;:11;:25;;;;13458:179;13438:199;;13073:615;;;:::o;22188:273::-;22245:4;22301:7;22282:15;:13;:15::i;:::-;:26;;:66;;;;;22335:13;;22325:7;:23;22282:66;:152;;;;;22433:1;9861:8;22386:17;:26;22404:7;22386:26;;;;;;;;;;;;:43;:48;22282:152;22262:172;;22188:273;;;:::o;15390:1129::-;15457:7;15477:12;15492:7;15477:22;;15560:4;15541:15;:13;:15::i;:::-;:23;15537:915;;15594:13;;15587:4;:20;15583:869;;;15632:14;15649:17;:23;15667:4;15649:23;;;;;;;;;;;;15632:40;;15765:1;9861:8;15738:6;:23;:28;15734:699;;;16257:113;16274:1;16264:6;:11;16257:113;;;16317:17;:25;16335:6;;;;;;;16317:25;;;;;;;;;;;;16308:34;;16257:113;;;16403:6;16396:13;;;;;;15734:699;15609:843;15583:869;15537:915;16480:31;;;;;;;;;;;;;;15390:1129;;;;:::o;36170:105::-;36230:7;36257:10;36250:17;;36170:105;:::o;65343:98::-;65396:7;65423:10;65416:17;;65343:98;:::o;22545:104::-;22614:27;22624:2;22628:8;22614:27;;;;;;;;;;;;:9;:27::i;:::-;22545:104;;:::o;11650:92::-;11706:7;11650:92;:::o;27427:2515::-;27542:27;27572;27591:7;27572:18;:27::i;:::-;27542:57;;27657:4;27616:45;;27632:19;27616:45;;;27612:86;;27670:28;;;;;;;;;;;;;;27612:86;27711:22;27760:4;27737:27;;:19;:17;:19::i;:::-;:27;;;:87;;;;27781:43;27798:4;27804:19;:17;:19::i;:::-;27781:16;:43::i;:::-;27737:87;:147;;;;27865:19;:17;:19::i;:::-;27841:43;;:20;27853:7;27841:11;:20::i;:::-;:43;;;27737:147;27711:174;;27903:17;27898:66;;27929:35;;;;;;;;;;;;;;27898:66;27993:1;27979:16;;:2;:16;;;27975:52;;;28004:23;;;;;;;;;;;;;;27975:52;28040:43;28062:4;28068:2;28072:7;28081:1;28040:21;:43::i;:::-;28156:15;:24;28172:7;28156:24;;;;;;;;;;;;28149:31;;;;;;;;;;;28548:18;:24;28567:4;28548:24;;;;;;;;;;;;;;;;28546:26;;;;;;;;;;;;28617:18;:22;28636:2;28617:22;;;;;;;;;;;;;;;;28615:24;;;;;;;;;;;10143:8;9745:3;28998:15;:41;;28956:21;28974:2;28956:17;:21::i;:::-;:84;:128;28910:17;:26;28928:7;28910:26;;;;;;;;;;;:174;;;;29254:1;10143:8;29204:19;:46;:51;29200:626;;;29276:19;29308:1;29298:7;:11;29276:33;;29465:1;29431:17;:30;29449:11;29431:30;;;;;;;;;;;;:35;29427:384;;;29569:13;;29554:11;:28;29550:242;;29749:19;29716:17;:30;29734:11;29716:30;;;;;;;;;;;:52;;;;29550:242;29427:384;29257:569;29200:626;29873:7;29869:2;29854:27;;29863:4;29854:27;;;;;;;;;;;;29892:42;29913:4;29919:2;29923:7;29932:1;29892:20;:42::i;:::-;27531:2411;;27427:2515;;;:::o;62847:97::-;62905:6;62931:5;62924:12;;62847:97;:::o;51614:317::-;51729:6;51704:21;:31;;51696:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;51783:12;51801:9;:14;;51823:6;51801:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51782:52;;;51853:7;51845:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;51685:246;51614:317;;:::o;12540:285::-;12587:7;12791:15;:13;:15::i;:::-;12775:13;;:31;12768:38;;12540:285;:::o;14058:176::-;14119:7;9091:13;9228:2;14147:18;:25;14166:5;14147:25;;;;;;;;;;;;;;;;:49;;14146:80;14139:87;;14058:176;;;:::o;63215:332::-;63334:17;:15;:17::i;:::-;63318:33;;:12;:33;;;;63310:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;63437:1;63417:22;;:8;:22;;;;63409:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;63504:35;;;;;;;;63516:8;63504:35;;;;;;63526:12;63504:35;;;;;63482:19;:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;63215:332;;:::o;67889:191::-;67963:16;67982:6;;;;;;;;;;;67963:25;;68008:8;67999:6;;:17;;;;;;;;;;;;;;;;;;68063:8;68032:40;;68053:8;68032:40;;;;;;;;;;;;67952:128;67889:191;:::o;16999:153::-;17059:21;;:::i;:::-;17100:44;17119:17;:24;17137:5;17119:24;;;;;;;;;;;;17100:18;:44::i;:::-;17093:51;;16999:153;;;:::o;11821:95::-;11868:7;11895:13;;11888:20;;11821:95;:::o;33639:716::-;33802:4;33848:2;33823:45;;;33869:19;:17;:19::i;:::-;33890:4;33896:7;33905:5;33823:88;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;33819:529;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34123:1;34106:6;:13;:18;34102:235;;;34152:40;;;;;;;;;;;;;;34102:235;34295:6;34289:13;34280:6;34276:2;34272:15;34265:38;33819:529;33992:54;;;33982:64;;;:6;:64;;;;33975:71;;;33639:716;;;;;;:::o;17655:158::-;17717:21;;:::i;:::-;17758:47;17777:27;17796:7;17777:18;:27::i;:::-;17758:18;:47::i;:::-;17751:54;;17655:158;;;:::o;47361:723::-;47417:13;47647:1;47638:5;:10;47634:53;;;47665:10;;;;;;;;;;;;;;;;;;;;;47634:53;47697:12;47712:5;47697:20;;47728:14;47753:78;47768:1;47760:4;:9;47753:78;;47786:8;;;;;:::i;:::-;;;;47817:2;47809:10;;;;;:::i;:::-;;;47753:78;;;47841:19;47873:6;47863:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47841:39;;47891:154;47907:1;47898:5;:10;47891:154;;47935:1;47925:11;;;;;:::i;:::-;;;48002:2;47994:5;:10;;;;:::i;:::-;47981:2;:24;;;;:::i;:::-;47968:39;;47951:6;47958;47951:14;;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;48031:2;48022:11;;;;;:::i;:::-;;;47891:154;;;48069:6;48055:21;;;;;47361:723;;;;:::o;23022:2236::-;23145:20;23168:13;;23145:36;;23210:1;23196:16;;:2;:16;;;23192:48;;;23221:19;;;;;;;;;;;;;;23192:48;23267:1;23255:8;:13;23251:44;;;23277:18;;;;;;;;;;;;;;23251:44;23308:61;23338:1;23342:2;23346:12;23360:8;23308:21;:61::i;:::-;23912:1;9228:2;23883:1;:25;;23882:31;23870:8;:44;23844:18;:22;23863:2;23844:22;;;;;;;;;;;;;;;;:70;;;;;;;;;;;10008:3;24313:29;24340:1;24328:8;:13;24313:14;:29::i;:::-;:56;;9745:3;24250:15;:41;;24208:21;24226:2;24208:17;:21::i;:::-;:84;:162;24157:17;:31;24175:12;24157:31;;;;;;;;;;;:213;;;;24387:20;24410:12;24387:35;;24437:11;24466:8;24451:12;:23;24437:37;;24513:1;24495:2;:14;;;:19;24491:635;;24535:313;24591:12;24587:2;24566:38;;24583:1;24566:38;;;;;;;;;;;;24632:69;24671:1;24675:2;24679:14;;;;;;24695:5;24632:30;:69::i;:::-;24627:174;;24737:40;;;;;;;;;;;;;;24627:174;24843:3;24828:12;:18;24535:313;;24929:12;24912:13;;:29;24908:43;;24943:8;;;24908:43;24491:635;;;24992:119;25048:14;;;;;;25044:2;25023:40;;25040:1;25023:40;;;;;;;;;;;;25106:3;25091:12;:18;24992:119;;24491:635;25156:12;25140:13;:28;;;;23621:1559;;25190:60;25219:1;25223:2;25227:12;25241:8;25190:20;:60::i;:::-;23134:2124;23022:2236;;;:::o;35003:159::-;;;;;:::o;19175:148::-;19239:14;19300:5;19290:15;;19175:148;;;:::o;35821:158::-;;;;;:::o;16613:295::-;16679:31;;:::i;:::-;16756:6;16723:9;:14;;:41;;;;;;;;;;;9745:3;16809:6;:32;;16775:9;:24;;:67;;;;;;;;;;;16899:1;9861:8;16872:6;:23;:28;;16853:9;:16;;:47;;;;;;;;;;;16613:295;;;:::o;19410:142::-;19468:14;19529:5;19519:15;;19410:142;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:307::-;1866:1;1876:113;1890:6;1887:1;1884:13;1876:113;;;1975:1;1970:3;1966:11;1960:18;1956:1;1951:3;1947:11;1940:39;1912:2;1909:1;1905:10;1900:15;;1876:113;;;2007:6;2004:1;2001:13;1998:101;;;2087:1;2078:6;2073:3;2069:16;2062:27;1998:101;1847:258;1798:307;;;:::o;2111:102::-;2152:6;2203:2;2199:7;2194:2;2187:5;2183:14;2179:28;2169:38;;2111:102;;;:::o;2219:364::-;2307:3;2335:39;2368:5;2335:39;:::i;:::-;2390:71;2454:6;2449:3;2390:71;:::i;:::-;2383:78;;2470:52;2515:6;2510:3;2503:4;2496:5;2492:16;2470:52;:::i;:::-;2547:29;2569:6;2547:29;:::i;:::-;2542:3;2538:39;2531:46;;2311:272;2219:364;;;;:::o;2589:313::-;2702:4;2740:2;2729:9;2725:18;2717:26;;2789:9;2783:4;2779:20;2775:1;2764:9;2760:17;2753:47;2817:78;2890:4;2881:6;2817:78;:::i;:::-;2809:86;;2589:313;;;;:::o;2908:77::-;2945:7;2974:5;2963:16;;2908:77;;;:::o;2991:122::-;3064:24;3082:5;3064:24;:::i;:::-;3057:5;3054:35;3044:63;;3103:1;3100;3093:12;3044:63;2991:122;:::o;3119:139::-;3165:5;3203:6;3190:20;3181:29;;3219:33;3246:5;3219:33;:::i;:::-;3119:139;;;;:::o;3264:329::-;3323:6;3372:2;3360:9;3351:7;3347:23;3343:32;3340:119;;;3378:79;;:::i;:::-;3340:119;3498:1;3523:53;3568:7;3559:6;3548:9;3544:22;3523:53;:::i;:::-;3513:63;;3469:117;3264:329;;;;:::o;3599:126::-;3636:7;3676:42;3669:5;3665:54;3654:65;;3599:126;;;:::o;3731:96::-;3768:7;3797:24;3815:5;3797:24;:::i;:::-;3786:35;;3731:96;;;:::o;3833:118::-;3920:24;3938:5;3920:24;:::i;:::-;3915:3;3908:37;3833:118;;:::o;3957:222::-;4050:4;4088:2;4077:9;4073:18;4065:26;;4101:71;4169:1;4158:9;4154:17;4145:6;4101:71;:::i;:::-;3957:222;;;;:::o;4185:122::-;4258:24;4276:5;4258:24;:::i;:::-;4251:5;4248:35;4238:63;;4297:1;4294;4287:12;4238:63;4185:122;:::o;4313:139::-;4359:5;4397:6;4384:20;4375:29;;4413:33;4440:5;4413:33;:::i;:::-;4313:139;;;;:::o;4458:474::-;4526:6;4534;4583:2;4571:9;4562:7;4558:23;4554:32;4551:119;;;4589:79;;:::i;:::-;4551:119;4709:1;4734:53;4779:7;4770:6;4759:9;4755:22;4734:53;:::i;:::-;4724:63;;4680:117;4836:2;4862:53;4907:7;4898:6;4887:9;4883:22;4862:53;:::i;:::-;4852:63;;4807:118;4458:474;;;;;:::o;4938:93::-;4974:7;5014:10;5007:5;5003:22;4992:33;;4938:93;;;:::o;5037:115::-;5122:23;5139:5;5122:23;:::i;:::-;5117:3;5110:36;5037:115;;:::o;5158:218::-;5249:4;5287:2;5276:9;5272:18;5264:26;;5300:69;5366:1;5355:9;5351:17;5342:6;5300:69;:::i;:::-;5158:218;;;;:::o;5382:120::-;5454:23;5471:5;5454:23;:::i;:::-;5447:5;5444:34;5434:62;;5492:1;5489;5482:12;5434:62;5382:120;:::o;5508:137::-;5553:5;5591:6;5578:20;5569:29;;5607:32;5633:5;5607:32;:::i;:::-;5508:137;;;;:::o;5651:472::-;5718:6;5726;5775:2;5763:9;5754:7;5750:23;5746:32;5743:119;;;5781:79;;:::i;:::-;5743:119;5901:1;5926:53;5971:7;5962:6;5951:9;5947:22;5926:53;:::i;:::-;5916:63;;5872:117;6028:2;6054:52;6098:7;6089:6;6078:9;6074:22;6054:52;:::i;:::-;6044:62;;5999:117;5651:472;;;;;:::o;6129:118::-;6216:24;6234:5;6216:24;:::i;:::-;6211:3;6204:37;6129:118;;:::o;6253:222::-;6346:4;6384:2;6373:9;6369:18;6361:26;;6397:71;6465:1;6454:9;6450:17;6441:6;6397:71;:::i;:::-;6253:222;;;;:::o;6481:619::-;6558:6;6566;6574;6623:2;6611:9;6602:7;6598:23;6594:32;6591:119;;;6629:79;;:::i;:::-;6591:119;6749:1;6774:53;6819:7;6810:6;6799:9;6795:22;6774:53;:::i;:::-;6764:63;;6720:117;6876:2;6902:53;6947:7;6938:6;6927:9;6923:22;6902:53;:::i;:::-;6892:63;;6847:118;7004:2;7030:53;7075:7;7066:6;7055:9;7051:22;7030:53;:::i;:::-;7020:63;;6975:118;6481:619;;;;;:::o;7106:474::-;7174:6;7182;7231:2;7219:9;7210:7;7206:23;7202:32;7199:119;;;7237:79;;:::i;:::-;7199:119;7357:1;7382:53;7427:7;7418:6;7407:9;7403:22;7382:53;:::i;:::-;7372:63;;7328:117;7484:2;7510:53;7555:7;7546:6;7535:9;7531:22;7510:53;:::i;:::-;7500:63;;7455:118;7106:474;;;;;:::o;7586:332::-;7707:4;7745:2;7734:9;7730:18;7722:26;;7758:71;7826:1;7815:9;7811:17;7802:6;7758:71;:::i;:::-;7839:72;7907:2;7896:9;7892:18;7883:6;7839:72;:::i;:::-;7586:332;;;;;:::o;7924:329::-;7983:6;8032:2;8020:9;8011:7;8007:23;8003:32;8000:119;;;8038:79;;:::i;:::-;8000:119;8158:1;8183:53;8228:7;8219:6;8208:9;8204:22;8183:53;:::i;:::-;8173:63;;8129:117;7924:329;;;;:::o;8259:108::-;8336:24;8354:5;8336:24;:::i;:::-;8331:3;8324:37;8259:108;;:::o;8373:105::-;8448:23;8465:5;8448:23;:::i;:::-;8443:3;8436:36;8373:105;;:::o;8484:99::-;8555:21;8570:5;8555:21;:::i;:::-;8550:3;8543:34;8484:99;;:::o;8667:1583::-;8822:6;8817:3;8813:16;8912:4;8905:5;8901:16;8895:23;8931:63;8988:4;8983:3;8979:14;8965:12;8931:63;:::i;:::-;8839:165;9089:4;9082:5;9078:16;9072:23;9108:61;9163:4;9158:3;9154:14;9140:12;9108:61;:::i;:::-;9014:165;9268:4;9261:5;9257:16;9251:23;9287:61;9342:4;9337:3;9333:14;9319:12;9287:61;:::i;:::-;9189:169;9445:4;9438:5;9434:16;9428:23;9464:61;9519:4;9514:3;9510:14;9496:12;9464:61;:::i;:::-;9368:167;9625:4;9618:5;9614:16;9608:23;9644:61;9699:4;9694:3;9690:14;9676:12;9644:61;:::i;:::-;9545:170;9804:4;9797:5;9793:16;9787:23;9823:61;9878:4;9873:3;9869:14;9855:12;9823:61;:::i;:::-;9725:169;9982:4;9975:5;9971:16;9965:23;10001:61;10056:4;10051:3;10047:14;10033:12;10001:61;:::i;:::-;9904:168;10157:4;10150:5;10146:16;10140:23;10176:57;10227:4;10222:3;10218:14;10204:12;10176:57;:::i;:::-;10082:161;8791:1459;8667:1583;;:::o;10256:339::-;10407:4;10445:3;10434:9;10430:19;10422:27;;10459:129;10585:1;10574:9;10570:17;10561:6;10459:129;:::i;:::-;10256:339;;;;:::o;10601:117::-;10710:1;10707;10700:12;10724:180;10772:77;10769:1;10762:88;10869:4;10866:1;10859:15;10893:4;10890:1;10883:15;10910:281;10993:27;11015:4;10993:27;:::i;:::-;10985:6;10981:40;11123:6;11111:10;11108:22;11087:18;11075:10;11072:34;11069:62;11066:88;;;11134:18;;:::i;:::-;11066:88;11174:10;11170:2;11163:22;10953:238;10910:281;;:::o;11197:129::-;11231:6;11258:20;;:::i;:::-;11248:30;;11287:33;11315:4;11307:6;11287:33;:::i;:::-;11197:129;;;:::o;11332:311::-;11409:4;11499:18;11491:6;11488:30;11485:56;;;11521:18;;:::i;:::-;11485:56;11571:4;11563:6;11559:17;11551:25;;11631:4;11625;11621:15;11613:23;;11332:311;;;:::o;11649:117::-;11758:1;11755;11748:12;11789:710;11885:5;11910:81;11926:64;11983:6;11926:64;:::i;:::-;11910:81;:::i;:::-;11901:90;;12011:5;12040:6;12033:5;12026:21;12074:4;12067:5;12063:16;12056:23;;12127:4;12119:6;12115:17;12107:6;12103:30;12156:3;12148:6;12145:15;12142:122;;;12175:79;;:::i;:::-;12142:122;12290:6;12273:220;12307:6;12302:3;12299:15;12273:220;;;12382:3;12411:37;12444:3;12432:10;12411:37;:::i;:::-;12406:3;12399:50;12478:4;12473:3;12469:14;12462:21;;12349:144;12333:4;12328:3;12324:14;12317:21;;12273:220;;;12277:21;11891:608;;11789:710;;;;;:::o;12522:370::-;12593:5;12642:3;12635:4;12627:6;12623:17;12619:27;12609:122;;12650:79;;:::i;:::-;12609:122;12767:6;12754:20;12792:94;12882:3;12874:6;12867:4;12859:6;12855:17;12792:94;:::i;:::-;12783:103;;12599:293;12522:370;;;;:::o;12898:539::-;12982:6;13031:2;13019:9;13010:7;13006:23;13002:32;12999:119;;;13037:79;;:::i;:::-;12999:119;13185:1;13174:9;13170:17;13157:31;13215:18;13207:6;13204:30;13201:117;;;13237:79;;:::i;:::-;13201:117;13342:78;13412:7;13403:6;13392:9;13388:22;13342:78;:::i;:::-;13332:88;;13128:302;12898:539;;;;:::o;13443:144::-;13540:6;13574:5;13568:12;13558:22;;13443:144;;;:::o;13593:214::-;13722:11;13756:6;13751:3;13744:19;13796:4;13791:3;13787:14;13772:29;;13593:214;;;;:::o;13813:162::-;13910:4;13933:3;13925:11;;13963:4;13958:3;13954:14;13946:22;;13813:162;;;:::o;13981:108::-;14058:24;14076:5;14058:24;:::i;:::-;14053:3;14046:37;13981:108;;:::o;14095:101::-;14131:7;14171:18;14164:5;14160:30;14149:41;;14095:101;;;:::o;14202:105::-;14277:23;14294:5;14277:23;:::i;:::-;14272:3;14265:36;14202:105;;:::o;14385:685::-;14532:4;14527:3;14523:14;14619:4;14612:5;14608:16;14602:23;14638:63;14695:4;14690:3;14686:14;14672:12;14638:63;:::i;:::-;14547:164;14803:4;14796:5;14792:16;14786:23;14822:61;14877:4;14872:3;14868:14;14854:12;14822:61;:::i;:::-;14721:172;14977:4;14970:5;14966:16;14960:23;14996:57;15047:4;15042:3;15038:14;15024:12;14996:57;:::i;:::-;14903:160;14501:569;14385:685;;:::o;15076:299::-;15205:10;15226:106;15328:3;15320:6;15226:106;:::i;:::-;15364:4;15359:3;15355:14;15341:28;;15076:299;;;;:::o;15381:143::-;15481:4;15513;15508:3;15504:14;15496:22;;15381:143;;;:::o;15606:972::-;15785:3;15814:84;15892:5;15814:84;:::i;:::-;15914:116;16023:6;16018:3;15914:116;:::i;:::-;15907:123;;16054:86;16134:5;16054:86;:::i;:::-;16163:7;16194:1;16179:374;16204:6;16201:1;16198:13;16179:374;;;16280:6;16274:13;16307:123;16426:3;16411:13;16307:123;:::i;:::-;16300:130;;16453:90;16536:6;16453:90;:::i;:::-;16443:100;;16239:314;16226:1;16223;16219:9;16214:14;;16179:374;;;16183:14;16569:3;16562:10;;15790:788;;;15606:972;;;;:::o;16584:493::-;16787:4;16825:2;16814:9;16810:18;16802:26;;16874:9;16868:4;16864:20;16860:1;16849:9;16845:17;16838:47;16902:168;17065:4;17056:6;16902:168;:::i;:::-;16894:176;;16584:493;;;;:::o;17083:109::-;17119:7;17159:26;17152:5;17148:38;17137:49;;17083:109;;;:::o;17198:120::-;17270:23;17287:5;17270:23;:::i;:::-;17263:5;17260:34;17250:62;;17308:1;17305;17298:12;17250:62;17198:120;:::o;17324:137::-;17369:5;17407:6;17394:20;17385:29;;17423:32;17449:5;17423:32;:::i;:::-;17324:137;;;;:::o;17467:327::-;17525:6;17574:2;17562:9;17553:7;17549:23;17545:32;17542:119;;;17580:79;;:::i;:::-;17542:119;17700:1;17725:52;17769:7;17760:6;17749:9;17745:22;17725:52;:::i;:::-;17715:62;;17671:116;17467:327;;;;:::o;17800:117::-;17909:1;17906;17899:12;17923:308;17985:4;18075:18;18067:6;18064:30;18061:56;;;18097:18;;:::i;:::-;18061:56;18135:29;18157:6;18135:29;:::i;:::-;18127:37;;18219:4;18213;18209:15;18201:23;;17923:308;;;:::o;18237:154::-;18321:6;18316:3;18311;18298:30;18383:1;18374:6;18369:3;18365:16;18358:27;18237:154;;;:::o;18397:412::-;18475:5;18500:66;18516:49;18558:6;18516:49;:::i;:::-;18500:66;:::i;:::-;18491:75;;18589:6;18582:5;18575:21;18627:4;18620:5;18616:16;18665:3;18656:6;18651:3;18647:16;18644:25;18641:112;;;18672:79;;:::i;:::-;18641:112;18762:41;18796:6;18791:3;18786;18762:41;:::i;:::-;18481:328;18397:412;;;;;:::o;18829:340::-;18885:5;18934:3;18927:4;18919:6;18915:17;18911:27;18901:122;;18942:79;;:::i;:::-;18901:122;19059:6;19046:20;19084:79;19159:3;19151:6;19144:4;19136:6;19132:17;19084:79;:::i;:::-;19075:88;;18891:278;18829:340;;;;:::o;19175:509::-;19244:6;19293:2;19281:9;19272:7;19268:23;19264:32;19261:119;;;19299:79;;:::i;:::-;19261:119;19447:1;19436:9;19432:17;19419:31;19477:18;19469:6;19466:30;19463:117;;;19499:79;;:::i;:::-;19463:117;19604:63;19659:7;19650:6;19639:9;19635:22;19604:63;:::i;:::-;19594:73;;19390:287;19175:509;;;;:::o;19690:114::-;19757:6;19791:5;19785:12;19775:22;;19690:114;;;:::o;19810:184::-;19909:11;19943:6;19938:3;19931:19;19983:4;19978:3;19974:14;19959:29;;19810:184;;;;:::o;20000:132::-;20067:4;20090:3;20082:11;;20120:4;20115:3;20111:14;20103:22;;20000:132;;;:::o;20138:179::-;20207:10;20228:46;20270:3;20262:6;20228:46;:::i;:::-;20306:4;20301:3;20297:14;20283:28;;20138:179;;;;:::o;20323:113::-;20393:4;20425;20420:3;20416:14;20408:22;;20323:113;;;:::o;20472:732::-;20591:3;20620:54;20668:5;20620:54;:::i;:::-;20690:86;20769:6;20764:3;20690:86;:::i;:::-;20683:93;;20800:56;20850:5;20800:56;:::i;:::-;20879:7;20910:1;20895:284;20920:6;20917:1;20914:13;20895:284;;;20996:6;20990:13;21023:63;21082:3;21067:13;21023:63;:::i;:::-;21016:70;;21109:60;21162:6;21109:60;:::i;:::-;21099:70;;20955:224;20942:1;20939;20935:9;20930:14;;20895:284;;;20899:14;21195:3;21188:10;;20596:608;;;20472:732;;;;:::o;21210:373::-;21353:4;21391:2;21380:9;21376:18;21368:26;;21440:9;21434:4;21430:20;21426:1;21415:9;21411:17;21404:47;21468:108;21571:4;21562:6;21468:108;:::i;:::-;21460:116;;21210:373;;;;:::o;21589:619::-;21666:6;21674;21682;21731:2;21719:9;21710:7;21706:23;21702:32;21699:119;;;21737:79;;:::i;:::-;21699:119;21857:1;21882:53;21927:7;21918:6;21907:9;21903:22;21882:53;:::i;:::-;21872:63;;21828:117;21984:2;22010:53;22055:7;22046:6;22035:9;22031:22;22010:53;:::i;:::-;22000:63;;21955:118;22112:2;22138:53;22183:7;22174:6;22163:9;22159:22;22138:53;:::i;:::-;22128:63;;22083:118;21589:619;;;;;:::o;22214:116::-;22284:21;22299:5;22284:21;:::i;:::-;22277:5;22274:32;22264:60;;22320:1;22317;22310:12;22264:60;22214:116;:::o;22336:133::-;22379:5;22417:6;22404:20;22395:29;;22433:30;22457:5;22433:30;:::i;:::-;22336:133;;;;:::o;22475:468::-;22540:6;22548;22597:2;22585:9;22576:7;22572:23;22568:32;22565:119;;;22603:79;;:::i;:::-;22565:119;22723:1;22748:53;22793:7;22784:6;22773:9;22769:22;22748:53;:::i;:::-;22738:63;;22694:117;22850:2;22876:50;22918:7;22909:6;22898:9;22894:22;22876:50;:::i;:::-;22866:60;;22821:115;22475:468;;;;;:::o;22949:327::-;23007:6;23056:2;23044:9;23035:7;23031:23;23027:32;23024:119;;;23062:79;;:::i;:::-;23024:119;23182:1;23207:52;23251:7;23242:6;23231:9;23227:22;23207:52;:::i;:::-;23197:62;;23153:116;22949:327;;;;:::o;23282:307::-;23343:4;23433:18;23425:6;23422:30;23419:56;;;23455:18;;:::i;:::-;23419:56;23493:29;23515:6;23493:29;:::i;:::-;23485:37;;23577:4;23571;23567:15;23559:23;;23282:307;;;:::o;23595:410::-;23672:5;23697:65;23713:48;23754:6;23713:48;:::i;:::-;23697:65;:::i;:::-;23688:74;;23785:6;23778:5;23771:21;23823:4;23816:5;23812:16;23861:3;23852:6;23847:3;23843:16;23840:25;23837:112;;;23868:79;;:::i;:::-;23837:112;23958:41;23992:6;23987:3;23982;23958:41;:::i;:::-;23678:327;23595:410;;;;;:::o;24024:338::-;24079:5;24128:3;24121:4;24113:6;24109:17;24105:27;24095:122;;24136:79;;:::i;:::-;24095:122;24253:6;24240:20;24278:78;24352:3;24344:6;24337:4;24329:6;24325:17;24278:78;:::i;:::-;24269:87;;24085:277;24024:338;;;;:::o;24368:943::-;24463:6;24471;24479;24487;24536:3;24524:9;24515:7;24511:23;24507:33;24504:120;;;24543:79;;:::i;:::-;24504:120;24663:1;24688:53;24733:7;24724:6;24713:9;24709:22;24688:53;:::i;:::-;24678:63;;24634:117;24790:2;24816:53;24861:7;24852:6;24841:9;24837:22;24816:53;:::i;:::-;24806:63;;24761:118;24918:2;24944:53;24989:7;24980:6;24969:9;24965:22;24944:53;:::i;:::-;24934:63;;24889:118;25074:2;25063:9;25059:18;25046:32;25105:18;25097:6;25094:30;25091:117;;;25127:79;;:::i;:::-;25091:117;25232:62;25286:7;25277:6;25266:9;25262:22;25232:62;:::i;:::-;25222:72;;25017:287;24368:943;;;;;;;:::o;25389:695::-;25546:4;25541:3;25537:14;25633:4;25626:5;25622:16;25616:23;25652:63;25709:4;25704:3;25700:14;25686:12;25652:63;:::i;:::-;25561:164;25817:4;25810:5;25806:16;25800:23;25836:61;25891:4;25886:3;25882:14;25868:12;25836:61;:::i;:::-;25735:172;25991:4;25984:5;25980:16;25974:23;26010:57;26061:4;26056:3;26052:14;26038:12;26010:57;:::i;:::-;25917:160;25515:569;25389:695;;:::o;26090:342::-;26243:4;26281:2;26270:9;26266:18;26258:26;;26294:131;26422:1;26411:9;26407:17;26398:6;26294:131;:::i;:::-;26090:342;;;;:::o;26438:474::-;26506:6;26514;26563:2;26551:9;26542:7;26538:23;26534:32;26531:119;;;26569:79;;:::i;:::-;26531:119;26689:1;26714:53;26759:7;26750:6;26739:9;26735:22;26714:53;:::i;:::-;26704:63;;26660:117;26816:2;26842:53;26887:7;26878:6;26867:9;26863:22;26842:53;:::i;:::-;26832:63;;26787:118;26438:474;;;;;:::o;26918:323::-;26974:6;27023:2;27011:9;27002:7;26998:23;26994:32;26991:119;;;27029:79;;:::i;:::-;26991:119;27149:1;27174:50;27216:7;27207:6;27196:9;27192:22;27174:50;:::i;:::-;27164:60;;27120:114;26918:323;;;;:::o;27247:180::-;27295:77;27292:1;27285:88;27392:4;27389:1;27382:15;27416:4;27413:1;27406:15;27433:320;27477:6;27514:1;27508:4;27504:12;27494:22;;27561:1;27555:4;27551:12;27582:18;27572:81;;27638:4;27630:6;27626:17;27616:27;;27572:81;27700:2;27692:6;27689:14;27669:18;27666:38;27663:84;;;27719:18;;:::i;:::-;27663:84;27484:269;27433:320;;;:::o;27759:182::-;27899:34;27895:1;27887:6;27883:14;27876:58;27759:182;:::o;27947:366::-;28089:3;28110:67;28174:2;28169:3;28110:67;:::i;:::-;28103:74;;28186:93;28275:3;28186:93;:::i;:::-;28304:2;28299:3;28295:12;28288:19;;27947:366;;;:::o;28319:419::-;28485:4;28523:2;28512:9;28508:18;28500:26;;28572:9;28566:4;28562:20;28558:1;28547:9;28543:17;28536:47;28600:131;28726:4;28600:131;:::i;:::-;28592:139;;28319:419;;;:::o;28744:180::-;28792:77;28789:1;28782:88;28889:4;28886:1;28879:15;28913:4;28910:1;28903:15;28930:246;28969:3;28988:19;29005:1;28988:19;:::i;:::-;28983:24;;29021:19;29038:1;29021:19;:::i;:::-;29016:24;;29118:1;29106:10;29102:18;29099:1;29096:25;29093:51;;;29124:18;;:::i;:::-;29093:51;29168:1;29165;29161:9;29154:16;;28930:246;;;;:::o;29182:220::-;29322:34;29318:1;29310:6;29306:14;29299:58;29391:3;29386:2;29378:6;29374:15;29367:28;29182:220;:::o;29408:366::-;29550:3;29571:67;29635:2;29630:3;29571:67;:::i;:::-;29564:74;;29647:93;29736:3;29647:93;:::i;:::-;29765:2;29760:3;29756:12;29749:19;;29408:366;;;:::o;29780:419::-;29946:4;29984:2;29973:9;29969:18;29961:26;;30033:9;30027:4;30023:20;30019:1;30008:9;30004:17;29997:47;30061:131;30187:4;30061:131;:::i;:::-;30053:139;;29780:419;;;:::o;30205:348::-;30245:7;30268:20;30286:1;30268:20;:::i;:::-;30263:25;;30302:20;30320:1;30302:20;:::i;:::-;30297:25;;30490:1;30422:66;30418:74;30415:1;30412:81;30407:1;30400:9;30393:17;30389:105;30386:131;;;30497:18;;:::i;:::-;30386:131;30545:1;30542;30538:9;30527:20;;30205:348;;;;:::o;30559:180::-;30607:77;30604:1;30597:88;30704:4;30701:1;30694:15;30728:4;30725:1;30718:15;30745:185;30785:1;30802:20;30820:1;30802:20;:::i;:::-;30797:25;;30836:20;30854:1;30836:20;:::i;:::-;30831:25;;30875:1;30865:35;;30880:18;;:::i;:::-;30865:35;30922:1;30919;30915:9;30910:14;;30745:185;;;;:::o;30936:180::-;30984:77;30981:1;30974:88;31081:4;31078:1;31071:15;31105:4;31102:1;31095:15;31122:222;31262:34;31258:1;31250:6;31246:14;31239:58;31331:5;31326:2;31318:6;31314:15;31307:30;31122:222;:::o;31350:366::-;31492:3;31513:67;31577:2;31572:3;31513:67;:::i;:::-;31506:74;;31589:93;31678:3;31589:93;:::i;:::-;31707:2;31702:3;31698:12;31691:19;;31350:366;;;:::o;31722:419::-;31888:4;31926:2;31915:9;31911:18;31903:26;;31975:9;31969:4;31965:20;31961:1;31950:9;31946:17;31939:47;32003:131;32129:4;32003:131;:::i;:::-;31995:139;;31722:419;;;:::o;32147:188::-;32186:4;32206:19;32223:1;32206:19;:::i;:::-;32201:24;;32239:19;32256:1;32239:19;:::i;:::-;32234:24;;32277:1;32274;32271:8;32268:34;;;32282:18;;:::i;:::-;32268:34;32327:1;32324;32320:9;32312:17;;32147:188;;;;:::o;32341:305::-;32381:3;32400:20;32418:1;32400:20;:::i;:::-;32395:25;;32434:20;32452:1;32434:20;:::i;:::-;32429:25;;32588:1;32520:66;32516:74;32513:1;32510:81;32507:107;;;32594:18;;:::i;:::-;32507:107;32638:1;32635;32631:9;32624:16;;32341:305;;;;:::o;32652:227::-;32792:34;32788:1;32780:6;32776:14;32769:58;32861:10;32856:2;32848:6;32844:15;32837:35;32652:227;:::o;32885:366::-;33027:3;33048:67;33112:2;33107:3;33048:67;:::i;:::-;33041:74;;33124:93;33213:3;33124:93;:::i;:::-;33242:2;33237:3;33233:12;33226:19;;32885:366;;;:::o;33257:419::-;33423:4;33461:2;33450:9;33446:18;33438:26;;33510:9;33504:4;33500:20;33496:1;33485:9;33481:17;33474:47;33538:131;33664:4;33538:131;:::i;:::-;33530:139;;33257:419;;;:::o;33682:221::-;33822:34;33818:1;33810:6;33806:14;33799:58;33891:4;33886:2;33878:6;33874:15;33867:29;33682:221;:::o;33909:366::-;34051:3;34072:67;34136:2;34131:3;34072:67;:::i;:::-;34065:74;;34148:93;34237:3;34148:93;:::i;:::-;34266:2;34261:3;34257:12;34250:19;;33909:366;;;:::o;34281:419::-;34447:4;34485:2;34474:9;34470:18;34462:26;;34534:9;34528:4;34524:20;34520:1;34509:9;34505:17;34498:47;34562:131;34688:4;34562:131;:::i;:::-;34554:139;;34281:419;;;:::o;34706:222::-;34846:34;34842:1;34834:6;34830:14;34823:58;34915:5;34910:2;34902:6;34898:15;34891:30;34706:222;:::o;34934:366::-;35076:3;35097:67;35161:2;35156:3;35097:67;:::i;:::-;35090:74;;35173:93;35262:3;35173:93;:::i;:::-;35291:2;35286:3;35282:12;35275:19;;34934:366;;;:::o;35306:419::-;35472:4;35510:2;35499:9;35495:18;35487:26;;35559:9;35553:4;35549:20;35545:1;35534:9;35530:17;35523:47;35587:131;35713:4;35587:131;:::i;:::-;35579:139;;35306:419;;;:::o;35731:148::-;35833:11;35870:3;35855:18;;35731:148;;;;:::o;35885:377::-;35991:3;36019:39;36052:5;36019:39;:::i;:::-;36074:89;36156:6;36151:3;36074:89;:::i;:::-;36067:96;;36172:52;36217:6;36212:3;36205:4;36198:5;36194:16;36172:52;:::i;:::-;36249:6;36244:3;36240:16;36233:23;;35995:267;35885:377;;;;:::o;36268:114::-;;:::o;36388:400::-;36548:3;36569:84;36651:1;36646:3;36569:84;:::i;:::-;36562:91;;36662:93;36751:3;36662:93;:::i;:::-;36780:1;36775:3;36771:11;36764:18;;36388:400;;;:::o;36794:701::-;37075:3;37097:95;37188:3;37179:6;37097:95;:::i;:::-;37090:102;;37209:95;37300:3;37291:6;37209:95;:::i;:::-;37202:102;;37321:148;37465:3;37321:148;:::i;:::-;37314:155;;37486:3;37479:10;;36794:701;;;;;:::o;37501:225::-;37641:34;37637:1;37629:6;37625:14;37618:58;37710:8;37705:2;37697:6;37693:15;37686:33;37501:225;:::o;37732:366::-;37874:3;37895:67;37959:2;37954:3;37895:67;:::i;:::-;37888:74;;37971:93;38060:3;37971:93;:::i;:::-;38089:2;38084:3;38080:12;38073:19;;37732:366;;;:::o;38104:419::-;38270:4;38308:2;38297:9;38293:18;38285:26;;38357:9;38351:4;38347:20;38343:1;38332:9;38328:17;38321:47;38385:131;38511:4;38385:131;:::i;:::-;38377:139;;38104:419;;;:::o;38529:179::-;38669:31;38665:1;38657:6;38653:14;38646:55;38529:179;:::o;38714:366::-;38856:3;38877:67;38941:2;38936:3;38877:67;:::i;:::-;38870:74;;38953:93;39042:3;38953:93;:::i;:::-;39071:2;39066:3;39062:12;39055:19;;38714:366;;;:::o;39086:419::-;39252:4;39290:2;39279:9;39275:18;39267:26;;39339:9;39333:4;39329:20;39325:1;39314:9;39310:17;39303:47;39367:131;39493:4;39367:131;:::i;:::-;39359:139;;39086:419;;;:::o;39511:147::-;39612:11;39649:3;39634:18;;39511:147;;;;:::o;39664:398::-;39823:3;39844:83;39925:1;39920:3;39844:83;:::i;:::-;39837:90;;39936:93;40025:3;39936:93;:::i;:::-;40054:1;40049:3;40045:11;40038:18;;39664:398;;;:::o;40068:379::-;40252:3;40274:147;40417:3;40274:147;:::i;:::-;40267:154;;40438:3;40431:10;;40068:379;;;:::o;40453:245::-;40593:34;40589:1;40581:6;40577:14;40570:58;40662:28;40657:2;40649:6;40645:15;40638:53;40453:245;:::o;40704:366::-;40846:3;40867:67;40931:2;40926:3;40867:67;:::i;:::-;40860:74;;40943:93;41032:3;40943:93;:::i;:::-;41061:2;41056:3;41052:12;41045:19;;40704:366;;;:::o;41076:419::-;41242:4;41280:2;41269:9;41265:18;41257:26;;41329:9;41323:4;41319:20;41315:1;41304:9;41300:17;41293:47;41357:131;41483:4;41357:131;:::i;:::-;41349:139;;41076:419;;;:::o;41501:229::-;41641:34;41637:1;41629:6;41625:14;41618:58;41710:12;41705:2;41697:6;41693:15;41686:37;41501:229;:::o;41736:366::-;41878:3;41899:67;41963:2;41958:3;41899:67;:::i;:::-;41892:74;;41975:93;42064:3;41975:93;:::i;:::-;42093:2;42088:3;42084:12;42077:19;;41736:366;;;:::o;42108:419::-;42274:4;42312:2;42301:9;42297:18;42289:26;;42361:9;42355:4;42351:20;42347:1;42336:9;42332:17;42325:47;42389:131;42515:4;42389:131;:::i;:::-;42381:139;;42108:419;;;:::o;42533:175::-;42673:27;42669:1;42661:6;42657:14;42650:51;42533:175;:::o;42714:366::-;42856:3;42877:67;42941:2;42936:3;42877:67;:::i;:::-;42870:74;;42953:93;43042:3;42953:93;:::i;:::-;43071:2;43066:3;43062:12;43055:19;;42714:366;;;:::o;43086:419::-;43252:4;43290:2;43279:9;43275:18;43267:26;;43339:9;43333:4;43329:20;43325:1;43314:9;43310:17;43303:47;43367:131;43493:4;43367:131;:::i;:::-;43359:139;;43086:419;;;:::o;43511:98::-;43562:6;43596:5;43590:12;43580:22;;43511:98;;;:::o;43615:168::-;43698:11;43732:6;43727:3;43720:19;43772:4;43767:3;43763:14;43748:29;;43615:168;;;;:::o;43789:360::-;43875:3;43903:38;43935:5;43903:38;:::i;:::-;43957:70;44020:6;44015:3;43957:70;:::i;:::-;43950:77;;44036:52;44081:6;44076:3;44069:4;44062:5;44058:16;44036:52;:::i;:::-;44113:29;44135:6;44113:29;:::i;:::-;44108:3;44104:39;44097:46;;43879:270;43789:360;;;;:::o;44155:640::-;44350:4;44388:3;44377:9;44373:19;44365:27;;44402:71;44470:1;44459:9;44455:17;44446:6;44402:71;:::i;:::-;44483:72;44551:2;44540:9;44536:18;44527:6;44483:72;:::i;:::-;44565;44633:2;44622:9;44618:18;44609:6;44565:72;:::i;:::-;44684:9;44678:4;44674:20;44669:2;44658:9;44654:18;44647:48;44712:76;44783:4;44774:6;44712:76;:::i;:::-;44704:84;;44155:640;;;;;;;:::o;44801:141::-;44857:5;44888:6;44882:13;44873:22;;44904:32;44930:5;44904:32;:::i;:::-;44801:141;;;;:::o;44948:349::-;45017:6;45066:2;45054:9;45045:7;45041:23;45037:32;45034:119;;;45072:79;;:::i;:::-;45034:119;45192:1;45217:63;45272:7;45263:6;45252:9;45248:22;45217:63;:::i;:::-;45207:73;;45163:127;44948:349;;;;:::o;45303:233::-;45342:3;45365:24;45383:5;45365:24;:::i;:::-;45356:33;;45411:66;45404:5;45401:77;45398:103;;;45481:18;;:::i;:::-;45398:103;45528:1;45521:5;45517:13;45510:20;;45303:233;;;:::o;45542:191::-;45582:4;45602:20;45620:1;45602:20;:::i;:::-;45597:25;;45636:20;45654:1;45636:20;:::i;:::-;45631:25;;45675:1;45672;45669:8;45666:34;;;45680:18;;:::i;:::-;45666:34;45725:1;45722;45718:9;45710:17;;45542:191;;;;:::o;45739:176::-;45771:1;45788:20;45806:1;45788:20;:::i;:::-;45783:25;;45822:20;45840:1;45822:20;:::i;:::-;45817:25;;45861:1;45851:35;;45866:18;;:::i;:::-;45851:35;45907:1;45904;45900:9;45895:14;;45739:176;;;;:::o

Swarm Source

ipfs://826529a45d52ad0f891b6f12e77718510b8cad644f1d7bab65866316b4988613
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.