Overview ERC20
PRICE
$0.006549560536303044

ON-CHAIN MARKET CAP n/a

Total Supply:
1,000,000.00 GIFT

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


Decimals:
18
Contract Source Code Verified (Partial Match)
Contract Name:
SANTA

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
Yes with 200 runs

Created At:
Sat, 09 Dec 2023 22:25:45 GMT
lol.sol
contracts
lol.sol


Contract ABI
[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "marketingWallet_",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "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": "amountETH",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amountToken",
        "type": "uint256"
      }
    ],
    "name": "AutoLiquify",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "ChristmasKing",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amountETH",
        "type": "uint256"
      }
    ],
    "name": "ChristmasKingPaid",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "ChristmasKing",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amountETH",
        "type": "uint256"
      }
    ],
    "name": "ChristmasKingSold",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "ChristmasKing",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "buyAmount",
        "type": "uint256"
      }
    ],
    "name": "NewChristmasKing",
    "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"
  },
  {
    "inputs": [],
    "name": "ChristmasKing",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "ChristmasKingFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_isLaunched",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "_lastChristmasKingTimer",
    "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": "_maxWalletAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "_payOut",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_payOutAddress",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "holder",
        "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": "spender",
        "type": "address"
      }
    ],
    "name": "approveMax",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "autoLiquidityReceiver",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "biggestBid",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "decimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "disableHappyHour",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "enableHappyHour",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getCirculatingSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getLaunchTime",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getOwner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "isFeeExempt",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "isTxLimitExempt",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "lastChristmasKingChange",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "launch",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "liquidityFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "marketingFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "marketingWallet",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "nextMaxBidReset",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "pair",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "previousChristmasKing",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_token",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_recipient",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "recoverLostTokens",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "resetParams",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "resetPeriod",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "router",
    "outputs": [
      {
        "internalType": "contract IDEXRouter",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newLiquidityReceiver",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "newMarketingWallet",
        "type": "address"
      }
    ],
    "name": "setFeeReceivers",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "newLiquidityFee",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "newMarketingFee",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "newChristmasKingFee",
        "type": "uint256"
      }
    ],
    "name": "setFees",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "holder",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "exempt",
        "type": "bool"
      }
    ],
    "name": "setIsFeeExempt",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "holder",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "exempt",
        "type": "bool"
      }
    ],
    "name": "setIsTxLimitExempt",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "setMaxTransaction",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "setMaxWallet",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "newResetPeriod",
        "type": "uint256"
      }
    ],
    "name": "setResetPeriodInSeconds",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bool",
        "name": "enableSwapBack",
        "type": "bool"
      },
      {
        "internalType": "uint256",
        "name": "newSwapBackLimit",
        "type": "uint256"
      }
    ],
    "name": "setSwapBackSettings",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "threshold",
        "type": "uint256"
      }
    ],
    "name": "setSwapThreshold",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "swapAndLiquifyEnabled",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "swapThreshold",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalPayout",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "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"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "transferOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]


Contract Creation Code
6080604052600180546001600160a01b031990811661dead17909155600280549091169055620000326012600a6200071c565b6200004190620f42406200072d565b600381815560006004819055610e10600590815560068290556007829055600f919091556002601055601182905560128190556013556017805460ff60a01b19169055601a8054600160a81b60ff60a81b19909116179055620000cd91606491620000b991906200043c602090811b620014b017901c565b620004d060201b6200152f1790919060201c565b601b55620000f26064620000b9600380546200043c60201b620014b01790919060201c565b601c556107d06003546200010791906200074f565b601d553480156200011757600080fd5b506040516200332b3803806200332b8339810160408190526200013a9162000772565b62000145336200051a565b601980546001600160a01b0319167360ae616a2155ee3d9a68541ba4544862310933d49081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620001aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d0919062000772565b6001600160a01b031663c9c6539630601960009054906101000a90046001600160a01b03166001600160a01b03166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000259919062000772565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cd919062000772565b601a80546001600160a01b03199081166001600160a01b0393841617825530600081815260096020908152604080832060195488168452825280832060001990556001805488168452600d808452828520805460ff19908116841790915582548a168652600e808652848720805483168517905533808852928652848720805483168517905596865283862080548216841790558186529584528285208054871683179055965488168452922080549093169091179091556014805483168417905560158054831694861694909417909355601680549091169091179055601154601054600f54620003e293620003ce92906200056a811b6200157117901c565b6200056a60201b620015711790919060201c565b601281905560135560035433600081815260086020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000810565b6000826200044d57506000620004ca565b60006200045b83856200072d565b9050826200046a85836200074f565b14620004c75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b6000620004c783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620005cd60201b60201c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806200057983856200079d565b905083811015620004c75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401620004be565b60008183620005f15760405162461bcd60e51b8152600401620004be9190620007b8565b5060006200060084866200074f565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200066057816000190482111562000644576200064462000609565b808516156200065257918102915b93841c939080029062000624565b509250929050565b6000826200067957506001620004ca565b816200068857506000620004ca565b8160018114620006a15760028114620006ac57620006cc565b6001915050620004ca565b60ff841115620006c057620006c062000609565b50506001821b620004ca565b5060208310610133831016604e8410600b8410161715620006f1575081810a620004ca565b620006fd83836200061f565b806000190482111562000714576200071462000609565b029392505050565b6000620004c760ff84168362000668565b60008160001904831182151516156200074a576200074a62000609565b500290565b6000826200076d57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200078557600080fd5b81516001600160a01b0381168114620004c757600080fd5b60008219821115620007b357620007b362000609565b500190565b600060208083528351808285015260005b81811015620007e757858101830151858201604001528201620007c9565b81811115620007fa576000604083870101525b50601f01601f1916929092016040019392505050565b612b0b80620008206000396000f3fe6080604052600436106103395760003560e01c8063715018a6116101ab578063a4b45c00116100f7578063cec10c1111610095578063df20fd491161006f578063df20fd4914610987578063f2fde38b146109a7578063f84ba65d146109c7578063f887ea40146109e757600080fd5b8063cec10c111461090c578063d522f20d1461092c578063dd62ed3e1461094157600080fd5b8063a9059cbb116100d1578063a9059cbb14610897578063ab5a1887146108b7578063b7746086146108d7578063ca33e64c146108ec57600080fd5b8063a4b45c0014610837578063a617792814610857578063a8aa1b311461087757600080fd5b80638da5cb5b1161016457806395d89b411161013e57806395d89b41146107b357806398118cb4146107e05780639d0014b1146107f65780639e0a78101461081657600080fd5b80638da5cb5b1461072257806390f1fdf814610770578063944c1d971461079d57600080fd5b8063715018a6146106aa57806375f0a874146106bf5780637d1db4a5146106df5780637de4c778146106f5578063893d20e8146107225780638b42507f1461074057600080fd5b80633f4218e01161028557806361dec354116102235780636b67c4df116101fd5780636b67c4df146106285780636c0a24eb1461063e57806370a0823114610654578063712a890a1461068a57600080fd5b806361dec354146105d357806363a0e50b146105f3578063658d4b7f1461060857600080fd5b80634a74bb021161025f5780634a74bb021461055d5780634fef3a821461057e578063571ac8b0146105935780635d0044ca146105b357600080fd5b80633f4218e0146104df57806344b1ffd61461050f578063454f7b8f1461054757600080fd5b8063188c92e9116102f25780632b112e49116102cc5780632b112e4914610468578063313ce5671461047d5780633b002515146104995780633b0bab84146104af57600080fd5b8063188c92e91461041d57806323b872dd14610432578063285989f21461045257600080fd5b806301339c21146103455780630445b6671461035c57806306fdde0314610385578063090bcedf146103c2578063095ea7b3146103d857806318160ddd1461040857600080fd5b3661034057005b600080fd5b34801561035157600080fd5b5061035a610a07565b005b34801561036857600080fd5b50610372601d5481565b6040519081526020015b60405180910390f35b34801561039157600080fd5b5060408051808201909152600b81526a53414e544120434c41555360a81b60208201525b60405161037c919061261d565b3480156103ce57600080fd5b5061037260065481565b3480156103e457600080fd5b506103f86103f3366004612687565b610adb565b604051901515815260200161037c565b34801561041457600080fd5b50600354610372565b34801561042957600080fd5b50610372610b48565b34801561043e57600080fd5b506103f861044d3660046126b3565b610b5f565b34801561045e57600080fd5b5061037260045481565b34801561047457600080fd5b50610372610c24565b34801561048957600080fd5b506040516012815260200161037c565b3480156104a557600080fd5b5061037260115481565b3480156104bb57600080fd5b506103f86104ca3660046126f4565b600c6020526000908152604090205460ff1681565b3480156104eb57600080fd5b506103f86104fa3660046126f4565b600d6020526000908152604090205460ff1681565b34801561051b57600080fd5b5060165461052f906001600160a01b031681565b6040516001600160a01b03909116815260200161037c565b34801561055357600080fd5b5061037260075481565b34801561056957600080fd5b50601a546103f890600160a81b900460ff1681565b34801561058a57600080fd5b5061035a610c71565b34801561059f57600080fd5b506103f86105ae3660046126f4565b610ccb565b3480156105bf57600080fd5b5061035a6105ce366004612711565b610cd9565b3480156105df57600080fd5b5061035a6105ee3660046126b3565b610d66565b3480156105ff57600080fd5b5061035a611049565b34801561061457600080fd5b5061035a610623366004612738565b61109c565b34801561063457600080fd5b5061037260105481565b34801561064a57600080fd5b50610372601c5481565b34801561066057600080fd5b5061037261066f3660046126f4565b6001600160a01b031660009081526008602052604090205490565b34801561069657600080fd5b5061035a6106a5366004612711565b6110f1565b3480156106b657600080fd5b5061035a611120565b3480156106cb57600080fd5b5060155461052f906001600160a01b031681565b3480156106eb57600080fd5b50610372601b5481565b34801561070157600080fd5b506103726107103660046126f4565b600b6020526000908152604090205481565b34801561072e57600080fd5b506000546001600160a01b031661052f565b34801561074c57600080fd5b506103f861075b3660046126f4565b600e6020526000908152604090205460ff1681565b34801561077c57600080fd5b5061037261078b3660046126f4565b600a6020526000908152604090205481565b3480156107a957600080fd5b5061037260055481565b3480156107bf57600080fd5b5060408051808201909152600481526311d2519560e21b60208201526103b5565b3480156107ec57600080fd5b50610372600f5481565b34801561080257600080fd5b5061035a610811366004612711565b611156565b34801561082257600080fd5b506017546103f890600160a01b900460ff1681565b34801561084357600080fd5b5061035a610852366004612771565b611185565b34801561086357600080fd5b5060175461052f906001600160a01b031681565b34801561088357600080fd5b50601a5461052f906001600160a01b031681565b3480156108a357600080fd5b506103f86108b2366004612687565b6111dd565b3480156108c357600080fd5b5061035a6108d2366004612711565b6111ea565b3480156108e357600080fd5b50601854610372565b3480156108f857600080fd5b5060145461052f906001600160a01b031681565b34801561091857600080fd5b5061035a61092736600461279f565b611277565b34801561093857600080fd5b5061035a611329565b34801561094d57600080fd5b5061037261095c366004612771565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561099357600080fd5b5061035a6109a23660046127cb565b611374565b3480156109b357600080fd5b5061035a6109c23660046126f4565b6113c0565b3480156109d357600080fd5b5061035a6109e2366004612738565b61145b565b3480156109f357600080fd5b5060195461052f906001600160a01b031681565b6000546001600160a01b03163314610a3a5760405162461bcd60e51b8152600401610a31906127e9565b60405180910390fd5b601754600160a01b900460ff1615610a875760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e481b185d5b98da195960821b6044820152606401610a31565b6017805460ff60a01b1916600160a01b179055426018819055601554601680546001600160a01b0319166001600160a01b0390921691909117905560006006819055600f8190556014601055601155600455565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b369086815260200190565b60405180910390a35060015b92915050565b6000600554600454610b5a9190612834565b905090565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610c0c576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610be79184906115d0565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610c1784848461160a565b50600190505b9392505050565b6002546001600160a01b0316600090815260086020526040812054610b5a906001546001600160a01b0316600090815260086020526040902054610c6b9060035490611927565b90611927565b6000546001600160a01b03163314610c9b5760405162461bcd60e51b8152600401610a31906127e9565b6000600f8190556001601081905560056011819055610cc6929091610cc09190611571565b90611571565b601255565b6000610b4282600019610adb565b6000546001600160a01b03163314610d035760405162461bcd60e51b8152600401610a31906127e9565b6032600354610d12919061284c565b811015610d615760405162461bcd60e51b815260206004820152601a60248201527f4d61782077616c6c65742073697a6520697320746f6f206c6f770000000000006044820152606401610a31565b601c55565b6000546001600160a01b03163314610d905760405162461bcd60e51b8152600401610a31906127e9565b6001600160a01b038216610de65760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420726563697069656e742061646472657373000000000000006044820152606401610a31565b6040516370a0823160e01b815230600482015283906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610e2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e53919061286e565b905082811015610e9c5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610a31565b82826001600160a01b031663dd62ed3e30610ebf6000546001600160a01b031690565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610f0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2e919061286e565b1015610fc857816001600160a01b031663095ea7b3610f556000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018690526044016020604051808303816000875af1158015610fa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc69190612887565b505b6040516323b872dd60e01b81523060048201526001600160a01b038581166024830152604482018590528316906323b872dd906064016020604051808303816000875af115801561101d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110419190612887565b505050505050565b6000546001600160a01b031633146110735760405162461bcd60e51b8152600401610a31906127e9565b601a805460ff60a81b19169055600019601b819055601c55600260105560036011556000600f55565b6000546001600160a01b031633146110c65760405162461bcd60e51b8152600401610a31906127e9565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461111b5760405162461bcd60e51b8152600401610a31906127e9565b600555565b6000546001600160a01b0316331461114a5760405162461bcd60e51b8152600401610a31906127e9565b6111546000611969565b565b6000546001600160a01b031633146111805760405162461bcd60e51b8152600401610a31906127e9565b601d55565b6000546001600160a01b031633146111af5760405162461bcd60e51b8152600401610a31906127e9565b601480546001600160a01b039384166001600160a01b03199182161790915560158054929093169116179055565b6000610c1d33848461160a565b6000546001600160a01b031633146112145760405162461bcd60e51b8152600401610a31906127e9565b600a600354611223919061284c565b8110156112725760405162461bcd60e51b815260206004820152601f60248201527f4d6178207472616e73616374696f6e2073697a6520697320746f6f206c6f77006044820152606401610a31565b601b55565b6000546001600160a01b031633146112a15760405162461bcd60e51b8152600401610a31906127e9565b600a8311156112c25760405162461bcd60e51b8152600401610a31906128a4565b600a8211156112e35760405162461bcd60e51b8152600401610a31906128a4565b600a8111156113045760405162461bcd60e51b8152600401610a31906128a4565b600f8390556010829055601181905561132181610cc08585611571565b601255505050565b6000546001600160a01b031633146113535760405162461bcd60e51b8152600401610a31906127e9565b6000600f819055600360108190556011819055610cc691610cc09082611571565b6000546001600160a01b0316331461139e5760405162461bcd60e51b8152600401610a31906127e9565b601a8054921515600160a81b0260ff60a81b1990931692909217909155601d55565b6000546001600160a01b031633146113ea5760405162461bcd60e51b8152600401610a31906127e9565b6001600160a01b03811661144f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a31565b61145881611969565b50565b6000546001600160a01b031633146114855760405162461bcd60e51b8152600401610a31906127e9565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6000826114bf57506000610b42565b60006114cb83856128c9565b9050826114d8858361284c565b14610c1d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a31565b6000610c1d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119b9565b60008061157e8385612834565b905083811015610c1d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a31565b600081848411156115f45760405162461bcd60e51b8152600401610a31919061261d565b50600061160184866128e8565b95945050505050565b601a54600090600160a01b900460ff16156116315761162a8484846119e7565b9050610c1d565b601a546001600160a01b031633148015906116565750601a54600160a01b900460ff16155b801561166b5750601a54600160a81b900460ff165b80156116885750601d543060009081526008602052604090205410155b1561169557611695611acd565b6116a0848484611f2a565b6116aa84846124c5565b156116ef5760405162461bcd60e51b81526020600482015260156024820152746e6f20796f752063616e2774206368656174203a2960581b6044820152606401610a31565b6001600160a01b0384166000908152600d602052604081205460ff1615801561173157506001600160a01b0384166000908152600d602052604090205460ff16155b61173b5782611746565b61174685858561252d565b601754909150600160a01b900460ff1615156001148015906117765750601a546001600160a01b03858116911614155b801561179057506000546001600160a01b03868116911614155b80156117aa57506000546001600160a01b03858116911614155b1561181f576001600160a01b0384166000908152600860205260409020546117d29082611571565b6001600160a01b0380861660009081526008602052604080822093909355908716815220546118019084611927565b6001600160a01b0386166000908152600860205260409020556118dc565b6000546001600160a01b038681169116148061184857506000546001600160a01b038581169116145b15611870576001600160a01b0384166000908152600860205260409020546117d29082611571565b6001600160a01b0384166000908152600860205260409020546118939082611571565b6001600160a01b0380861660009081526008602052604080822093909355908716815220546118c29084611927565b6001600160a01b0386166000908152600860205260409020555b6040518181526001600160a01b0385169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3506001949350505050565b6000610c1d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115d0565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600081836119da5760405162461bcd60e51b8152600401610a31919061261d565b506000611601848661284c565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611a389184906115d0565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611a679083611571565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611abb9086815260200190565b60405180910390a35060019392505050565b601a805460ff60a01b1916600160a01b179055601d54601254600f54600091611b0691600291611b0091829087906114b0565b9061152f565b90506000611b148383611927565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611b4e57611b4e612915565b6001600160a01b03928316602091820292909201810191909152601954604080516339d94ae160e11b8152905191909316926373b295c29260048083019391928290030181865afa158015611ba7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bcb919061292b565b81600181518110611bde57611bde612915565b6001600160a01b039283166020918202929092010152601954604051633b158ab160e11b815291169063762b156290611c2490859060009086903090429060040161298c565b600060405180830381600087803b158015611c3e57600080fd5b505af1158015611c52573d6000803e3d6000fd5b5050600f5447925060009150611c7690611c6d90600261152f565b60125490611927565b90506000611c9382611b00601054866114b090919063ffffffff16565b90506000611cb083611b00601154876114b090919063ffffffff16565b90506000611cd26002611b0086611b00600f548a6114b090919063ffffffff16565b6015546040519192506000916001600160a01b039091169061753090869084818181858888f193505050503d8060008114611d29576040519150601f19603f3d011682016040523d82523d6000602084013e611d2e565b606091505b50506016546040519192506001600160a01b0316906175309085906000818181858888f193505050503d8060008114611d83576040519150601f19603f3d011682016040523d82523d6000602084013e611d88565b606091505b5050601680546001600160a01b039081166000908152600b60209081526040808320899055845484168352600c8252808320805460ff1916600117905593549092168152600a909152908120429055600780549293508592909190611dee908490612834565b9091555050601654604080516001600160a01b039092168252602082018590527f66b1e8089562d9bf0273ccad1ae33986fcf8a2378389449be87585d0cb440ce6910160405180910390a18815611f1157601954601454604051637c8d9fb960e11b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f91b3f7290849060c40160606040518083038185885af1158015611eaf573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ed491906129c8565b505060408051848152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601a805460ff60a01b191690555050505050505050565b600554600454611f3a90426128e8565b1115611f4857611f486125f0565b6000546001600160a01b03848116911614801590611f7457506000546001600160a01b03838116911614155b8015611f9957506001600160a01b0382166000908152600e602052604090205460ff16155b8015611fb357506002546001600160a01b03838116911614155b8015611fcd57506001546001600160a01b03838116911614155b8015611fe75750601a546001600160a01b03838116911614155b8015611ffc57506001600160a01b0382163014155b1561239857601b5481111561203c5760405162461bcd60e51b815260206004820152600660248201526509a82b040a8b60d31b6044820152606401610a31565b6001600160a01b038216600090815260086020526040902054601c546120628383612834565b11156120bc5760405162461bcd60e51b815260206004820152602360248201527f45786365656473206d6178696d756d2077616c6c657420746f6b656e20616d6f6044820152621d5b9d60ea1b6064820152608401610a31565b6040805160028082526060820183526000926020830190803683375050601954604080516339d94ae160e11b815290519394506001600160a01b03909116926373b295c2925060048083019260209291908290030181865afa158015612126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061214a919061292b565b8160008151811061215d5761215d612915565b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061219157612191612915565b6001600160a01b0392831660209182029290920101526019546040516307c0329d60e21b81526000929190911690631f00ca74906121d590879086906004016129f6565b600060405180830381865afa1580156121f2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261221a9190810190612a17565b60008151811061222c5761222c612915565b6020908102919091018101516001600160a01b0387166000908152600c90925260409091205490915060ff161515600114801561228d57506001600160a01b0385166000908152600a6020526040902054429061228b90610e10612834565b105b801561229a575060065481115b1561230457601680546001600160a01b0319166001600160a01b03871690811790915560068290554260045560408051918252602082018390527f40fb6510d752e779faf3f2fa1b204f753fd3037015c3e204993ebf887eba5284910160405180910390a1612394565b6001600160a01b0385166000908152600c602052604090205460ff1615801561232e575060065481115b1561239457601680546001600160a01b0319166001600160a01b03871690811790915560068290554260045560408051918252602082018390527f40fb6510d752e779faf3f2fa1b204f753fd3037015c3e204993ebf887eba5284910160405180910390a15b5050505b6000546001600160a01b038481169116148015906123c457506000546001600160a01b03838116911614155b80156123e957506001600160a01b0383166000908152600e602052604090205460ff16155b80156124035750601a546001600160a01b03848116911614155b801561241857506001600160a01b0382163014155b156124c057601b548111156124585760405162461bcd60e51b815260206004820152600660248201526509a82b040a8b60d31b6044820152606401610a31565b6016546001600160a01b03848116911614156124c057601654600654604080516001600160a01b03909316835260208301919091527fb58a1358cf488399abc9b101c5d34202e9c32d79efdf4e1690ac90418d2977b0910160405180910390a16124c06125f0565b505050565b6001600160a01b0382166000908152600d602052604081205460ff16156124ee57506000610b42565b601a546001600160a01b03848116911614806125175750601a546001600160a01b038381169116145b1561252457506000610b42565b50600192915050565b601a5460009081906001600160a01b0385811691161461254f57601254612553565b6013545b905060006125666064611b0086856114b0565b306000908152600860205260409020549091506125839082611571565b30600081815260086020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906125d49085815260200190565b60405180910390a36125e68482611927565b9695505050505050565b601554601680546001600160a01b0319166001600160a01b03909216919091179055600060065542600455565b600060208083528351808285015260005b8181101561264a5785810183015185820160400152820161262e565b8181111561265c576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461145857600080fd5b6000806040838503121561269a57600080fd5b82356126a581612672565b946020939093013593505050565b6000806000606084860312156126c857600080fd5b83356126d381612672565b925060208401356126e381612672565b929592945050506040919091013590565b60006020828403121561270657600080fd5b8135610c1d81612672565b60006020828403121561272357600080fd5b5035919050565b801515811461145857600080fd5b6000806040838503121561274b57600080fd5b823561275681612672565b915060208301356127668161272a565b809150509250929050565b6000806040838503121561278457600080fd5b823561278f81612672565b9150602083013561276681612672565b6000806000606084860312156127b457600080fd5b505081359360208301359350604090920135919050565b600080604083850312156127de57600080fd5b82356126a58161272a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082198211156128475761284761281e565b500190565b60008261286957634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561288057600080fd5b5051919050565b60006020828403121561289957600080fd5b8151610c1d8161272a565b6020808252600b908201526a496e76616c69642066656560a81b604082015260600190565b60008160001904831182151516156128e3576128e361281e565b500290565b6000828210156128fa576128fa61281e565b500390565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561293d57600080fd5b8151610c1d81612672565b600081518084526020808501945080840160005b838110156129815781516001600160a01b03168752958201959082019060010161295c565b509495945050505050565b85815284602082015260a0604082015260006129ab60a0830186612948565b6001600160a01b0394909416606083015250608001529392505050565b6000806000606084860312156129dd57600080fd5b8351925060208401519150604084015190509250925092565b828152604060208201526000612a0f6040830184612948565b949350505050565b60006020808385031215612a2a57600080fd5b825167ffffffffffffffff80821115612a4257600080fd5b818501915085601f830112612a5657600080fd5b815181811115612a6857612a686128ff565b8060051b604051601f19603f83011681018181108582111715612a8d57612a8d6128ff565b604052918252848201925083810185019188831115612aab57600080fd5b938501935b82851015612ac957845184529385019392850192612ab0565b9897505050505050505056fea264697066735822122016cbbc25cb88b44fe4977a8541393547e41a4db49848e386ccb9a97b8f3fdffa64736f6c634300080c00330000000000000000000000000ed870aac40fdbab1b3de14b8307fd3cfaf4b5bc