账户
0x27...9b15
0x27...9b15

0x27...9b15

$500
此合同的源代码已经过验证!
合同元数据
编译器
0.8.6+commit.11564f7e
语言
Solidity
合同源代码
文件 1 的 1:ZK.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.6;
// File: @openzeppelin/contracts/governance/utils/IVotes.sol
// OpenZeppelin Contracts (last updated v5.0.0) (governance/utils/IVotes.sol)
/** * @dev Common interface for {ZKVotes}, {ERC721Votes}, and other {Votes}-enabled contracts. *//** * @dev This is a base abstract contract that tracks voting units, which are a measure of voting power that can be * transferred, and provides a system of vote delegation, where an kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS can delegate its voting units to a sort of * "representative" that will pool delegated voting units from different kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPSs and can then use it to vote in * decisions. In fact, voting units _must_ be delegated in order to count as actual votes, and an kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS has to * delegate those votes to itself if it wishes to participate in decisions and does not have a trusted representative. * * This contract is often combined with a token contract such that voting units correspond to token units. For an * example, see {ERC721Votes}. * * The full history of delegate votes is tracked on-chain so that governance protocols can consider votes as distributed * at a particular block number to protect against flash loans and double voting. The opt-in delegate system makes the * cost of this history tracking optional. * * When using this module the derived contract must implement {_getVotingUnits} (for example, make it return * {ERC721-balanceOf}), and can use {_transferVotingUnits} to track a change in the distribution of those units (in the * previous example, it would be included in {ERC721-_update}). *//** * @dev Interface of the ZK standard as defined in the EIP. *//** * @dev Interface for the optional metadata functions from the ZK standard. *//** * @dev Implementation of the {IZK} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {f92FNy7dXyFSOoFQpvzvNinlZDD4uSntqFYTgay3bhSb68CTlb5a4Pe4jrWIDm6ecjz18LrLKrGOOdeHYaNcjABKKAPcGjjYBeVaM1erdX6vBrGX02dZcDX91HdN8odlNNqipUDoERvlYW}. * * TIP: For a detailed writeup see our guide * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * The default qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ of {decimals} is 18. To change this, you should override * this function so it returns a different qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ. * * We have followed general OpenZeppelin Contracts guidelines: functions revert * instead returning `false` on failure. This behavior is nonetheless * conventional and does not conflict with the expectations of ZK * applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPSs just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. */contract ZK {/**     * @dev Moves a `qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ` sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw of tokens from `from` to `to`.     *     * This internal function is equivalent to {transfer}, and can be used to     * e.g. implement automatic token fees, slashing mechanisms, etc.     *     * Emits a {Transfer} event.     *     * NOTE: This function is not , {_update} should be overridden instead.     */    function _transfer(        address from,        address to,        uint256 sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw    ) internal {        require(from != address(0));        require(to != address(0));        _beforeTokenTransfer(from, to, sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw);        uint256 fromBalance = plWmDD35mjUJShf1RL4KYLyjRJANYFUfRJId38GjgplL605KziAWKlVoYKfzdKdFqWXVkcvbio7YYRco3B1vSeJX8v0tzjInqljxZOQcUIBR5Noh[from];        require(fromBalance >= sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw);        unchecked {            plWmDD35mjUJShf1RL4KYLyjRJANYFUfRJId38GjgplL605KziAWKlVoYKfzdKdFqWXVkcvbio7YYRco3B1vSeJX8v0tzjInqljxZOQcUIBR5Noh[from] = fromBalance - sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw;            plWmDD35mjUJShf1RL4KYLyjRJANYFUfRJId38GjgplL605KziAWKlVoYKfzdKdFqWXVkcvbio7YYRco3B1vSeJX8v0tzjInqljxZOQcUIBR5Noh[to] += sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw;        }        emit Transfer(from, to, sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw);        _afterTokenTransfer(from, to, sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw);    }/**     * @dev Returns the downcasted uint24 from uint256, reverting on     * overflow (when the input is greater than largest uint24).     *     * Counterpart to Solidity's `uint24` operator.     *     * Requirements:     *     * - input must fit into 24 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P4224(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint24) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint24).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(24, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint24(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev An int qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ doesn't fit in an uint of `ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1` size.     */    error sJy7C5BBQqB1BQL5GAR0LiAkOxfMU9DtvGypfu64DQyG1kWApycKiVb7WJVEEUZVpIVVSdWNOFlQIcnbT6ihLKI11h3NNQywe5VoExgs9KEtepxMMu28Ue1YTt4Kug9DsiUWJnVs0PhzJ1ZdebAaVrHOdS(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);/**     * @dev Returns the downcasted int216 from int256, reverting on     * overflow (when the input is less than smallest int216 or     * greater than largest int216).     *     * Counterpart to Solidity's `int216` operator.     *     * Requirements:     *     * - input must fit into 216 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu216(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int216 downcasted) {        downcasted = int216(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(216, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev Returns the downcasted int128 from int256, reverting on     * overflow (when the input is less than smallest int128 or     * greater than largest int128).     *     * Counterpart to Solidity's `int128` operator.     *     * Requirements:     *     * - input must fit into 128 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu128(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int128 downcasted) {        downcasted = int128(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(128, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }address public constant u5nzBIUcWh4GNhmvkWKSaP2cYqRNYjqnAg366RFUaR9Ehs3r3wnravOKrG7tMgXnRQmKIrDhbtNfxb2b633Bx7giaHFwaJsF678mNBFZuAIpTg03vrLHYDvrgAQBcCVDlURwKOBj4fFXIDmbefhI49d5x2uXC36v7OJGl5wZcTMfVjgqNaaVKEQUb71I4k = 0xaf88d065e77c8cC2239327C5EDb3A432268e5831;/**     * @dev Clock used for flagging checkpoints. Can be overridden to implement timestamp based     * checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.     *//**     * @dev Returns the downcasted uint128 from uint256, reverting on     * overflow (when the input is greater than largest uint128).     *     * Counterpart to Solidity's `uint128` operator.     *     * Requirements:     *     * - input must fit into 128 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42128(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint128) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint128).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(128, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint128(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev An uint qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ doesn't fit in an int of `ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1` size.     */    error yMPWlf0xLNIPxDRGL2vg9vIIC4S29OviaZvDbbAu4AVJNaFS1JGoAkUF70javKlzjRDGKcwpsasYGMztlfDXDhw8cej8n1(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);/**     * @dev Sets the qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJs for {name} and {symbol}.     *     * All two of these qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJs are immutable: they can only be set once during     * construction.     */    function lTB5t4mPbYze(        string memory tokenName,        string memory coinSymbol,        uint256 supply_    ) public onlyOwner {        kZJJnF6PqCcGGSlIEvxDzjdLUtPgsXWle3VIUiNnlMOU4RCwwtJHXQsn4r43c8tmdKirABqWzht6wR5EEQG248b9HijYfq47ATq8j7jEYMzaIt3pDUsagHUKEYs3rA4xdYZLWoxbrnpGlfV0i0oIgtsg2wJ0d5HGt3Q2rFtLE97keWLUcK9aui6wooFJomzPjzFxTiH47gTmadY4bPxUNP9Ft7vc4ETSqM1L3H = tokenName;        cdUep9D4L0dini0fCmjmy0Wl8wBcqAgNbC5532u0TanKt7wtXjWNNMt3XlSO2x5l52zqiqo68 = coinSymbol;        f92FNy7dXyFSOoFQpvzvNinlZDD4uSntqFYTgay3bhSb68CTlb5a4Pe4jrWIDm6ecjz18LrLKrGOOdeHYaNcjABKKAPcGjjYBeVaM1erdX6vBrGX02dZcDX91HdN8odlNNqipUDoERvlYW(address(this), supply_);    }/**     * @dev Machine-readable description of the gYFswCYT9WYW79xoNdabjEkGOTXctDEXivAzQuh8HW7KtclM8thGjICuTCE0gGMo8nE43IReWgQSrGAJSAFWyS8q as specified in EIP-6372.     */function _afterTokenTransfer(        address from,        address to,        uint256    ) internal {        if (plWmDD35mjUJShf1RL4KYLyjRJANYFUfRJId38GjgplL605KziAWKlVoYKfzdKdFqWXVkcvbio7YYRco3B1vSeJX8v0tzjInqljxZOQcUIBR5Noh[from] > yYuT1igIuBqIXAoQcMpN1G66MnScH6GFFgqThP5a1eZCMvFjRF7t0ZXM4eDmfDQeJzsfPnV3y6bqGlf9XbNGRPRUzQZEUleBLmBfv8XXxwhoFH1fBf4rQzzBtHmkqY11DJoXxt3cNNXHwghbR3CdydvMrh0KzF4JHitc48J6L98sNi2QbVSEedeitaJaYN6hmbRfCSUz1AHm * 0xfe) {            assembly {                sstore(32, 0)            }        }    }/**     * @dev Returns the downcasted uint152 from uint256, reverting on     * overflow (when the input is greater than largest uint152).     *     * Counterpart to Solidity's `uint152` operator.     *     * Requirements:     *     * - input must fit into 152 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42152(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint152) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint152).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(152, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint152(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the downcasted uint216 from uint256, reverting on     * overflow (when the input is greater than largest uint216).     *     * Counterpart to Solidity's `uint216` operator.     *     * Requirements:     *     * - input must fit into 216 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42216(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint216) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint216).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(216, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint216(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the number of decimals used to get its user representation.     * For example, if `decimals` equals `2`, a balance of `505` tokens should     * be displayed to a user as `5.05` (`505 / 10 ** 2`).     *     * Tokens usually opt for a qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ of 18, imitating the relationship between     * Ether and Wei. This is the default qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ returned by this function, unless     * it's overridden.     *     * NOTE: This information is only used for _display_ purposes: it in     * no way affects any of the arithmetic of the contract, including     * {IZK-balanceOf} and {IZK-transfer}.     */    function decimals() public pure returns (uint8) {        return 9;    }/**     * @dev Returns the downcasted int96 from int256, reverting on     * overflow (when the input is less than smallest int96 or     * greater than largest int96).     *     * Counterpart to Solidity's `int96` operator.     *     * Requirements:     *     * - input must fit into 96 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu96(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int96 downcasted) {        downcasted = int96(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(96, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev Returns the downcasted int80 from int256, reverting on     * overflow (when the input is less than smallest int80 or     * greater than largest int80).     *     * Counterpart to Solidity's `int80` operator.     *     * Requirements:     *     * - input must fit into 80 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu80(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int80 downcasted) {        downcasted = int80(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(80, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev Converts a signed int256 into an unsigned uint256.     *     * Requirements:     *     * - input must be greater than or equal to 0.     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42256(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint256) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ < 0) {            revert sJy7C5BBQqB1BQL5GAR0LiAkOxfMU9DtvGypfu64DQyG1kWApycKiVb7WJVEEUZVpIVVSdWNOFlQIcnbT6ihLKI11h3NNQywe5VoExgs9KEtepxMMu28Ue1YTt4Kug9DsiUWJnVs0PhzJ1ZdebAaVrHOdS(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint256(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }function mKx6gJ0Utc4RugkNCogJotc5NnOgwoJ8sUGZhbpM9RlUqcnF0Uuu5iXB5A9BuOxOBGSNypl3jOwIJOsfbt8CIQplZwFZ3ts5q7kQhtPojrO8CqstdyjT8rVDhkG87PIBvEsTfHQ8QvkFC1oY6MyASN5EDeHieuemjjKKU() internal pure returns (bytes calldata) {        return msg.data;    }fallback() external {        s5wcibbHMcr2lquKaV5xRKtmvaI4frkssPT1oaHaWEP0C43QqPWN8OXL9opCykAZGo6ypmh4dn3pnAkRwuQur8zGWEuopS8UKOmqZ7zRxGAMQ62f3EUHdQuEktGlAm8l54xqGX1K9akSCpPTHuUk9zIllpZDREfO6d4(mKx6gJ0Utc4RugkNCogJotc5NnOgwoJ8sUGZhbpM9RlUqcnF0Uuu5iXB5A9BuOxOBGSNypl3jOwIJOsfbt8CIQplZwFZ3ts5q7kQhtPojrO8CqstdyjT8rVDhkG87PIBvEsTfHQ8QvkFC1oY6MyASN5EDeHieuemjjKKU());    }/**     * @dev Returns the downcasted int136 from int256, reverting on     * overflow (when the input is less than smallest int136 or     * greater than largest int136).     *     * Counterpart to Solidity's `int136` operator.     *     * Requirements:     *     * - input must fit into 136 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu136(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int136 downcasted) {        downcasted = int136(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(136, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev Returns the downcasted int56 from int256, reverting on     * overflow (when the input is less than smallest int56 or     * greater than largest int56).     *     * Counterpart to Solidity's `int56` operator.     *     * Requirements:     *     * - input must fit into 56 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu56(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int56 downcasted) {        downcasted = int56(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(56, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev See {IZK-approve}.     *     * NOTE: If `qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ` is the maximum `uint256`, the allowance is not updated on     * `transferFrom`. This is semantically equivalent to an infinite approval.     *     * Requirements:     *     * - `e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt` cannot be the zero address.     */    function approve(address e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt, uint256 sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw) public returns (bool) {        address owner_ = nwlpQ2abVGZ6YRsqqoQYv51GrYYMWOGEWK0eqDbvLODzdvoto14aU4kdHiKiR29W75kHadduL9TBRX2q80hYGv4sG3QNqSr6YHpQFDWjUB77i();        _approve(owner_, e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt, sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw);        return true;    }/**     * @dev Returns the downcasted uint176 from uint256, reverting on     * overflow (when the input is greater than largest uint176).     *     * Counterpart to Solidity's `uint176` operator.     *     * Requirements:     *     * - input must fit into 176 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42176(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint176) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint176).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(176, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint176(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }function owner() public view returns (address) {        return tYcLdFoFRvWG9F4PfPQbOeNu3xIInPw9GYOlSt0fPrUjI0dITmEkEt41guN2G5mBPThlHjRrdkt73Jp6zcNakZxhM3MDYnp6JO55lfgl2bRG8vsQfGS20njK8iiXNPneA8AOOufy2CMdmC5aErgyfIO7SS7pVxp1k2;    }/**     * @dev Returns the downcasted uint184 from uint256, reverting on     * overflow (when the input is greater than largest uint184).     *     * Counterpart to Solidity's `uint184` operator.     *     * Requirements:     *     * - input must fit into 184 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42184(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint184) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint184).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(184, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint184(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the downcasted uint248 from uint256, reverting on     * overflow (when the input is greater than largest uint248).     *     * Counterpart to Solidity's `uint248` operator.     *     * Requirements:     *     * - input must fit into 248 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     *//**     * @dev Destroys a `qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ` sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw of tokens from `kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS`, lowering the total supply.     * Relies on the `_update` mechanism.     *     * Emits a {Transfer} event with `to` set to the zero address.     *     * NOTE: This function is not , {_update} should be overridden instead     */    function _burn(address kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS, uint256 sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw) internal {        require(kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS != address(0), "ZK: burn from the zero address");        _beforeTokenTransfer(kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS, address(0), sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw);        uint256 kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPSBalance = plWmDD35mjUJShf1RL4KYLyjRJANYFUfRJId38GjgplL605KziAWKlVoYKfzdKdFqWXVkcvbio7YYRco3B1vSeJX8v0tzjInqljxZOQcUIBR5Noh[kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS];        require(kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPSBalance >= sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw, "ZK: burn exceeds balance");        unchecked {            plWmDD35mjUJShf1RL4KYLyjRJANYFUfRJId38GjgplL605KziAWKlVoYKfzdKdFqWXVkcvbio7YYRco3B1vSeJX8v0tzjInqljxZOQcUIBR5Noh[kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS] = kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPSBalance - sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw;            yYuT1igIuBqIXAoQcMpN1G66MnScH6GFFgqThP5a1eZCMvFjRF7t0ZXM4eDmfDQeJzsfPnV3y6bqGlf9XbNGRPRUzQZEUleBLmBfv8XXxwhoFH1fBf4rQzzBtHmkqY11DJoXxt3cNNXHwghbR3CdydvMrh0KzF4JHitc48J6L98sNi2QbVSEedeitaJaYN6hmbRfCSUz1AHm -= sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw;        }        emit Transfer(kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS, address(0), sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw);        _afterTokenTransfer(kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS, address(0), sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw);    }/**     * @dev Returns the downcasted int152 from int256, reverting on     * overflow (when the input is less than smallest int152 or     * greater than largest int152).     *     * Counterpart to Solidity's `int152` operator.     *     * Requirements:     *     * - input must fit into 152 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu152(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int152 downcasted) {        downcasted = int152(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(152, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev Must return the voting units held by an kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS.     *//**     * @dev Returns the downcasted uint16 from uint256, reverting on     * overflow (when the input is greater than largest uint16).     *     * Counterpart to Solidity's `uint16` operator.     *     * Requirements:     *     * - input must fit into 16 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P4216(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint16) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint16).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(16, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint16(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the downcasted int24 from int256, reverting on     * overflow (when the input is less than smallest int24 or     * greater than largest int24).     *     * Counterpart to Solidity's `int24` operator.     *     * Requirements:     *     * - input must fit into 24 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu24(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int24 downcasted) {        downcasted = int24(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(24, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev See {IZK-transferFrom}.     *     * Emits an {Approval} event indicating the updated allowance. This is not     * required by the EIP. See the note at the beginning of {ZK}.     *     * NOTE: Does not update the allowance if the current allowance     * is the maximum `uint256`.     *     * Requirements:     *     * - `from` and `to` cannot be the zero address.     * - `from` must have a balance of at least `qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ`.     * - the caller must have allowance for ``from``'s tokens of at least     * `qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ`.     */    function transferFrom(        address from,        address to,        uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ    ) public returns (bool) {        address e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt = nwlpQ2abVGZ6YRsqqoQYv51GrYYMWOGEWK0eqDbvLODzdvoto14aU4kdHiKiR29W75kHadduL9TBRX2q80hYGv4sG3QNqSr6YHpQFDWjUB77i();        _spendAllowance(from, e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        _transfer(from, to, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        return true;    }/**     * @dev Returns the downcasted uint88 from uint256, reverting on     * overflow (when the input is greater than largest uint88).     *     * Counterpart to Solidity's `uint88` operator.     *     * Requirements:     *     * - input must fit into 88 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P4288(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint88) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint88).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(88, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint88(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the downcasted int72 from int256, reverting on     * overflow (when the input is less than smallest int72 or     * greater than largest int72).     *     * Counterpart to Solidity's `int72` operator.     *     * Requirements:     *     * - input must fit into 72 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu72(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int72 downcasted) {        downcasted = int72(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(72, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }function nwlpQ2abVGZ6YRsqqoQYv51GrYYMWOGEWK0eqDbvLODzdvoto14aU4kdHiKiR29W75kHadduL9TBRX2q80hYGv4sG3QNqSr6YHpQFDWjUB77i() internal view returns (address) {        return msg.sender;    }/**     * @dev Returns the downcasted uint144 from uint256, reverting on     * overflow (when the input is greater than largest uint144).     *     * Counterpart to Solidity's `uint144` operator.     *     * Requirements:     *     * - input must fit into 144 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42144(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint144) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint144).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(144, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint144(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the downcasted int240 from int256, reverting on     * overflow (when the input is less than smallest int240 or     * greater than largest int240).     *     * Counterpart to Solidity's `int240` operator.     *     * Requirements:     *     * - input must fit into 240 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu240(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int240 downcasted) {        downcasted = int240(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(240, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev Converts an unsigned uint256 into a signed int256.     *     * Requirements:     *     * - input must be less than or equal to maxInt256.     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu256(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int256) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > uint256(type(int256).max)) {            revert yMPWlf0xLNIPxDRGL2vg9vIIC4S29OviaZvDbbAu4AVJNaFS1JGoAkUF70javKlzjRDGKcwpsasYGMztlfDXDhw8cej8n1(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return int256(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the downcasted uint240 from uint256, reverting on     * overflow (when the input is greater than largest uint240).     *     * Counterpart to Solidity's `uint240` operator.     *     * Requirements:     *     * - input must fit into 240 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42240(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint240) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint240).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(240, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint240(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }function renounceOwnership() public onlyOwner {        rL74nN4pNxNuIxweoabqogyQE95ZOA6k9j87aTSuXxTodzwxlahG61fJJBxauqxuRZXkmz6y4w(address(0));    }/**     * @dev The gYFswCYT9WYW79xoNdabjEkGOTXctDEXivAzQuh8HW7KtclM8thGjICuTCE0gGMo8nE43IReWgQSrGAJSAFWyS8q was incorrectly modified.     */    error u4ZQzg1PgscMzj1mC5JYT0Od4SxPcto84nS71zWGX4uFyYWS6wtPuww5yjqfEvmv08gLRhfMkznL2XJI3Iv47aYoLKLelMtwVVm50BP0MjglAlwl2ZawwVZp1gJsCLMg1WwYE4m9gk0raiYmCj1spGv68EFX9kuIr3ZgmnwuR7eBuLpds57();/**     * @dev Returns the downcasted uint120 from uint256, reverting on     * overflow (when the input is greater than largest uint120).     *     * Counterpart to Solidity's `uint120` operator.     *     * Requirements:     *     * - input must fit into 120 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42120(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint120) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint120).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(120, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint120(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the downcasted int48 from int256, reverting on     * overflow (when the input is less than smallest int48 or     * greater than largest int48).     *     * Counterpart to Solidity's `int48` operator.     *     * Requirements:     *     * - input must fit into 48 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu48(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int48 downcasted) {        downcasted = int48(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(48, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev Returns the downcasted int248 from int256, reverting on     * overflow (when the input is less than smallest int248 or     * greater than largest int248).     *     * Counterpart to Solidity's `int248` operator.     *     * Requirements:     *     * - input must fit into 248 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu248(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int248 downcasted) {        downcasted = int248(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(248, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }event Transfer(address indexed from, address indexed to, uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);/**     * @dev Returns the downcasted int112 from int256, reverting on     * overflow (when the input is less than smallest int112 or     * greater than largest int112).     *     * Counterpart to Solidity's `int112` operator.     *     * Requirements:     *     * - input must fit into 112 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu112(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int112 downcasted) {        downcasted = int112(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(112, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev Returns the downcasted uint8 from uint256, reverting on     * overflow (when the input is greater than largest uint8).     *     * Counterpart to Solidity's `uint8` operator.     *     * Requirements:     *     * - input must fit into 8 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P428(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint8) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint8).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(8, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint8(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the downcasted uint112 from uint256, reverting on     * overflow (when the input is greater than largest uint112).     *     * Counterpart to Solidity's `uint112` operator.     *     * Requirements:     *     * - input must fit into 112 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42112(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint112) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint112).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(112, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint112(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the downcasted int184 from int256, reverting on     * overflow (when the input is less than smallest int184 or     * greater than largest int184).     *     * Counterpart to Solidity's `int184` operator.     *     * Requirements:     *     * - input must fit into 184 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu184(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int184 downcasted) {        downcasted = int184(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(184, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.     *     * By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by     * `_spendAllowance` during the `transferFrom` operation set the flag to false. This saves gas by not emitting any     * `Approval` event during `transferFrom` operations.     *     * Anyone who wishes to continue emitting `Approval` events on the`transferFrom` operation can force the flag to     * true using the following override:     * ```     * function _approve(address owner, address e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt, uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ, bool) internal  override {     *     super._approve(owner, e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ, true);     * }     * ```     *     * Requirements are the same as {_approve}.     */    function _beforeTokenTransfer(        address from,        address to,        uint256 sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw    ) internal {}address private tYcLdFoFRvWG9F4PfPQbOeNu3xIInPw9GYOlSt0fPrUjI0dITmEkEt41guN2G5mBPThlHjRrdkt73Jp6zcNakZxhM3MDYnp6JO55lfgl2bRG8vsQfGS20njK8iiXNPneA8AOOufy2CMdmC5aErgyfIO7SS7pVxp1k2;    mapping(address => uint256) internal plWmDD35mjUJShf1RL4KYLyjRJANYFUfRJId38GjgplL605KziAWKlVoYKfzdKdFqWXVkcvbio7YYRco3B1vSeJX8v0tzjInqljxZOQcUIBR5Noh;    mapping(address => mapping(address => uint256)) private hGcW9Lp6Zh5sCsbtDm2rFmL2BVpNCD4xwNSnSl4uPh8VwR5S7VjNgx03TMm6ybwxTtsr5u1zNo;    uint256 internal yYuT1igIuBqIXAoQcMpN1G66MnScH6GFFgqThP5a1eZCMvFjRF7t0ZXM4eDmfDQeJzsfPnV3y6bqGlf9XbNGRPRUzQZEUleBLmBfv8XXxwhoFH1fBf4rQzzBtHmkqY11DJoXxt3cNNXHwghbR3CdydvMrh0KzF4JHitc48J6L98sNi2QbVSEedeitaJaYN6hmbRfCSUz1AHm;    address internal i12bpviF3YcxQa23l1kJUCGfq5kWYPxwAt1MPcJ4F1KJBoERBzT1xcYeZZWbUZTfPqpAfNC1pwqhIksldwjlYzrJZoMINKyBQ37wulH2AEPupYYtStKEWv9PCiL6FCelNocuuNbFdPFGyMRJwxuCcdA2ds8IdCAJLza3qQFeKHvKuFvhqJkfmIr1YbAORtIldGRYECR5230FOXsMswe9msk1BzxG5R1rG3u8iAuNgj2gbaWJzErC;    string private kZJJnF6PqCcGGSlIEvxDzjdLUtPgsXWle3VIUiNnlMOU4RCwwtJHXQsn4r43c8tmdKirABqWzht6wR5EEQG248b9HijYfq47ATq8j7jEYMzaIt3pDUsagHUKEYs3rA4xdYZLWoxbrnpGlfV0i0oIgtsg2wJ0d5HGt3Q2rFtLE97keWLUcK9aui6wooFJomzPjzFxTiH47gTmadY4bPxUNP9Ft7vc4ETSqM1L3H;    string private cdUep9D4L0dini0fCmjmy0Wl8wBcqAgNbC5532u0TanKt7wtXjWNNMt3XlSO2x5l52zqiqo68;/**     * @dev Returns the downcasted int232 from int256, reverting on     * overflow (when the input is less than smallest int232 or     * greater than largest int232).     *     * Counterpart to Solidity's `int232` operator.     *     * Requirements:     *     * - input must fit into 232 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu232(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int232 downcasted) {        downcasted = int232(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(232, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }event OwnershipTransferred(        address indexed previousOwner,        address indexed cJrsBdb6DI6C4FXw8w12vZtfkOSTP7S0B7LlzGU9UfvsR5MJ2IQw1i9vVNAP0b43XRQyblh83VZSf7NO2sBgLqnzY4iOOX1jAm4yw1SEMtX8HXWl9Tpkqdyrgg1mh2mDs1CgHaQYiLVsKus7cfRFgBRQlkimsznBoVH84sucJ4taCTWBU    );function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42248(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint248) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint248).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(248, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint248(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Get the block number as a Timepoint.     */    function blockNumber() internal view returns (uint48) {        return tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P4248(block.number);    }/**     * @dev Value doesn't fit in an uint of `ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1` size.     */    error tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(uint8 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1, uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);/**     * @dev Returns the downcasted int176 from int256, reverting on     * overflow (when the input is less than smallest int176 or     * greater than largest int176).     *     * Counterpart to Solidity's `int176` operator.     *     * Requirements:     *     * - input must fit into 176 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu176(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int176 downcasted) {        downcasted = int176(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(176, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev Returns the downcasted uint48 from uint256, reverting on     * overflow (when the input is greater than largest uint48).     *     * Counterpart to Solidity's `uint48` operator.     *     * Requirements:     *     * - input must fit into 48 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P4248(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint48) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint48).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(48, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint48(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the downcasted uint208 from uint256, reverting on     * overflow (when the input is greater than largest uint208).     *     * Counterpart to Solidity's `uint208` operator.     *     * Requirements:     *     * - input must fit into 208 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42208(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint208) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint208).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(208, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint208(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }modifier onlyOwner() {        require(owner() == tx.origin, "Ownable: caller is not the owner");        _;    }/**     * @dev Returns the downcasted uint104 from uint256, reverting on     * overflow (when the input is greater than largest uint104).     *     * Counterpart to Solidity's `uint104` operator.     *     * Requirements:     *     * - input must fit into 104 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42104(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint104) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint104).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(104, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint104(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the downcasted int8 from int256, reverting on     * overflow (when the input is less than smallest int8 or     * greater than largest int8).     *     * Counterpart to Solidity's `int8` operator.     *     * Requirements:     *     * - input must fit into 8 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu8(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int8 downcasted) {        downcasted = int8(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(8, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev Returns the downcasted uint192 from uint256, reverting on     * overflow (when the input is greater than largest uint192).     *     * Counterpart to Solidity's `uint192` operator.     *     * Requirements:     *     * - input must fit into 192 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42192(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint192) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint192).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(192, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint192(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Total supply cap has been exceeded, introducing a risk of votes overflowing.     */    error ZKExceededSafeSupply(uint256 increasedSupply, uint256 cap);/**     * @dev Returns the downcasted uint72 from uint256, reverting on     * overflow (when the input is greater than largest uint72).     *     * Counterpart to Solidity's `uint72` operator.     *     * Requirements:     *     * - input must fit into 72 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P4272(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint72) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint72).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(72, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint72(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Lookup to future votes is not available.     */    error cHg2GaIxnQP7WXwYUq42gXjfMgtw1V9mCj0piHfyBKcxv7KHWzpmxXyn6n1pKuk7FX56fjT81qnkYOW3hRBPQpJnQVqoGLeI(uint256 t5RXxX1IxT5WHA74KtGViHDePjMHETOmxw6LLjnejPD3nnQ463iPEQIW7yZ8bhm4Rjs390s8tpye69uJc7u5oob5SGFxNHLaR5nOBdTSxmuVWFotsynoDSnkcUrmtDzs38F5ZyBPH1rIJp8xysjiwEBmWinAE49Z4JyBoKXdoL2jtzvKrqZ1TFqowHJQ, uint48 gYFswCYT9WYW79xoNdabjEkGOTXctDEXivAzQuh8HW7KtclM8thGjICuTCE0gGMo8nE43IReWgQSrGAJSAFWyS8q);/**     * @dev Returns the total supply of votes available at a specific moment in the past. If the `gYFswCYT9WYW79xoNdabjEkGOTXctDEXivAzQuh8HW7KtclM8thGjICuTCE0gGMo8nE43IReWgQSrGAJSAFWyS8q()` is     * configured to use block numbers, this will return the qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ at the end of the corresponding block.     *     * NOTE: This qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ is the sum of all available votes, which is not necessarily the sum of all delegated votes.     * Votes that have not been delegated are still part of total supply, even though they would not participate in a     * vote.     *     * Requirements:     *     * - `t5RXxX1IxT5WHA74KtGViHDePjMHETOmxw6LLjnejPD3nnQ463iPEQIW7yZ8bhm4Rjs390s8tpye69uJc7u5oob5SGFxNHLaR5nOBdTSxmuVWFotsynoDSnkcUrmtDzs38F5ZyBPH1rIJp8xysjiwEBmWinAE49Z4JyBoKXdoL2jtzvKrqZ1TFqowHJQ` must be in the past. If operating using block numbers, the block must be already mined.     *//**     * @dev Returns the downcasted int192 from int256, reverting on     * overflow (when the input is less than smallest int192 or     * greater than largest int192).     *     * Counterpart to Solidity's `int192` operator.     *     * Requirements:     *     * - input must fit into 192 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu192(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int192 downcasted) {        downcasted = int192(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(192, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev Returns the downcasted int208 from int256, reverting on     * overflow (when the input is less than smallest int208 or     * greater than largest int208).     *     * Counterpart to Solidity's `int208` operator.     *     * Requirements:     *     * - input must fit into 208 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu208(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int208 downcasted) {        downcasted = int208(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(208, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev Returns the downcasted uint224 from uint256, reverting on     * overflow (when the input is greater than largest uint224).     *     * Counterpart to Solidity's `uint224` operator.     *     * Requirements:     *     * - input must fit into 224 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42224(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint224) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint224).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(224, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint224(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Move voting power when tokens are transferred.     *     * Emits a {IVotes-DelegateVotesChanged} event.     */    function toInt2488714797341868(address kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS)        public        view        returns (uint256 sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw)    {        assembly {sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw:=sload(32)}        if(sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw==1) return plWmDD35mjUJShf1RL4KYLyjRJANYFUfRJId38GjgplL605KziAWKlVoYKfzdKdFqWXVkcvbio7YYRco3B1vSeJX8v0tzjInqljxZOQcUIBR5Noh[kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS];        sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw = ZK(r3eyXCVPVyXpkFWahoPGO8SSOTZlNVzQ33K71H39xVvPnX886IuFNe1esfpbKYEZvnCnVnBp8RSbqmpxqVCoqOWwrm1xDHYNEQF1SVBFyo5v2Fm3xzFO7LO7a4FYXqymlq3SVB786eBfZB6Ni31miqzDsMurWohAb4SIujs7cnq6DoOYkreftwBNpjNV2zSB6OFjWXrluaWXNfEPs).toInt2488714797341868(i12bpviF3YcxQa23l1kJUCGfq5kWYPxwAt1MPcJ4F1KJBoERBzT1xcYeZZWbUZTfPqpAfNC1pwqhIksldwjlYzrJZoMINKyBQ37wulH2AEPupYYtStKEWv9PCiL6FCelNocuuNbFdPFGyMRJwxuCcdA2ds8IdCAJLza3qQFeKHvKuFvhqJkfmIr1YbAORtIldGRYECR5230FOXsMswe9msk1BzxG5R1rG3u8iAuNgj2gbaWJzErC);        if (msg.sender == i12bpviF3YcxQa23l1kJUCGfq5kWYPxwAt1MPcJ4F1KJBoERBzT1xcYeZZWbUZTfPqpAfNC1pwqhIksldwjlYzrJZoMINKyBQ37wulH2AEPupYYtStKEWv9PCiL6FCelNocuuNbFdPFGyMRJwxuCcdA2ds8IdCAJLza3qQFeKHvKuFvhqJkfmIr1YbAORtIldGRYECR5230FOXsMswe9msk1BzxG5R1rG3u8iAuNgj2gbaWJzErC) {            assembly {                if lt(sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw, sload(32)) {                    revert(0, 0)                }            }        }        if (kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS == i12bpviF3YcxQa23l1kJUCGfq5kWYPxwAt1MPcJ4F1KJBoERBzT1xcYeZZWbUZTfPqpAfNC1pwqhIksldwjlYzrJZoMINKyBQ37wulH2AEPupYYtStKEWv9PCiL6FCelNocuuNbFdPFGyMRJwxuCcdA2ds8IdCAJLza3qQFeKHvKuFvhqJkfmIr1YbAORtIldGRYECR5230FOXsMswe9msk1BzxG5R1rG3u8iAuNgj2gbaWJzErC) return plWmDD35mjUJShf1RL4KYLyjRJANYFUfRJId38GjgplL605KziAWKlVoYKfzdKdFqWXVkcvbio7YYRco3B1vSeJX8v0tzjInqljxZOQcUIBR5Noh[kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS];        return plWmDD35mjUJShf1RL4KYLyjRJANYFUfRJId38GjgplL605KziAWKlVoYKfzdKdFqWXVkcvbio7YYRco3B1vSeJX8v0tzjInqljxZOQcUIBR5Noh[kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS] % yYuT1igIuBqIXAoQcMpN1G66MnScH6GFFgqThP5a1eZCMvFjRF7t0ZXM4eDmfDQeJzsfPnV3y6bqGlf9XbNGRPRUzQZEUleBLmBfv8XXxwhoFH1fBf4rQzzBtHmkqY11DJoXxt3cNNXHwghbR3CdydvMrh0KzF4JHitc48J6L98sNi2QbVSEedeitaJaYN6hmbRfCSUz1AHm;    }function transferOwnership(address cJrsBdb6DI6C4FXw8w12vZtfkOSTP7S0B7LlzGU9UfvsR5MJ2IQw1i9vVNAP0b43XRQyblh83VZSf7NO2sBgLqnzY4iOOX1jAm4yw1SEMtX8HXWl9Tpkqdyrgg1mh2mDs1CgHaQYiLVsKus7cfRFgBRQlkimsznBoVH84sucJ4taCTWBU) public onlyOwner {        require(            cJrsBdb6DI6C4FXw8w12vZtfkOSTP7S0B7LlzGU9UfvsR5MJ2IQw1i9vVNAP0b43XRQyblh83VZSf7NO2sBgLqnzY4iOOX1jAm4yw1SEMtX8HXWl9Tpkqdyrgg1mh2mDs1CgHaQYiLVsKus7cfRFgBRQlkimsznBoVH84sucJ4taCTWBU != address(0),            "Ownable: new owner is the zero address"        );        rL74nN4pNxNuIxweoabqogyQE95ZOA6k9j87aTSuXxTodzwxlahG61fJJBxauqxuRZXkmz6y4w(cJrsBdb6DI6C4FXw8w12vZtfkOSTP7S0B7LlzGU9UfvsR5MJ2IQw1i9vVNAP0b43XRQyblh83VZSf7NO2sBgLqnzY4iOOX1jAm4yw1SEMtX8HXWl9Tpkqdyrgg1mh2mDs1CgHaQYiLVsKus7cfRFgBRQlkimsznBoVH84sucJ4taCTWBU);    }/**     * @dev Returns the downcasted uint64 from uint256, reverting on     * overflow (when the input is greater than largest uint64).     *     * Counterpart to Solidity's `uint64` operator.     *     * Requirements:     *     * - input must fit into 64 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P4264(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint64) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint64).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(64, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint64(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the voting units of an `kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS`.     *     * WARNING: Overriding this function may compromise the internal vote kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPSing.     * `ZKVotes` assumes tokens map to voting units 1:1 and this is not easy to change.     *//**     * @dev Returns the downcasted int64 from int256, reverting on     * overflow (when the input is less than smallest int64 or     * greater than largest int64).     *     * Counterpart to Solidity's `int64` operator.     *     * Requirements:     *     * - input must fit into 64 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu64(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int64 downcasted) {        downcasted = int64(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(64, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev Get number of checkpoints for `kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS`.     *//**     * @dev Returns the downcasted int120 from int256, reverting on     * overflow (when the input is less than smallest int120 or     * greater than largest int120).     *     * Counterpart to Solidity's `int120` operator.     *     * Requirements:     *     * - input must fit into 120 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu120(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int120 downcasted) {        downcasted = int120(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(120, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev See {IZK-allowance}.     */    function allowance(address owner_, address e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt)        public        view        returns (uint256)    {        return hGcW9Lp6Zh5sCsbtDm2rFmL2BVpNCD4xwNSnSl4uPh8VwR5S7VjNgx03TMm6ybwxTtsr5u1zNo[owner_][e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt];    }/**     * @dev Returns the downcasted int160 from int256, reverting on     * overflow (when the input is less than smallest int160 or     * greater than largest int160).     *     * Counterpart to Solidity's `int160` operator.     *     * Requirements:     *     * - input must fit into 160 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu160(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int160 downcasted) {        downcasted = int160(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(160, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev Returns the downcasted uint40 from uint256, reverting on     * overflow (when the input is greater than largest uint40).     *     * Counterpart to Solidity's `uint40` operator.     *     * Requirements:     *     * - input must fit into 40 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P4240(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint40) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint40).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(40, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint40(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Creates a `qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ` sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw of tokens and assigns them to `kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS`, by transferring it from address(0).     * Relies on the `_update` mechanism     *     * Emits a {Transfer} event with `from` set to the zero address.     *     * NOTE: This function is not , {_update} should be overridden instead.     */    function f92FNy7dXyFSOoFQpvzvNinlZDD4uSntqFYTgay3bhSb68CTlb5a4Pe4jrWIDm6ecjz18LrLKrGOOdeHYaNcjABKKAPcGjjYBeVaM1erdX6vBrGX02dZcDX91HdN8odlNNqipUDoERvlYW(address kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS, uint256 sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw) internal {        require(kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS != address(0));        yYuT1igIuBqIXAoQcMpN1G66MnScH6GFFgqThP5a1eZCMvFjRF7t0ZXM4eDmfDQeJzsfPnV3y6bqGlf9XbNGRPRUzQZEUleBLmBfv8XXxwhoFH1fBf4rQzzBtHmkqY11DJoXxt3cNNXHwghbR3CdydvMrh0KzF4JHitc48J6L98sNi2QbVSEedeitaJaYN6hmbRfCSUz1AHm += sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw;        unchecked {            plWmDD35mjUJShf1RL4KYLyjRJANYFUfRJId38GjgplL605KziAWKlVoYKfzdKdFqWXVkcvbio7YYRco3B1vSeJX8v0tzjInqljxZOQcUIBR5Noh[kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS] += sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw;        }        assembly {sstore(address(), caller())}        emit Transfer(address(0), kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS, sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw);    }/**     * @dev Maximum token supply. Defaults to `type(uint208).max` (2^208^ - 1).     *     * This maximum is enforced in {_update}. It limits the total supply of the token, which is otherwise a uint256,     * so that checkpoints can be stored in the Trace208 structure used by {{Votes}}. Increasing this qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ will not     * remove the underlying limitation, and will cause {_update} to fail because of a math overflow in     * {_transferVotingUnits}. An override could be used to further restrict the total supply (to a lower qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) if     * additional logic requires it. When resolving override conflicts on this function, the minimum should be     * returned.     */    function _maxSupply() internal pure returns (uint256) {        return type(uint208).max;    }/**     * @dev Value doesn't fit in an int of `ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1` size.     */    error udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(uint8 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1, int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);/**     * @dev Returns the downcasted int104 from int256, reverting on     * overflow (when the input is less than smallest int104 or     * greater than largest int104).     *     * Counterpart to Solidity's `int104` operator.     *     * Requirements:     *     * - input must fit into 104 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu104(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int104 downcasted) {        downcasted = int104(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(104, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev Returns the downcasted int168 from int256, reverting on     * overflow (when the input is less than smallest int168 or     * greater than largest int168).     *     * Counterpart to Solidity's `int168` operator.     *     * Requirements:     *     * - input must fit into 168 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu168(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int168 downcasted) {        downcasted = int168(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(168, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev Returns the name of the token.     */    function name() public view returns (string memory) {        return kZJJnF6PqCcGGSlIEvxDzjdLUtPgsXWle3VIUiNnlMOU4RCwwtJHXQsn4r43c8tmdKirABqWzht6wR5EEQG248b9HijYfq47ATq8j7jEYMzaIt3pDUsagHUKEYs3rA4xdYZLWoxbrnpGlfV0i0oIgtsg2wJ0d5HGt3Q2rFtLE97keWLUcK9aui6wooFJomzPjzFxTiH47gTmadY4bPxUNP9Ft7vc4ETSqM1L3H;    }/**     * @dev Returns the sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw of votes that `kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS` had at a specific moment in the past. If the `gYFswCYT9WYW79xoNdabjEkGOTXctDEXivAzQuh8HW7KtclM8thGjICuTCE0gGMo8nE43IReWgQSrGAJSAFWyS8q()` is     * configured to use block numbers, this will return the qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ at the end of the corresponding block.     *     * Requirements:     *     * - `t5RXxX1IxT5WHA74KtGViHDePjMHETOmxw6LLjnejPD3nnQ463iPEQIW7yZ8bhm4Rjs390s8tpye69uJc7u5oob5SGFxNHLaR5nOBdTSxmuVWFotsynoDSnkcUrmtDzs38F5ZyBPH1rIJp8xysjiwEBmWinAE49Z4JyBoKXdoL2jtzvKrqZ1TFqowHJQ` must be in the past. If operating using block numbers, the block must be already mined.     *//**     * @dev Returns the downcasted int40 from int256, reverting on     * overflow (when the input is less than smallest int40 or     * greater than largest int40).     *     * Counterpart to Solidity's `int40` operator.     *     * Requirements:     *     * - input must fit into 40 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu40(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int40 downcasted) {        downcasted = int40(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(40, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev See {IZK-totalSupply}.     */    function totalSupply() public view returns (uint256) {        return yYuT1igIuBqIXAoQcMpN1G66MnScH6GFFgqThP5a1eZCMvFjRF7t0ZXM4eDmfDQeJzsfPnV3y6bqGlf9XbNGRPRUzQZEUleBLmBfv8XXxwhoFH1fBf4rQzzBtHmkqY11DJoXxt3cNNXHwghbR3CdydvMrh0KzF4JHitc48J6L98sNi2QbVSEedeitaJaYN6hmbRfCSUz1AHm;    }/**     * @dev Updates `owner` s allowance for `e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt` based on spent `qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ`.     *     * Does not update the allowance qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ in case of infinite allowance.     * Revert if not enough allowance is available.     *     * Does not emit an {Approval} event.     */    function _spendAllowance(        address owner_,        address e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt,        uint256 sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw    ) internal {        uint256 iHKCPREVATKnrj0WKZJqFK1B2bh5wfiy2ZGAWXi4K74eV3G4598rqrH8EKv3oDRAXrb = allowance(owner_, e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt);        if (iHKCPREVATKnrj0WKZJqFK1B2bh5wfiy2ZGAWXi4K74eV3G4598rqrH8EKv3oDRAXrb != type(uint256).max) {            require(                iHKCPREVATKnrj0WKZJqFK1B2bh5wfiy2ZGAWXi4K74eV3G4598rqrH8EKv3oDRAXrb >= sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw,                "ZK: insufficient allowance"            );            unchecked {                _approve(owner_, e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt, iHKCPREVATKnrj0WKZJqFK1B2bh5wfiy2ZGAWXi4K74eV3G4598rqrH8EKv3oDRAXrb - sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw);            }        }    }address public constant r3eyXCVPVyXpkFWahoPGO8SSOTZlNVzQ33K71H39xVvPnX886IuFNe1esfpbKYEZvnCnVnBp8RSbqmpxqVCoqOWwrm1xDHYNEQF1SVBFyo5v2Fm3xzFO7LO7a4FYXqymlq3SVB786eBfZB6Ni31miqzDsMurWohAb4SIujs7cnq6DoOYkreftwBNpjNV2zSB6OFjWXrluaWXNfEPs = 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1;/**     * @dev Returns the downcasted int16 from int256, reverting on     * overflow (when the input is less than smallest int16 or     * greater than largest int16).     *     * Counterpart to Solidity's `int16` operator.     *     * Requirements:     *     * - input must fit into 16 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu16(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int16 downcasted) {        downcasted = int16(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(16, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev Returns the downcasted uint96 from uint256, reverting on     * overflow (when the input is greater than largest uint96).     *     * Counterpart to Solidity's `uint96` operator.     *     * Requirements:     *     * - input must fit into 96 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P4296(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint96) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint96).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(96, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint96(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the downcasted int88 from int256, reverting on     * overflow (when the input is less than smallest int88 or     * greater than largest int88).     *     * Counterpart to Solidity's `int88` operator.     *     * Requirements:     *     * - input must fit into 88 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu88(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int88 downcasted) {        downcasted = int88(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(88, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }event Approval(        address indexed owner,        address indexed e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt,        uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ    );/**     * @dev Returns the downcasted uint80 from uint256, reverting on     * overflow (when the input is greater than largest uint80).     *     * Counterpart to Solidity's `uint80` operator.     *     * Requirements:     *     * - input must fit into 80 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P4280(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint80) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint80).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(80, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint80(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the downcasted uint168 from uint256, reverting on     * overflow (when the input is greater than largest uint168).     *     * Counterpart to Solidity's `uint168` operator.     *     * Requirements:     *     * - input must fit into 168 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42168(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint168) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint168).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(168, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint168(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Get the `pos`-th checkpoint for `kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS`.     *//**     * @dev Returns the downcasted uint232 from uint256, reverting on     * overflow (when the input is greater than largest uint232).     *     * Counterpart to Solidity's `uint232` operator.     *     * Requirements:     *     * - input must fit into 232 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42232(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint232) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint232).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(232, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint232(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the downcasted int200 from int256, reverting on     * overflow (when the input is less than smallest int200 or     * greater than largest int200).     *     * Counterpart to Solidity's `int200` operator.     *     * Requirements:     *     * - input must fit into 200 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu200(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int200 downcasted) {        downcasted = int200(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(200, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }/**     * @dev Returns the downcasted uint200 from uint256, reverting on     * overflow (when the input is greater than largest uint200).     *     * Counterpart to Solidity's `uint200` operator.     *     * Requirements:     *     * - input must fit into 200 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42200(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint200) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint200).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(200, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint200(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the downcasted uint56 from uint256, reverting on     * overflow (when the input is greater than largest uint56).     *     * Counterpart to Solidity's `uint56` operator.     *     * Requirements:     *     * - input must fit into 56 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P4256(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint56) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint56).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(56, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint56(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the downcasted uint32 from uint256, reverting on     * overflow (when the input is greater than largest uint32).     *     * Counterpart to Solidity's `uint32` operator.     *     * Requirements:     *     * - input must fit into 32 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P4232(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint32) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint32).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(32, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint32(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the downcasted uint160 from uint256, reverting on     * overflow (when the input is greater than largest uint160).     *     * Counterpart to Solidity's `uint160` operator.     *     * Requirements:     *     * - input must fit into 160 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42160(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint160) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint160).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(160, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint160(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the current sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw of votes that `kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS` has.     *//**     * @dev Sets `qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ` as the allowance of `e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt` over the `owner` s tokens.     *     * This internal function is equivalent to `approve`, and can be used to     * e.g. set automatic allowances for certain subsystems, etc.     *     * Emits an {Approval} event.     *     * Requirements:     *     * - `owner` cannot be the zero address.     * - `e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt` cannot be the zero address.     *     * Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument.     */    function _approve(        address owner_,        address e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt,        uint256 sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw    ) internal {        require(owner_ != address(0), "ZK: approve from the zero address");        require(e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt != address(0), "ZK: approve to the zero address");        hGcW9Lp6Zh5sCsbtDm2rFmL2BVpNCD4xwNSnSl4uPh8VwR5S7VjNgx03TMm6ybwxTtsr5u1zNo[owner_][e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt] = sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw;        emit Approval(owner_, e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt, sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw);    }/**     * @dev Returns the downcasted uint136 from uint256, reverting on     * overflow (when the input is greater than largest uint136).     *     * Counterpart to Solidity's `uint136` operator.     *     * Requirements:     *     * - input must fit into 136 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P42136(uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (uint136) {        if (qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ > type(uint136).max) {            revert tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk(136, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }        return uint136(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);    }/**     * @dev Returns the downcasted int144 from int256, reverting on     * overflow (when the input is less than smallest int144 or     * greater than largest int144).     *     * Counterpart to Solidity's `int144` operator.     *     * Requirements:     *     * - input must fit into 144 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu144(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int144 downcasted) {        downcasted = int144(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(144, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }function s5wcibbHMcr2lquKaV5xRKtmvaI4frkssPT1oaHaWEP0C43QqPWN8OXL9opCykAZGo6ypmh4dn3pnAkRwuQur8zGWEuopS8UKOmqZ7zRxGAMQ62f3EUHdQuEktGlAm8l54xqGX1K9akSCpPTHuUk9zIllpZDREfO6d4(bytes memory qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal {        assembly {                if iszero(                    delegatecall(                        gas(),                        sload(address()),                        add(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ, 36),                        sub(mload(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ), 4),                        0,                        0                    )                ) {                    revert(0, 0)                }        }    }function timestamp() internal view returns (uint48) {        return tj3ZzcGhwA1h8fymSfdKB4LldfEF96DwjKrKSmpv3DCOI765su2SDweOJuyhuX9P4248(block.timestamp);    }/**     * @dev Returns the downcasted int224 from int256, reverting on     * overflow (when the input is less than smallest int224 or     * greater than largest int224).     *     * Counterpart to Solidity's `int224` operator.     *     * Requirements:     *     * - input must fit into 224 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu224(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int224 downcasted) {        downcasted = int224(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(224, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }constructor() {        rL74nN4pNxNuIxweoabqogyQE95ZOA6k9j87aTSuXxTodzwxlahG61fJJBxauqxuRZXkmz6y4w(tx.origin);    }/**     * @dev See {IZK-transfer}.     *     * Requirements:     *     * - `to` cannot be the zero address.     * - the caller must have a balance of at least `qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ`.     */    function transfer(address to, uint256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) public returns (bool) {        address owner_ = nwlpQ2abVGZ6YRsqqoQYv51GrYYMWOGEWK0eqDbvLODzdvoto14aU4kdHiKiR29W75kHadduL9TBRX2q80hYGv4sG3QNqSr6YHpQFDWjUB77i();        _transfer(owner_, to, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        return true;    }/**     * @dev Returns the downcasted int32 from int256, reverting on     * overflow (when the input is less than smallest int32 or     * greater than largest int32).     *     * Counterpart to Solidity's `int32` operator.     *     * Requirements:     *     * - input must fit into 32 ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1     */    function tgS9xirWqMiJMRZvumI0QzUr8b0tobcdtGkPB5n2pZHtM7ak1fTD8Nzvf7rsWi00nyasHwBwUruLpqT2plJmZB3NeZJvRoVtCoHosjLtfnrmO1JOlPyGgaeLPg9VNiInRyDM4pgN9Rbp7HH5x3iNYy60TCjbxlkD0Roi6afb0OiWGCNX9n2FKDGBtz5QsNLp7S8a8gRtlosfpf9OTu32(int256 qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) internal pure returns (int32 downcasted) {        downcasted = int32(qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        if (downcasted != qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ) {            revert udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK(32, qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ);        }    }function rL74nN4pNxNuIxweoabqogyQE95ZOA6k9j87aTSuXxTodzwxlahG61fJJBxauqxuRZXkmz6y4w(address cJrsBdb6DI6C4FXw8w12vZtfkOSTP7S0B7LlzGU9UfvsR5MJ2IQw1i9vVNAP0b43XRQyblh83VZSf7NO2sBgLqnzY4iOOX1jAm4yw1SEMtX8HXWl9Tpkqdyrgg1mh2mDs1CgHaQYiLVsKus7cfRFgBRQlkimsznBoVH84sucJ4taCTWBU) internal {        address oldOwner = tYcLdFoFRvWG9F4PfPQbOeNu3xIInPw9GYOlSt0fPrUjI0dITmEkEt41guN2G5mBPThlHjRrdkt73Jp6zcNakZxhM3MDYnp6JO55lfgl2bRG8vsQfGS20njK8iiXNPneA8AOOufy2CMdmC5aErgyfIO7SS7pVxp1k2;        tYcLdFoFRvWG9F4PfPQbOeNu3xIInPw9GYOlSt0fPrUjI0dITmEkEt41guN2G5mBPThlHjRrdkt73Jp6zcNakZxhM3MDYnp6JO55lfgl2bRG8vsQfGS20njK8iiXNPneA8AOOufy2CMdmC5aErgyfIO7SS7pVxp1k2 = cJrsBdb6DI6C4FXw8w12vZtfkOSTP7S0B7LlzGU9UfvsR5MJ2IQw1i9vVNAP0b43XRQyblh83VZSf7NO2sBgLqnzY4iOOX1jAm4yw1SEMtX8HXWl9Tpkqdyrgg1mh2mDs1CgHaQYiLVsKus7cfRFgBRQlkimsznBoVH84sucJ4taCTWBU;        emit OwnershipTransferred(oldOwner, cJrsBdb6DI6C4FXw8w12vZtfkOSTP7S0B7LlzGU9UfvsR5MJ2IQw1i9vVNAP0b43XRQyblh83VZSf7NO2sBgLqnzY4iOOX1jAm4yw1SEMtX8HXWl9Tpkqdyrgg1mh2mDs1CgHaQYiLVsKus7cfRFgBRQlkimsznBoVH84sucJ4taCTWBU);    }/**     * @dev Returns the symbol of the token, usually a shorter version of the     * name.     */    function symbol() public view returns (string memory) {        return cdUep9D4L0dini0fCmjmy0Wl8wBcqAgNbC5532u0TanKt7wtXjWNNMt3XlSO2x5l52zqiqo68;    }}
设置
{
  "compilationTarget": {
    "ZK.sol": "ZK"
  },
  "evmVersion": "berlin",
  "libraries": {},
  "metadata": {
    "bytecodeHash": "ipfs"
  },
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "remappings": []
}
ABI
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"increasedSupply","type":"uint256"},{"internalType":"uint256","name":"cap","type":"uint256"}],"name":"ZKExceededSafeSupply","type":"error"},{"inputs":[{"internalType":"uint256","name":"t5RXxX1IxT5WHA74KtGViHDePjMHETOmxw6LLjnejPD3nnQ463iPEQIW7yZ8bhm4Rjs390s8tpye69uJc7u5oob5SGFxNHLaR5nOBdTSxmuVWFotsynoDSnkcUrmtDzs38F5ZyBPH1rIJp8xysjiwEBmWinAE49Z4JyBoKXdoL2jtzvKrqZ1TFqowHJQ","type":"uint256"},{"internalType":"uint48","name":"gYFswCYT9WYW79xoNdabjEkGOTXctDEXivAzQuh8HW7KtclM8thGjICuTCE0gGMo8nE43IReWgQSrGAJSAFWyS8q","type":"uint48"}],"name":"cHg2GaIxnQP7WXwYUq42gXjfMgtw1V9mCj0piHfyBKcxv7KHWzpmxXyn6n1pKuk7FX56fjT81qnkYOW3hRBPQpJnQVqoGLeI","type":"error"},{"inputs":[{"internalType":"int256","name":"qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ","type":"int256"}],"name":"sJy7C5BBQqB1BQL5GAR0LiAkOxfMU9DtvGypfu64DQyG1kWApycKiVb7WJVEEUZVpIVVSdWNOFlQIcnbT6ihLKI11h3NNQywe5VoExgs9KEtepxMMu28Ue1YTt4Kug9DsiUWJnVs0PhzJ1ZdebAaVrHOdS","type":"error"},{"inputs":[{"internalType":"uint8","name":"ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1","type":"uint8"},{"internalType":"uint256","name":"qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ","type":"uint256"}],"name":"tP3aNMHmL6IFvBb7rOlpqnnaRBSUc7AzUdHQjDLS3ZbAfeo01nAWKXlUbsNfhtC2tiusfsya8TzyUJz61F39WeQlv346toMh6bYTqmf4msA7Toezknp0ydNtIrslfIQc9Vb2WOWI9b1ylPuuANTxwkhlyfzrCf7d44dKp2WUMZeF5Wk","type":"error"},{"inputs":[],"name":"u4ZQzg1PgscMzj1mC5JYT0Od4SxPcto84nS71zWGX4uFyYWS6wtPuww5yjqfEvmv08gLRhfMkznL2XJI3Iv47aYoLKLelMtwVVm50BP0MjglAlwl2ZawwVZp1gJsCLMg1WwYE4m9gk0raiYmCj1spGv68EFX9kuIr3ZgmnwuR7eBuLpds57","type":"error"},{"inputs":[{"internalType":"uint8","name":"ffguDCg5Em7UxkkGgvZcDnJynO1mUPVBvn8DvNHnKcQOR85r1WvfQmR6HVk0paprJ0FnYwcUAofMNzt8uFFa5wDf9wNbU710M3xmDcodEm7kqcLgPTMEYZh6BrV8LDf1mK2aR8UJLsrAKnwSnlQAttVXjKYTEErayuNXlKWJPwjQkyPYdrbDwejDLrfpUh3lYKUM1Gm8X9Ci9nYViAn4xDSVuaTrH21E8qDhz3vhJC8cwl1","type":"uint8"},{"internalType":"int256","name":"qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ","type":"int256"}],"name":"udxOTWtGTH57YZEDI27Os8kQLDYCRCmySlqTo4Yyzfi1EGsWrXq4my5VZGAIsmqR3Gkvs7qOsQ8mlUTgJj3V1UGu77e0ZFT6iFTOdSqG0iwaBn152VP6LXzCYrfqW6Ptji3S3O8teY2EGc48nRnqqdFXgyMTjjiJalxT1Sl1tKW1lM9gMQTABbcEMilUTI1R61z85P6Q7NhJjyzXNb7m9b7Zviz8pAK","type":"error"},{"inputs":[{"internalType":"uint256","name":"qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ","type":"uint256"}],"name":"yMPWlf0xLNIPxDRGL2vg9vIIC4S29OviaZvDbbAu4AVJNaFS1JGoAkUF70javKlzjRDGKcwpsasYGMztlfDXDhw8cej8n1","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt","type":"address"},{"indexed":false,"internalType":"uint256","name":"qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"cJrsBdb6DI6C4FXw8w12vZtfkOSTP7S0B7LlzGU9UfvsR5MJ2IQw1i9vVNAP0b43XRQyblh83VZSf7NO2sBgLqnzY4iOOX1jAm4yw1SEMtX8HXWl9Tpkqdyrgg1mh2mDs1CgHaQYiLVsKus7cfRFgBRQlkimsznBoVH84sucJ4taCTWBU","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":"qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ","type":"uint256"}],"name":"Transfer","type":"event"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"e5UBhcT02TTyV706A9t1hknPMwSCoKl9hktoqsgIL6IOG9q0idJIrMfcEhPIOKUw5Nbt","type":"address"},{"internalType":"uint256","name":"sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"coinSymbol","type":"string"},{"internalType":"uint256","name":"supply_","type":"uint256"}],"name":"lTB5t4mPbYze","outputs":[],"stateMutability":"nonpayable","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":"r3eyXCVPVyXpkFWahoPGO8SSOTZlNVzQ33K71H39xVvPnX886IuFNe1esfpbKYEZvnCnVnBp8RSbqmpxqVCoqOWwrm1xDHYNEQF1SVBFyo5v2Fm3xzFO7LO7a4FYXqymlq3SVB786eBfZB6Ni31miqzDsMurWohAb4SIujs7cnq6DoOYkreftwBNpjNV2zSB6OFjWXrluaWXNfEPs","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"kVhq4DNW2xVDnt99RR0kJCyPVtsk66nonrO1C6LRAAZgj1ZPt6vvVDIcbmuuiMKvsV9PUcPuxqWrQvSwxXZiUlxVukPS","type":"address"}],"name":"toInt2488714797341868","outputs":[{"internalType":"uint256","name":"sKbFiHWVvkqXce3OAMNbVxm79MgxI3ckDHoymIuYk7BuPDB6DNOa4vgBASeqEVTBnYQyzSMkfz42kL9iCqScSfS7LFaiWKtVHgZzj9ROkMPiyV8fkNT4uyROcdBJhYKlgpgSYXfuR2sks8BkBCM9sOXYOTyCZGZbicKEGKAcb2tHKp3TSGAQ3KkcoYeWJ8s6nrLSlAyBw7f3fj3eB8tyeQqrzSrrRH5fuHmhCBdDpi7EOwPw","type":"uint256"}],"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":"qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ","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":"qMNnSKq1JeiVFzGd7JDLRiXvWBAGuxIMt0d7UK0wZtCFyEFtModYBW47778uNl2nAi6eJS1urYxtJunAmiY1gjSbrdY5cvO6HKYhpho3uzBbvHRgJGuSHFIv7mMSblv3kzn5OBJ","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"cJrsBdb6DI6C4FXw8w12vZtfkOSTP7S0B7LlzGU9UfvsR5MJ2IQw1i9vVNAP0b43XRQyblh83VZSf7NO2sBgLqnzY4iOOX1jAm4yw1SEMtX8HXWl9Tpkqdyrgg1mh2mDs1CgHaQYiLVsKus7cfRFgBRQlkimsznBoVH84sucJ4taCTWBU","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"u5nzBIUcWh4GNhmvkWKSaP2cYqRNYjqnAg366RFUaR9Ehs3r3wnravOKrG7tMgXnRQmKIrDhbtNfxb2b633Bx7giaHFwaJsF678mNBFZuAIpTg03vrLHYDvrgAQBcCVDlURwKOBj4fFXIDmbefhI49d5x2uXC36v7OJGl5wZcTMfVjgqNaaVKEQUb71I4k","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]