Overview ERC721
Total Supply:
1,469 JOYBOY

Holders:
473
Profile Summary
Blockchain:
C-Chain (43114)

Contract Source Code Verified (Partial Match)
Contract Name:
Joyboys

Compiler Version
v0.7.0+commit.9e61f92b

Optimization Enabled:
No

Created At:
Fri, 17 Sep 2021 17:06:00 GMT
Joyboys.sol
Joyboys.sol
Joyboys.sol


Contract ABI
[
  {
    "inputs": [],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "approved",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "Approval",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "operator",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "approved",
        "type": "bool"
      }
    ],
    "name": "ApprovalForAll",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "_id",
        "type": "uint256"
      }
    ],
    "name": "Claim",
    "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"
  },
  {
    "stateMutability": "payable",
    "type": "fallback"
  },
  {
    "inputs": [],
    "name": "LATEST_CLAIMED_ID",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "approve",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "canClaim",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "n",
        "type": "uint256"
      }
    ],
    "name": "claim",
    "outputs": [],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "claimPrice",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "claimedTokens",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "flipState",
    "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": [],
    "name": "getBalance",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getNumMinted",
    "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": [],
    "name": "max_mintable",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "minted",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "ownerOf",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "safeTransferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      },
      {
        "internalType": "bytes",
        "name": "_data",
        "type": "bytes"
      }
    ],
    "name": "safeTransferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "operator",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "approved",
        "type": "bool"
      }
    ],
    "name": "setApprovalForAll",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "new_base_uri",
        "type": "string"
      }
    ],
    "name": "set_base_uri",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes4",
        "name": "interfaceId",
        "type": "bytes4"
      }
    ],
    "name": "supportsInterface",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "index",
        "type": "uint256"
      }
    ],
    "name": "tokenByIndex",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "index",
        "type": "uint256"
      }
    ],
    "name": "tokenOfOwnerByIndex",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "tokenURI",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "transferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "transferOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "withdrawBalance",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]


Contract Creation Code
60806040526000600c55670de0b6b3a7640000600e556000601060006101000a81548160ff021916908315150217905550604051806060016040528060258152602001620037756025913960119080519060200190620000619291906200020c565b503480156200006f57600080fd5b506040518060400160405280600781526020017f4a6f79426f7973000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f4a4f59424f5900000000000000000000000000000000000000000000000000008152508160009080519060200190620000f49291906200020c565b5080600190805190602001906200010d9291906200020c565b5050506001600a81905550620001386200012c6200013e60201b60201c565b6200014660201b60201c565b620002b2565b600033905090565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200024f57805160ff191683800117855562000280565b8280016001018555821562000280579182015b828111156200027f57825182559160200191906001019062000262565b5b5090506200028f919062000293565b5090565b5b80821115620002ae57600081600090555060010162000294565b5090565b6134b380620002c26000396000f3fe6080604052600436106101dc5760003560e01c80636352211e11610102578063a9606dcb11610095578063e5a342a311610064578063e5a342a314610b81578063e985e9c514610bd2578063eca4f55614610c59578063f2fde38b14610c84576101e3565b8063a9606dcb146108c8578063af1c5211146108f3578063b88d4fde146109bb578063c87b56dd14610acd576101e3565b80638da5cb5b116100d15780638da5cb5b146107835780638e920351146107c457806395d89b41146107db578063a22cb4651461086b576101e3565b80636352211e146106755780636dc7a627146106da57806370a0823114610707578063715018a61461076c576101e3565b806323b872dd1161017a57806342842e0e1161014957806342842e0e146105695780634f02c420146105e45780634f6ccce71461060f5780635fd8c7101461065e576101e3565b806323b872dd146104265780632f745c59146104a15780633726230a14610510578063379607f51461053b576101e3565b8063095ea7b3116101b6578063095ea7b31461034a57806312065fe0146103a557806315d655c9146103d057806318160ddd146103fb576101e3565b806301ffc9a7146101e557806306fdde0314610255578063081812fc146102e5576101e3565b366101e357005b005b3480156101f157600080fd5b5061023d6004803603602081101561020857600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610cd5565b60405180821515815260200191505060405180910390f35b34801561026157600080fd5b5061026a610d4f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102aa57808201518184015260208101905061028f565b50505050905090810190601f1680156102d75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102f157600080fd5b5061031e6004803603602081101561030857600080fd5b8101908080359060200190929190505050610df1565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035657600080fd5b506103a36004803603604081101561036d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e8c565b005b3480156103b157600080fd5b506103ba610fd0565b6040518082815260200191505060405180910390f35b3480156103dc57600080fd5b506103e5610fdd565b6040518082815260200191505060405180910390f35b34801561040757600080fd5b50610410610fe3565b6040518082815260200191505060405180910390f35b34801561043257600080fd5b5061049f6004803603606081101561044957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ff0565b005b3480156104ad57600080fd5b506104fa600480360360408110156104c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611066565b6040518082815260200191505060405180910390f35b34801561051c57600080fd5b50610525611121565b6040518082815260200191505060405180910390f35b6105676004803603602081101561055157600080fd5b810190808035906020019092919050505061112b565b005b34801561057557600080fd5b506105e26004803603606081101561058c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061136a565b005b3480156105f057600080fd5b506105f961138a565b6040518082815260200191505060405180910390f35b34801561061b57600080fd5b506106486004803603602081101561063257600080fd5b8101908080359060200190929190505050611390565b6040518082815260200191505060405180910390f35b34801561066a57600080fd5b50610673611410565b005b34801561068157600080fd5b506106ae6004803603602081101561069857600080fd5b8101908080359060200190929190505050611515565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106e657600080fd5b506106ef6115dd565b60405180821515815260200191505060405180910390f35b34801561071357600080fd5b506107566004803603602081101561072a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115f0565b6040518082815260200191505060405180910390f35b34801561077857600080fd5b506107816116be565b005b34801561078f57600080fd5b50610798611779565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107d057600080fd5b506107d96117a3565b005b3480156107e757600080fd5b506107f061187e565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610830578082015181840152602081019050610815565b50505050905090810190601f16801561085d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561087757600080fd5b506108c66004803603604081101561088e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611920565b005b3480156108d457600080fd5b506108dd611ad6565b6040518082815260200191505060405180910390f35b3480156108ff57600080fd5b506109b96004803603602081101561091657600080fd5b810190808035906020019064010000000081111561093357600080fd5b82018360208201111561094557600080fd5b8035906020019184600183028401116401000000008311171561096757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611adc565b005b3480156109c757600080fd5b50610acb600480360360808110156109de57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610a4557600080fd5b820183602082011115610a5757600080fd5b80359060200191846001830284011164010000000083111715610a7957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611ba5565b005b348015610ad957600080fd5b50610b0660048036036020811015610af057600080fd5b8101908080359060200190929190505050611c1d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b46578082015181840152602081019050610b2b565b50505050905090810190601f168015610b735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b8d57600080fd5b50610bba60048036036020811015610ba457600080fd5b8101908080359060200190929190505050611d76565b60405180821515815260200191505060405180910390f35b348015610bde57600080fd5b50610c4160048036036040811015610bf557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d96565b60405180821515815260200191505060405180910390f35b348015610c6557600080fd5b50610c6e611e2a565b6040518082815260200191505060405180910390f35b348015610c9057600080fd5b50610cd360048036036020811015610ca757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e30565b005b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610d485750610d4782611f71565b5b9050919050565b606060008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610de75780601f10610dbc57610100808354040283529160200191610de7565b820191906000526020600020905b815481529060010190602001808311610dca57829003601f168201915b5050505050905090565b6000610dfc82612053565b610e51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061337c602c913960400191505060405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610e9782611515565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806134006021913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610f3d6120bf565b73ffffffffffffffffffffffffffffffffffffffff161480610f6c5750610f6b81610f666120bf565b611d96565b5b610fc1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806132f16038913960400191505060405180910390fd5b610fcb83836120c7565b505050565b6000804790508091505090565b600e5481565b6000600880549050905090565b611001610ffb6120bf565b82612180565b611056576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806134216031913960400191505060405180910390fd5b611061838383612274565b505050565b6000611071836115f0565b82106110c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061321e602b913960400191505060405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b6000600c54905090565b6002600a5414156111a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6002600a81905550601060009054906101000a900460ff1661122e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f636c61696d20686173206e6f742073746172746564207965742e00000000000081525060200191505060405180910390fd5b6000811161123b57600080fd5b602881111561124957600080fd5b600c546109c40381111561125c57600080fd5b600081600e540290508034101561127257600080fd5b600081340390503073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156112bf573d6000803e3d6000fd5b5060005b83811015611302576000600c5490506001600c600082825401925050819055506112f46112ee6120bf565b826124ea565b5080806001019150506112c3565b506001600c5403600d819055506113176120bf565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561135c573d6000803e3d6000fd5b5050506001600a8190555050565b61138583838360405180602001604052806000815250611ba5565b505050565b600c5481565b600061139a610fe3565b82106113f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180613452602c913960400191505060405180910390fd5b600882815481106113fe57fe5b90600052602060002001549050919050565b6114186120bf565b73ffffffffffffffffffffffffffffffffffffffff16611436611779565b73ffffffffffffffffffffffffffffffffffffffff16146114bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60004790506114cc6120bf565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611511573d6000803e3d6000fd5b5050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156115d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806133536029913960400191505060405180910390fd5b80915050919050565b601060009054906101000a900460ff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613329602a913960400191505060405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6116c66120bf565b73ffffffffffffffffffffffffffffffffffffffff166116e4611779565b73ffffffffffffffffffffffffffffffffffffffff161461176d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6117776000612508565b565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6117ab6120bf565b73ffffffffffffffffffffffffffffffffffffffff166117c9611779565b73ffffffffffffffffffffffffffffffffffffffff1614611852576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b601060009054906101000a900460ff1615601060006101000a81548160ff021916908315150217905550565b606060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119165780601f106118eb57610100808354040283529160200191611916565b820191906000526020600020905b8154815290600101906020018083116118f957829003601f168201915b5050505050905090565b6119286120bf565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4552433732313a20617070726f766520746f2063616c6c65720000000000000081525060200191505060405180910390fd5b80600560006119d66120bf565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611a836120bf565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b6109c481565b611ae46120bf565b73ffffffffffffffffffffffffffffffffffffffff16611b02611779565b73ffffffffffffffffffffffffffffffffffffffff1614611b8b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060119080519060200190611ba1929190613180565b5050565b611bb6611bb06120bf565b83612180565b611c0b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806134216031913960400191505060405180910390fd5b611c17848484846125ce565b50505050565b6060611c2882612053565b611c7d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806133d1602f913960400191505060405180910390fd5b6060611c87612640565b90506000815111611ca75760405180602001604052806000815250611d6e565b80611cb1846126e2565b6040516020018083805190602001908083835b60208310611ce75780518252602082019150602081019050602083039250611cc4565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b60208310611d385780518252602082019150602081019050602083039250611d15565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040525b915050919050565b600f6020528060005260406000206000915054906101000a900460ff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600d5481565b611e386120bf565b73ffffffffffffffffffffffffffffffffffffffff16611e56611779565b73ffffffffffffffffffffffffffffffffffffffff1614611edf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611f65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061327b6026913960400191505060405180910390fd5b611f6e81612508565b50565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061203c57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061204c575061204b8261281c565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661213a83611515565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061218b82612053565b6121e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806132c5602c913960400191505060405180910390fd5b60006121eb83611515565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061225a57508373ffffffffffffffffffffffffffffffffffffffff1661224284610df1565b73ffffffffffffffffffffffffffffffffffffffff16145b8061226b575061226a8185611d96565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661229482611515565b73ffffffffffffffffffffffffffffffffffffffff1614612300576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806133a86029913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612386576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806132a16024913960400191505060405180910390fd5b612391838383612886565b61239c6000826120c7565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b61250482826040518060200160405280600081525061299a565b5050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6125d9848484612274565b6125e584848484612a0b565b61263a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806132496032913960400191505060405180910390fd5b50505050565b606060118054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156126d85780601f106126ad576101008083540402835291602001916126d8565b820191906000526020600020905b8154815290600101906020018083116126bb57829003601f168201915b5050505050905090565b6060600082141561272a576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612817565b600082905060005b60008214612754578080600101915050600a828161274c57fe5b049150612732565b60608167ffffffffffffffff8111801561276d57600080fd5b506040519080825280601f01601f1916602001820160405280156127a05781602001600182028036833780820191505090505b5090505b6000851461281057600182039150600a85816127bc57fe5b0660300160f81b8183815181106127cf57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a858161280857fe5b0494506127a4565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612891838383612c5e565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156128d4576128cf81612c63565b612913565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612912576129118382612cac565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156129565761295181612e10565b612995565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612994576129938282612ec3565b5b5b505050565b6129a48383612f42565b6129b16000848484612a0b565b612a06576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806132496032913960400191505060405180910390fd5b505050565b6000612a2c8473ffffffffffffffffffffffffffffffffffffffff1661316d565b15612c51578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612a556120bf565b8786866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612ae5578082015181840152602081019050612aca565b50505050905090810190601f168015612b125780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015612b3457600080fd5b505af1925050508015612b6857506040513d6020811015612b5457600080fd5b810190808051906020019092919050505060015b612c01573d8060008114612b98576040519150601f19603f3d011682016040523d82523d6000602084013e612b9d565b606091505b50600081511415612bf9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806132496032913960400191505060405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612c56565b600190505b949350505050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612cb9846115f0565b039050600060076000848152602001908152602001600020549050818114612d9f576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600880549050039050600060096000848152602001908152602001600020549050600060088381548110612e4457fe5b906000526020600020015490508060088381548110612e5f57fe5b906000526020600020018190555081600960008381526020019081526020016000208190555060096000858152602001908152602001600020600090556008805480612ea757fe5b6001900381819060005260206000200160009055905550505050565b6000612ece836115f0565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612fe5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4552433732313a206d696e7420746f20746865207a65726f206164647265737381525060200191505060405180910390fd5b612fee81612053565b15613061576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000081525060200191505060405180910390fd5b61306d60008383612886565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106131c157805160ff19168380011785556131ef565b828001600101855582156131ef579182015b828111156131ee5782518255916020019190600101906131d3565b5b5090506131fc9190613200565b5090565b5b80821115613219576000816000905550600101613201565b509056fe455243373231456e756d657261626c653a206f776e657220696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564455243373231456e756d657261626c653a20676c6f62616c20696e646578206f7574206f6620626f756e6473a26469706673582212201aea7c70e3fe03ddb49a3b96588f6649393f34fb6ba6ba86ad20a6a2aa1ccf0c64736f6c6343000700003368747470733a2f2f7777772e6a6f79626f79736e66742e636f6d2f6368617261637465722f