Overview ERC20
PRICE
$0.055374

ON-CHAIN MARKET CAP n/a

Total Supply:
1,000,000,000.00 NINU

Holders:
263
Profile Summary
Blockchain:
Ethereum (1)


Decimals:
9
Contract Source Code Verified (Partial Match)
Contract Name:
NINU

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
No

Created At:
Mon, 19 Aug 2024 19:21:11 GMT
NINU.sol
NINU.sol
NINU.sol


Contract ABI
[
  {
    "inputs": [],
    "stateMutability": "payable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Approval",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "_maxTxAmount",
        "type": "uint256"
      }
    ],
    "name": "MaxTxAmountUpdated",
    "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": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Transfer",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "_tax",
        "type": "uint256"
      }
    ],
    "name": "TransferTaxUpdated",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "_maxTaxSwap",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_maxTxAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_maxWalletSize",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_taxSwapThreshold",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address[]",
        "name": "bots_",
        "type": "address[]"
      }
    ],
    "name": "addBots",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      }
    ],
    "name": "allowance",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "approve",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "beginTrading",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "decimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address[]",
        "name": "notbot",
        "type": "address[]"
      }
    ],
    "name": "delBots",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "disableTransactionLimits",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_newFee",
        "type": "uint256"
      }
    ],
    "name": "editTaxes",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "a",
        "type": "address"
      }
    ],
    "name": "isBot",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "lowerTransferTax",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "manuallySwapTokens",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "transfer",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "sender",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "transferFrom",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]


