ETH Price: $2,354.36 (-3.28%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Safe Mint213825812024-12-11 23:35:47492 days ago1733960147IN
ASCII Wall: ASC Token
0.02 ETH0.0039564615.27706318
Safe Mint154105422022-08-25 18:02:311332 days ago1661450551IN
ASCII Wall: ASC Token
0.02 ETH0.0048708118.87706611
Transfer From145266142022-04-05 14:59:051474 days ago1649170745IN
ASCII Wall: ASC Token
0 ETH0.0066275973.66615551
Safe Mint145194142022-04-04 12:00:411475 days ago1649073641IN
ASCII Wall: ASC Token
0.02 ETH0.0141441952.53299076
Safe Mint139208592022-01-01 17:26:311568 days ago1641057991IN
ASCII Wall: ASC Token
0.02 ETH0.0222288682.6099899
Safe Mint136966642021-11-27 14:48:281603 days ago1638024508IN
ASCII Wall: ASC Token
0.02 ETH0.0225723391.27696131
Safe Mint136177952021-11-15 2:49:441615 days ago1636944584IN
ASCII Wall: ASC Token
0.02 ETH0.0257368597.80816997
Safe Mint136177772021-11-15 2:47:121615 days ago1636944432IN
ASCII Wall: ASC Token
0.02 ETH0.03525383144.28245676
Safe Mint136168222021-11-14 23:05:371615 days ago1636931137IN
ASCII Wall: ASC Token
0.02 ETH0.03308481115.42610573
Unpause136168182021-11-14 23:04:301615 days ago1636931070IN
ASCII Wall: ASC Token
0 ETH0.00339493120.82916403

Latest 8 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer213825812024-12-11 23:35:47492 days ago1733960147
ASCII Wall: ASC Token
0.02 ETH
Transfer154105422022-08-25 18:02:311332 days ago1661450551
ASCII Wall: ASC Token
0.02 ETH
-145194142022-04-04 12:00:411475 days ago1649073641
ASCII Wall: ASC Token
0.02 ETH
-139208592022-01-01 17:26:311568 days ago1641057991
ASCII Wall: ASC Token
0.02 ETH
-136966642021-11-27 14:48:281603 days ago1638024508
ASCII Wall: ASC Token
0.02 ETH
-136177952021-11-15 2:49:441615 days ago1636944584
ASCII Wall: ASC Token
0.02 ETH
-136177772021-11-15 2:47:121615 days ago1636944432
ASCII Wall: ASC Token
0.02 ETH
-136168222021-11-14 23:05:371615 days ago1636931137
ASCII Wall: ASC Token
0.02 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
Source Code Verified Exact Match

Contract Name

ASCIIWall

Compiler Version
v0.8.10+commit.fc410830
Optimization Enabled
No with 200 runs
Other Settings
default evmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"DEPOSIT_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_LINE_COUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_LINE_LENGTH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_TOKEN_COUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TEXT_CHARACTER_WIDTH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TEXT_LINE_HEIGHT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOKEN_COST","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"baseStyle","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"string","name":"color","type":"string"}],"name":"isValidColor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string","name":"message","type":"string"}],"name":"isValidMessage","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","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":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"projectDescription","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"idx","type":"uint256"}],"name":"renderForIndex","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"string","name":"hexColor","type":"string"},{"internalType":"string","name":"message","type":"string"},{"internalType":"uint256","name":"line","type":"uint256"},{"internalType":"uint256","name":"offset","type":"uint256"}],"name":"safeMint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"style","type":"string"}],"name":"setBaseStyle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"desc","type":"string"}],"name":"setDescription","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":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"wordPlacements","outputs":[{"internalType":"string","name":"color","type":"string"},{"internalType":"string","name":"message","type":"string"},{"internalType":"uint256","name":"line","type":"uint256"},{"internalType":"uint256","name":"offset","type":"uint256"}],"stateMutability":"view","type":"function"}]
608060405260405180610100016040528060d681526020016200615160d69139600c908051906020019062000036929190620003d0565b506040518060800160405280604881526020016200622760489139600d908051906020019062000068929190620003d0565b503480156200007657600080fd5b506040518060400160405280600981526020017f415343494957616c6c00000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f41534300000000000000000000000000000000000000000000000000000000008152508160009080519060200190620000fb929190620003d0565b50806001908051906020019062000114929190620003d0565b5050506000600a60006101000a81548160ff02191690831515021790555062000152620001466200016860201b60201c565b6200017060201b60201c565b620001626200023660201b60201c565b6200063c565b600033905090565b6000600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620002466200016860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200026c620002d760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620002c5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002bc90620004e1565b60405180910390fd5b620002d56200030160201b60201c565b565b6000600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b62000311620003b960201b60201c565b1562000354576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200034b9062000553565b60405180910390fd5b6001600a60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258620003a06200016860201b60201c565b604051620003af9190620005ba565b60405180910390a1565b6000600a60009054906101000a900460ff16905090565b828054620003de9062000606565b90600052602060002090601f0160209004810192826200040257600085556200044e565b82601f106200041d57805160ff19168380011785556200044e565b828001600101855582156200044e579182015b828111156200044d57825182559160200191906001019062000430565b5b5090506200045d919062000461565b5090565b5b808211156200047c57600081600090555060010162000462565b5090565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000620004c960208362000480565b9150620004d68262000491565b602082019050919050565b60006020820190508181036000830152620004fc81620004ba565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006200053b60108362000480565b9150620005488262000503565b602082019050919050565b600060208201905081810360008301526200056e816200052c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005a28262000575565b9050919050565b620005b48162000595565b82525050565b6000602082019050620005d16000830184620005a9565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200061f57607f821691505b60208210811415620006365762000635620005d7565b5b50919050565b615b05806200064c6000396000f3fe6080604052600436106102255760003560e01c80638da5cb5b11610123578063c87b56dd116100ab578063edbcbb271161006f578063edbcbb2714610813578063f0b5743914610850578063f2fde38b1461087b578063fdb1d8f2146108a4578063ff0d2c26146108e157610225565b8063c87b56dd14610718578063cd5876e114610755578063d0bbb0d714610780578063d5d05597146107ab578063e985e9c5146107d657610225565b8063a22cb465116100f2578063a22cb46514610642578063ad03fe581461066b578063b88d4fde14610696578063b896d433146106bf578063c0d5b177146106db57610225565b80638da5cb5b146105985780638e73c914146105c357806390c3f38f146105ee57806395d89b411461061757610225565b80633f4ba83a116101b15780636352211e116101755780636352211e146104c557806370a0823114610502578063715018a61461053f578063755f047b146105565780638456cb591461058157610225565b80633f4ba83a146103f457806342842e0e1461040b5780634eb4443e146104345780634f6ccce71461045d5780635c975abb1461049a57610225565b806318160ddd116101f857806318160ddd146102f857806323b872dd146103235780632a362bdf1461034c5780632f745c591461038c5780633aa35ee0146103c957610225565b806301ffc9a71461022a57806306fdde0314610267578063081812fc14610292578063095ea7b3146102cf575b600080fd5b34801561023657600080fd5b50610251600480360381019061024c91906138f0565b61090c565b60405161025e9190613938565b60405180910390f35b34801561027357600080fd5b5061027c61091e565b60405161028991906139ec565b60405180910390f35b34801561029e57600080fd5b506102b960048036038101906102b49190613a44565b6109b0565b6040516102c69190613ab2565b60405180910390f35b3480156102db57600080fd5b506102f660048036038101906102f19190613af9565b610a35565b005b34801561030457600080fd5b5061030d610b4d565b60405161031a9190613b48565b60405180910390f35b34801561032f57600080fd5b5061034a60048036038101906103459190613b63565b610b5a565b005b34801561035857600080fd5b50610373600480360381019061036e9190613a44565b610bba565b6040516103839493929190613bb6565b60405180910390f35b34801561039857600080fd5b506103b360048036038101906103ae9190613af9565b610d0a565b6040516103c09190613b48565b60405180910390f35b3480156103d557600080fd5b506103de610daf565b6040516103eb9190613b48565b60405180910390f35b34801561040057600080fd5b50610409610dba565b005b34801561041757600080fd5b50610432600480360381019061042d9190613b63565b610e40565b005b34801561044057600080fd5b5061045b60048036038101906104569190613d3e565b610e60565b005b34801561046957600080fd5b50610484600480360381019061047f9190613a44565b610ef6565b6040516104919190613b48565b60405180910390f35b3480156104a657600080fd5b506104af610f67565b6040516104bc9190613938565b60405180910390f35b3480156104d157600080fd5b506104ec60048036038101906104e79190613a44565b610f7e565b6040516104f99190613ab2565b60405180910390f35b34801561050e57600080fd5b5061052960048036038101906105249190613d87565b611030565b6040516105369190613b48565b60405180910390f35b34801561054b57600080fd5b506105546110e8565b005b34801561056257600080fd5b5061056b611170565b60405161057891906139ec565b60405180910390f35b34801561058d57600080fd5b506105966111fe565b005b3480156105a457600080fd5b506105ad611284565b6040516105ba9190613ab2565b60405180910390f35b3480156105cf57600080fd5b506105d86112ae565b6040516105e59190613b48565b60405180910390f35b3480156105fa57600080fd5b5061061560048036038101906106109190613d3e565b6112b3565b005b34801561062357600080fd5b5061062c611349565b60405161063991906139ec565b60405180910390f35b34801561064e57600080fd5b5061066960048036038101906106649190613de0565b6113db565b005b34801561067757600080fd5b5061068061155c565b60405161068d9190613b48565b60405180910390f35b3480156106a257600080fd5b506106bd60048036038101906106b89190613ec1565b611561565b005b6106d960048036038101906106d49190613f44565b6115c3565b005b3480156106e757600080fd5b5061070260048036038101906106fd9190613d3e565b6119f8565b60405161070f9190613938565b60405180910390f35b34801561072457600080fd5b5061073f600480360381019061073a9190613a44565b611c1b565b60405161074c91906139ec565b60405180910390f35b34801561076157600080fd5b5061076a611cdc565b60405161077791906139ec565b60405180910390f35b34801561078c57600080fd5b50610795611d6a565b6040516107a29190613b48565b60405180910390f35b3480156107b757600080fd5b506107c0611d70565b6040516107cd9190613b48565b60405180910390f35b3480156107e257600080fd5b506107fd60048036038101906107f89190613ff7565b611d75565b60405161080a9190613938565b60405180910390f35b34801561081f57600080fd5b5061083a60048036038101906108359190613a44565b611e09565b60405161084791906139ec565b60405180910390f35b34801561085c57600080fd5b506108656120ca565b6040516108729190613b48565b60405180910390f35b34801561088757600080fd5b506108a2600480360381019061089d9190613d87565b6120cf565b005b3480156108b057600080fd5b506108cb60048036038101906108c69190613d3e565b6121c7565b6040516108d89190613938565b60405180910390f35b3480156108ed57600080fd5b506108f66123bf565b6040516109039190613ab2565b60405180910390f35b6000610917826123d7565b9050919050565b60606000805461092d90614066565b80601f016020809104026020016040519081016040528092919081815260200182805461095990614066565b80156109a65780601f1061097b576101008083540402835291602001916109a6565b820191906000526020600020905b81548152906001019060200180831161098957829003601f168201915b5050505050905090565b60006109bb82612451565b6109fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f19061410a565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610a4082610f7e565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa89061419c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610ad06124bd565b73ffffffffffffffffffffffffffffffffffffffff161480610aff5750610afe81610af96124bd565b611d75565b5b610b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b359061422e565b60405180910390fd5b610b4883836124c5565b505050565b6000600880549050905090565b610b6b610b656124bd565b8261257e565b610baa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba1906142c0565b60405180910390fd5b610bb583838361265c565b505050565b600e8181548110610bca57600080fd5b9060005260206000209060040201600091509050806000018054610bed90614066565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1990614066565b8015610c665780601f10610c3b57610100808354040283529160200191610c66565b820191906000526020600020905b815481529060010190602001808311610c4957829003601f168201915b505050505090806001018054610c7b90614066565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca790614066565b8015610cf45780601f10610cc957610100808354040283529160200191610cf4565b820191906000526020600020905b815481529060010190602001808311610cd757829003601f168201915b5050505050908060020154908060030154905084565b6000610d1583611030565b8210610d56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4d90614352565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b66470de4df82000081565b610dc26124bd565b73ffffffffffffffffffffffffffffffffffffffff16610de0611284565b73ffffffffffffffffffffffffffffffffffffffff1614610e36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2d906143be565b60405180910390fd5b610e3e6128b8565b565b610e5b83838360405180602001604052806000815250611561565b505050565b610e686124bd565b73ffffffffffffffffffffffffffffffffffffffff16610e86611284565b73ffffffffffffffffffffffffffffffffffffffff1614610edc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed3906143be565b60405180910390fd5b80600d9080519060200190610ef29291906137e1565b5050565b6000610f00610b4d565b8210610f41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3890614450565b60405180910390fd5b60088281548110610f5557610f54614470565b5b90600052602060002001549050919050565b6000600a60009054906101000a900460ff16905090565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611027576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101e90614511565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611098906145a3565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110f06124bd565b73ffffffffffffffffffffffffffffffffffffffff1661110e611284565b73ffffffffffffffffffffffffffffffffffffffff1614611164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115b906143be565b60405180910390fd5b61116e600061295a565b565b600c805461117d90614066565b80601f01602080910402602001604051908101604052809291908181526020018280546111a990614066565b80156111f65780601f106111cb576101008083540402835291602001916111f6565b820191906000526020600020905b8154815290600101906020018083116111d957829003601f168201915b505050505081565b6112066124bd565b73ffffffffffffffffffffffffffffffffffffffff16611224611284565b73ffffffffffffffffffffffffffffffffffffffff161461127a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611271906143be565b60405180910390fd5b611282612a20565b565b6000600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b602081565b6112bb6124bd565b73ffffffffffffffffffffffffffffffffffffffff166112d9611284565b73ffffffffffffffffffffffffffffffffffffffff161461132f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611326906143be565b60405180910390fd5b80600c90805190602001906113459291906137e1565b5050565b60606001805461135890614066565b80601f016020809104026020016040519081016040528092919081815260200182805461138490614066565b80156113d15780601f106113a6576101008083540402835291602001916113d1565b820191906000526020600020905b8154815290600101906020018083116113b457829003601f168201915b5050505050905090565b6113e36124bd565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611451576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114489061460f565b60405180910390fd5b806005600061145e6124bd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1661150b6124bd565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516115509190613938565b60405180910390a35050565b602881565b61157261156c6124bd565b8361257e565b6115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a8906142c0565b60405180910390fd5b6115bd84848484612ac3565b50505050565b6000811015611607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fe906146a1565b60405180910390fd5b600082101561164b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164290614733565b60405180910390fd5b602883518261165a9190614782565b111561169b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169290614824565b60405180910390fd5b6116a4846121c7565b6116e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116da906148b6565b60405180910390fd5b6116ec836119f8565b61172b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172290614948565b60405180910390fd5b6012821061176e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611765906149b4565b60405180910390fd5b6105003073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e091906149e9565b10611820576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181790614a62565b60405180910390fd5b66470de4df82000034101561186a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186190614ace565b60405180910390fd5b66470de4df8200003373ffffffffffffffffffffffffffffffffffffffff1631116118ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c190614b3a565b60405180910390fd5b600073b5be4aefb1e996831781adf936b1457805c617b290508073ffffffffffffffffffffffffffffffffffffffff166108fc66470de4df8200009081150290604051600060405180830381858888f19350505050158015611930573d6000803e3d6000fd5b50600061193d600b612b1f565b9050611949600b612b2d565b6119538782612b43565b600e604051806080016040528088815260200187815260200186815260200185815250908060018154018082558091505060019003906000526020600020906004020160009091909190915060008201518160000190805190602001906119bb9291906137e1565b5060208201518160010190805190602001906119d89291906137e1565b506040820151816002015560608201518160030155505050505050505050565b60008082905060005b8151811015611c0f576000828281518110611a1f57611a1e614470565b5b602001015160f81c60f81b9050602060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610158015611a885750602160f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b158015611aee5750602360f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610158015611aec5750602560f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b155b8015611b535750602860f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610158015611b515750603b60f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b155b8015611bb85750603f60f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610158015611bb65750607e60f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b155b8015611bea5750603d60f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614155b15611bfb5760009350505050611c16565b508080611c0790614b5a565b915050611a01565b5060019150505b919050565b6060611c2682612451565b611c65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5c90614c15565b60405180910390fd5b6000611c7083611e09565b90506000611c7d84612b61565b600c611c8884612cc2565b604051602001611c9a93929190614e5b565b6040516020818303038152906040529050611cb481612cc2565b604051602001611cc49190614f04565b60405160208183030381529060405292505050919050565b600d8054611ce990614066565b80601f0160208091040260200160405190810160405280929190818152602001828054611d1590614066565b8015611d625780601f10611d3757610100808354040283529160200191611d62565b820191906000526020600020905b815481529060010190602001808311611d4557829003601f168201915b505050505081565b61050081565b601081565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6060600e805490508210611e52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4990614f98565b60405180910390fd5b6000600d604051602001611e6691906150e8565b604051602081830303815290604052905060005b838111158015611e8e5750600e8054905081105b1561209e576000600e8281548110611ea957611ea8614470565b5b9060005260206000209060040201604051806080016040529081600082018054611ed290614066565b80601f0160208091040260200160405190810160405280929190818152602001828054611efe90614066565b8015611f4b5780601f10611f2057610100808354040283529160200191611f4b565b820191906000526020600020905b815481529060010190602001808311611f2e57829003601f168201915b50505050508152602001600182018054611f6490614066565b80601f0160208091040260200160405190810160405280929190818152602001828054611f9090614066565b8015611fdd5780601f10611fb257610100808354040283529160200191611fdd565b820191906000526020600020905b815481529060010190602001808311611fc057829003601f168201915b5050505050815260200160028201548152602001600382015481525050905082816000015161201b836060015160106120169190615115565b612b61565b6120406020856040015160206120319190615115565b61203b9190614782565b612b61565b846020015160405160200161205894939291906152eb565b6040516020818303038152906040526040516020016120789291906153a7565b6040516020818303038152906040529250506001816120979190614782565b9050611e7a565b50806040516020016120b09190615417565b604051602081830303815290604052905080915050919050565b601281565b6120d76124bd565b73ffffffffffffffffffffffffffffffffffffffff166120f5611284565b73ffffffffffffffffffffffffffffffffffffffff161461214b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612142906143be565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156121bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b2906154ab565b60405180910390fd5b6121c48161295a565b50565b60008082905060078151146121e05760009150506123ba565b602360f81b816000815181106121f9576121f8614470565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146122355760009150506123ba565b6000600190505b60078110156123b357600082828151811061225a57612259614470565b5b602001015160f81c60f81b9050603060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916101580156122c35750603960f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b1580156123295750604160f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916101580156123275750604660f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b155b801561238e5750606160f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015801561238c5750606660f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b155b1561239f57600093505050506123ba565b5080806123ab90614b5a565b91505061223c565b5060019150505b919050565b73b5be4aefb1e996831781adf936b1457805c617b281565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061244a575061244982612e5a565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661253883610f7e565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061258982612451565b6125c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125bf9061553d565b60405180910390fd5b60006125d383610f7e565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061264257508373ffffffffffffffffffffffffffffffffffffffff1661262a846109b0565b73ffffffffffffffffffffffffffffffffffffffff16145b8061265357506126528185611d75565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661267c82610f7e565b73ffffffffffffffffffffffffffffffffffffffff16146126d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126c9906155cf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273990615661565b60405180910390fd5b61274d838383612f3c565b6127586000826124c5565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546127a89190615681565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546127ff9190614782565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6128c0610f67565b6128ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f690615701565b60405180910390fd5b6000600a60006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6129436124bd565b6040516129509190613ab2565b60405180910390a1565b6000600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612a28610f67565b15612a68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5f9061576d565b60405180910390fd5b6001600a60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612aac6124bd565b604051612ab99190613ab2565b60405180910390a1565b612ace84848461265c565b612ada84848484612f94565b612b19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b10906157ff565b60405180910390fd5b50505050565b600081600001549050919050565b6001816000016000828254019250508190555050565b612b5d82826040518060200160405280600081525061311c565b5050565b60606000821415612ba9576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612cbd565b600082905060005b60008214612bdb578080612bc490614b5a565b915050600a82612bd4919061584e565b9150612bb1565b60008167ffffffffffffffff811115612bf757612bf6613c13565b5b6040519080825280601f01601f191660200182016040528015612c295781602001600182028036833780820191505090505b5090505b60008514612cb657600182612c429190615681565b9150600a85612c51919061587f565b6030612c5d9190614782565b60f81b818381518110612c7357612c72614470565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612caf919061584e565b9450612c2d565b8093505050505b919050565b60606000825190506000811415612ceb5760405180602001604052806000815250915050612e55565b60006003600283612cfc9190614782565b612d06919061584e565b6004612d129190615115565b90506000602082612d239190614782565b67ffffffffffffffff811115612d3c57612d3b613c13565b5b6040519080825280601f01601f191660200182016040528015612d6e5781602001600182028036833780820191505090505b5090506000604051806060016040528060408152602001615a90604091399050600181016020830160005b86811015612e125760038101905062ffffff818a015116603f8160121c168401518060081b905060ff603f83600c1c1686015116810190508060081b905060ff603f8360061c1686015116810190508060081b905060ff603f831686015116810190508060e01b90508084526004840193505050612d99565b506003860660018114612e2c5760028114612e3c57612e47565b613d3d60f01b6002830352612e47565b603d60f81b60018303525b508484525050819450505050505b919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612f2557507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612f355750612f3482613177565b5b9050919050565b612f44610f67565b15612f84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f7b9061576d565b60405180910390fd5b612f8f8383836131e1565b505050565b6000612fb58473ffffffffffffffffffffffffffffffffffffffff166132f5565b1561310f578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612fde6124bd565b8786866040518563ffffffff1660e01b815260040161300094939291906158fa565b6020604051808303816000875af192505050801561303c57506040513d601f19601f82011682018060405250810190613039919061595b565b60015b6130bf573d806000811461306c576040519150601f19603f3d011682016040523d82523d6000602084013e613071565b606091505b506000815114156130b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130ae906157ff565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050613114565b600190505b949350505050565b6131268383613308565b6131336000848484612f94565b613172576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613169906157ff565b60405180910390fd5b505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6131ec8383836134d6565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561322f5761322a816134db565b61326e565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461326d5761326c8382613524565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156132b1576132ac81613691565b6132f0565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146132ef576132ee8282613762565b5b5b505050565b600080823b905060008111915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613378576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161336f906159d4565b60405180910390fd5b61338181612451565b156133c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133b890615a40565b60405180910390fd5b6133cd60008383612f3c565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461341d9190614782565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161353184611030565b61353b9190615681565b9050600060076000848152602001908152602001600020549050818114613620576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506136a59190615681565b90506000600960008481526020019081526020016000205490506000600883815481106136d5576136d4614470565b5b9060005260206000200154905080600883815481106136f7576136f6614470565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061374657613745615a60565b5b6001900381819060005260206000200160009055905550505050565b600061376d83611030565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b8280546137ed90614066565b90600052602060002090601f01602090048101928261380f5760008555613856565b82601f1061382857805160ff1916838001178555613856565b82800160010185558215613856579182015b8281111561385557825182559160200191906001019061383a565b5b5090506138639190613867565b5090565b5b80821115613880576000816000905550600101613868565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6138cd81613898565b81146138d857600080fd5b50565b6000813590506138ea816138c4565b92915050565b6000602082840312156139065761390561388e565b5b6000613914848285016138db565b91505092915050565b60008115159050919050565b6139328161391d565b82525050565b600060208201905061394d6000830184613929565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561398d578082015181840152602081019050613972565b8381111561399c576000848401525b50505050565b6000601f19601f8301169050919050565b60006139be82613953565b6139c8818561395e565b93506139d881856020860161396f565b6139e1816139a2565b840191505092915050565b60006020820190508181036000830152613a0681846139b3565b905092915050565b6000819050919050565b613a2181613a0e565b8114613a2c57600080fd5b50565b600081359050613a3e81613a18565b92915050565b600060208284031215613a5a57613a5961388e565b5b6000613a6884828501613a2f565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613a9c82613a71565b9050919050565b613aac81613a91565b82525050565b6000602082019050613ac76000830184613aa3565b92915050565b613ad681613a91565b8114613ae157600080fd5b50565b600081359050613af381613acd565b92915050565b60008060408385031215613b1057613b0f61388e565b5b6000613b1e85828601613ae4565b9250506020613b2f85828601613a2f565b9150509250929050565b613b4281613a0e565b82525050565b6000602082019050613b5d6000830184613b39565b92915050565b600080600060608486031215613b7c57613b7b61388e565b5b6000613b8a86828701613ae4565b9350506020613b9b86828701613ae4565b9250506040613bac86828701613a2f565b9150509250925092565b60006080820190508181036000830152613bd081876139b3565b90508181036020830152613be481866139b3565b9050613bf36040830185613b39565b613c006060830184613b39565b95945050505050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613c4b826139a2565b810181811067ffffffffffffffff82111715613c6a57613c69613c13565b5b80604052505050565b6000613c7d613884565b9050613c898282613c42565b919050565b600067ffffffffffffffff821115613ca957613ca8613c13565b5b613cb2826139a2565b9050602081019050919050565b82818337600083830152505050565b6000613ce1613cdc84613c8e565b613c73565b905082815260208101848484011115613cfd57613cfc613c0e565b5b613d08848285613cbf565b509392505050565b600082601f830112613d2557613d24613c09565b5b8135613d35848260208601613cce565b91505092915050565b600060208284031215613d5457613d5361388e565b5b600082013567ffffffffffffffff811115613d7257613d71613893565b5b613d7e84828501613d10565b91505092915050565b600060208284031215613d9d57613d9c61388e565b5b6000613dab84828501613ae4565b91505092915050565b613dbd8161391d565b8114613dc857600080fd5b50565b600081359050613dda81613db4565b92915050565b60008060408385031215613df757613df661388e565b5b6000613e0585828601613ae4565b9250506020613e1685828601613dcb565b9150509250929050565b600067ffffffffffffffff821115613e3b57613e3a613c13565b5b613e44826139a2565b9050602081019050919050565b6000613e64613e5f84613e20565b613c73565b905082815260208101848484011115613e8057613e7f613c0e565b5b613e8b848285613cbf565b509392505050565b600082601f830112613ea857613ea7613c09565b5b8135613eb8848260208601613e51565b91505092915050565b60008060008060808587031215613edb57613eda61388e565b5b6000613ee987828801613ae4565b9450506020613efa87828801613ae4565b9350506040613f0b87828801613a2f565b925050606085013567ffffffffffffffff811115613f2c57613f2b613893565b5b613f3887828801613e93565b91505092959194509250565b600080600080600060a08688031215613f6057613f5f61388e565b5b6000613f6e88828901613ae4565b955050602086013567ffffffffffffffff811115613f8f57613f8e613893565b5b613f9b88828901613d10565b945050604086013567ffffffffffffffff811115613fbc57613fbb613893565b5b613fc888828901613d10565b9350506060613fd988828901613a2f565b9250506080613fea88828901613a2f565b9150509295509295909350565b6000806040838503121561400e5761400d61388e565b5b600061401c85828601613ae4565b925050602061402d85828601613ae4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061407e57607f821691505b6020821081141561409257614091614037565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b60006140f4602c8361395e565b91506140ff82614098565b604082019050919050565b60006020820190508181036000830152614123816140e7565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b600061418660218361395e565b91506141918261412a565b604082019050919050565b600060208201905081810360008301526141b581614179565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b600061421860388361395e565b9150614223826141bc565b604082019050919050565b600060208201905081810360008301526142478161420b565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b60006142aa60318361395e565b91506142b58261424e565b604082019050919050565b600060208201905081810360008301526142d98161429d565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b600061433c602b8361395e565b9150614347826142e0565b604082019050919050565b6000602082019050818103600083015261436b8161432f565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006143a860208361395e565b91506143b382614372565b602082019050919050565b600060208201905081810360008301526143d78161439b565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b600061443a602c8361395e565b9150614445826143de565b604082019050919050565b600060208201905081810360008301526144698161442d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b60006144fb60298361395e565b91506145068261449f565b604082019050919050565b6000602082019050818103600083015261452a816144ee565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b600061458d602a8361395e565b915061459882614531565b604082019050919050565b600060208201905081810360008301526145bc81614580565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006145f960198361395e565b9150614604826145c3565b602082019050919050565b60006020820190508181036000830152614628816145ec565b9050919050565b7f546865206f6666736574206d757374206265207a65726f206f7220706f73697460008201527f6976650000000000000000000000000000000000000000000000000000000000602082015250565b600061468b60238361395e565b91506146968261462f565b604082019050919050565b600060208201905081810360008301526146ba8161467e565b9050919050565b7f546865206c696e65206e756d626572206d757374206265207a65726f206f722060008201527f706f736974697665000000000000000000000000000000000000000000000000602082015250565b600061471d60288361395e565b9150614728826146c1565b604082019050919050565b6000602082019050818103600083015261474c81614710565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061478d82613a0e565b915061479883613a0e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156147cd576147cc614753565b5b828201905092915050565b7f4d6573736167652077697468206f666673657420697320746f6f206c6f6e6700600082015250565b600061480e601f8361395e565b9150614819826147d8565b602082019050919050565b6000602082019050818103600083015261483d81614801565b9050919050565b7f54686520636f6c6f72206e6565647320746f20626520612076616c696420484560008201527f5820737472696e67206c696b6520233031324142430000000000000000000000602082015250565b60006148a060358361395e565b91506148ab82614844565b604082019050919050565b600060208201905081810360008301526148cf81614893565b9050919050565b7f546865206d65737361676520636f6e7461696e7320616e20696e76616c69642060008201527f6368617261637465722028262722233c3e290000000000000000000000000000602082015250565b600061493260328361395e565b915061493d826148d6565b604082019050919050565b6000602082019050818103600083015261496181614925565b9050919050565b7f546865206c696e65206e756d62657220697320746f6f20686967680000000000600082015250565b600061499e601b8361395e565b91506149a982614968565b602082019050919050565b600060208201905081810360008301526149cd81614991565b9050919050565b6000815190506149e381613a18565b92915050565b6000602082840312156149ff576149fe61388e565b5b6000614a0d848285016149d4565b91505092915050565b7f54686520737570706c7920686173206265656e206578686175737465642e0000600082015250565b6000614a4c601e8361395e565b9150614a5782614a16565b602082019050919050565b60006020820190508181036000830152614a7b81614a3f565b9050919050565b7f56616c75652062656c6f77207072696365000000000000000000000000000000600082015250565b6000614ab860118361395e565b9150614ac382614a82565b602082019050919050565b60006020820190508181036000830152614ae781614aab565b9050919050565b7f4e6f7420656e6f75676820455448210000000000000000000000000000000000600082015250565b6000614b24600f8361395e565b9150614b2f82614aee565b602082019050919050565b60006020820190508181036000830152614b5381614b17565b9050919050565b6000614b6582613a0e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614b9857614b97614753565b5b600182019050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000614bff602f8361395e565b9150614c0a82614ba3565b604082019050919050565b60006020820190508181036000830152614c2e81614bf2565b9050919050565b600081905092915050565b7f7b226e616d65223a202241534349492057616c6c202300000000000000000000600082015250565b6000614c76601683614c35565b9150614c8182614c40565b601682019050919050565b6000614c9782613953565b614ca18185614c35565b9350614cb181856020860161396f565b80840191505092915050565b7f222c20226465736372697074696f6e223a202200000000000000000000000000600082015250565b6000614cf3601383614c35565b9150614cfe82614cbd565b601382019050919050565b60008190508160005260206000209050919050565b60008154614d2b81614066565b614d358186614c35565b94506001821660008114614d505760018114614d6157614d94565b60ff19831686528186019350614d94565b614d6a85614d09565b60005b83811015614d8c57815481890152600182019150602081019050614d6d565b838801955050505b50505092915050565b7f222c2022696d616765223a2022646174613a696d6167652f7376672b786d6c3b60008201527f6261736536342c00000000000000000000000000000000000000000000000000602082015250565b6000614df9602783614c35565b9150614e0482614d9d565b602782019050919050565b7f227d000000000000000000000000000000000000000000000000000000000000600082015250565b6000614e45600283614c35565b9150614e5082614e0f565b600282019050919050565b6000614e6682614c69565b9150614e728286614c8c565b9150614e7d82614ce6565b9150614e898285614d1e565b9150614e9482614dec565b9150614ea08284614c8c565b9150614eab82614e38565b9150819050949350505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000600082015250565b6000614eee601d83614c35565b9150614ef982614eb8565b601d82019050919050565b6000614f0f82614ee1565b9150614f1b8284614c8c565b915081905092915050565b7f43616e27742072656e64657220666f72206120706c6163656d656e742074686160008201527f7420646f65736e27742065786973742079657400000000000000000000000000602082015250565b6000614f8260338361395e565b9150614f8d82614f26565b604082019050919050565b60006020820190508181036000830152614fb181614f75565b9050919050565b7f3c7376672076657273696f6e3d22312e31222077696474683d2236343022206860008201527f65696768743d223539302220786d6c6e733d22687474703a2f2f7777772e773360208201527f2e6f72672f323030302f737667223e3c726563742077696474683d223130302560408201527f22206865696768743d2231303025222066696c6c3d222332323232323222202f60608201527f3e3c7374796c653e000000000000000000000000000000000000000000000000608082015250565b6000615086608883614c35565b915061509182614fb8565b608882019050919050565b7f3c2f7374796c653e000000000000000000000000000000000000000000000000600082015250565b60006150d2600883614c35565b91506150dd8261509c565b600882019050919050565b60006150f382615079565b91506150ff8284614d1e565b915061510a826150c5565b915081905092915050565b600061512082613a0e565b915061512b83613a0e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561516457615163614753565b5b828202905092915050565b7f3c746578742066696c6c3d220000000000000000000000000000000000000000600082015250565b60006151a5600c83614c35565b91506151b08261516f565b600c82019050919050565b7f2220783d22000000000000000000000000000000000000000000000000000000600082015250565b60006151f1600583614c35565b91506151fc826151bb565b600582019050919050565b7f2220793d22000000000000000000000000000000000000000000000000000000600082015250565b600061523d600583614c35565b915061524882615207565b600582019050919050565b7f223e000000000000000000000000000000000000000000000000000000000000600082015250565b6000615289600283614c35565b915061529482615253565b600282019050919050565b7f3c2f746578743e00000000000000000000000000000000000000000000000000600082015250565b60006152d5600783614c35565b91506152e08261529f565b600782019050919050565b60006152f682615198565b91506153028287614c8c565b915061530d826151e4565b91506153198286614c8c565b915061532482615230565b91506153308285614c8c565b915061533b8261527c565b91506153478284614c8c565b9150615352826152c8565b915081905095945050505050565b600081519050919050565b600081905092915050565b600061538182615360565b61538b818561536b565b935061539b81856020860161396f565b80840191505092915050565b60006153b38285614c8c565b91506153bf8284615376565b91508190509392505050565b7f3c2f7376673e0000000000000000000000000000000000000000000000000000600082015250565b6000615401600683614c35565b915061540c826153cb565b600682019050919050565b60006154238284614c8c565b915061542e826153f4565b915081905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061549560268361395e565b91506154a082615439565b604082019050919050565b600060208201905081810360008301526154c481615488565b9050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000615527602c8361395e565b9150615532826154cb565b604082019050919050565b600060208201905081810360008301526155568161551a565b9050919050565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b60006155b960298361395e565b91506155c48261555d565b604082019050919050565b600060208201905081810360008301526155e8816155ac565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061564b60248361395e565b9150615656826155ef565b604082019050919050565b6000602082019050818103600083015261567a8161563e565b9050919050565b600061568c82613a0e565b915061569783613a0e565b9250828210156156aa576156a9614753565b5b828203905092915050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b60006156eb60148361395e565b91506156f6826156b5565b602082019050919050565b6000602082019050818103600083015261571a816156de565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600061575760108361395e565b915061576282615721565b602082019050919050565b600060208201905081810360008301526157868161574a565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006157e960328361395e565b91506157f48261578d565b604082019050919050565b60006020820190508181036000830152615818816157dc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061585982613a0e565b915061586483613a0e565b9250826158745761587361581f565b5b828204905092915050565b600061588a82613a0e565b915061589583613a0e565b9250826158a5576158a461581f565b5b828206905092915050565b600082825260208201905092915050565b60006158cc82615360565b6158d681856158b0565b93506158e681856020860161396f565b6158ef816139a2565b840191505092915050565b600060808201905061590f6000830187613aa3565b61591c6020830186613aa3565b6159296040830185613b39565b818103606083015261593b81846158c1565b905095945050505050565b600081519050615955816138c4565b92915050565b6000602082840312156159715761597061388e565b5b600061597f84828501615946565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006159be60208361395e565b91506159c982615988565b602082019050919050565b600060208201905081810360008301526159ed816159b1565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000615a2a601c8361395e565b9150615a35826159f4565b602082019050919050565b60006020820190508181036000830152615a5981615a1d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220a3820f52868fb79e6fc04b1b31da75375010c418cc2159ecd27f947f71afa44b64736f6c634300080a0033415343494957616c6c206973206120626c6f636b636861696e2d6261736564207368617265642063616e7661732e20416e796f6e652063616e207772697465206f6e2069742e2049742773206c696b65206c617472696e616c69612c2062757420696e2074686520626c6f636b636861696e2e2045616368206d696e74206361707475726573207468652063757272656e74207374617465206f66207468652077616c6c2e20467574757265206d696e74732063616e206f766572777269746520616e64206175676d656e74207468652077616c6c2e74657874207b20666f6e742d66616d696c793a206d6f6e6f73706163653b20666f6e742d73697a653a2032656d3b206c65747465722d73706163696e673a20302e333870783b207d
Deployed Bytecode
0x6080604052600436106102255760003560e01c80638da5cb5b11610123578063c87b56dd116100ab578063edbcbb271161006f578063edbcbb2714610813578063f0b5743914610850578063f2fde38b1461087b578063fdb1d8f2146108a4578063ff0d2c26146108e157610225565b8063c87b56dd14610718578063cd5876e114610755578063d0bbb0d714610780578063d5d05597146107ab578063e985e9c5146107d657610225565b8063a22cb465116100f2578063a22cb46514610642578063ad03fe581461066b578063b88d4fde14610696578063b896d433146106bf578063c0d5b177146106db57610225565b80638da5cb5b146105985780638e73c914146105c357806390c3f38f146105ee57806395d89b411461061757610225565b80633f4ba83a116101b15780636352211e116101755780636352211e146104c557806370a0823114610502578063715018a61461053f578063755f047b146105565780638456cb591461058157610225565b80633f4ba83a146103f457806342842e0e1461040b5780634eb4443e146104345780634f6ccce71461045d5780635c975abb1461049a57610225565b806318160ddd116101f857806318160ddd146102f857806323b872dd146103235780632a362bdf1461034c5780632f745c591461038c5780633aa35ee0146103c957610225565b806301ffc9a71461022a57806306fdde0314610267578063081812fc14610292578063095ea7b3146102cf575b600080fd5b34801561023657600080fd5b50610251600480360381019061024c91906138f0565b61090c565b60405161025e9190613938565b60405180910390f35b34801561027357600080fd5b5061027c61091e565b60405161028991906139ec565b60405180910390f35b34801561029e57600080fd5b506102b960048036038101906102b49190613a44565b6109b0565b6040516102c69190613ab2565b60405180910390f35b3480156102db57600080fd5b506102f660048036038101906102f19190613af9565b610a35565b005b34801561030457600080fd5b5061030d610b4d565b60405161031a9190613b48565b60405180910390f35b34801561032f57600080fd5b5061034a60048036038101906103459190613b63565b610b5a565b005b34801561035857600080fd5b50610373600480360381019061036e9190613a44565b610bba565b6040516103839493929190613bb6565b60405180910390f35b34801561039857600080fd5b506103b360048036038101906103ae9190613af9565b610d0a565b6040516103c09190613b48565b60405180910390f35b3480156103d557600080fd5b506103de610daf565b6040516103eb9190613b48565b60405180910390f35b34801561040057600080fd5b50610409610dba565b005b34801561041757600080fd5b50610432600480360381019061042d9190613b63565b610e40565b005b34801561044057600080fd5b5061045b60048036038101906104569190613d3e565b610e60565b005b34801561046957600080fd5b50610484600480360381019061047f9190613a44565b610ef6565b6040516104919190613b48565b60405180910390f35b3480156104a657600080fd5b506104af610f67565b6040516104bc9190613938565b60405180910390f35b3480156104d157600080fd5b506104ec60048036038101906104e79190613a44565b610f7e565b6040516104f99190613ab2565b60405180910390f35b34801561050e57600080fd5b5061052960048036038101906105249190613d87565b611030565b6040516105369190613b48565b60405180910390f35b34801561054b57600080fd5b506105546110e8565b005b34801561056257600080fd5b5061056b611170565b60405161057891906139ec565b60405180910390f35b34801561058d57600080fd5b506105966111fe565b005b3480156105a457600080fd5b506105ad611284565b6040516105ba9190613ab2565b60405180910390f35b3480156105cf57600080fd5b506105d86112ae565b6040516105e59190613b48565b60405180910390f35b3480156105fa57600080fd5b5061061560048036038101906106109190613d3e565b6112b3565b005b34801561062357600080fd5b5061062c611349565b60405161063991906139ec565b60405180910390f35b34801561064e57600080fd5b5061066960048036038101906106649190613de0565b6113db565b005b34801561067757600080fd5b5061068061155c565b60405161068d9190613b48565b60405180910390f35b3480156106a257600080fd5b506106bd60048036038101906106b89190613ec1565b611561565b005b6106d960048036038101906106d49190613f44565b6115c3565b005b3480156106e757600080fd5b5061070260048036038101906106fd9190613d3e565b6119f8565b60405161070f9190613938565b60405180910390f35b34801561072457600080fd5b5061073f600480360381019061073a9190613a44565b611c1b565b60405161074c91906139ec565b60405180910390f35b34801561076157600080fd5b5061076a611cdc565b60405161077791906139ec565b60405180910390f35b34801561078c57600080fd5b50610795611d6a565b6040516107a29190613b48565b60405180910390f35b3480156107b757600080fd5b506107c0611d70565b6040516107cd9190613b48565b60405180910390f35b3480156107e257600080fd5b506107fd60048036038101906107f89190613ff7565b611d75565b60405161080a9190613938565b60405180910390f35b34801561081f57600080fd5b5061083a60048036038101906108359190613a44565b611e09565b60405161084791906139ec565b60405180910390f35b34801561085c57600080fd5b506108656120ca565b6040516108729190613b48565b60405180910390f35b34801561088757600080fd5b506108a2600480360381019061089d9190613d87565b6120cf565b005b3480156108b057600080fd5b506108cb60048036038101906108c69190613d3e565b6121c7565b6040516108d89190613938565b60405180910390f35b3480156108ed57600080fd5b506108f66123bf565b6040516109039190613ab2565b60405180910390f35b6000610917826123d7565b9050919050565b60606000805461092d90614066565b80601f016020809104026020016040519081016040528092919081815260200182805461095990614066565b80156109a65780601f1061097b576101008083540402835291602001916109a6565b820191906000526020600020905b81548152906001019060200180831161098957829003601f168201915b5050505050905090565b60006109bb82612451565b6109fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f19061410a565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610a4082610f7e565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa89061419c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610ad06124bd565b73ffffffffffffffffffffffffffffffffffffffff161480610aff5750610afe81610af96124bd565b611d75565b5b610b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b359061422e565b60405180910390fd5b610b4883836124c5565b505050565b6000600880549050905090565b610b6b610b656124bd565b8261257e565b610baa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba1906142c0565b60405180910390fd5b610bb583838361265c565b505050565b600e8181548110610bca57600080fd5b9060005260206000209060040201600091509050806000018054610bed90614066565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1990614066565b8015610c665780601f10610c3b57610100808354040283529160200191610c66565b820191906000526020600020905b815481529060010190602001808311610c4957829003601f168201915b505050505090806001018054610c7b90614066565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca790614066565b8015610cf45780601f10610cc957610100808354040283529160200191610cf4565b820191906000526020600020905b815481529060010190602001808311610cd757829003601f168201915b5050505050908060020154908060030154905084565b6000610d1583611030565b8210610d56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4d90614352565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b66470de4df82000081565b610dc26124bd565b73ffffffffffffffffffffffffffffffffffffffff16610de0611284565b73ffffffffffffffffffffffffffffffffffffffff1614610e36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2d906143be565b60405180910390fd5b610e3e6128b8565b565b610e5b83838360405180602001604052806000815250611561565b505050565b610e686124bd565b73ffffffffffffffffffffffffffffffffffffffff16610e86611284565b73ffffffffffffffffffffffffffffffffffffffff1614610edc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed3906143be565b60405180910390fd5b80600d9080519060200190610ef29291906137e1565b5050565b6000610f00610b4d565b8210610f41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3890614450565b60405180910390fd5b60088281548110610f5557610f54614470565b5b90600052602060002001549050919050565b6000600a60009054906101000a900460ff16905090565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611027576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101e90614511565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611098906145a3565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110f06124bd565b73ffffffffffffffffffffffffffffffffffffffff1661110e611284565b73ffffffffffffffffffffffffffffffffffffffff1614611164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115b906143be565b60405180910390fd5b61116e600061295a565b565b600c805461117d90614066565b80601f01602080910402602001604051908101604052809291908181526020018280546111a990614066565b80156111f65780601f106111cb576101008083540402835291602001916111f6565b820191906000526020600020905b8154815290600101906020018083116111d957829003601f168201915b505050505081565b6112066124bd565b73ffffffffffffffffffffffffffffffffffffffff16611224611284565b73ffffffffffffffffffffffffffffffffffffffff161461127a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611271906143be565b60405180910390fd5b611282612a20565b565b6000600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b602081565b6112bb6124bd565b73ffffffffffffffffffffffffffffffffffffffff166112d9611284565b73ffffffffffffffffffffffffffffffffffffffff161461132f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611326906143be565b60405180910390fd5b80600c90805190602001906113459291906137e1565b5050565b60606001805461135890614066565b80601f016020809104026020016040519081016040528092919081815260200182805461138490614066565b80156113d15780601f106113a6576101008083540402835291602001916113d1565b820191906000526020600020905b8154815290600101906020018083116113b457829003601f168201915b5050505050905090565b6113e36124bd565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611451576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114489061460f565b60405180910390fd5b806005600061145e6124bd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1661150b6124bd565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516115509190613938565b60405180910390a35050565b602881565b61157261156c6124bd565b8361257e565b6115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a8906142c0565b60405180910390fd5b6115bd84848484612ac3565b50505050565b6000811015611607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fe906146a1565b60405180910390fd5b600082101561164b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164290614733565b60405180910390fd5b602883518261165a9190614782565b111561169b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169290614824565b60405180910390fd5b6116a4846121c7565b6116e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116da906148b6565b60405180910390fd5b6116ec836119f8565b61172b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172290614948565b60405180910390fd5b6012821061176e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611765906149b4565b60405180910390fd5b6105003073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e091906149e9565b10611820576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181790614a62565b60405180910390fd5b66470de4df82000034101561186a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186190614ace565b60405180910390fd5b66470de4df8200003373ffffffffffffffffffffffffffffffffffffffff1631116118ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c190614b3a565b60405180910390fd5b600073b5be4aefb1e996831781adf936b1457805c617b290508073ffffffffffffffffffffffffffffffffffffffff166108fc66470de4df8200009081150290604051600060405180830381858888f19350505050158015611930573d6000803e3d6000fd5b50600061193d600b612b1f565b9050611949600b612b2d565b6119538782612b43565b600e604051806080016040528088815260200187815260200186815260200185815250908060018154018082558091505060019003906000526020600020906004020160009091909190915060008201518160000190805190602001906119bb9291906137e1565b5060208201518160010190805190602001906119d89291906137e1565b506040820151816002015560608201518160030155505050505050505050565b60008082905060005b8151811015611c0f576000828281518110611a1f57611a1e614470565b5b602001015160f81c60f81b9050602060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610158015611a885750602160f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b158015611aee5750602360f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610158015611aec5750602560f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b155b8015611b535750602860f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610158015611b515750603b60f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b155b8015611bb85750603f60f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610158015611bb65750607e60f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b155b8015611bea5750603d60f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614155b15611bfb5760009350505050611c16565b508080611c0790614b5a565b915050611a01565b5060019150505b919050565b6060611c2682612451565b611c65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5c90614c15565b60405180910390fd5b6000611c7083611e09565b90506000611c7d84612b61565b600c611c8884612cc2565b604051602001611c9a93929190614e5b565b6040516020818303038152906040529050611cb481612cc2565b604051602001611cc49190614f04565b60405160208183030381529060405292505050919050565b600d8054611ce990614066565b80601f0160208091040260200160405190810160405280929190818152602001828054611d1590614066565b8015611d625780601f10611d3757610100808354040283529160200191611d62565b820191906000526020600020905b815481529060010190602001808311611d4557829003601f168201915b505050505081565b61050081565b601081565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6060600e805490508210611e52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4990614f98565b60405180910390fd5b6000600d604051602001611e6691906150e8565b604051602081830303815290604052905060005b838111158015611e8e5750600e8054905081105b1561209e576000600e8281548110611ea957611ea8614470565b5b9060005260206000209060040201604051806080016040529081600082018054611ed290614066565b80601f0160208091040260200160405190810160405280929190818152602001828054611efe90614066565b8015611f4b5780601f10611f2057610100808354040283529160200191611f4b565b820191906000526020600020905b815481529060010190602001808311611f2e57829003601f168201915b50505050508152602001600182018054611f6490614066565b80601f0160208091040260200160405190810160405280929190818152602001828054611f9090614066565b8015611fdd5780601f10611fb257610100808354040283529160200191611fdd565b820191906000526020600020905b815481529060010190602001808311611fc057829003601f168201915b5050505050815260200160028201548152602001600382015481525050905082816000015161201b836060015160106120169190615115565b612b61565b6120406020856040015160206120319190615115565b61203b9190614782565b612b61565b846020015160405160200161205894939291906152eb565b6040516020818303038152906040526040516020016120789291906153a7565b6040516020818303038152906040529250506001816120979190614782565b9050611e7a565b50806040516020016120b09190615417565b604051602081830303815290604052905080915050919050565b601281565b6120d76124bd565b73ffffffffffffffffffffffffffffffffffffffff166120f5611284565b73ffffffffffffffffffffffffffffffffffffffff161461214b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612142906143be565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156121bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b2906154ab565b60405180910390fd5b6121c48161295a565b50565b60008082905060078151146121e05760009150506123ba565b602360f81b816000815181106121f9576121f8614470565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146122355760009150506123ba565b6000600190505b60078110156123b357600082828151811061225a57612259614470565b5b602001015160f81c60f81b9050603060f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916101580156122c35750603960f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b1580156123295750604160f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916101580156123275750604660f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b155b801561238e5750606160f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161015801561238c5750606660f81b817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b155b1561239f57600093505050506123ba565b5080806123ab90614b5a565b91505061223c565b5060019150505b919050565b73b5be4aefb1e996831781adf936b1457805c617b281565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061244a575061244982612e5a565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661253883610f7e565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061258982612451565b6125c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125bf9061553d565b60405180910390fd5b60006125d383610f7e565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061264257508373ffffffffffffffffffffffffffffffffffffffff1661262a846109b0565b73ffffffffffffffffffffffffffffffffffffffff16145b8061265357506126528185611d75565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661267c82610f7e565b73ffffffffffffffffffffffffffffffffffffffff16146126d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126c9906155cf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273990615661565b60405180910390fd5b61274d838383612f3c565b6127586000826124c5565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546127a89190615681565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546127ff9190614782565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6128c0610f67565b6128ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f690615701565b60405180910390fd5b6000600a60006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6129436124bd565b6040516129509190613ab2565b60405180910390a1565b6000600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612a28610f67565b15612a68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5f9061576d565b60405180910390fd5b6001600a60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612aac6124bd565b604051612ab99190613ab2565b60405180910390a1565b612ace84848461265c565b612ada84848484612f94565b612b19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b10906157ff565b60405180910390fd5b50505050565b600081600001549050919050565b6001816000016000828254019250508190555050565b612b5d82826040518060200160405280600081525061311c565b5050565b60606000821415612ba9576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612cbd565b600082905060005b60008214612bdb578080612bc490614b5a565b915050600a82612bd4919061584e565b9150612bb1565b60008167ffffffffffffffff811115612bf757612bf6613c13565b5b6040519080825280601f01601f191660200182016040528015612c295781602001600182028036833780820191505090505b5090505b60008514612cb657600182612c429190615681565b9150600a85612c51919061587f565b6030612c5d9190614782565b60f81b818381518110612c7357612c72614470565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612caf919061584e565b9450612c2d565b8093505050505b919050565b60606000825190506000811415612ceb5760405180602001604052806000815250915050612e55565b60006003600283612cfc9190614782565b612d06919061584e565b6004612d129190615115565b90506000602082612d239190614782565b67ffffffffffffffff811115612d3c57612d3b613c13565b5b6040519080825280601f01601f191660200182016040528015612d6e5781602001600182028036833780820191505090505b5090506000604051806060016040528060408152602001615a90604091399050600181016020830160005b86811015612e125760038101905062ffffff818a015116603f8160121c168401518060081b905060ff603f83600c1c1686015116810190508060081b905060ff603f8360061c1686015116810190508060081b905060ff603f831686015116810190508060e01b90508084526004840193505050612d99565b506003860660018114612e2c5760028114612e3c57612e47565b613d3d60f01b6002830352612e47565b603d60f81b60018303525b508484525050819450505050505b919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612f2557507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612f355750612f3482613177565b5b9050919050565b612f44610f67565b15612f84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f7b9061576d565b60405180910390fd5b612f8f8383836131e1565b505050565b6000612fb58473ffffffffffffffffffffffffffffffffffffffff166132f5565b1561310f578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612fde6124bd565b8786866040518563ffffffff1660e01b815260040161300094939291906158fa565b6020604051808303816000875af192505050801561303c57506040513d601f19601f82011682018060405250810190613039919061595b565b60015b6130bf573d806000811461306c576040519150601f19603f3d011682016040523d82523d6000602084013e613071565b606091505b506000815114156130b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130ae906157ff565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050613114565b600190505b949350505050565b6131268383613308565b6131336000848484612f94565b613172576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613169906157ff565b60405180910390fd5b505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6131ec8383836134d6565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561322f5761322a816134db565b61326e565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461326d5761326c8382613524565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156132b1576132ac81613691565b6132f0565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146132ef576132ee8282613762565b5b5b505050565b600080823b905060008111915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613378576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161336f906159d4565b60405180910390fd5b61338181612451565b156133c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133b890615a40565b60405180910390fd5b6133cd60008383612f3c565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461341d9190614782565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161353184611030565b61353b9190615681565b9050600060076000848152602001908152602001600020549050818114613620576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506136a59190615681565b90506000600960008481526020019081526020016000205490506000600883815481106136d5576136d4614470565b5b9060005260206000200154905080600883815481106136f7576136f6614470565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061374657613745615a60565b5b6001900381819060005260206000200160009055905550505050565b600061376d83611030565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b8280546137ed90614066565b90600052602060002090601f01602090048101928261380f5760008555613856565b82601f1061382857805160ff1916838001178555613856565b82800160010185558215613856579182015b8281111561385557825182559160200191906001019061383a565b5b5090506138639190613867565b5090565b5b80821115613880576000816000905550600101613868565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6138cd81613898565b81146138d857600080fd5b50565b6000813590506138ea816138c4565b92915050565b6000602082840312156139065761390561388e565b5b6000613914848285016138db565b91505092915050565b60008115159050919050565b6139328161391d565b82525050565b600060208201905061394d6000830184613929565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561398d578082015181840152602081019050613972565b8381111561399c576000848401525b50505050565b6000601f19601f8301169050919050565b60006139be82613953565b6139c8818561395e565b93506139d881856020860161396f565b6139e1816139a2565b840191505092915050565b60006020820190508181036000830152613a0681846139b3565b905092915050565b6000819050919050565b613a2181613a0e565b8114613a2c57600080fd5b50565b600081359050613a3e81613a18565b92915050565b600060208284031215613a5a57613a5961388e565b5b6000613a6884828501613a2f565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613a9c82613a71565b9050919050565b613aac81613a91565b82525050565b6000602082019050613ac76000830184613aa3565b92915050565b613ad681613a91565b8114613ae157600080fd5b50565b600081359050613af381613acd565b92915050565b60008060408385031215613b1057613b0f61388e565b5b6000613b1e85828601613ae4565b9250506020613b2f85828601613a2f565b9150509250929050565b613b4281613a0e565b82525050565b6000602082019050613b5d6000830184613b39565b92915050565b600080600060608486031215613b7c57613b7b61388e565b5b6000613b8a86828701613ae4565b9350506020613b9b86828701613ae4565b9250506040613bac86828701613a2f565b9150509250925092565b60006080820190508181036000830152613bd081876139b3565b90508181036020830152613be481866139b3565b9050613bf36040830185613b39565b613c006060830184613b39565b95945050505050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613c4b826139a2565b810181811067ffffffffffffffff82111715613c6a57613c69613c13565b5b80604052505050565b6000613c7d613884565b9050613c898282613c42565b919050565b600067ffffffffffffffff821115613ca957613ca8613c13565b5b613cb2826139a2565b9050602081019050919050565b82818337600083830152505050565b6000613ce1613cdc84613c8e565b613c73565b905082815260208101848484011115613cfd57613cfc613c0e565b5b613d08848285613cbf565b509392505050565b600082601f830112613d2557613d24613c09565b5b8135613d35848260208601613cce565b91505092915050565b600060208284031215613d5457613d5361388e565b5b600082013567ffffffffffffffff811115613d7257613d71613893565b5b613d7e84828501613d10565b91505092915050565b600060208284031215613d9d57613d9c61388e565b5b6000613dab84828501613ae4565b91505092915050565b613dbd8161391d565b8114613dc857600080fd5b50565b600081359050613dda81613db4565b92915050565b60008060408385031215613df757613df661388e565b5b6000613e0585828601613ae4565b9250506020613e1685828601613dcb565b9150509250929050565b600067ffffffffffffffff821115613e3b57613e3a613c13565b5b613e44826139a2565b9050602081019050919050565b6000613e64613e5f84613e20565b613c73565b905082815260208101848484011115613e8057613e7f613c0e565b5b613e8b848285613cbf565b509392505050565b600082601f830112613ea857613ea7613c09565b5b8135613eb8848260208601613e51565b91505092915050565b60008060008060808587031215613edb57613eda61388e565b5b6000613ee987828801613ae4565b9450506020613efa87828801613ae4565b9350506040613f0b87828801613a2f565b925050606085013567ffffffffffffffff811115613f2c57613f2b613893565b5b613f3887828801613e93565b91505092959194509250565b600080600080600060a08688031215613f6057613f5f61388e565b5b6000613f6e88828901613ae4565b955050602086013567ffffffffffffffff811115613f8f57613f8e613893565b5b613f9b88828901613d10565b945050604086013567ffffffffffffffff811115613fbc57613fbb613893565b5b613fc888828901613d10565b9350506060613fd988828901613a2f565b9250506080613fea88828901613a2f565b9150509295509295909350565b6000806040838503121561400e5761400d61388e565b5b600061401c85828601613ae4565b925050602061402d85828601613ae4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061407e57607f821691505b6020821081141561409257614091614037565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b60006140f4602c8361395e565b91506140ff82614098565b604082019050919050565b60006020820190508181036000830152614123816140e7565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b600061418660218361395e565b91506141918261412a565b604082019050919050565b600060208201905081810360008301526141b581614179565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b600061421860388361395e565b9150614223826141bc565b604082019050919050565b600060208201905081810360008301526142478161420b565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b60006142aa60318361395e565b91506142b58261424e565b604082019050919050565b600060208201905081810360008301526142d98161429d565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b600061433c602b8361395e565b9150614347826142e0565b604082019050919050565b6000602082019050818103600083015261436b8161432f565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006143a860208361395e565b91506143b382614372565b602082019050919050565b600060208201905081810360008301526143d78161439b565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b600061443a602c8361395e565b9150614445826143de565b604082019050919050565b600060208201905081810360008301526144698161442d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b60006144fb60298361395e565b91506145068261449f565b604082019050919050565b6000602082019050818103600083015261452a816144ee565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b600061458d602a8361395e565b915061459882614531565b604082019050919050565b600060208201905081810360008301526145bc81614580565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006145f960198361395e565b9150614604826145c3565b602082019050919050565b60006020820190508181036000830152614628816145ec565b9050919050565b7f546865206f6666736574206d757374206265207a65726f206f7220706f73697460008201527f6976650000000000000000000000000000000000000000000000000000000000602082015250565b600061468b60238361395e565b91506146968261462f565b604082019050919050565b600060208201905081810360008301526146ba8161467e565b9050919050565b7f546865206c696e65206e756d626572206d757374206265207a65726f206f722060008201527f706f736974697665000000000000000000000000000000000000000000000000602082015250565b600061471d60288361395e565b9150614728826146c1565b604082019050919050565b6000602082019050818103600083015261474c81614710565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061478d82613a0e565b915061479883613a0e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156147cd576147cc614753565b5b828201905092915050565b7f4d6573736167652077697468206f666673657420697320746f6f206c6f6e6700600082015250565b600061480e601f8361395e565b9150614819826147d8565b602082019050919050565b6000602082019050818103600083015261483d81614801565b9050919050565b7f54686520636f6c6f72206e6565647320746f20626520612076616c696420484560008201527f5820737472696e67206c696b6520233031324142430000000000000000000000602082015250565b60006148a060358361395e565b91506148ab82614844565b604082019050919050565b600060208201905081810360008301526148cf81614893565b9050919050565b7f546865206d65737361676520636f6e7461696e7320616e20696e76616c69642060008201527f6368617261637465722028262722233c3e290000000000000000000000000000602082015250565b600061493260328361395e565b915061493d826148d6565b604082019050919050565b6000602082019050818103600083015261496181614925565b9050919050565b7f546865206c696e65206e756d62657220697320746f6f20686967680000000000600082015250565b600061499e601b8361395e565b91506149a982614968565b602082019050919050565b600060208201905081810360008301526149cd81614991565b9050919050565b6000815190506149e381613a18565b92915050565b6000602082840312156149ff576149fe61388e565b5b6000614a0d848285016149d4565b91505092915050565b7f54686520737570706c7920686173206265656e206578686175737465642e0000600082015250565b6000614a4c601e8361395e565b9150614a5782614a16565b602082019050919050565b60006020820190508181036000830152614a7b81614a3f565b9050919050565b7f56616c75652062656c6f77207072696365000000000000000000000000000000600082015250565b6000614ab860118361395e565b9150614ac382614a82565b602082019050919050565b60006020820190508181036000830152614ae781614aab565b9050919050565b7f4e6f7420656e6f75676820455448210000000000000000000000000000000000600082015250565b6000614b24600f8361395e565b9150614b2f82614aee565b602082019050919050565b60006020820190508181036000830152614b5381614b17565b9050919050565b6000614b6582613a0e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614b9857614b97614753565b5b600182019050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000614bff602f8361395e565b9150614c0a82614ba3565b604082019050919050565b60006020820190508181036000830152614c2e81614bf2565b9050919050565b600081905092915050565b7f7b226e616d65223a202241534349492057616c6c202300000000000000000000600082015250565b6000614c76601683614c35565b9150614c8182614c40565b601682019050919050565b6000614c9782613953565b614ca18185614c35565b9350614cb181856020860161396f565b80840191505092915050565b7f222c20226465736372697074696f6e223a202200000000000000000000000000600082015250565b6000614cf3601383614c35565b9150614cfe82614cbd565b601382019050919050565b60008190508160005260206000209050919050565b60008154614d2b81614066565b614d358186614c35565b94506001821660008114614d505760018114614d6157614d94565b60ff19831686528186019350614d94565b614d6a85614d09565b60005b83811015614d8c57815481890152600182019150602081019050614d6d565b838801955050505b50505092915050565b7f222c2022696d616765223a2022646174613a696d6167652f7376672b786d6c3b60008201527f6261736536342c00000000000000000000000000000000000000000000000000602082015250565b6000614df9602783614c35565b9150614e0482614d9d565b602782019050919050565b7f227d000000000000000000000000000000000000000000000000000000000000600082015250565b6000614e45600283614c35565b9150614e5082614e0f565b600282019050919050565b6000614e6682614c69565b9150614e728286614c8c565b9150614e7d82614ce6565b9150614e898285614d1e565b9150614e9482614dec565b9150614ea08284614c8c565b9150614eab82614e38565b9150819050949350505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000600082015250565b6000614eee601d83614c35565b9150614ef982614eb8565b601d82019050919050565b6000614f0f82614ee1565b9150614f1b8284614c8c565b915081905092915050565b7f43616e27742072656e64657220666f72206120706c6163656d656e742074686160008201527f7420646f65736e27742065786973742079657400000000000000000000000000602082015250565b6000614f8260338361395e565b9150614f8d82614f26565b604082019050919050565b60006020820190508181036000830152614fb181614f75565b9050919050565b7f3c7376672076657273696f6e3d22312e31222077696474683d2236343022206860008201527f65696768743d223539302220786d6c6e733d22687474703a2f2f7777772e773360208201527f2e6f72672f323030302f737667223e3c726563742077696474683d223130302560408201527f22206865696768743d2231303025222066696c6c3d222332323232323222202f60608201527f3e3c7374796c653e000000000000000000000000000000000000000000000000608082015250565b6000615086608883614c35565b915061509182614fb8565b608882019050919050565b7f3c2f7374796c653e000000000000000000000000000000000000000000000000600082015250565b60006150d2600883614c35565b91506150dd8261509c565b600882019050919050565b60006150f382615079565b91506150ff8284614d1e565b915061510a826150c5565b915081905092915050565b600061512082613a0e565b915061512b83613a0e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561516457615163614753565b5b828202905092915050565b7f3c746578742066696c6c3d220000000000000000000000000000000000000000600082015250565b60006151a5600c83614c35565b91506151b08261516f565b600c82019050919050565b7f2220783d22000000000000000000000000000000000000000000000000000000600082015250565b60006151f1600583614c35565b91506151fc826151bb565b600582019050919050565b7f2220793d22000000000000000000000000000000000000000000000000000000600082015250565b600061523d600583614c35565b915061524882615207565b600582019050919050565b7f223e000000000000000000000000000000000000000000000000000000000000600082015250565b6000615289600283614c35565b915061529482615253565b600282019050919050565b7f3c2f746578743e00000000000000000000000000000000000000000000000000600082015250565b60006152d5600783614c35565b91506152e08261529f565b600782019050919050565b60006152f682615198565b91506153028287614c8c565b915061530d826151e4565b91506153198286614c8c565b915061532482615230565b91506153308285614c8c565b915061533b8261527c565b91506153478284614c8c565b9150615352826152c8565b915081905095945050505050565b600081519050919050565b600081905092915050565b600061538182615360565b61538b818561536b565b935061539b81856020860161396f565b80840191505092915050565b60006153b38285614c8c565b91506153bf8284615376565b91508190509392505050565b7f3c2f7376673e0000000000000000000000000000000000000000000000000000600082015250565b6000615401600683614c35565b915061540c826153cb565b600682019050919050565b60006154238284614c8c565b915061542e826153f4565b915081905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061549560268361395e565b91506154a082615439565b604082019050919050565b600060208201905081810360008301526154c481615488565b9050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000615527602c8361395e565b9150615532826154cb565b604082019050919050565b600060208201905081810360008301526155568161551a565b9050919050565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b60006155b960298361395e565b91506155c48261555d565b604082019050919050565b600060208201905081810360008301526155e8816155ac565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061564b60248361395e565b9150615656826155ef565b604082019050919050565b6000602082019050818103600083015261567a8161563e565b9050919050565b600061568c82613a0e565b915061569783613a0e565b9250828210156156aa576156a9614753565b5b828203905092915050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b60006156eb60148361395e565b91506156f6826156b5565b602082019050919050565b6000602082019050818103600083015261571a816156de565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600061575760108361395e565b915061576282615721565b602082019050919050565b600060208201905081810360008301526157868161574a565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006157e960328361395e565b91506157f48261578d565b604082019050919050565b60006020820190508181036000830152615818816157dc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061585982613a0e565b915061586483613a0e565b9250826158745761587361581f565b5b828204905092915050565b600061588a82613a0e565b915061589583613a0e565b9250826158a5576158a461581f565b5b828206905092915050565b600082825260208201905092915050565b60006158cc82615360565b6158d681856158b0565b93506158e681856020860161396f565b6158ef816139a2565b840191505092915050565b600060808201905061590f6000830187613aa3565b61591c6020830186613aa3565b6159296040830185613b39565b818103606083015261593b81846158c1565b905095945050505050565b600081519050615955816138c4565b92915050565b6000602082840312156159715761597061388e565b5b600061597f84828501615946565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006159be60208361395e565b91506159c982615988565b602082019050919050565b600060208201905081810360008301526159ed816159b1565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000615a2a601c8361395e565b9150615a35826159f4565b602082019050919050565b60006020820190508181036000830152615a5981615a1d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220a3820f52868fb79e6fc04b1b31da75375010c418cc2159ecd27f947f71afa44b64736f6c634300080a0033
🤖 Code Reader Beta

Generate instant answers for your smart contract questions using Al Models. Read more.

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

OVERVIEW

ASCIIWall is an ERC-721 blockchain-based shared canvas. Anyone can write on it. It's like latrinalia, but in the blockchain. Each mint captures the current state of the wall. Future mints can overwrite and augment the wall.

Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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