[ { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "string", "name": "baseTokenURI", "type": "string" }, { "internalType": "address", "name": "royaltyRecipient", "type": "address" }, { "internalType": "uint96", "name": "defaultRoyaltyAmount", "type": "uint96" }, { "internalType": "uint256", "name": "lpMintPrice", "type": "uint256" }, { "internalType": "address", "name": "tokenA", "type": "address" }, { "internalType": "address", "name": "tokenB", "type": "address" } ], "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": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "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": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "LP_MINT_PRICE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINTER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PAUSER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "getRoleMember", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleMemberCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_count", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_count", "type": "uint256" }, { "internalType": "uint256", "name": "option", "type": "uint256" } ], "name": "mintWithLP", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "_salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "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": "uint256", "name": "newPrice", "type": "uint256" } ], "name": "updateLPPrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newRoyaltyReceiver", "type": "address" }, { "internalType": "uint96", "name": "defaultRoyaltyAmount", "type": "uint96" } ], "name": "updateRoyaltiesAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "payable", "type": "function" } ]
6080604052600f6010553480156200001657600080fd5b50604051620067f4380380620067f483398181016040528101906200003c9190620007fb565b878781600490805190602001906200005692919062000688565b5080600590805190602001906200006f92919062000688565b5050506000600f60006101000a81548160ff0219169083151502179055508260108190555081601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085601290805190602001906200012e92919062000688565b50620001536000801b620001476200024460201b60201c565b6200024c60201b60201c565b620001947f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6620001886200024460201b60201c565b6200024c60201b60201c565b620001d57f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a620001c96200024460201b60201c565b6200024c60201b60201c565b84601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000236856064866200022a919062000a23565b6200026260201b60201c565b505050505050505062000ce0565b600033905090565b6200025e82826200040660201b60201c565b5050565b620002726200044e60201b60201c565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff161115620002d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002ca906200096f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000346576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200033d9062000991565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff16815250600260008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b6200041d82826200045860201b62001a531760201c565b6200044981600160008581526020019081526020016000206200054960201b62001b331790919060201c565b505050565b6000612710905090565b6200046a82826200058160201b60201c565b6200054557600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004ea6200024460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600062000579836000018373ffffffffffffffffffffffffffffffffffffffff1660001b620005eb60201b60201c565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000620005ff83836200066560201b60201c565b6200065a5782600001829080600181540180825580915050600190039060005260206000200160009091909190915055826000018054905083600101600084815260200190815260200160002081905550600190506200065f565b600090505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b828054620006969062000afc565b90600052602060002090601f016020900481019282620006ba576000855562000706565b82601f10620006d557805160ff191683800117855562000706565b8280016001018555821562000706579182015b8281111562000705578251825591602001919060010190620006e8565b5b50905062000715919062000719565b5090565b5b80821115620007345760008160009055506001016200071a565b5090565b60006200074f6200074984620009dc565b620009b3565b9050828152602081018484840111156200076e576200076d62000bfa565b5b6200077b84828562000ac6565b509392505050565b600081519050620007948162000c92565b92915050565b600082601f830112620007b257620007b162000bf5565b5b8151620007c484826020860162000738565b91505092915050565b600081519050620007de8162000cac565b92915050565b600081519050620007f58162000cc6565b92915050565b600080600080600080600080610100898b0312156200081f576200081e62000c04565b5b600089015167ffffffffffffffff81111562000840576200083f62000bff565b5b6200084e8b828c016200079a565b985050602089015167ffffffffffffffff81111562000872576200087162000bff565b5b620008808b828c016200079a565b975050604089015167ffffffffffffffff811115620008a457620008a362000bff565b5b620008b28b828c016200079a565b9650506060620008c58b828c0162000783565b9550506080620008d88b828c01620007e4565b94505060a0620008eb8b828c01620007cd565b93505060c0620008fe8b828c0162000783565b92505060e0620009118b828c0162000783565b9150509295985092959890939650565b600062000930602a8362000a12565b91506200093d8262000c1a565b604082019050919050565b60006200095760198362000a12565b9150620009648262000c69565b602082019050919050565b600060208201905081810360008301526200098a8162000921565b9050919050565b60006020820190508181036000830152620009ac8162000948565b9050919050565b6000620009bf620009d2565b9050620009cd828262000b32565b919050565b6000604051905090565b600067ffffffffffffffff821115620009fa57620009f962000bc6565b5b62000a058262000c09565b9050602081019050919050565b600082825260208201905092915050565b600062000a308262000aae565b915062000a3d8362000aae565b9250816bffffffffffffffffffffffff048311821515161562000a655762000a6462000b68565b5b828202905092915050565b600062000a7d8262000a84565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006bffffffffffffffffffffffff82169050919050565b60005b8381101562000ae657808201518184015260208101905062000ac9565b8381111562000af6576000848401525b50505050565b6000600282049050600182168062000b1557607f821691505b6020821081141562000b2c5762000b2b62000b97565b5b50919050565b62000b3d8262000c09565b810181811067ffffffffffffffff8211171562000b5f5762000b5e62000bc6565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b62000c9d8162000a70565b811462000ca957600080fd5b50565b62000cb78162000aa4565b811462000cc357600080fd5b50565b62000cd18162000aae565b811462000cdd57600080fd5b50565b615b048062000cf06000396000f3fe6080604052600436106102045760003560e01c80636352211e11610118578063a373cb4b116100a0578063ca15c8731161006f578063ca15c87314610787578063d5391393146107c4578063d547741f146107ef578063e63ab1e914610818578063e985e9c51461084357610204565b8063a373cb4b146106cd578063a789daed146106f6578063b88d4fde14610721578063c87b56dd1461074a57610204565b806395d89b41116100e757806395d89b41146106095780639fcf9b3f14610634578063a0712d681461065d578063a217fddf14610679578063a22cb465146106a457610204565b80636352211e1461051557806370a08231146105525780639010d07c1461058f57806391d14854146105cc57610204565b80632f2ff15d1161019b57806342842e0e1161016a57806342842e0e1461043f57806342966c68146104685780634f6ccce714610491578063528b41f4146104ce5780635c975abb146104ea57610204565b80632f2ff15d146103a65780632f745c59146103cf57806336568abe1461040c5780633ccfd60b1461043557610204565b806318160ddd116101d757806318160ddd146102d757806323b872dd14610302578063248a9ca31461032b5780632a55205a1461036857610204565b806301ffc9a71461020957806306fdde0314610246578063081812fc14610271578063095ea7b3146102ae575b600080fd5b34801561021557600080fd5b50610230600480360381019061022b9190613e9c565b610880565b60405161023d91906146fc565b60405180910390f35b34801561025257600080fd5b5061025b610892565b6040516102689190614732565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190613ef6565b610924565b6040516102a59190614635565b60405180910390f35b3480156102ba57600080fd5b506102d560048036038101906102d09190613d42565b6109a9565b005b3480156102e357600080fd5b506102ec610ac1565b6040516102f99190614b34565b60405180910390f35b34801561030e57600080fd5b5061032960048036038101906103249190613c2c565b610ace565b005b34801561033757600080fd5b50610352600480360381019061034d9190613def565b610b2e565b60405161035f9190614717565b60405180910390f35b34801561037457600080fd5b5061038f600480360381019061038a9190613f50565b610b4d565b60405161039d9291906146d3565b60405180910390f35b3480156103b257600080fd5b506103cd60048036038101906103c89190613e1c565b610d38565b005b3480156103db57600080fd5b506103f660048036038101906103f19190613d42565b610d59565b6040516104039190614b34565b60405180910390f35b34801561041857600080fd5b50610433600480360381019061042e9190613e1c565b610dfe565b005b61043d610e81565b005b34801561044b57600080fd5b5061046660048036038101906104619190613c2c565b610f6e565b005b34801561047457600080fd5b5061048f600480360381019061048a9190613ef6565b610f8e565b005b34801561049d57600080fd5b506104b860048036038101906104b39190613ef6565b610fea565b6040516104c59190614b34565b60405180910390f35b6104e860048036038101906104e39190613f50565b61105b565b005b3480156104f657600080fd5b506104ff6112dd565b60405161050c91906146fc565b60405180910390f35b34801561052157600080fd5b5061053c60048036038101906105379190613ef6565b6112f4565b6040516105499190614635565b60405180910390f35b34801561055e57600080fd5b5061057960048036038101906105749190613bbf565b6113a6565b6040516105869190614b34565b60405180910390f35b34801561059b57600080fd5b506105b660048036038101906105b19190613e5c565b61145e565b6040516105c39190614635565b60405180910390f35b3480156105d857600080fd5b506105f360048036038101906105ee9190613e1c565b61148d565b60405161060091906146fc565b60405180910390f35b34801561061557600080fd5b5061061e6114f7565b60405161062b9190614732565b60405180910390f35b34801561064057600080fd5b5061065b60048036038101906106569190613ef6565b611589565b005b61067760048036038101906106729190613ef6565b611603565b005b34801561068557600080fd5b5061068e6116f5565b60405161069b9190614717565b60405180910390f35b3480156106b057600080fd5b506106cb60048036038101906106c69190613d02565b6116fc565b005b3480156106d957600080fd5b506106f460048036038101906106ef9190613d82565b611712565b005b34801561070257600080fd5b5061070b6117dd565b6040516107189190614b34565b60405180910390f35b34801561072d57600080fd5b5061074860048036038101906107439190613c7f565b6117e3565b005b34801561075657600080fd5b50610771600480360381019061076c9190613ef6565b611845565b60405161077e9190614732565b60405180910390f35b34801561079357600080fd5b506107ae60048036038101906107a99190613def565b611932565b6040516107bb9190614b34565b60405180910390f35b3480156107d057600080fd5b506107d9611956565b6040516107e69190614717565b60405180910390f35b3480156107fb57600080fd5b5061081660048036038101906108119190613e1c565b61197a565b005b34801561082457600080fd5b5061082d61199b565b60405161083a9190614717565b60405180910390f35b34801561084f57600080fd5b5061086a60048036038101906108659190613bec565b6119bf565b60405161087791906146fc565b60405180910390f35b600061088b82611b63565b9050919050565b6060600480546108a190614e65565b80601f01602080910402602001604051908101604052809291908181526020018280546108cd90614e65565b801561091a5780601f106108ef5761010080835404028352916020019161091a565b820191906000526020600020905b8154815290600101906020018083116108fd57829003601f168201915b5050505050905090565b600061092f82611b75565b61096e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610965906149b4565b60405180910390fd5b6008600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006109b4826112f4565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1c90614a14565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610a44611be1565b73ffffffffffffffffffffffffffffffffffffffff161480610a735750610a7281610a6d611be1565b6119bf565b5b610ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa990614934565b60405180910390fd5b610abc8383611be9565b505050565b6000600d80549050905090565b610adf610ad9611be1565b82611ca2565b610b1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1590614a34565b60405180910390fd5b610b29838383611d80565b505050565b6000806000838152602001908152602001600020600101549050919050565b6000806000600360008681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff161415610ce35760026040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b6000610ced611fe7565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff1686610d199190614c8f565b610d239190614c5e565b90508160000151819350935050509250929050565b610d4182610b2e565b610d4a81611ff1565b610d548383612005565b505050565b6000610d64836113a6565b8210610da5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9c906147b4565b60405180910390fd5b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610e06611be1565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610e73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6a90614b14565b60405180910390fd5b610e7d8282612039565b5050565b610eb27f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610ead611be1565b61148d565b610ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee890614834565b60405180910390fd5b600047905060008111610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090614914565b60405180910390fd5b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610f6a818361206d565b5050565b610f89838383604051806020016040528060008152506117e3565b505050565b610f9f610f99611be1565b82611ca2565b610fde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd590614ad4565b60405180910390fd5b610fe781612161565b50565b6000610ff4610ac1565b8210611035576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102c90614a74565b60405180910390fd5b600d828154811061104957611048614ffe565b5b90600052602060002001549050919050565b60008082141561108f57601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506110b5565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b6000601054905060006110c8601161227e565b905060646110df868361228c90919063ffffffff16565b1061111f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611116906148d4565b60405180910390fd5b61113285836122a290919063ffffffff16565b8373ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b815260040161116b9190614635565b60206040518083038186803b15801561118357600080fd5b505afa158015611197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111bb9190613f23565b10156111fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f390614ab4565b60405180910390fd5b60005b858110156112d557611210336122b8565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd33601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866040518463ffffffff1660e01b815260040161126f93929190614650565b602060405180830381600087803b15801561128957600080fd5b505af115801561129d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c19190613dc2565b5080806112cd90614ec8565b9150506111ff565b505050505050565b6000600f60009054906101000a900460ff16905090565b6000806006600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561139d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139490614974565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140e90614954565b60405180910390fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000611485826001600086815260200190815260200160002061232490919063ffffffff16565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60606005805461150690614e65565b80601f016020809104026020016040519081016040528092919081815260200182805461153290614e65565b801561157f5780601f106115545761010080835404028352916020019161157f565b820191906000526020600020905b81548152906001019060200180831161156257829003601f168201915b5050505050905090565b6115ba7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66115b5611be1565b61148d565b6115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f090614754565b60405180910390fd5b8060108190555050565b600061160f601161227e565b90506000671bc16d674ec8000090506064611633848461228c90919063ffffffff16565b10611673576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166a906148d4565b60405180910390fd5b61168683826122a290919063ffffffff16565b3410156116c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bf90614a54565b60405180910390fd5b60005b838110156116ef576116dc336122b8565b80806116e790614ec8565b9150506116cb565b50505050565b6000801b81565b61170e611707611be1565b838361233e565b5050565b6117437f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661173e611be1565b61148d565b611782576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611779906149d4565b60405180910390fd5b81601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506117d9826064836117d49190614ce9565b6124ab565b5050565b60105481565b6117f46117ee611be1565b83611ca2565b611833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182a90614a34565b60405180910390fd5b61183f84848484612641565b50505050565b606061185082611b75565b61188f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611886906149f4565b60405180910390fd5b600a600083815260200190815260200160002080546118ad90614e65565b80601f01602080910402602001604051908101604052809291908181526020018280546118d990614e65565b80156119265780601f106118fb57610100808354040283529160200191611926565b820191906000526020600020905b81548152906001019060200180831161190957829003601f168201915b50505050509050919050565b600061194f6001600084815260200190815260200160002061269d565b9050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61198382610b2e565b61198c81611ff1565b6119968383612039565b505050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611a5d828261148d565b611b2f57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611ad4611be1565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000611b5b836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6126b2565b905092915050565b6000611b6e82612722565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166006600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816008600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611c5c836112f4565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000611cad82611b75565b611cec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce3906148f4565b60405180910390fd5b6000611cf7836112f4565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611d6657508373ffffffffffffffffffffffffffffffffffffffff16611d4e84610924565b73ffffffffffffffffffffffffffffffffffffffff16145b80611d775750611d7681856119bf565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611da0826112f4565b73ffffffffffffffffffffffffffffffffffffffff1614611df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ded906147f4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5d90614854565b60405180910390fd5b611e7183838361279c565b611e7c600082611be9565b6001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ecc9190614d2f565b925050819055506001600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f239190614c08565b92505081905550816006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611fe28383836127ac565b505050565b6000612710905090565b61200281611ffd611be1565b6127b1565b50565b61200f8282611a53565b6120348160016000858152602001908152602001600020611b3390919063ffffffff16565b505050565b612043828261284e565b612068816001600085815260200190815260200160002061292f90919063ffffffff16565b505050565b804710156120b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a7906148b4565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff16826040516120d6906145e6565b60006040518083038185875af1925050503d8060008114612113576040519150601f19603f3d011682016040523d82523d6000602084013e612118565b606091505b505090508061215c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215390614894565b60405180910390fd5b505050565b600061216c826112f4565b905061217a8160008461279c565b612185600083611be9565b6001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121d59190614d2f565b925050819055506006600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461227a816000846127ac565b5050565b600081600001549050919050565b6000818361229a9190614c08565b905092915050565b600081836122b09190614c8f565b905092915050565b6122cb816122c6601161227e565b61295f565b600060126122e16122dc601161227e565b61297d565b6040516020016122f29291906145b7565b6040516020818303038152906040529050612316612310601161227e565b82612ade565b6123206011612b0a565b5050565b60006123338360000183612b20565b60001c905092915050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156123ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a490614874565b60405180910390fd5b80600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161249e91906146fc565b60405180910390a3505050565b6124b3611fe7565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff161115612511576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250890614a94565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612581576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257890614af4565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff16815250600260008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b61264c848484611d80565b61265884848484612b4b565b612697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268e906147d4565b60405180910390fd5b50505050565b60006126ab82600001612ce2565b9050919050565b60006126be8383612cf3565b61271757826000018290806001815401808255809150506001900390600052602060002001600090919091909150558260000180549050836001016000848152602001908152602001600020819055506001905061271c565b600090505b92915050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612795575061279482612d16565b5b9050919050565b6127a7838383612df8565b505050565b505050565b6127bb828261148d565b61284a576127e08173ffffffffffffffffffffffffffffffffffffffff166014612e50565b6127ee8360001c6020612e50565b6040516020016127ff9291906145fb565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128419190614732565b60405180910390fd5b5050565b612858828261148d565b1561292b57600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506128d0611be1565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000612957836000018373ffffffffffffffffffffffffffffffffffffffff1660001b61308c565b905092915050565b6129798282604051806020016040528060008152506131a0565b5050565b606060008214156129c5576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612ad9565b600082905060005b600082146129f75780806129e090614ec8565b915050600a826129f09190614c5e565b91506129cd565b60008167ffffffffffffffff811115612a1357612a1261502d565b5b6040519080825280601f01601f191660200182016040528015612a455781602001600182028036833780820191505090505b5090505b60008514612ad257600182612a5e9190614d2f565b9150600a85612a6d9190614f11565b6030612a799190614c08565b60f81b818381518110612a8f57612a8e614ffe565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612acb9190614c5e565b9450612a49565b8093505050505b919050565b80600a60008481526020019081526020016000209080519060200190612b059291906139ef565b505050565b6001816000016000828254019250508190555050565b6000826000018281548110612b3857612b37614ffe565b5b9060005260206000200154905092915050565b6000612b6c8473ffffffffffffffffffffffffffffffffffffffff166131fb565b15612cd5578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612b95611be1565b8786866040518563ffffffff1660e01b8152600401612bb79493929190614687565b602060405180830381600087803b158015612bd157600080fd5b505af1925050508015612c0257506040513d601f19601f82011682018060405250810190612bff9190613ec9565b60015b612c85573d8060008114612c32576040519150601f19603f3d011682016040523d82523d6000602084013e612c37565b606091505b50600081511415612c7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c74906147d4565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612cda565b600190505b949350505050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612de157507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612df15750612df08261321e565b5b9050919050565b612e03838383613298565b612e0b6112dd565b15612e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e4290614794565b60405180910390fd5b505050565b606060006002836002612e639190614c8f565b612e6d9190614c08565b67ffffffffffffffff811115612e8657612e8561502d565b5b6040519080825280601f01601f191660200182016040528015612eb85781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612ef057612eef614ffe565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612f5457612f53614ffe565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002612f949190614c8f565b612f9e9190614c08565b90505b600181111561303e577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110612fe057612fdf614ffe565b5b1a60f81b828281518110612ff757612ff6614ffe565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061303790614e3b565b9050612fa1565b5060008414613082576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161307990614774565b60405180910390fd5b8091505092915050565b600080836001016000848152602001908152602001600020549050600081146131945760006001826130be9190614d2f565b90506000600186600001805490506130d69190614d2f565b90508181146131455760008660000182815481106130f7576130f6614ffe565b5b906000526020600020015490508087600001848154811061311b5761311a614ffe565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b8560000180548061315957613158614fcf565b5b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061319a565b60009150505b92915050565b6131aa83836133ac565b6131b76000848484612b4b565b6131f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131ed906147d4565b60405180910390fd5b505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480613291575061329082613586565b5b9050919050565b6132a3838383613600565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156132e6576132e181613605565b613325565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461332457613323838261364e565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561336857613363816137bb565b6133a7565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146133a6576133a5828261388c565b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561341c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161341390614994565b60405180910390fd5b61342581611b75565b15613465576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161345c90614814565b60405180910390fd5b6134716000838361279c565b6001600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546134c19190614c08565b92505081905550816006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4613582600083836127ac565b5050565b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806135f957506135f88261390b565b5b9050919050565b505050565b600d80549050600e600083815260200190815260200160002081905550600d81908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161365b846113a6565b6136659190614d2f565b90506000600c600084815260200190815260200160002054905081811461374a576000600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000208190555081600c600083815260200190815260200160002081905550505b600c600084815260200190815260200160002060009055600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600d805490506137cf9190614d2f565b90506000600e60008481526020019081526020016000205490506000600d83815481106137ff576137fe614ffe565b5b9060005260206000200154905080600d838154811061382157613820614ffe565b5b906000526020600020018190555081600e600083815260200190815260200160002081905550600e600085815260200190815260200160002060009055600d8054806138705761386f614fcf565b5b6001900381819060005260206000200160009055905550505050565b6000613897836113a6565b905081600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000208190555080600c600084815260200190815260200160002081905550505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061397e575061397d82613985565b5b9050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b8280546139fb90614e65565b90600052602060002090601f016020900481019282613a1d5760008555613a64565b82601f10613a3657805160ff1916838001178555613a64565b82800160010185558215613a64579182015b82811115613a63578251825591602001919060010190613a48565b5b509050613a719190613a75565b5090565b5b80821115613a8e576000816000905550600101613a76565b5090565b6000613aa5613aa084614b74565b614b4f565b905082815260208101848484011115613ac157613ac0615061565b5b613acc848285614df9565b509392505050565b600081359050613ae381615a44565b92915050565b600081359050613af881615a5b565b92915050565b600081519050613b0d81615a5b565b92915050565b600081359050613b2281615a72565b92915050565b600081359050613b3781615a89565b92915050565b600081519050613b4c81615a89565b92915050565b600082601f830112613b6757613b6661505c565b5b8135613b77848260208601613a92565b91505092915050565b600081359050613b8f81615aa0565b92915050565b600081519050613ba481615aa0565b92915050565b600081359050613bb981615ab7565b92915050565b600060208284031215613bd557613bd461506b565b5b6000613be384828501613ad4565b91505092915050565b60008060408385031215613c0357613c0261506b565b5b6000613c1185828601613ad4565b9250506020613c2285828601613ad4565b9150509250929050565b600080600060608486031215613c4557613c4461506b565b5b6000613c5386828701613ad4565b9350506020613c6486828701613ad4565b9250506040613c7586828701613b80565b9150509250925092565b60008060008060808587031215613c9957613c9861506b565b5b6000613ca787828801613ad4565b9450506020613cb887828801613ad4565b9350506040613cc987828801613b80565b925050606085013567ffffffffffffffff811115613cea57613ce9615066565b5b613cf687828801613b52565b91505092959194509250565b60008060408385031215613d1957613d1861506b565b5b6000613d2785828601613ad4565b9250506020613d3885828601613ae9565b9150509250929050565b60008060408385031215613d5957613d5861506b565b5b6000613d6785828601613ad4565b9250506020613d7885828601613b80565b9150509250929050565b60008060408385031215613d9957613d9861506b565b5b6000613da785828601613ad4565b9250506020613db885828601613baa565b9150509250929050565b600060208284031215613dd857613dd761506b565b5b6000613de684828501613afe565b91505092915050565b600060208284031215613e0557613e0461506b565b5b6000613e1384828501613b13565b91505092915050565b60008060408385031215613e3357613e3261506b565b5b6000613e4185828601613b13565b9250506020613e5285828601613ad4565b9150509250929050565b60008060408385031215613e7357613e7261506b565b5b6000613e8185828601613b13565b9250506020613e9285828601613b80565b9150509250929050565b600060208284031215613eb257613eb161506b565b5b6000613ec084828501613b28565b91505092915050565b600060208284031215613edf57613ede61506b565b5b6000613eed84828501613b3d565b91505092915050565b600060208284031215613f0c57613f0b61506b565b5b6000613f1a84828501613b80565b91505092915050565b600060208284031215613f3957613f3861506b565b5b6000613f4784828501613b95565b91505092915050565b60008060408385031215613f6757613f6661506b565b5b6000613f7585828601613b80565b9250506020613f8685828601613b80565b9150509250929050565b613f9981614d63565b82525050565b613fa881614d75565b82525050565b613fb781614d81565b82525050565b6000613fc882614bba565b613fd28185614bd0565b9350613fe2818560208601614e08565b613feb81615070565b840191505092915050565b600061400182614bc5565b61400b8185614bec565b935061401b818560208601614e08565b61402481615070565b840191505092915050565b600061403a82614bc5565b6140448185614bfd565b9350614054818560208601614e08565b80840191505092915050565b6000815461406d81614e65565b6140778186614bfd565b9450600182166000811461409257600181146140a3576140d6565b60ff198316865281860193506140d6565b6140ac85614ba5565b60005b838110156140ce578154818901526001820191506020810190506140af565b838801955050505b50505092915050565b60006140ec604e83614bec565b91506140f782615081565b606082019050919050565b600061410f602083614bec565b915061411a826150f6565b602082019050919050565b6000614132602b83614bec565b915061413d8261511f565b604082019050919050565b6000614155602b83614bec565b91506141608261516e565b604082019050919050565b6000614178603283614bec565b9150614183826151bd565b604082019050919050565b600061419b602583614bec565b91506141a68261520c565b604082019050919050565b60006141be601c83614bec565b91506141c98261525b565b602082019050919050565b60006141e1604a83614bec565b91506141ec82615284565b606082019050919050565b6000614204602483614bec565b915061420f826152f9565b604082019050919050565b6000614227601983614bec565b915061423282615348565b602082019050919050565b600061424a603a83614bec565b915061425582615371565b604082019050919050565b600061426d601d83614bec565b9150614278826153c0565b602082019050919050565b6000614290601583614bec565b915061429b826153e9565b602082019050919050565b60006142b3602c83614bec565b91506142be82615412565b604082019050919050565b60006142d6603a83614bec565b91506142e182615461565b604082019050919050565b60006142f9603883614bec565b9150614304826154b0565b604082019050919050565b600061431c602a83614bec565b9150614327826154ff565b604082019050919050565b600061433f602983614bec565b915061434a8261554e565b604082019050919050565b6000614362602083614bec565b915061436d8261559d565b602082019050919050565b6000614385602c83614bec565b9150614390826155c6565b604082019050919050565b60006143a8600583614bfd565b91506143b382615615565b600582019050919050565b60006143cb605283614bec565b91506143d68261563e565b606082019050919050565b60006143ee602f83614bec565b91506143f9826156b3565b604082019050919050565b6000614411602183614bec565b915061441c82615702565b604082019050919050565b6000614434600083614be1565b915061443f82615751565b600082019050919050565b6000614457603183614bec565b915061446282615754565b604082019050919050565b600061447a604183614bec565b9150614485826157a3565b606082019050919050565b600061449d602c83614bec565b91506144a882615818565b604082019050919050565b60006144c0601783614bfd565b91506144cb82615867565b601782019050919050565b60006144e3602a83614bec565b91506144ee82615890565b604082019050919050565b6000614506604383614bec565b9150614511826158df565b606082019050919050565b6000614529603083614bec565b915061453482615954565b604082019050919050565b600061454c601983614bec565b9150614557826159a3565b602082019050919050565b600061456f601183614bfd565b915061457a826159cc565b601182019050919050565b6000614592602f83614bec565b915061459d826159f5565b604082019050919050565b6145b181614dd7565b82525050565b60006145c38285614060565b91506145cf828461402f565b91506145da8261439b565b91508190509392505050565b60006145f182614427565b9150819050919050565b6000614606826144b3565b9150614612828561402f565b915061461d82614562565b9150614629828461402f565b91508190509392505050565b600060208201905061464a6000830184613f90565b92915050565b60006060820190506146656000830186613f90565b6146726020830185613f90565b61467f60408301846145a8565b949350505050565b600060808201905061469c6000830187613f90565b6146a96020830186613f90565b6146b660408301856145a8565b81810360608301526146c88184613fbd565b905095945050505050565b60006040820190506146e86000830185613f90565b6146f560208301846145a8565b9392505050565b60006020820190506147116000830184613f9f565b92915050565b600060208201905061472c6000830184613fae565b92915050565b6000602082019050818103600083015261474c8184613ff6565b905092915050565b6000602082019050818103600083015261476d816140df565b9050919050565b6000602082019050818103600083015261478d81614102565b9050919050565b600060208201905081810360008301526147ad81614125565b9050919050565b600060208201905081810360008301526147cd81614148565b9050919050565b600060208201905081810360008301526147ed8161416b565b9050919050565b6000602082019050818103600083015261480d8161418e565b9050919050565b6000602082019050818103600083015261482d816141b1565b9050919050565b6000602082019050818103600083015261484d816141d4565b9050919050565b6000602082019050818103600083015261486d816141f7565b9050919050565b6000602082019050818103600083015261488d8161421a565b9050919050565b600060208201905081810360008301526148ad8161423d565b9050919050565b600060208201905081810360008301526148cd81614260565b9050919050565b600060208201905081810360008301526148ed81614283565b9050919050565b6000602082019050818103600083015261490d816142a6565b9050919050565b6000602082019050818103600083015261492d816142c9565b9050919050565b6000602082019050818103600083015261494d816142ec565b9050919050565b6000602082019050818103600083015261496d8161430f565b9050919050565b6000602082019050818103600083015261498d81614332565b9050919050565b600060208201905081810360008301526149ad81614355565b9050919050565b600060208201905081810360008301526149cd81614378565b9050919050565b600060208201905081810360008301526149ed816143be565b9050919050565b60006020820190508181036000830152614a0d816143e1565b9050919050565b60006020820190508181036000830152614a2d81614404565b9050919050565b60006020820190508181036000830152614a4d8161444a565b9050919050565b60006020820190508181036000830152614a6d8161446d565b9050919050565b60006020820190508181036000830152614a8d81614490565b9050919050565b60006020820190508181036000830152614aad816144d6565b9050919050565b60006020820190508181036000830152614acd816144f9565b9050919050565b60006020820190508181036000830152614aed8161451c565b9050919050565b60006020820190508181036000830152614b0d8161453f565b9050919050565b60006020820190508181036000830152614b2d81614585565b9050919050565b6000602082019050614b4960008301846145a8565b92915050565b6000614b59614b6a565b9050614b658282614e97565b919050565b6000604051905090565b600067ffffffffffffffff821115614b8f57614b8e61502d565b5b614b9882615070565b9050602081019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000614c1382614dd7565b9150614c1e83614dd7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614c5357614c52614f42565b5b828201905092915050565b6000614c6982614dd7565b9150614c7483614dd7565b925082614c8457614c83614f71565b5b828204905092915050565b6000614c9a82614dd7565b9150614ca583614dd7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614cde57614cdd614f42565b5b828202905092915050565b6000614cf482614de1565b9150614cff83614de1565b9250816bffffffffffffffffffffffff0483118215151615614d2457614d23614f42565b5b828202905092915050565b6000614d3a82614dd7565b9150614d4583614dd7565b925082821015614d5857614d57614f42565b5b828203905092915050565b6000614d6e82614db7565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006bffffffffffffffffffffffff82169050919050565b82818337600083830152505050565b60005b83811015614e26578082015181840152602081019050614e0b565b83811115614e35576000848401525b50505050565b6000614e4682614dd7565b91506000821415614e5a57614e59614f42565b5b600182039050919050565b60006002820490506001821680614e7d57607f821691505b60208210811415614e9157614e90614fa0565b5b50919050565b614ea082615070565b810181811067ffffffffffffffff82111715614ebf57614ebe61502d565b5b80604052505050565b6000614ed382614dd7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614f0657614f05614f42565b5b600182019050919050565b6000614f1c82614dd7565b9150614f2783614dd7565b925082614f3757614f36614f71565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f534f434672616374696f6e616c697a65725f307855726b656c526f6f7374723a60008201527f2043616c6c6572206d7573742068617665206d696e74657220726f6c6520746f60208201527f207570646174652070726963652e000000000000000000000000000000000000604082015250565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f4552433732315061757361626c653a20746f6b656e207472616e73666572207760008201527f68696c6520706175736564000000000000000000000000000000000000000000602082015250565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f534f434672616374696f6e616c697a65725f307855726b656c526f6f7374723a60008201527f204d7573742068617665206d696e74657220726f6c6520746f2077697468647260208201527f6177207061796d656e7400000000000000000000000000000000000000000000604082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b7f4e6f7420656e6f756768204e465473206c656674210000000000000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f534f434672616374696f6e616c697a65725f307855726b656c526f6f7374723a60008201527f204e6f2061766178206c65667420746f2077697468647261772e000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b7f534f434672616374696f6e616c697a65725f307855726b656c526f6f7374723a60008201527f206d7573742068617665206d696e74657220726f6c6520746f206368616e676560208201527f20726f79616c7469657320616464726573730000000000000000000000000000604082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b50565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f534f434672616374696f6e616c697a65725f307855726b656c526f6f7374723a60008201527f204e6f7420656e6f756768206176617820746f207075726368617365204e465460208201527f2e00000000000000000000000000000000000000000000000000000000000000604082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b7f534f434672616374696f6e616c697a65725f307855726b656c436869636b656e60008201527f3a204e6f7420656e6f75676820746f6b656e20746f207075726368617365204e60208201527f46542e0000000000000000000000000000000000000000000000000000000000604082015250565b7f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656400000000000000000000000000000000602082015250565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b615a4d81614d63565b8114615a5857600080fd5b50565b615a6481614d75565b8114615a6f57600080fd5b50565b615a7b81614d81565b8114615a8657600080fd5b50565b615a9281614d8b565b8114615a9d57600080fd5b50565b615aa981614dd7565b8114615ab457600080fd5b50565b615ac081614de1565b8114615acb57600080fd5b5056fea264697066735822122087b29aee79ede37c32212c54d4da6870f7cf4a501dd06a81727f2391e0f1770064736f6c63430008070033000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000bc62fe5210d714828857ab9243b0711c510b4831000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000d02ab486cedc0000000000000000000000000000b5048a16f79f5ec8435b70597554c2bdf9a48967000000000000000000000000f6a6b4f508855fb8106d8d69131c8a767cf77e4e0000000000000000000000000000000000000000000000000000000000000020534f43204672616374696f6e616c73202d20307855726b656c20526f6f7374720000000000000000000000000000000000000000000000000000000000000005534f434630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005568747470733a2f2f75726b656c6c6162732e6d7970696e6174612e636c6f75642f697066732f516d647a656635445a716e4b796e426f65336b533166565377357147787135426b7559354c55717436347a6d4e322f0000000000000000000000