Overview ERC20
PRICE
$0.4590397976578412

ON-CHAIN MARKET CAP n/a

Total Supply:
100,000,000,000,000.00 MBDA

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


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

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Created At:
Sat, 28 Aug 2021 00:55:23 GMT
MiniBabyDogeAvax.sol
MiniBabyDogeAvax.sol
MiniBabyDogeAvax.sol


Contract ABI
[
  {
    "inputs": [],
    "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": "bool",
        "name": "enabled",
        "type": "bool"
      }
    ],
    "name": "BuyBackEnabledUpdated",
    "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": false,
        "internalType": "uint256",
        "name": "tokenAmount",
        "type": "uint256"
      }
    ],
    "name": "RewardLiquidityProviders",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amountIn",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "address[]",
        "name": "path",
        "type": "address[]"
      }
    ],
    "name": "SwapAVAXForTokens",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "tokensSwapped",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "ethReceived",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "tokensIntoLiqudity",
        "type": "uint256"
      }
    ],
    "name": "SwapAndLiquify",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "bool",
        "name": "enabled",
        "type": "bool"
      }
    ],
    "name": "SwapAndLiquifyEnabledUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amountIn",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "address[]",
        "name": "path",
        "type": "address[]"
      }
    ],
    "name": "SwapTokensForAVAX",
    "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": "_liquidityFee",
    "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": "_taxFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "afterPreSale",
    "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": "buyBackEnabled",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "buyBackUpperLimitAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "deadAddress",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "decimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "subtractedValue",
        "type": "uint256"
      }
    ],
    "name": "decreaseAllowance",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tAmount",
        "type": "uint256"
      }
    ],
    "name": "deliver",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "excludeFromFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "excludeFromReward",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getTime",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getUnlockTime",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "includeInFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "includeInReward",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "addedValue",
        "type": "uint256"
      }
    ],
    "name": "increaseAllowance",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "isExcludedFromFee",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "isExcludedFromReward",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "time",
        "type": "uint256"
      }
    ],
    "name": "lock",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "marketingAddress",
    "outputs": [
      {
        "internalType": "address payable",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "marketingDivisor",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "minimumTokensBeforeSwapAmount",
    "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": [],
    "name": "prepareForPreSale",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tAmount",
        "type": "uint256"
      },
      {
        "internalType": "bool",
        "name": "deductTransferFee",
        "type": "bool"
      }
    ],
    "name": "reflectionFromToken",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bool",
        "name": "_enabled",
        "type": "bool"
      }
    ],
    "name": "setBuyBackEnabled",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "buyBackLimit",
        "type": "uint256"
      }
    ],
    "name": "setBuybackUpperLimit",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "liquidityFee",
        "type": "uint256"
      }
    ],
    "name": "setLiquidityFeePercent",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_marketingAddress",
        "type": "address"
      }
    ],
    "name": "setMarketingAddress",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "divisor",
        "type": "uint256"
      }
    ],
    "name": "setMarketingDivisor",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "maxTxAmount",
        "type": "uint256"
      }
    ],
    "name": "setMaxTxAmount",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_minimumTokensBeforeSwap",
        "type": "uint256"
      }
    ],
    "name": "setNumTokensSellToAddToLiquidity",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bool",
        "name": "_enabled",
        "type": "bool"
      }
    ],
    "name": "setSwapAndLiquifyEnabled",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "taxFee",
        "type": "uint256"
      }
    ],
    "name": "setTaxFeePercent",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "swapAndLiquifyEnabled",
    "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": "rAmount",
        "type": "uint256"
      }
    ],
    "name": "tokenFromReflection",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalFees",
    "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"
  },
  {
    "inputs": [],
    "name": "uniswapV2Pair",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "uniswapV2Router",
    "outputs": [
      {
        "internalType": "contract IPangolinRouter02",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "unlock",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]


Contract Creation Code
60e0604052600380546001600160a01b031916732beb17b1891c1fe4281eccd7b6413cae51ca4f321790556ddead00000000000000000000000060805269152d02c7e14af6800000600a8190556200005a906000196200052b565b6200006890600019620004ca565b600b556040805180820190915260108082526f09ad2dcd284c2c4f288dececa82ecc2f60831b6020909201918252620000a491600d91620003f4565b50604080518082019091526004808252634d42444160e01b6020909201918252620000d291600e91620003f4565b50600f805460ff1916600917905560016010819055601155600a60128190556013556003601455683635c9adc5dea00000601555671bc16d674ec80000601655670de0b6b3a76400006017556018805462ffff001916620100001790553480156200013c57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b543360009081526004602081815260409283902093909355815163c45a015560e01b8152915173e54ca86531e17ef3616d22ca28b0d458b6c8910693849363c45a0155938181019391829003018186803b158015620001de57600080fd5b505afa158015620001f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021991906200049a565b6001600160a01b031663c9c6539630836001600160a01b03166373b295c26040518163ffffffff1660e01b815260040160206040518083038186803b1580156200026257600080fd5b505afa15801562000277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029d91906200049a565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620002e657600080fd5b505af1158015620002fb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032191906200049a565b6001600160601b0319606091821b811660c0529082901b1660a052600160076000620003556000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260079092529020805490911660011790556200039d3390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a54604051620003e591815260200190565b60405180910390a3506200054c565b8280546200040290620004ee565b90600052602060002090601f01602090048101928262000426576000855562000471565b82601f106200044157805160ff191683800117855562000471565b8280016001018555821562000471579182015b828111156200047157825182559160200191906001019062000454565b506200047f92915062000483565b5090565b5b808211156200047f576000815560010162000484565b600060208284031215620004ac578081fd5b81516001600160a01b0381168114620004c3578182fd5b9392505050565b600082821015620004e957634e487b7160e01b81526011600452602481fd5b500390565b600181811c908216806200050357607f821691505b602082108114156200052557634e487b7160e01b600052602260045260246000fd5b50919050565b6000826200054757634e487b7160e01b81526012600452602481fd5b500690565b60805160601c60a05160601c60c05160601c612dd4620005b6600039600081816105840152611a580152600081816103b7015281816121790152818161224f0152818161228b01528181612415015261251f015260008181610438015261254a0152612dd46000f3fe6080604052600436106102e85760003560e01c80636053a0e311610190578063a5ece941116100dc578063d6b513cf11610095578063ea2f0b371161006f578063ea2f0b3714610903578063ec28438a14610923578063f0f165af14610943578063f2fde38b1461096357600080fd5b8063d6b513cf14610887578063dd4670641461089d578063dd62ed3e146108bd57600080fd5b8063a5ece941146107dd578063a69df4b5146107fd578063a9059cbb14610812578063b0cb81f114610832578063bdc653ef14610852578063c49b9a801461086757600080fd5b806388f8202011610149578063906e9dd011610123578063906e9dd01461077357806395d89b4114610793578063a073d37f146107a8578063a457c2d7146107bd57600080fd5b806388f82020146106fc5780638da5cb5b146107355780638ee88c531461075357600080fd5b80636053a0e31461065b5780636bc87c3a1461067b57806370a0823114610691578063715018a6146106b15780637d1db4a5146106c657806382d2a4bb146106dc57600080fd5b80633685d4191161024f57806349bd5a5e1161020857806352390c02116101e257806352390c02146105da5780635342acb4146105fa578063557ed1ba14610633578063602bc62b1461064657600080fd5b806349bd5a5e146105725780634a74bb02146105a65780635134f6ab146105c557600080fd5b80633685d419146104bc57806339509351146104dc5780633b124fe7146104fc5780633bd5d17314610512578063437823ec146105325780634549b0391461055257600080fd5b806318160ddd116102a157806318160ddd146103f157806323b872dd1461040657806327c8f8351461042657806329370cc61461045a5780632d8381191461047a578063313ce5671461049a57600080fd5b8063061c82d0146102f457806306fdde031461031657806307efbfdc14610341578063095ea7b31461035657806313114a9d146103865780631694505e146103a557600080fd5b366102ef57005b600080fd5b34801561030057600080fd5b5061031461030f366004612a9f565b610983565b005b34801561032257600080fd5b5061032b6109bb565b6040516103389190612b5a565b60405180910390f35b34801561034d57600080fd5b50610314610a4d565b34801561036257600080fd5b50610376610371366004612a5a565b610a9a565b6040519015158152602001610338565b34801561039257600080fd5b50600c545b604051908152602001610338565b3480156103b157600080fd5b506103d97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610338565b3480156103fd57600080fd5b50600a54610397565b34801561041257600080fd5b50610376610421366004612a1a565b610ab1565b34801561043257600080fd5b506103d97f000000000000000000000000000000000000000000000000000000000000000081565b34801561046657600080fd5b50610314610475366004612a85565b610b1a565b34801561048657600080fd5b50610397610495366004612a9f565b610b9a565b3480156104a657600080fd5b50600f5460405160ff9091168152602001610338565b3480156104c857600080fd5b506103146104d73660046129aa565b610c1e565b3480156104e857600080fd5b506103766104f7366004612a5a565b610e0d565b34801561050857600080fd5b5061039760105481565b34801561051e57600080fd5b5061031461052d366004612a9f565b610e43565b34801561053e57600080fd5b5061031461054d3660046129aa565b610f2d565b34801561055e57600080fd5b5061039761056d366004612ab7565b610f7b565b34801561057e57600080fd5b506103d97f000000000000000000000000000000000000000000000000000000000000000081565b3480156105b257600080fd5b5060185461037690610100900460ff1681565b3480156105d157600080fd5b50610314611008565b3480156105e657600080fd5b506103146105f53660046129aa565b611056565b34801561060657600080fd5b506103766106153660046129aa565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561063f57600080fd5b5042610397565b34801561065257600080fd5b50600254610397565b34801561066757600080fd5b506018546103769062010000900460ff1681565b34801561068757600080fd5b5061039760125481565b34801561069d57600080fd5b506103976106ac3660046129aa565b6111a9565b3480156106bd57600080fd5b50610314611208565b3480156106d257600080fd5b5061039760155481565b3480156106e857600080fd5b506103146106f7366004612a9f565b61126a565b34801561070857600080fd5b506103766107173660046129aa565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561074157600080fd5b506000546001600160a01b03166103d9565b34801561075f57600080fd5b5061031461076e366004612a9f565b6112ac565b34801561077f57600080fd5b5061031461078e3660046129aa565b6112db565b34801561079f57600080fd5b5061032b611327565b3480156107b457600080fd5b50601654610397565b3480156107c957600080fd5b506103766107d8366004612a5a565b611336565b3480156107e957600080fd5b506003546103d9906001600160a01b031681565b34801561080957600080fd5b50610314611385565b34801561081e57600080fd5b5061037661082d366004612a5a565b61148b565b34801561083e57600080fd5b5061031461084d366004612a9f565b611498565b34801561085e57600080fd5b50601754610397565b34801561087357600080fd5b50610314610882366004612a85565b6114c7565b34801561089357600080fd5b5061039760145481565b3480156108a957600080fd5b506103146108b8366004612a9f565b61153a565b3480156108c957600080fd5b506103976108d83660046129e2565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561090f57600080fd5b5061031461091e3660046129aa565b6115bf565b34801561092f57600080fd5b5061031461093e366004612a9f565b61160a565b34801561094f57600080fd5b5061031461095e366004612a9f565b611639565b34801561096f57600080fd5b5061031461097e3660046129aa565b611668565b6000546001600160a01b031633146109b65760405162461bcd60e51b81526004016109ad90612bad565b60405180910390fd5b601055565b6060600d80546109ca90612cad565b80601f01602080910402602001604051908101604052809291908181526020018280546109f690612cad565b8015610a435780601f10610a1857610100808354040283529160200191610a43565b820191906000526020600020905b815481529060010190602001808311610a2657829003601f168201915b5050505050905090565b6000546001600160a01b03163314610a775760405162461bcd60e51b81526004016109ad90612bad565b610a8160016114c7565b60026010556006601255683635c9adc5dea00000601555565b6000610aa7338484611740565b5060015b92915050565b6000610abe848484611864565b610b108433610b0b85604051806060016040528060288152602001612d32602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190611b4e565b611740565b5060019392505050565b6000546001600160a01b03163314610b445760405162461bcd60e51b81526004016109ad90612bad565b60188054821515620100000262ff0000199091161790556040517f3794234fa370c9f3b948dda3e3040530785b2ef1eb27dda3ffde478f4e2643c090610b8f90831515815260200190565b60405180910390a150565b6000600b54821115610c015760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016109ad565b6000610c0b611b88565b9050610c178382611bab565b9392505050565b6000546001600160a01b03163314610c485760405162461bcd60e51b81526004016109ad90612bad565b6001600160a01b03811660009081526008602052604090205460ff16610cb05760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016109ad565b60005b600954811015610e0957816001600160a01b031660098281548110610ce857634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610df75760098054610d1390600190612c96565b81548110610d3157634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600980546001600160a01b039092169183908110610d6b57634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600582526040808220829055600890925220805460ff191690556009805480610dd157634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610e0181612ce8565b915050610cb3565b5050565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610aa7918590610b0b9086611bed565b3360008181526008602052604090205460ff1615610eb85760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b60648201526084016109ad565b6000610ec383611c4c565b505050506001600160a01b038416600090815260046020526040902054919250610eef91905082611c9b565b6001600160a01b038316600090815260046020526040902055600b54610f159082611c9b565b600b55600c54610f259084611bed565b600c55505050565b6000546001600160a01b03163314610f575760405162461bcd60e51b81526004016109ad90612bad565b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b6000600a54831115610fcf5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c790060448201526064016109ad565b81610fee576000610fdf84611c4c565b50939550610aab945050505050565b6000610ff984611c4c565b50929550610aab945050505050565b6000546001600160a01b031633146110325760405162461bcd60e51b81526004016109ad90612bad565b61103c60006114c7565b6000601081905560125569152d02c7e14af6800000601555565b6000546001600160a01b031633146110805760405162461bcd60e51b81526004016109ad90612bad565b6001600160a01b03811660009081526008602052604090205460ff16156110e95760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016109ad565b6001600160a01b03811660009081526004602052604090205415611143576001600160a01b03811660009081526004602052604090205461112990610b9a565b6001600160a01b0382166000908152600560205260409020555b6001600160a01b03166000818152600860205260408120805460ff191660019081179091556009805491820181559091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b0319169091179055565b6001600160a01b03811660009081526008602052604081205460ff16156111e657506001600160a01b031660009081526005602052604090205490565b6001600160a01b038216600090815260046020526040902054610aab90610b9a565b6000546001600160a01b031633146112325760405162461bcd60e51b81526004016109ad90612bad565b600080546040516001600160a01b0390911690600080516020612d5a833981519152908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146112945760405162461bcd60e51b81526004016109ad90612bad565b6112a681670de0b6b3a7640000612c77565b60175550565b6000546001600160a01b031633146112d65760405162461bcd60e51b81526004016109ad90612bad565b601255565b6000546001600160a01b031633146113055760405162461bcd60e51b81526004016109ad90612bad565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6060600e80546109ca90612cad565b6000610aa73384610b0b85604051806060016040528060258152602001612d7a602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190611b4e565b6001546001600160a01b031633146113eb5760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b60648201526084016109ad565b600254421161143c5760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c203720646179730060448201526064016109ad565b600154600080546040516001600160a01b039384169390911691600080516020612d5a83398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6000610aa7338484611864565b6000546001600160a01b031633146114c25760405162461bcd60e51b81526004016109ad90612bad565b601455565b6000546001600160a01b031633146114f15760405162461bcd60e51b81526004016109ad90612bad565b601880548215156101000261ff00199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15990610b8f90831515815260200190565b6000546001600160a01b031633146115645760405162461bcd60e51b81526004016109ad90612bad565b60008054600180546001600160a01b03199081166001600160a01b038416179091551690556115938142612c3f565b600255600080546040516001600160a01b0390911690600080516020612d5a833981519152908390a350565b6000546001600160a01b031633146115e95760405162461bcd60e51b81526004016109ad90612bad565b6001600160a01b03166000908152600760205260409020805460ff19169055565b6000546001600160a01b031633146116345760405162461bcd60e51b81526004016109ad90612bad565b601555565b6000546001600160a01b031633146116635760405162461bcd60e51b81526004016109ad90612bad565b601655565b6000546001600160a01b031633146116925760405162461bcd60e51b81526004016109ad90612bad565b6001600160a01b0381166116f75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109ad565b600080546040516001600160a01b0380851693921691600080516020612d5a83398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166117a25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016109ad565b6001600160a01b0382166118035760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016109ad565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166118c85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016109ad565b6001600160a01b03821661192a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016109ad565b6000811161198c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016109ad565b6000546001600160a01b038481169116148015906119b857506000546001600160a01b03838116911614155b15611a2057601554811115611a205760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016109ad565b6000611a2b306111a9565b6016546018549192508210159060ff16158015611a4f5750601854610100900460ff165b8015611a8c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316145b15611aef578015611aa5576016549150611aa582611cdd565b601854479062010000900460ff168015611ac65750670de0b6b3a764000081115b15611aed57601754811115611ada57506017545b611aed611ae8826064611bab565b611d46565b505b6001600160a01b03851660009081526007602052604090205460019060ff1680611b3157506001600160a01b03851660009081526007602052604090205460ff165b15611b3a575060005b611b4686868684611d6f565b505050505050565b60008184841115611b725760405162461bcd60e51b81526004016109ad9190612b5a565b506000611b7f8486612c96565b95945050505050565b6000806000611b95611e9a565b9092509050611ba48282611bab565b9250505090565b6000610c1783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612054565b600080611bfa8385612c3f565b905083811015610c175760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016109ad565b6000806000806000806000806000611c638a612082565b9250925092506000806000611c818d8686611c7c611b88565b6120c4565b919f909e50909c50959a5093985091965092945050505050565b6000610c1783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b4e565b6018805460ff1916600117905547611cf482612114565b6000611d004783611c9b565b600354601454601254929350611d37926001600160a01b0390921691611d329190611d2c908690611bab565b90612338565b6123b7565b50506018805460ff1916905550565b6018805460ff191660011790558015611d6257611d62816123f2565b506018805460ff19169055565b80611d7c57611d7c6125f7565b6001600160a01b03841660009081526008602052604090205460ff168015611dbd57506001600160a01b03831660009081526008602052604090205460ff16155b15611dd257611dcd848484612625565b611e7e565b6001600160a01b03841660009081526008602052604090205460ff16158015611e1357506001600160a01b03831660009081526008602052604090205460ff165b15611e2357611dcd84848461274b565b6001600160a01b03841660009081526008602052604090205460ff168015611e6357506001600160a01b03831660009081526008602052604090205460ff165b15611e7357611dcd8484846127f4565b611e7e848484612867565b80611e9457611e94601154601055601354601255565b50505050565b600b54600a546000918291825b60095481101561202457826004600060098481548110611ed757634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611f505750816005600060098481548110611f2957634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611f6657600b54600a54945094505050509091565b611fba6004600060098481548110611f8e57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611c9b565b92506120106005600060098481548110611fe457634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611c9b565b91508061201c81612ce8565b915050611ea7565b50600a54600b5461203491611bab565b82101561204b57600b54600a549350935050509091565b90939092509050565b600081836120755760405162461bcd60e51b81526004016109ad9190612b5a565b506000611b7f8486612c57565b600080600080612091856128ab565b9050600061209e866128cd565b905060006120b6826120b08986611c9b565b90611c9b565b979296509094509092505050565b60008080806120d38886612338565b905060006120e18887612338565b905060006120ef8888612338565b90506000612101826120b08686611c9b565b939b939a50919850919650505050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061215757634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166373b295c26040518163ffffffff1660e01b815260040160206040518083038186803b1580156121d057600080fd5b505afa1580156121e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220891906129c6565b8160018151811061222957634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050612274307f000000000000000000000000000000000000000000000000000000000000000084611740565b604051633b158ab160e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063762b1562906122c9908590600090869030904290600401612c03565b600060405180830381600087803b1580156122e357600080fd5b505af11580156122f7573d6000803e3d6000fd5b505050507ff3effa97738dcfcb6162d1e2ff689ea71989e49e19952ab5b13505f8120e3407828260405161232c929190612be2565b60405180910390a15050565b60008261234757506000610aab565b60006123538385612c77565b9050826123608583612c57565b14610c175760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109ad565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156123ed573d6000803e3d6000fd5b505050565b6040805160028082526060820183526000926020830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166373b295c26040518163ffffffff1660e01b815260040160206040518083038186803b15801561246c57600080fd5b505afa158015612480573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a491906129c6565b816000815181106124c557634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061250757634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101527f00000000000000000000000000000000000000000000000000000000000000001663c57559dd836000847f00000000000000000000000000000000000000000000000000000000000000006125754261012c611bed565b6040518663ffffffff1660e01b81526004016125949493929190612b25565b6000604051808303818588803b1580156125ad57600080fd5b505af11580156125c1573d6000803e3d6000fd5b50505050507f61399293fdf2f38a59fa4bdb54061fdf25f7404d532612ae73740c760b83f0c2828260405161232c929190612be2565b6010541580156126075750601254155b1561260e57565b601080546011556012805460135560009182905555565b60008060008060008061263787611c4c565b6001600160a01b038f16600090815260056020526040902054959b509399509197509550935091506126699088611c9b565b6001600160a01b038a166000908152600560209081526040808320939093556004905220546126989087611c9b565b6001600160a01b03808b1660009081526004602052604080822093909355908a16815220546126c79086611bed565b6001600160a01b0389166000908152600460205260409020556126e9816128e9565b6126f38483612971565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161273891815260200190565b60405180910390a3505050505050505050565b60008060008060008061275d87611c4c565b6001600160a01b038f16600090815260046020526040902054959b5093995091975095509350915061278f9087611c9b565b6001600160a01b03808b16600090815260046020908152604080832094909455918b168152600590915220546127c59084611bed565b6001600160a01b0389166000908152600560209081526040808320939093556004905220546126c79086611bed565b60008060008060008061280687611c4c565b6001600160a01b038f16600090815260056020526040902054959b509399509197509550935091506128389088611c9b565b6001600160a01b038a1660009081526005602090815260408083209390935560049052205461278f9087611c9b565b60008060008060008061287987611c4c565b6001600160a01b038f16600090815260046020526040902054959b509399509197509550935091506126989087611c9b565b6000610aab60646128c76010548561233890919063ffffffff16565b90611bab565b6000610aab60646128c76012548561233890919063ffffffff16565b60006128f3611b88565b905060006129018383612338565b3060009081526004602052604090205490915061291e9082611bed565b3060009081526004602090815260408083209390935560089052205460ff16156123ed573060009081526005602052604090205461295c9084611bed565b30600090815260056020526040902055505050565b600b5461297e9083611c9b565b600b55600c5461298e9082611bed565b600c555050565b803580151581146129a557600080fd5b919050565b6000602082840312156129bb578081fd5b8135610c1781612d19565b6000602082840312156129d7578081fd5b8151610c1781612d19565b600080604083850312156129f4578081fd5b82356129ff81612d19565b91506020830135612a0f81612d19565b809150509250929050565b600080600060608486031215612a2e578081fd5b8335612a3981612d19565b92506020840135612a4981612d19565b929592945050506040919091013590565b60008060408385031215612a6c578182fd5b8235612a7781612d19565b946020939093013593505050565b600060208284031215612a96578081fd5b610c1782612995565b600060208284031215612ab0578081fd5b5035919050565b60008060408385031215612ac9578182fd5b82359150612ad960208401612995565b90509250929050565b6000815180845260208085019450808401835b83811015612b1a5781516001600160a01b031687529582019590820190600101612af5565b509495945050505050565b848152608060208201526000612b3e6080830186612ae2565b6001600160a01b03949094166040830152506060015292915050565b6000602080835283518082850152825b81811015612b8657858101830151858201604001528201612b6a565b81811115612b975783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b828152604060208201526000612bfb6040830184612ae2565b949350505050565b85815284602082015260a060408201526000612c2260a0830186612ae2565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115612c5257612c52612d03565b500190565b600082612c7257634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612c9157612c91612d03565b500290565b600082821015612ca857612ca8612d03565b500390565b600181811c90821680612cc157607f821691505b60208210811415612ce257634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612cfc57612cfc612d03565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114612d2e57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e045524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f6522e93da8e161fdd98d4eef62890ccf259b7f7ec49a78bc56b4cda611b9f8264736f6c63430008040033