Contract Creation Code
6080604052601960065560196007555f6008555f6009556014600a556019600b556019600c556046600d555f600e556009600a6200003e9190620005d5565b62e4e1c06200004e919062000625565b600f556009600a620000619190620005d5565b62e4e1c062000071919062000625565b6010556009600a620000849190620005d5565b6298968062000094919062000625565b6011556009600a620000a79190620005d5565b62989680620000b7919062000625565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff0219169083151502179055505f6015555f6016555f620001076200041560201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073bdcaad84864b64712f78ed2f6be5ba3780fda2d260055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620002079190620005d5565b633b9aca0062000218919062000625565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6200026e6200041c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620003e79190620005d5565b633b9aca00620003f8919062000625565b60405162000407919062000680565b60405180910390a36200069b565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620004cd57808604811115620004a557620004a462000443565b5b6001851615620004b55780820291505b8081029050620004c58562000470565b945062000485565b94509492505050565b5f82620004e75760019050620005b9565b81620004f6575f9050620005b9565b81600181146200050f57600281146200051a5762000550565b6001915050620005b9565b60ff8411156200052f576200052e62000443565b5b8360020a91508482111562000549576200054862000443565b5b50620005b9565b5060208310610133831016604e8410600b84101617156200058a5782820a90508381111562000584576200058362000443565b5b620005b9565b6200059984848460016200047c565b92509050818404811115620005b357620005b262000443565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620005e182620005c0565b9150620005ee83620005c9565b92506200061d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004d6565b905092915050565b5f6200063182620005c0565b91506200063e83620005c0565b92508282026200064e81620005c0565b9150828204841483151762000668576200066762000443565b5b5092915050565b6200067a81620005c0565b82525050565b5f602082019050620006955f8301846200066f565b92915050565b61356680620006a95f395ff3fe608060405260043610610143575f3560e01c8063715018a6116100b5578063a9059cbb1161006e578063a9059cbb14610420578063bf474bed1461045c578063c408c24514610486578063d34628cc1461049c578063dd62ed3e146104c4578063e2dae074146105005761014a565b8063715018a61461033a5780637d1db4a5146103505780638da5cb5b1461037a5780638f9a55c0146103a457806395d89b41146103ce5780639edefefe146103f85761014a565b8063313ce56711610107578063313ce5671461024457806331c2d8471461026e5780633bbac57914610296578063498e631d146102d2578063670f0882146102e857806370a08231146102fe5761014a565b806306fdde031461014e578063095ea7b3146101785780630faee56f146101b457806318160ddd146101de57806323b872dd146102085761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b50610162610516565b60405161016f91906124f9565b60405180910390f35b348015610183575f80fd5b5061019e600480360381019061019991906125b7565b610553565b6040516101ab919061260f565b60405180910390f35b3480156101bf575f80fd5b506101c8610570565b6040516101d59190612637565b60405180910390f35b3480156101e9575f80fd5b506101f2610576565b6040516101ff9190612637565b60405180910390f35b348015610213575f80fd5b5061022e60048036038101906102299190612650565b610599565b60405161023b919061260f565b60405180910390f35b34801561024f575f80fd5b5061025861066d565b60405161026591906126bb565b60405180910390f35b348015610279575f80fd5b50610294600480360381019061028f9190612814565b610675565b005b3480156102a1575f80fd5b506102bc60048036038101906102b7919061285b565b610793565b6040516102c9919061260f565b60405180910390f35b3480156102dd575f80fd5b506102e66107e5565b005b3480156102f3575f80fd5b506102fc610894565b005b348015610309575f80fd5b50610324600480360381019061031f919061285b565b610968565b6040516103319190612637565b60405180910390f35b348015610345575f80fd5b5061034e6109ae565b005b34801561035b575f80fd5b50610364610afc565b6040516103719190612637565b60405180910390f35b348015610385575f80fd5b5061038e610b02565b60405161039b9190612895565b60405180910390f35b3480156103af575f80fd5b506103b8610b29565b6040516103c59190612637565b60405180910390f35b3480156103d9575f80fd5b506103e2610b2f565b6040516103ef91906124f9565b60405180910390f35b348015610403575f80fd5b5061041e600480360381019061041991906128ae565b610b6c565b005b34801561042b575f80fd5b50610446600480360381019061044191906125b7565b610bf8565b604051610453919061260f565b60405180910390f35b348015610467575f80fd5b50610470610c15565b60405161047d9190612637565b60405180910390f35b348015610491575f80fd5b5061049a610c1b565b005b3480156104a7575f80fd5b506104c260048036038101906104bd9190612814565b61113a565b005b3480156104cf575f80fd5b506104ea60048036038101906104e591906128d9565b611259565b6040516104f79190612637565b60405180910390f35b34801561050b575f80fd5b506105146112db565b005b60606040518060400160405280600981526020017f4e6569726f20496e750000000000000000000000000000000000000000000000815250905090565b5f61056661055f61140a565b8484611411565b6001905092915050565b60125481565b5f6009600a6105859190612a73565b633b9aca006105949190612abd565b905090565b5f6105a58484846115d4565b610662846105b161140a565b61065d856040518060600160405280602881526020016135096028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61061461140a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f5b9092919063ffffffff16565b611411565b600190509392505050565b5f6009905090565b61067d61140a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610709576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070090612b48565b60405180910390fd5b5f5b815181101561078f575f60045f84848151811061072b5761072a612b66565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061070b565b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661082561140a565b73ffffffffffffffffffffffffffffffffffffffff1614610844575f80fd5b5f61084e30610968565b90505f8111801561086b5750601460169054906101000a900460ff165b1561087a5761087981611fbd565b5b5f4790505f8111156108905761088f81612228565b5b5050565b61089c61140a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091f90612b48565b60405180910390fd5b5f600d819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f60405161095e9190612bd5565b60405180910390a1565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6109b661140a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3990612b48565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600481526020017f4e494e5500000000000000000000000000000000000000000000000000000000815250905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bac61140a565b73ffffffffffffffffffffffffffffffffffffffff1614610bcb575f80fd5b6008548111158015610bdf57506009548111155b610be7575f80fd5b806008819055508060098190555050565b5f610c0b610c0461140a565b84846115d4565b6001905092915050565b60115481565b610c2361140a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610caf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca690612b48565b60405180910390fd5b60148054906101000a900460ff1615610cfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf490612c38565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d993060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d859190612a73565b633b9aca00610d949190612abd565b611411565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e279190612c6a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ead573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ed19190612c6a565b6040518363ffffffff1660e01b8152600401610eee929190612c95565b6020604051808303815f875af1158015610f0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f2e9190612c6a565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fb530610968565b5f80610fbf610b02565b426040518863ffffffff1660e01b8152600401610fe196959493929190612cbc565b60606040518083038185885af1158015610ffd573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110229190612d2f565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110c2929190612d7f565b6020604051808303815f875af11580156110de573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111029190612dd0565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b61114261140a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c590612b48565b60405180910390fd5b5f5b815181101561125557600160045f8484815181106111f1576111f0612b66565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506111d0565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6112e361140a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461136f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136690612b48565b60405180910390fd5b6009600a61137d9190612a73565b633b9aca0061138c9190612abd565b600f819055506009600a6113a09190612a73565b633b9aca006113af9190612abd565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6113e49190612a73565b633b9aca006113f39190612abd565b6040516114009190612637565b60405180910390a1565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361147f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147690612e6b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e490612ef9565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115c79190612637565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163990612f87565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a790613015565b60405180910390fd5b5f81116116f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e9906130a3565b60405180910390fd5b5f6116fb610b02565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117695750611739610b02565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611cab5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561180c575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611814575f80fd5b5f600e540361185c57611859606461184b600a54600e54116118385760065461183c565b6008545b8561229090919063ffffffff16565b61230790919063ffffffff16565b90505b5f600e5411156118915761188e6064611880600d548561229090919063ffffffff16565b61230790919063ffffffff16565b90505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561193a575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561198d575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a8557600f548211156119d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ce9061310b565b60405180910390fd5b601054826119e485610968565b6119ee9190613129565b1115611a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a26906131a6565b60405180910390fd5b611a6b6064611a5d600a54600e5411611a4a57600654611a4e565b6008545b8561229090919063ffffffff16565b61230790919063ffffffff16565b9050600e5f815480929190611a7f906131c4565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b0d57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b5157611b4e6064611b40600b54600e5411611b2d57600754611b31565b6009545b8561229090919063ffffffff16565b61230790919063ffffffff16565b90505b5f611b5b30610968565b9050601460159054906101000a900460ff16158015611bc6575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611bde5750601460169054906101000a900460ff165b8015611beb575060115481115b8015611bfa5750600c54600e54115b15611ca957601654431115611c11575f6015819055505b600360155410611c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4d90613255565b60405180910390fd5b611c73611c6e84611c6984601254612350565b612350565b611fbd565b5f4790505f811115611c8957611c8847612228565b5b60155f815480929190611c9b906131c4565b919050555043601681905550505b505b5f811115611daa57611d038160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461236890919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611da19190612637565b60405180910390a35b611dfa8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123c590919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611e9d611e5182846123c590919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461236890919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f4084866123c590919063ffffffff16565b604051611f4d9190612637565b60405180910390a350505050565b5f838311158290611fa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9991906124f9565b60405180910390fd5b505f8385611fb09190613273565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611ff457611ff36126d8565b5b6040519080825280602002602001820160405280156120225781602001602082028036833780820191505090505b50905030815f8151811061203957612038612b66565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121019190612c6a565b8160018151811061211557612114612b66565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061217b3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611411565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016121dd95949392919061335d565b5f604051808303815f87803b1580156121f4575f80fd5b505af1158015612206573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561228c573d5f803e3d5ffd5b5050565b5f8083036122a0575f9050612301565b5f82846122ad9190612abd565b90508284826122bc91906133e2565b146122fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f390613482565b60405180910390fd5b809150505b92915050565b5f61234883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061240e565b905092915050565b5f81831161235e5782612360565b815b905092915050565b5f8082846123769190613129565b9050838110156123bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b2906134ea565b60405180910390fd5b8091505092915050565b5f61240683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f5b565b905092915050565b5f8083118290612454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244b91906124f9565b60405180910390fd5b505f838561246291906133e2565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156124a657808201518184015260208101905061248b565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6124cb8261246f565b6124d58185612479565b93506124e5818560208601612489565b6124ee816124b1565b840191505092915050565b5f6020820190508181035f83015261251181846124c1565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125538261252a565b9050919050565b61256381612549565b811461256d575f80fd5b50565b5f8135905061257e8161255a565b92915050565b5f819050919050565b61259681612584565b81146125a0575f80fd5b50565b5f813590506125b18161258d565b92915050565b5f80604083850312156125cd576125cc612522565b5b5f6125da85828601612570565b92505060206125eb858286016125a3565b9150509250929050565b5f8115159050919050565b612609816125f5565b82525050565b5f6020820190506126225f830184612600565b92915050565b61263181612584565b82525050565b5f60208201905061264a5f830184612628565b92915050565b5f805f6060848603121561266757612666612522565b5b5f61267486828701612570565b935050602061268586828701612570565b9250506040612696868287016125a3565b9150509250925092565b5f60ff82169050919050565b6126b5816126a0565b82525050565b5f6020820190506126ce5f8301846126ac565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61270e826124b1565b810181811067ffffffffffffffff8211171561272d5761272c6126d8565b5b80604052505050565b5f61273f612519565b905061274b8282612705565b919050565b5f67ffffffffffffffff82111561276a576127696126d8565b5b602082029050602081019050919050565b5f80fd5b5f61279161278c84612750565b612736565b905080838252602082019050602084028301858111156127b4576127b361277b565b5b835b818110156127dd57806127c98882612570565b8452602084019350506020810190506127b6565b5050509392505050565b5f82601f8301126127fb576127fa6126d4565b5b813561280b84826020860161277f565b91505092915050565b5f6020828403121561282957612828612522565b5b5f82013567ffffffffffffffff81111561284657612845612526565b5b612852848285016127e7565b91505092915050565b5f602082840312156128705761286f612522565b5b5f61287d84828501612570565b91505092915050565b61288f81612549565b82525050565b5f6020820190506128a85f830184612886565b92915050565b5f602082840312156128c3576128c2612522565b5b5f6128d0848285016125a3565b91505092915050565b5f80604083850312156128ef576128ee612522565b5b5f6128fc85828601612570565b925050602061290d85828601612570565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156129995780860481111561297557612974612917565b5b60018516156129845780820291505b808102905061299285612944565b9450612959565b94509492505050565b5f826129b15760019050612a6c565b816129be575f9050612a6c565b81600181146129d457600281146129de57612a0d565b6001915050612a6c565b60ff8411156129f0576129ef612917565b5b8360020a915084821115612a0757612a06612917565b5b50612a6c565b5060208310610133831016604e8410600b8410161715612a425782820a905083811115612a3d57612a3c612917565b5b612a6c565b612a4f8484846001612950565b92509050818404811115612a6657612a65612917565b5b81810290505b9392505050565b5f612a7d82612584565b9150612a88836126a0565b9250612ab57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846129a2565b905092915050565b5f612ac782612584565b9150612ad283612584565b9250828202612ae081612584565b91508282048414831517612af757612af6612917565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612b32602083612479565b9150612b3d82612afe565b602082019050919050565b5f6020820190508181035f830152612b5f81612b26565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f612bbf612bba612bb584612b93565b612b9c565b612584565b9050919050565b612bcf81612ba5565b82525050565b5f602082019050612be85f830184612bc6565b92915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612c22601783612479565b9150612c2d82612bee565b602082019050919050565b5f6020820190508181035f830152612c4f81612c16565b9050919050565b5f81519050612c648161255a565b92915050565b5f60208284031215612c7f57612c7e612522565b5b5f612c8c84828501612c56565b91505092915050565b5f604082019050612ca85f830185612886565b612cb56020830184612886565b9392505050565b5f60c082019050612ccf5f830189612886565b612cdc6020830188612628565b612ce96040830187612bc6565b612cf66060830186612bc6565b612d036080830185612886565b612d1060a0830184612628565b979650505050505050565b5f81519050612d298161258d565b92915050565b5f805f60608486031215612d4657612d45612522565b5b5f612d5386828701612d1b565b9350506020612d6486828701612d1b565b9250506040612d7586828701612d1b565b9150509250925092565b5f604082019050612d925f830185612886565b612d9f6020830184612628565b9392505050565b612daf816125f5565b8114612db9575f80fd5b50565b5f81519050612dca81612da6565b92915050565b5f60208284031215612de557612de4612522565b5b5f612df284828501612dbc565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612e55602483612479565b9150612e6082612dfb565b604082019050919050565b5f6020820190508181035f830152612e8281612e49565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ee3602283612479565b9150612eee82612e89565b604082019050919050565b5f6020820190508181035f830152612f1081612ed7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612f71602583612479565b9150612f7c82612f17565b604082019050919050565b5f6020820190508181035f830152612f9e81612f65565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612fff602383612479565b915061300a82612fa5565b604082019050919050565b5f6020820190508181035f83015261302c81612ff3565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61308d602983612479565b915061309882613033565b604082019050919050565b5f6020820190508181035f8301526130ba81613081565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6130f5601983612479565b9150613100826130c1565b602082019050919050565b5f6020820190508181035f830152613122816130e9565b9050919050565b5f61313382612584565b915061313e83612584565b925082820190508082111561315657613155612917565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613190601a83612479565b915061319b8261315c565b602082019050919050565b5f6020820190508181035f8301526131bd81613184565b9050919050565b5f6131ce82612584565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613200576131ff612917565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f61323f601783612479565b915061324a8261320b565b602082019050919050565b5f6020820190508181035f83015261326c81613233565b9050919050565b5f61327d82612584565b915061328883612584565b92508282039050818111156132a05761329f612917565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6132d881612549565b82525050565b5f6132e983836132cf565b60208301905092915050565b5f602082019050919050565b5f61330b826132a6565b61331581856132b0565b9350613320836132c0565b805f5b8381101561335057815161333788826132de565b9750613342836132f5565b925050600181019050613323565b5085935050505092915050565b5f60a0820190506133705f830188612628565b61337d6020830187612bc6565b818103604083015261338f8186613301565b905061339e6060830185612886565b6133ab6080830184612628565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6133ec82612584565b91506133f783612584565b925082613407576134066133b5565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61346c602183612479565b915061347782613412565b604082019050919050565b5f6020820190508181035f83015261349981613460565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6134d4601b83612479565b91506134df826134a0565b602082019050919050565b5f6020820190508181035f830152613501816134c8565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220999725fc18f3bd843b809bc4b997e0c35139771236fb67ec60e7cc5c2fcd328c64736f6c63430008170033