Overview ERC20
PRICE
$0.00241125 @ 0.000000743 ETH (12.58%)

ON-CHAIN MARKET CAP $168,056.82

Total Supply:
69,696,969.00 HONKLER

Holders:
1,218
Profile Summary
Blockchain:
Ethereum (1)


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

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 1000000 runs

Created At:
Tue, 28 May 2024 13:15:11 GMT
Honkler.sol
contracts
Honkler.sol


Contract ABI
[
  {
    "inputs": [],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [],
    "name": "CannotHaveOverMaxAllowedAfterBuy",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "allowance",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "needed",
        "type": "uint256"
      }
    ],
    "name": "ERC20InsufficientAllowance",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "sender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "balance",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "needed",
        "type": "uint256"
      }
    ],
    "name": "ERC20InsufficientBalance",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "approver",
        "type": "address"
      }
    ],
    "name": "ERC20InvalidApprover",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "receiver",
        "type": "address"
      }
    ],
    "name": "ERC20InvalidReceiver",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "sender",
        "type": "address"
      }
    ],
    "name": "ERC20InvalidSender",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      }
    ],
    "name": "ERC20InvalidSpender",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "LiquidityAlreadyDeployed",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "LiquidityDeploymentFailed",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyHonkersCanBuy",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      }
    ],
    "name": "OwnableInvalidOwner",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "OwnableUnauthorizedAccount",
    "type": "error"
  },
  {
    "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": 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": "HonklerLpAddress",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "allowAllBuys",
    "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": "value",
        "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": "decimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_honkingAddress",
        "type": "address"
      }
    ],
    "name": "deployLiquidity",
    "outputs": [],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxAllowed",
    "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": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_max",
        "type": "uint256"
      }
    ],
    "name": "setMaxAllowed",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "transfer",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "value",
        "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": "uniswapRouter",
    "outputs": [
      {
        "internalType": "contract IUniswapV2Router02",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
]


Contract Creation Code
60806040526a02048fcf21cd9ef05f8000600855600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055348015610044575f80fd5b5073e0e448f85ff036226243c95f9a91af9cb2c893c1604051806040016040528060078152602001662437b735b632b960c91b815250604051806040016040528060078152602001662427a725a622a960c91b81525081600390816100a99190610528565b5060046100b68282610528565b5050506001600160a01b0381166100e757604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6100f08161010b565b50610106306a39a6e842a13c064184000061015c565b610632565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382166101855760405163ec442f0560e01b81525f60048201526024016100de565b6101905f8383610194565b5050565b6006546001600160a01b0316158015906101bb57506006546001600160a01b038481169116145b80156101cf57506001600160a01b03821615155b80156101e957506009546001600160a01b03838116911614155b1561037d57600754600160a01b900460ff16156102935760075460405163343f3fe360e11b81526001600160a01b038481166004830152909116905f90829063687e7fc690602401602060405180830381865afa15801561024c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061027091906105e7565b90508061029057604051635efe556360e11b815260040160405180910390fd5b50505b6008546001600160a01b0383165f908152602081905260409020546102b990839061060d565b11156102d857604051632702d41360e11b815260040160405180910390fd5b6001600160a01b0383165f908152602081905260409020548181101561032a5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016100de565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290925f80516020611c53833981519152910160405180910390a350505050565b6001600160a01b0383166103a7578060025f82825461039c919061060d565b909155506104179050565b6001600160a01b0383165f90815260208190526040902054818110156103f95760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016100de565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661043357600280548290039055610451565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03165f80516020611c538339815191528360405161048391815260200190565b60405180910390a35b505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806104b957607f821691505b6020821081036104d757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561048c57805f5260205f20601f840160051c810160208510156105025750805b601f840160051c820191505b81811015610521575f815560010161050e565b5050505050565b81516001600160401b0381111561054157610541610491565b6105558161054f84546104a5565b846104dd565b602080601f831160018114610588575f84156105715750858301515b5f19600386901b1c1916600185901b1785556105df565b5f85815260208120601f198616915b828110156105b657888601518255948401946001909101908401610597565b50858210156105d357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f602082840312156105f7575f80fd5b81518015158114610606575f80fd5b9392505050565b8082018082111561062c57634e487b7160e01b5f52601160045260245ffd5b92915050565b6116148061063f5f395ff3fe608060405260043610610123575f3560e01c80638da5cb5b116100a1578063ca39967111610071578063dd62ed3e11610057578063dd62ed3e14610345578063f2fde38b14610396578063f46015ed146103b5575f80fd5b8063ca39967114610304578063d8b1d6cb14610319575f80fd5b80638da5cb5b1461029457806395d89b41146102be578063a9059cbb146102d2578063b9bb0ec8146102f1575f80fd5b806323b872dd116100f657806370a08231116100dc57806370a08231146101ee578063715018a61461022f578063735de9f714610243575f80fd5b806323b872dd146101b4578063313ce567146101d3575f80fd5b806306fdde0314610127578063095ea7b3146101515780631318d0fd1461018057806318160ddd14610196575b5f80fd5b348015610132575f80fd5b5061013b6103d4565b604051610148919061138d565b60405180910390f35b34801561015c575f80fd5b5061017061016b366004611401565b610464565b6040519015158152602001610148565b34801561018b575f80fd5b5061019461047d565b005b3480156101a1575f80fd5b506002545b604051908152602001610148565b3480156101bf575f80fd5b506101706101ce36600461142b565b6104af565b3480156101de575f80fd5b5060405160128152602001610148565b3480156101f9575f80fd5b506101a6610208366004611469565b73ffffffffffffffffffffffffffffffffffffffff165f9081526020819052604090205490565b34801561023a575f80fd5b506101946104d2565b34801561024e575f80fd5b5060095461026f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610148565b34801561029f575f80fd5b5060055473ffffffffffffffffffffffffffffffffffffffff1661026f565b3480156102c9575f80fd5b5061013b6104e5565b3480156102dd575f80fd5b506101706102ec366004611401565b6104f4565b6101946102ff366004611469565b610501565b34801561030f575f80fd5b506101a660085481565b348015610324575f80fd5b5060065461026f9073ffffffffffffffffffffffffffffffffffffffff1681565b348015610350575f80fd5b506101a661035f36600461148b565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260016020908152604080832093909416825291909152205490565b3480156103a1575f80fd5b506101946103b0366004611469565b610afe565b3480156103c0575f80fd5b506101946103cf3660046114c2565b610b66565b6060600380546103e3906114d9565b80601f016020809104026020016040519081016040528092919081815260200182805461040f906114d9565b801561045a5780601f106104315761010080835404028352916020019161045a565b820191905f5260205f20905b81548152906001019060200180831161043d57829003601f168201915b5050505050905090565b5f33610471818585610b73565b60019150505b92915050565b610485610b85565b600780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b5f336104bc858285610bd8565b6104c7858585610ca5565b506001949350505050565b6104da610b85565b6104e35f610d4e565b565b6060600480546103e3906114d9565b5f33610471818585610ca5565b610509610b85565b60065473ffffffffffffffffffffffffffffffffffffffff1615610559576040517f049f8aca00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6007805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffff0000000000000000000000000000000000000000009092169190911774010000000000000000000000000000000000000000179091556009546040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820181905292839263095ea7b39291169083906370a0823190602401602060405180830381865afa15801561061a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061063e919061152a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016020604051808303815f875af11580156106ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106cf9190611541565b506009546040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820181905273ffffffffffffffffffffffffffffffffffffffff9283169263f305d719923492918616906370a0823190602401602060405180830381865afa15801561074a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076e919061152a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201525f6044820181905260648201523360848201524260a482015260c40160606040518083038185885af11580156107f4573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108199190611560565b5050600954604080517fc45a0155000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff909216925063c45a01559160048083019260209291908290030181865afa158015610889573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ad919061158b565b73ffffffffffffffffffffffffffffffffffffffff1663e6a439053060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610933573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610957919061158b565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401602060405180830381865afa1580156109c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e9919061158b565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691821790551580610ac357506040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8216906370a0823190602401602060405180830381865afa158015610a9c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac0919061152a565b15155b15610afa576040517fa9b844eb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b610b06610b85565b73ffffffffffffffffffffffffffffffffffffffff8116610b5a576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f60048201526024015b60405180910390fd5b610b6381610d4e565b50565b610b6e610b85565b600855565b610b808383836001610dc4565b505050565b60055473ffffffffffffffffffffffffffffffffffffffff1633146104e3576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610b51565b73ffffffffffffffffffffffffffffffffffffffff8381165f908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610c9f5781811015610c91576040517ffb8f41b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024810182905260448101839052606401610b51565b610c9f84848484035f610dc4565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610cf4576040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152602401610b51565b73ffffffffffffffffffffffffffffffffffffffff8216610d43576040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152602401610b51565b610b80838383610f09565b6005805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b73ffffffffffffffffffffffffffffffffffffffff8416610e13576040517fe602df050000000000000000000000000000000000000000000000000000000081525f6004820152602401610b51565b73ffffffffffffffffffffffffffffffffffffffff8316610e62576040517f94280d620000000000000000000000000000000000000000000000000000000081525f6004820152602401610b51565b73ffffffffffffffffffffffffffffffffffffffff8085165f9081526001602090815260408083209387168352929052208290558015610c9f578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610efb91815260200190565b60405180910390a350505050565b60065473ffffffffffffffffffffffffffffffffffffffff1615801590610f4a575060065473ffffffffffffffffffffffffffffffffffffffff8481169116145b8015610f6b575073ffffffffffffffffffffffffffffffffffffffff821615155b8015610f92575060095473ffffffffffffffffffffffffffffffffffffffff838116911614155b156111e65760075474010000000000000000000000000000000000000000900460ff161561108c576007546040517f687e7fc600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152909116905f90829063687e7fc690602401602060405180830381865afa15801561102c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110509190611541565b905080611089576040517fbdfcaac600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505b60085473ffffffffffffffffffffffffffffffffffffffff83165f908152602081905260409020546110bf9083906115a6565b11156110f7576040517f4e05a82600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83165f908152602081905260409020548181101561117c576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024810182905260448101839052606401610b51565b73ffffffffffffffffffffffffffffffffffffffff8481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610efb565b73ffffffffffffffffffffffffffffffffffffffff831661121d578060025f82825461121291906115a6565b909155506112cd9050565b73ffffffffffffffffffffffffffffffffffffffff83165f90815260208190526040902054818110156112a2576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024810182905260448101839052606401610b51565b73ffffffffffffffffffffffffffffffffffffffff84165f9081526020819052604090209082900390555b73ffffffffffffffffffffffffffffffffffffffff82166112f657600280548290039055611321565b73ffffffffffffffffffffffffffffffffffffffff82165f9081526020819052604090208054820190555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161138091815260200190565b60405180910390a3505050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b63575f80fd5b5f8060408385031215611412575f80fd5b823561141d816113e0565b946020939093013593505050565b5f805f6060848603121561143d575f80fd5b8335611448816113e0565b92506020840135611458816113e0565b929592945050506040919091013590565b5f60208284031215611479575f80fd5b8135611484816113e0565b9392505050565b5f806040838503121561149c575f80fd5b82356114a7816113e0565b915060208301356114b7816113e0565b809150509250929050565b5f602082840312156114d2575f80fd5b5035919050565b600181811c908216806114ed57607f821691505b602082108103611524577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b5f6020828403121561153a575f80fd5b5051919050565b5f60208284031215611551575f80fd5b81518015158114611484575f80fd5b5f805f60608486031215611572575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561159b575f80fd5b8151611484816113e0565b80820180821115610477577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffdfea26469706673582212209d497f81090b96199ae203f1b0a0c0ade753c420998ab3868d777760868f7b2364736f6c63430008190033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef