[ { "inputs": [ { "internalType": "string", "name": "baseURI_", "type": "string" }, { "internalType": "string", "name": "notRevealedUri_", "type": "string" }, { "internalType": "address", "name": "admin_", "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": true, "internalType": "uint256", "name": "tokenID", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "balance", "type": "uint256" } ], "name": "ClaimReward", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "balance", "type": "uint256" } ], "name": "ClaimRewards", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "MAX_NFT_SUPPLY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINT_PRICE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_mintedByWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "_minters", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "giveawayMax_", "type": "uint256" } ], "name": "addToGiveawayMax", "outputs": [], "stateMutability": "nonpayable", "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": "baseExtension", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenID_", "type": "uint256" } ], "name": "claimReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "claimRewards", "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": "uint256", "name": "tokenID_", "type": "uint256" } ], "name": "getReflectionBalance", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender_", "type": "address" } ], "name": "getReflectionBalances", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "counts_", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "notRevealedUri", "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": [ { "internalType": "bool", "name": "state_", "type": "bool" } ], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pendingCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "winners_", "type": "address[]" } ], "name": "randomGiveaway", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "reveal", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "revealed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ], "name": "walletOfOwner", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" } ]
60806040526040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600c908051906020019062000051929190620004ea565b506000600d60006101000a81548160ff0219169083151502179055506001601060006101000a81548160ff0219169083151502179055506127106011556032601955348015620000a057600080fd5b5060405162005edd38038062005edd8339818101604052810190620000c691906200062f565b6040518060400160405280600681526020017f527974656c6c00000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f525954000000000000000000000000000000000000000000000000000000000081525084846127108484816000908051906020019062000151929190620004ea565b5080600190805190602001906200016a929190620004ea565b5050506200018d620001816200020560201b60201c565b6200020d60201b60201c565b6200019e83620002d360201b60201c565b620001af826200041560201b60201c565b80600f81905550505050505080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505062000aaf565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620002e36200020560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000309620004c060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000362576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000359906200082d565b60405180910390fd5b80604051602001620003759190620007d9565b60405160208183030381529060405280519060200120600b6040516020016200039f9190620007f2565b604051602081830303815290604052805190602001201415620003f9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003f0906200080b565b60405180910390fd5b80600b908051906020019062000411929190620004ea565b5050565b620004256200020560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200044b620004c060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620004a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200049b906200082d565b60405180910390fd5b80600e9080519060200190620004bc929190620004ea565b5050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620004f89062000954565b90600052602060002090601f0160209004810192826200051c576000855562000568565b82601f106200053757805160ff191683800117855562000568565b8280016001018555821562000568579182015b82811115620005675782518255916020019190600101906200054a565b5b5090506200057791906200057b565b5090565b5b80821115620005965760008160009055506001016200057c565b5090565b6000620005b1620005ab8462000878565b6200084f565b905082815260208101848484011115620005d057620005cf62000a23565b5b620005dd8482856200091e565b509392505050565b600081519050620005f68162000a95565b92915050565b600082601f83011262000614576200061362000a1e565b5b8151620006268482602086016200059a565b91505092915050565b6000806000606084860312156200064b576200064a62000a2d565b5b600084015167ffffffffffffffff8111156200066c576200066b62000a28565b5b6200067a86828701620005fc565b935050602084015167ffffffffffffffff8111156200069e576200069d62000a28565b5b620006ac86828701620005fc565b9250506040620006bf86828701620005e5565b9150509250925092565b6000620006d682620008c3565b620006e28185620008df565b9350620006f48185602086016200091e565b80840191505092915050565b600081546200070f8162000954565b6200071b8186620008df565b945060018216600081146200073957600181146200074b5762000782565b60ff1983168652818601935062000782565b6200075685620008ae565b60005b838110156200077a5781548189015260018201915060208101905062000759565b838801955050505b50505092915050565b60006200079a601f83620008ce565b9150620007a78262000a43565b602082019050919050565b6000620007c1602083620008ce565b9150620007ce8262000a6c565b602082019050919050565b6000620007e78284620006c9565b915081905092915050565b600062000800828462000700565b915081905092915050565b6000602082019050818103600083015262000826816200078b565b9050919050565b600060208201905081810360008301526200084881620007b2565b9050919050565b60006200085b6200086e565b90506200086982826200098a565b919050565b6000604051905090565b600067ffffffffffffffff821115620008965762000895620009ef565b5b620008a18262000a32565b9050602081019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b6000620008f782620008fe565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60005b838110156200093e57808201518184015260208101905062000921565b838111156200094e576000848401525b50505050565b600060028204905060018216806200096d57607f821691505b60208210811415620009845762000983620009c0565b5b50919050565b620009958262000a32565b810181811067ffffffffffffffff82111715620009b757620009b6620009ef565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4552433732314d657461646174613a2065786973746564206261736555524900600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b62000aa081620008ea565b811462000aac57600080fd5b50565b61541e8062000abf6000396000f3fe6080604052600436106102245760003560e01c8063715018a611610123578063ae169a50116100ab578063c87b56dd1161006f578063c87b56dd1461081f578063e985e9c51461085c578063ea70b4af14610899578063eea2e99a146108c4578063f2fde38b146108ed57610224565b8063ae169a501461074c578063b5077f4414610775578063b88d4fde146107a0578063c002d23d146107c9578063c6682862146107f457610224565b806395d89b41116100f257806395d89b4114610688578063a0712d68146106b3578063a22cb465146106cf578063a475b5dd146106f8578063a708d4041461070f57610224565b8063715018a6146105e05780637486298b146105f75780637d9c059b146106205780638da5cb5b1461065d57610224565b80632a29ad14116101b15780634f6ccce7116101755780634f6ccce7146104d357806351830227146105105780635c975abb1461053b5780636352211e1461056657806370a08231146105a357610224565b80632a29ad14146103dc5780632f745c5914610419578063372500ab1461045657806342842e0e1461046d578063438b63001461049657610224565b8063081812fc116101f8578063081812fc146102f7578063081c8c4414610334578063095ea7b31461035f57806318160ddd1461038857806323b872dd146103b357610224565b8062fe50c61461022957806301ffc9a71461026657806302329a29146102a357806306fdde03146102cc575b600080fd5b34801561023557600080fd5b50610250600480360381019061024b9190613b5c565b610916565b60405161025d91906146c5565b60405180910390f35b34801561027257600080fd5b5061028d60048036038101906102889190613b02565b610947565b60405161029a91906142a8565b60405180910390f35b3480156102af57600080fd5b506102ca60048036038101906102c59190613ad5565b6109c1565b005b3480156102d857600080fd5b506102e1610a5a565b6040516102ee91906142c3565b60405180910390f35b34801561030357600080fd5b5061031e60048036038101906103199190613b5c565b610aec565b60405161032b919061421f565b60405180910390f35b34801561034057600080fd5b50610349610b71565b60405161035691906142c3565b60405180910390f35b34801561036b57600080fd5b5061038660048036038101906103819190613a4c565b610bff565b005b34801561039457600080fd5b5061039d610d17565b6040516103aa91906146c5565b60405180910390f35b3480156103bf57600080fd5b506103da60048036038101906103d59190613936565b610d21565b005b3480156103e857600080fd5b5061040360048036038101906103fe9190613b5c565b610d81565b604051610410919061421f565b60405180910390f35b34801561042557600080fd5b50610440600480360381019061043b9190613a4c565b610db4565b60405161044d91906146c5565b60405180910390f35b34801561046257600080fd5b5061046b610e59565b005b34801561047957600080fd5b50610494600480360381019061048f9190613936565b610ff0565b005b3480156104a257600080fd5b506104bd60048036038101906104b891906138c9565b611010565b6040516104ca9190614286565b60405180910390f35b3480156104df57600080fd5b506104fa60048036038101906104f59190613b5c565b6110be565b60405161050791906146c5565b60405180910390f35b34801561051c57600080fd5b5061052561112f565b60405161053291906142a8565b60405180910390f35b34801561054757600080fd5b50610550611142565b60405161055d91906142a8565b60405180910390f35b34801561057257600080fd5b5061058d60048036038101906105889190613b5c565b611155565b60405161059a919061421f565b60405180910390f35b3480156105af57600080fd5b506105ca60048036038101906105c591906138c9565b611207565b6040516105d791906146c5565b60405180910390f35b3480156105ec57600080fd5b506105f56112bf565b005b34801561060357600080fd5b5061061e60048036038101906106199190613a8c565b611347565b005b34801561062c57600080fd5b50610647600480360381019061064291906138c9565b611504565b60405161065491906146c5565b60405180910390f35b34801561066957600080fd5b5061067261151c565b60405161067f919061421f565b60405180910390f35b34801561069457600080fd5b5061069d611546565b6040516106aa91906142c3565b60405180910390f35b6106cd60048036038101906106c89190613b5c565b6115d8565b005b3480156106db57600080fd5b506106f660048036038101906106f19190613a0c565b6118b2565b005b34801561070457600080fd5b5061070d6118c8565b005b34801561071b57600080fd5b50610736600480360381019061073191906138c9565b611961565b60405161074391906146c5565b60405180910390f35b34801561075857600080fd5b50610773600480360381019061076e9190613b5c565b611a34565b005b34801561078157600080fd5b5061078a611c4b565b60405161079791906146c5565b60405180910390f35b3480156107ac57600080fd5b506107c760048036038101906107c29190613989565b611c51565b005b3480156107d557600080fd5b506107de611cb3565b6040516107eb91906146c5565b60405180910390f35b34801561080057600080fd5b50610809611cbf565b60405161081691906142c3565b60405180910390f35b34801561082b57600080fd5b5061084660048036038101906108419190613b5c565b611d4d565b60405161085391906142c3565b60405180910390f35b34801561086857600080fd5b50610883600480360381019061087e91906138f6565b611eaf565b60405161089091906142a8565b60405180910390f35b3480156108a557600080fd5b506108ae611f43565b6040516108bb91906146c5565b60405180910390f35b3480156108d057600080fd5b506108eb60048036038101906108e69190613b5c565b611f49565b005b3480156108f957600080fd5b50610914600480360381019061090f91906138c9565b612033565b005b6000610940601760008481526020019081526020016000205460155461212b90919063ffffffff16565b9050919050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806109ba57506109b982612141565b5b9050919050565b6109c9612223565b73ffffffffffffffffffffffffffffffffffffffff166109e761151c565b73ffffffffffffffffffffffffffffffffffffffff1614610a3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3490614585565b60405180910390fd5b80601060006101000a81548160ff02191690831515021790555050565b606060008054610a69906149be565b80601f0160208091040260200160405190810160405280929190818152602001828054610a95906149be565b8015610ae25780601f10610ab757610100808354040283529160200191610ae2565b820191906000526020600020905b815481529060010190602001808311610ac557829003601f168201915b5050505050905090565b6000610af78261222b565b610b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2d90614565565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600e8054610b7e906149be565b80601f0160208091040260200160405190810160405280929190818152602001828054610baa906149be565b8015610bf75780601f10610bcc57610100808354040283529160200191610bf7565b820191906000526020600020905b815481529060010190602001808311610bda57829003601f168201915b505050505081565b6000610c0a82611155565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7290614605565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610c9a612223565b73ffffffffffffffffffffffffffffffffffffffff161480610cc95750610cc881610cc3612223565b611eaf565b5b610d08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cff906144a5565b60405180910390fd5b610d128383612297565b505050565b6000601854905090565b610d32610d2c612223565b82612350565b610d71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6890614625565b60405180910390fd5b610d7c83838361242e565b505050565b60126020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610dbf83611207565b8210610e00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df790614325565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b6000610e6b610e66612223565b611207565b90506000805b82811015610f48576000610e8c610e86612223565b83610db4565b9050600073ffffffffffffffffffffffffffffffffffffffff1661272b600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610efc5750610f35565b610f17610f0882610916565b8461268a90919063ffffffff16565b92506015546017600083815260200190815260200160002081905550505b8080610f4090614a21565b915050610e71565b50610f51612223565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f96573d6000803e3d6000fd5b50610f9f612223565b73ffffffffffffffffffffffffffffffffffffffff167f1f89f96333d3133000ee447473151fa9606543368f02271c9d95ae14f13bcc6782604051610fe491906146c5565b60405180910390a25050565b61100b83838360405180602001604052806000815250611c51565b505050565b6060600061101d83611207565b905060008167ffffffffffffffff81111561103b5761103a614b90565b5b6040519080825280602002602001820160405280156110695781602001602082028036833780820191505090505b50905060005b828110156110b3576110818582610db4565b82828151811061109457611093614b61565b5b60200260200101818152505080806110ab90614a21565b91505061106f565b508092505050919050565b60006110c86126a0565b8210611109576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110090614665565b60405180910390fd5b6008828154811061111d5761111c614b61565b5b90600052602060002001549050919050565b600d60009054906101000a900460ff1681565b601060009054906101000a900460ff1681565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f5906144e5565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126f906144c5565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6112c7612223565b73ffffffffffffffffffffffffffffffffffffffff166112e561151c565b73ffffffffffffffffffffffffffffffffffffffff161461133b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133290614585565b60405180910390fd5b61134560006126ad565b565b61134f612223565b73ffffffffffffffffffffffffffffffffffffffff1661136d61151c565b73ffffffffffffffffffffffffffffffffffffffff16146113c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ba90614585565b60405180910390fd5b6019546113e482516113d661272c612773565b61268a90919063ffffffff16565b1115611425576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141c90614525565b60405180910390fd5b60005b81518110156114e457600061145683838151811061144957611448614b61565b5b6020026020010151612781565b905082828151811061146b5761146a614b61565b5b602002602001015161272b600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506114d061272c612954565b5080806114dc90614a21565b915050611428565b506114fb815160185461268a90919063ffffffff16565b60188190555050565b60136020528060005260406000206000915090505481565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054611555906149be565b80601f0160208091040260200160405190810160405280929190818152602001828054611581906149be565b80156115ce5780601f106115a3576101008083540402835291602001916115ce565b820191906000526020600020905b8154815290600101906020018083116115b157829003601f168201915b5050505050905090565b60006011541161161d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611614906142e5565b60405180910390fd5b60008111611660576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165790614405565b60405180910390fd5b61271061167d8261166f610d17565b61268a90919063ffffffff16565b11156116be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b590614305565b60405180910390fd5b601060009054906101000a900460ff161561170e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611705906143e5565b60405180910390fd5b6014811115611752576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174990614685565b60405180910390fd5b60326117ad8260136000611764612223565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461268a90919063ffffffff16565b11156117ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e590614645565b60405180910390fd5b3461180a826722b1c8c1227a000061296a90919063ffffffff16565b1461184a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184190614505565b60405180910390fd5b60005b818110156118ae57611865611860612223565b612781565b5060016018600082825461187991906147f3565b9250508190555061189b611896833461298090919063ffffffff16565b612996565b80806118a690614a21565b91505061184d565b5050565b6118c46118bd612223565b8383612a4f565b5050565b6118d0612223565b73ffffffffffffffffffffffffffffffffffffffff166118ee61151c565b73ffffffffffffffffffffffffffffffffffffffff1614611944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193b90614585565b60405180910390fd5b6001600d60006101000a81548160ff021916908315150217905550565b60008061196d83611207565b90506000805b82811015611a295760006119878683610db4565b9050600073ffffffffffffffffffffffffffffffffffffffff1661272b600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119f75750611a16565b611a12611a0382610916565b8461268a90919063ffffffff16565b9250505b8080611a2190614a21565b915050611973565b508092505050919050565b611a3c612223565b73ffffffffffffffffffffffffffffffffffffffff16611a5b82611155565b73ffffffffffffffffffffffffffffffffffffffff161480611ab75750611a80612223565b73ffffffffffffffffffffffffffffffffffffffff16611a9f82610aec565b73ffffffffffffffffffffffffffffffffffffffff16145b611af6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aed90614385565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1661272b600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b90906146a5565b60405180910390fd5b6000611ba482610916565b9050611baf82611155565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611bf4573d6000803e3d6000fd5b506015546017600084815260200190815260200160002081905550817f179780be10c742bdbc92cd0af59e83edeb067cd1954ef4d647827d8504c7c2ca82604051611c3f91906146c5565b60405180910390a25050565b61271081565b611c62611c5c612223565b83612350565b611ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9890614625565b60405180910390fd5b611cad84848484612bbc565b50505050565b6722b1c8c1227a000081565b600c8054611ccc906149be565b80601f0160208091040260200160405190810160405280929190818152602001828054611cf8906149be565b8015611d455780601f10611d1a57610100808354040283529160200191611d45565b820191906000526020600020905b815481529060010190602001808311611d2857829003601f168201915b505050505081565b6060600f54821115611d94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8b906145c5565b60405180910390fd5b611d9d8261222b565b1580611db65750600d60009054906101000a900460ff16155b15611e4d57600e8054611dc8906149be565b80601f0160208091040260200160405190810160405280929190818152602001828054611df4906149be565b8015611e415780601f10611e1657610100808354040283529160200191611e41565b820191906000526020600020905b815481529060010190602001808311611e2457829003601f168201915b50505050509050611eaa565b6000600b8054611e5c906149be565b905011611e785760405180602001604052806000815250611ea7565b600b611e8383612c18565b600c604051602001611e97939291906141b1565b6040516020818303038152906040525b90505b919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60115481565b611f51612223565b73ffffffffffffffffffffffffffffffffffffffff16611f6f61151c565b73ffffffffffffffffffffffffffffffffffffffff1614611fc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbc90614585565b60405180910390fd5b60008110158015611fd857506127108111155b612017576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200e906143c5565b60405180910390fd5b806019600082825461202991906147f3565b9250508190555050565b61203b612223565b73ffffffffffffffffffffffffffffffffffffffff1661205961151c565b73ffffffffffffffffffffffffffffffffffffffff16146120af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a690614585565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561211f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211690614365565b60405180910390fd5b612128816126ad565b50565b6000818361213991906148d4565b905092915050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061220c57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061221c575061221b82612d79565b5b9050919050565b600033905090565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661230a83611155565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061235b8261222b565b61239a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239190614465565b60405180910390fd5b60006123a583611155565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061241457508373ffffffffffffffffffffffffffffffffffffffff166123fc84610aec565b73ffffffffffffffffffffffffffffffffffffffff16145b8061242557506124248185611eaf565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661244e82611155565b73ffffffffffffffffffffffffffffffffffffffff16146124a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249b906145a5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250b90614425565b60405180910390fd5b61251f838383612de3565b61252a600082612297565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461257a91906148d4565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125d191906147f3565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000818361269891906147f3565b905092915050565b6000600880549050905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081600001549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156127f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127e990614485565b60405180910390fd5b6127106127fd610d17565b1061283d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612834906145e5565b60405180910390fd5b600061286e6001612860601154612852612ef7565b612f2e90919063ffffffff16565b61268a90919063ffffffff16565b9050600061287b82612f44565b9050836012600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461291f91906147f3565b92505081905550601554601760008381526020019081526020016000208190555061294a8482612ffe565b8092505050919050565b6001816000016000828254019250508190555050565b60008183612978919061487a565b905092915050565b6000818361298e9190614849565b905092915050565b60006129bf60646129b160088561296a90919063ffffffff16565b61298090919063ffffffff16565b905060006129d6828461212b90919063ffffffff16565b90506129e18261301c565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612a49573d6000803e3d6000fd5b50505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612abe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ab590614445565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051612baf91906142a8565b60405180910390a3505050565b612bc784848461242e565b612bd384848484613074565b612c12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0990614345565b60405180910390fd5b50505050565b60606000821415612c60576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612d74565b600082905060005b60008214612c92578080612c7b90614a21565b915050600a82612c8b9190614849565b9150612c68565b60008167ffffffffffffffff811115612cae57612cad614b90565b5b6040519080825280601f01601f191660200182016040528015612ce05781602001600182028036833780820191505090505b5090505b60008514612d6d57600182612cf991906148d4565b9150600a85612d089190614a74565b6030612d1491906147f3565b60f81b818381518110612d2a57612d29614b61565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612d669190614849565b9450612ce4565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612dee83838361320b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612e3157612e2c81613210565b612e70565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612e6f57612e6e8382613259565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612eb357612eae816133c6565b612ef2565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612ef157612ef08282613497565b5b5b505050565b60004442601154604051602001612f10939291906141e2565b6040516020818303038152906040528051906020012060001c905090565b60008183612f3c9190614a74565b905092915050565b600080612f7083601a856127118110612f6057612f5f614b61565b5b015461268a90919063ffffffff16565b90506011548314612fdb576000612faa601154601a6011546127118110612f9a57612f99614b61565b5b015461268a90919063ffffffff16565b9050612fbf848261212b90919063ffffffff16565b601a856127118110612fd457612fd3614b61565b5b0181905550505b600160116000828254612fee91906148d4565b9250508190555080915050919050565b613018828260405180602001604052806000815250613516565b5050565b6130318160165461268a90919063ffffffff16565b6016819055506000613053613044610d17565b8361298090919063ffffffff16565b905061306a8160155461268a90919063ffffffff16565b6015819055505050565b60006130958473ffffffffffffffffffffffffffffffffffffffff16613571565b156131fe578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026130be612223565b8786866040518563ffffffff1660e01b81526004016130e0949392919061423a565b602060405180830381600087803b1580156130fa57600080fd5b505af192505050801561312b57506040513d601f19601f820116820180604052508101906131289190613b2f565b60015b6131ae573d806000811461315b576040519150601f19603f3d011682016040523d82523d6000602084013e613160565b606091505b506000815114156131a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161319d90614345565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050613203565b600190505b949350505050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161326684611207565b61327091906148d4565b9050600060076000848152602001908152602001600020549050818114613355576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506133da91906148d4565b905060006009600084815260200190815260200160002054905060006008838154811061340a57613409614b61565b5b90600052602060002001549050806008838154811061342c5761342b614b61565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061347b5761347a614b32565b5b6001900381819060005260206000200160009055905550505050565b60006134a283611207565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b6135208383613584565b61352d6000848484613074565b61356c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161356390614345565b60405180910390fd5b505050565b600080823b905060008111915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156135f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135eb90614545565b60405180910390fd5b6135fd8161222b565b1561363d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613634906143a5565b60405180910390fd5b61364960008383612de3565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461369991906147f3565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600061376561376084614705565b6146e0565b9050808382526020820190508285602086028201111561378857613787614bc4565b5b60005b858110156137b8578161379e8882613804565b84526020840193506020830192505060018101905061378b565b5050509392505050565b60006137d56137d084614731565b6146e0565b9050828152602081018484840111156137f1576137f0614bc9565b5b6137fc84828561497c565b509392505050565b6000813590506138138161538c565b92915050565b600082601f83011261382e5761382d614bbf565b5b813561383e848260208601613752565b91505092915050565b600081359050613856816153a3565b92915050565b60008135905061386b816153ba565b92915050565b600081519050613880816153ba565b92915050565b600082601f83011261389b5761389a614bbf565b5b81356138ab8482602086016137c2565b91505092915050565b6000813590506138c3816153d1565b92915050565b6000602082840312156138df576138de614bd3565b5b60006138ed84828501613804565b91505092915050565b6000806040838503121561390d5761390c614bd3565b5b600061391b85828601613804565b925050602061392c85828601613804565b9150509250929050565b60008060006060848603121561394f5761394e614bd3565b5b600061395d86828701613804565b935050602061396e86828701613804565b925050604061397f868287016138b4565b9150509250925092565b600080600080608085870312156139a3576139a2614bd3565b5b60006139b187828801613804565b94505060206139c287828801613804565b93505060406139d3878288016138b4565b925050606085013567ffffffffffffffff8111156139f4576139f3614bce565b5b613a0087828801613886565b91505092959194509250565b60008060408385031215613a2357613a22614bd3565b5b6000613a3185828601613804565b9250506020613a4285828601613847565b9150509250929050565b60008060408385031215613a6357613a62614bd3565b5b6000613a7185828601613804565b9250506020613a82858286016138b4565b9150509250929050565b600060208284031215613aa257613aa1614bd3565b5b600082013567ffffffffffffffff811115613ac057613abf614bce565b5b613acc84828501613819565b91505092915050565b600060208284031215613aeb57613aea614bd3565b5b6000613af984828501613847565b91505092915050565b600060208284031215613b1857613b17614bd3565b5b6000613b268482850161385c565b91505092915050565b600060208284031215613b4557613b44614bd3565b5b6000613b5384828501613871565b91505092915050565b600060208284031215613b7257613b71614bd3565b5b6000613b80848285016138b4565b91505092915050565b6000613b95838361417c565b60208301905092915050565b613baa81614908565b82525050565b6000613bbb82614787565b613bc581856147b5565b9350613bd083614762565b8060005b83811015613c01578151613be88882613b89565b9750613bf3836147a8565b925050600181019050613bd4565b5085935050505092915050565b613c178161491a565b82525050565b6000613c2882614792565b613c3281856147c6565b9350613c4281856020860161498b565b613c4b81614bd8565b840191505092915050565b6000613c618261479d565b613c6b81856147d7565b9350613c7b81856020860161498b565b613c8481614bd8565b840191505092915050565b6000613c9a8261479d565b613ca481856147e8565b9350613cb481856020860161498b565b80840191505092915050565b60008154613ccd816149be565b613cd781866147e8565b94506001821660008114613cf25760018114613d0357613d36565b60ff19831686528186019350613d36565b613d0c85614772565b60005b83811015613d2e57815481890152600182019150602081019050613d0f565b838801955050505b50505092915050565b6000613d4c6012836147d7565b9150613d5782614be9565b602082019050919050565b6000613d6f601a836147d7565b9150613d7a82614c12565b602082019050919050565b6000613d92602b836147d7565b9150613d9d82614c3b565b604082019050919050565b6000613db56032836147d7565b9150613dc082614c8a565b604082019050919050565b6000613dd86026836147d7565b9150613de382614cd9565b604082019050919050565b6000613dfb6030836147d7565b9150613e0682614d28565b604082019050919050565b6000613e1e601c836147d7565b9150613e2982614d77565b602082019050919050565b6000613e416019836147d7565b9150613e4c82614da0565b602082019050919050565b6000613e64601e836147d7565b9150613e6f82614dc9565b602082019050919050565b6000613e87601d836147d7565b9150613e9282614df2565b602082019050919050565b6000613eaa6024836147d7565b9150613eb582614e1b565b604082019050919050565b6000613ecd6019836147d7565b9150613ed882614e6a565b602082019050919050565b6000613ef0602c836147d7565b9150613efb82614e93565b604082019050919050565b6000613f136014836147d7565b9150613f1e82614ee2565b602082019050919050565b6000613f366038836147d7565b9150613f4182614f0b565b604082019050919050565b6000613f59602a836147d7565b9150613f6482614f5a565b604082019050919050565b6000613f7c6029836147d7565b9150613f8782614fa9565b604082019050919050565b6000613f9f601b836147d7565b9150613faa82614ff8565b602082019050919050565b6000613fc2601a836147d7565b9150613fcd82615021565b602082019050919050565b6000613fe56020836147d7565b9150613ff08261504a565b602082019050919050565b6000614008602c836147d7565b915061401382615073565b604082019050919050565b600061402b6020836147d7565b9150614036826150c2565b602082019050919050565b600061404e6029836147d7565b9150614059826150eb565b604082019050919050565b6000614071602f836147d7565b915061407c8261513a565b604082019050919050565b6000614094601a836147d7565b915061409f82615189565b602082019050919050565b60006140b76021836147d7565b91506140c2826151b2565b604082019050919050565b60006140da6031836147d7565b91506140e582615201565b604082019050919050565b60006140fd6029836147d7565b915061410882615250565b604082019050919050565b6000614120602c836147d7565b915061412b8261529f565b604082019050919050565b60006141436031836147d7565b915061414e826152ee565b604082019050919050565b60006141666021836147d7565b91506141718261533d565b604082019050919050565b61418581614972565b82525050565b61419481614972565b82525050565b6141ab6141a682614972565b614a6a565b82525050565b60006141bd8286613cc0565b91506141c98285613c8f565b91506141d58284613cc0565b9150819050949350505050565b60006141ee828661419a565b6020820191506141fe828561419a565b60208201915061420e828461419a565b602082019150819050949350505050565b60006020820190506142346000830184613ba1565b92915050565b600060808201905061424f6000830187613ba1565b61425c6020830186613ba1565b614269604083018561418b565b818103606083015261427b8184613c1d565b905095945050505050565b600060208201905081810360008301526142a08184613bb0565b905092915050565b60006020820190506142bd6000830184613c0e565b92915050565b600060208201905081810360008301526142dd8184613c56565b905092915050565b600060208201905081810360008301526142fe81613d3f565b9050919050565b6000602082019050818103600083015261431e81613d62565b9050919050565b6000602082019050818103600083015261433e81613d85565b9050919050565b6000602082019050818103600083015261435e81613da8565b9050919050565b6000602082019050818103600083015261437e81613dcb565b9050919050565b6000602082019050818103600083015261439e81613dee565b9050919050565b600060208201905081810360008301526143be81613e11565b9050919050565b600060208201905081810360008301526143de81613e34565b9050919050565b600060208201905081810360008301526143fe81613e57565b9050919050565b6000602082019050818103600083015261441e81613e7a565b9050919050565b6000602082019050818103600083015261443e81613e9d565b9050919050565b6000602082019050818103600083015261445e81613ec0565b9050919050565b6000602082019050818103600083015261447e81613ee3565b9050919050565b6000602082019050818103600083015261449e81613f06565b9050919050565b600060208201905081810360008301526144be81613f29565b9050919050565b600060208201905081810360008301526144de81613f4c565b9050919050565b600060208201905081810360008301526144fe81613f6f565b9050919050565b6000602082019050818103600083015261451e81613f92565b9050919050565b6000602082019050818103600083015261453e81613fb5565b9050919050565b6000602082019050818103600083015261455e81613fd8565b9050919050565b6000602082019050818103600083015261457e81613ffb565b9050919050565b6000602082019050818103600083015261459e8161401e565b9050919050565b600060208201905081810360008301526145be81614041565b9050919050565b600060208201905081810360008301526145de81614064565b9050919050565b600060208201905081810360008301526145fe81614087565b9050919050565b6000602082019050818103600083015261461e816140aa565b9050919050565b6000602082019050818103600083015261463e816140cd565b9050919050565b6000602082019050818103600083015261465e816140f0565b9050919050565b6000602082019050818103600083015261467e81614113565b9050919050565b6000602082019050818103600083015261469e81614136565b9050919050565b600060208201905081810360008301526146be81614159565b9050919050565b60006020820190506146da600083018461418b565b92915050565b60006146ea6146fb565b90506146f682826149f0565b919050565b6000604051905090565b600067ffffffffffffffff8211156147205761471f614b90565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561474c5761474b614b90565b5b61475582614bd8565b9050602081019050919050565b6000819050602082019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006147fe82614972565b915061480983614972565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561483e5761483d614aa5565b5b828201905092915050565b600061485482614972565b915061485f83614972565b92508261486f5761486e614ad4565b5b828204905092915050565b600061488582614972565b915061489083614972565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156148c9576148c8614aa5565b5b828202905092915050565b60006148df82614972565b91506148ea83614972565b9250828210156148fd576148fc614aa5565b5b828203905092915050565b600061491382614952565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156149a957808201518184015260208101905061498e565b838111156149b8576000848401525b50505050565b600060028204905060018216806149d657607f821691505b602082108114156149ea576149e9614b03565b5b50919050565b6149f982614bd8565b810181811067ffffffffffffffff82111715614a1857614a17614b90565b5b80604052505050565b6000614a2c82614972565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614a5f57614a5e614aa5565b5b600182019050919050565b6000819050919050565b6000614a7f82614972565b9150614a8a83614972565b925082614a9a57614a99614ad4565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f527974656c6c3a20416c6c206d696e7465640000000000000000000000000000600082015250565b7f527974656c6c3a2073616c6520616c726561647920656e646564000000000000600082015250565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f527974656c6c3a204f6e6c79206f776e6572206f7220617070726f766564206360008201527f616e20636c61696d207265776172647300000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f527974656c6c3a20696e76616c6964206d61782076616c756500000000000000600082015250565b7f527974656c6c3a2054686520636f6e7472616374206973207061757365640000600082015250565b7f527974656c6c3a20436f756e74732063616e6e6f74206265207a65726f000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f527974656c6c3a207a65726f2061646472657373000000000000000000000000600082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f527974656c6c3a20696e76616c69642065746865722076616c75650000000000600082015250565b7f527974656c6c3a206f766572666c6f7720676976656177617973000000000000600082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f527974656c6c3a206d617820737570706c792072656163686564000000000000600082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f527974656c6c3a20596f75206d6179206e6f7420627579206d6f72652074686160008201527f6e203530204e4654730000000000000000000000000000000000000000000000602082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b7f527974656c6c3a20596f75206d6179206e6f7420627579206d6f72652074686160008201527f6e203230204e465473206174206f6e6365000000000000000000000000000000602082015250565b7f527974656c6c3a2043616e277420636c61696d20666f7220676976656177617960008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b61539581614908565b81146153a057600080fd5b50565b6153ac8161491a565b81146153b757600080fd5b50565b6153c381614926565b81146153ce57600080fd5b50565b6153da81614972565b81146153e557600080fd5b5056fea264697066735822122056f7d750def4f78e2039f074f77055e99c0c5ef3e809fb5d90f67d022c0390be64736f6c63430008070033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000006a6cb4397d7d09125229ebd4aace61e52febbb6b0000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d58484a666f4d61446952757a676b56534d6b45734d67514e4174534b72313372747735733539516f484a416d2f000000000000000000000000000000000000000000000000000000000000000000000000000000000041697066733a2f2f516d646738474146766f3242464e695841336f4354483334634c6f6a515572624c4c367947595a48614b4653486d2f68696464656e2e6a736f6e00000000000000000000000000000000000000000000000000000000000000