{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50610e75806100206000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80633644e5151161008c57806395d89b411161006657806395d89b41146101b5578063a9059cbb146101bd578063d505accf146101d0578063dd62ed3e146101e357600080fd5b80633644e5151461016457806370a082311461016c5780637ecebe001461019557600080fd5b806306fdde03146100d4578063095ea7b3146100f25780631624f6c61461011557806318160ddd1461012a57806323b872dd1461013c578063313ce5671461014f575b600080fd5b6100dc61021c565b6040516100e9919061097b565b60405180910390f35b6101056101003660046109e5565b6102ae565b60405190151581526020016100e9565b610128610123366004610ac3565b61031b565b005b6003545b6040519081526020016100e9565b61010561014a366004610b37565b6103ba565b60025460405160ff90911681526020016100e9565b61012e6104cf565b61012e61017a366004610b73565b6001600160a01b031660009081526004602052604090205490565b61012e6101a3366004610b73565b60086020526000908152604090205481565b6100dc6104f5565b6101056101cb3660046109e5565b610504565b6101286101de366004610b8e565b61059b565b61012e6101f1366004610bf8565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60606000805461022b90610c2b565b80601f016020809104026020016040519081016040528092919081815260200182805461025790610c2b565b80156102a45780601f10610279576101008083540402835291602001916102a4565b820191906000526020600020905b81548152906001019060200180831161028757829003601f168201915b5050505050905090565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103099086815260200190565b60405180910390a35060015b92915050565b60095460ff16156103695760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b60448201526064015b60405180910390fd5b60006103758482610cb4565b5060016103828382610cb4565b506002805460ff191660ff831617905561039a6107f9565b6006556103a5610812565b60075550506009805460ff1916600117905550565b6001600160a01b03831660009081526005602090815260408083203384529091528120546000198114610416576103f181846108b5565b6001600160a01b03861660009081526005602090815260408083203384529091529020555b6001600160a01b03851660009081526004602052604090205461043990846108b5565b6001600160a01b0380871660009081526004602052604080822093909355908616815220546104689084610918565b6001600160a01b0380861660008181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104bc9087815260200190565b60405180910390a3506001949350505050565b60006006546104dc6107f9565b146104ee576104e9610812565b905090565b5060075490565b60606001805461022b90610c2b565b3360009081526004602052604081205461051e90836108b5565b33600090815260046020526040808220929092556001600160a01b0385168152205461054a9083610918565b6001600160a01b0384166000818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103099086815260200190565b428410156105eb5760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610360565b600060016105f76104cf565b6001600160a01b038a16600090815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290919061064583610d8a565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e001604051602081830303815290604052805190602001206040516020016106be92919061190160f01b81526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa15801561071c573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906107525750876001600160a01b0316816001600160a01b0316145b61078f5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610360565b6001600160a01b0381811660009081526005602090815260408083208b8516808552908352928190208a90555189815291928b16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35050505050505050565b60006109778061080b63ffffffff8216565b9250505090565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516108449190610da3565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66108756107f9565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000818310156109075760405162461bcd60e51b815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f77000000006044820152606401610360565b6109118284610e19565b9392505050565b6000806109258385610e2c565b9050838110156109115760405162461bcd60e51b815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f7700000000000000006044820152606401610360565b4690565b600060208083528351808285015260005b818110156109a85785810183015185820160400152820161098c565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146109e057600080fd5b919050565b600080604083850312156109f857600080fd5b610a01836109c9565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610a3657600080fd5b813567ffffffffffffffff80821115610a5157610a51610a0f565b604051601f8301601f19908116603f01168101908282118183101715610a7957610a79610a0f565b81604052838152866020858801011115610a9257600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff811681146109e057600080fd5b600080600060608486031215610ad857600080fd5b833567ffffffffffffffff80821115610af057600080fd5b610afc87838801610a25565b94506020860135915080821115610b1257600080fd5b50610b1f86828701610a25565b925050610b2e60408501610ab2565b90509250925092565b600080600060608486031215610b4c57600080fd5b610b55846109c9565b9250610b63602085016109c9565b9150604084013590509250925092565b600060208284031215610b8557600080fd5b610911826109c9565b600080600080600080600060e0888a031215610ba957600080fd5b610bb2886109c9565b9650610bc0602089016109c9565b95506040880135945060608801359350610bdc60808901610ab2565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215610c0b57600080fd5b610c14836109c9565b9150610c22602084016109c9565b90509250929050565b600181811c90821680610c3f57607f821691505b602082108103610c5f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610caf57600081815260208120601f850160051c81016020861015610c8c5750805b601f850160051c820191505b81811015610cab57828155600101610c98565b5050505b505050565b815167ffffffffffffffff811115610cce57610cce610a0f565b610ce281610cdc8454610c2b565b84610c65565b602080601f831160018114610d175760008415610cff5750858301515b600019600386901b1c1916600185901b178555610cab565b600085815260208120601f198616915b82811015610d4657888601518255948401946001909101908401610d27565b5085821015610d645787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600060018201610d9c57610d9c610d74565b5060010190565b6000808354610db181610c2b565b60018281168015610dc95760018114610dde57610e0d565b60ff1984168752821515830287019450610e0d565b8760005260208060002060005b85811015610e045781548a820152908401908201610deb565b50505082870194505b50929695505050505050565b8181038181111561031557610315610d74565b8082018082111561031557610315610d7456fea2646970667358221220094974c545985fa87448d058879c964c3fde9996435cf06cc25081b63359576964736f6c63430008150033","sourceMap":"369:7950:20:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80633644e5151161008c57806395d89b411161006657806395d89b41146101b5578063a9059cbb146101bd578063d505accf146101d0578063dd62ed3e146101e357600080fd5b80633644e5151461016457806370a082311461016c5780637ecebe001461019557600080fd5b806306fdde03146100d4578063095ea7b3146100f25780631624f6c61461011557806318160ddd1461012a57806323b872dd1461013c578063313ce5671461014f575b600080fd5b6100dc61021c565b6040516100e9919061097b565b60405180910390f35b6101056101003660046109e5565b6102ae565b60405190151581526020016100e9565b610128610123366004610ac3565b61031b565b005b6003545b6040519081526020016100e9565b61010561014a366004610b37565b6103ba565b60025460405160ff90911681526020016100e9565b61012e6104cf565b61012e61017a366004610b73565b6001600160a01b031660009081526004602052604090205490565b61012e6101a3366004610b73565b60086020526000908152604090205481565b6100dc6104f5565b6101056101cb3660046109e5565b610504565b6101286101de366004610b8e565b61059b565b61012e6101f1366004610bf8565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60606000805461022b90610c2b565b80601f016020809104026020016040519081016040528092919081815260200182805461025790610c2b565b80156102a45780601f10610279576101008083540402835291602001916102a4565b820191906000526020600020905b81548152906001019060200180831161028757829003601f168201915b5050505050905090565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103099086815260200190565b60405180910390a35060015b92915050565b60095460ff16156103695760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b60448201526064015b60405180910390fd5b60006103758482610cb4565b5060016103828382610cb4565b506002805460ff191660ff831617905561039a6107f9565b6006556103a5610812565b60075550506009805460ff1916600117905550565b6001600160a01b03831660009081526005602090815260408083203384529091528120546000198114610416576103f181846108b5565b6001600160a01b03861660009081526005602090815260408083203384529091529020555b6001600160a01b03851660009081526004602052604090205461043990846108b5565b6001600160a01b0380871660009081526004602052604080822093909355908616815220546104689084610918565b6001600160a01b0380861660008181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104bc9087815260200190565b60405180910390a3506001949350505050565b60006006546104dc6107f9565b146104ee576104e9610812565b905090565b5060075490565b60606001805461022b90610c2b565b3360009081526004602052604081205461051e90836108b5565b33600090815260046020526040808220929092556001600160a01b0385168152205461054a9083610918565b6001600160a01b0384166000818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103099086815260200190565b428410156105eb5760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610360565b600060016105f76104cf565b6001600160a01b038a16600090815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290919061064583610d8a565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e001604051602081830303815290604052805190602001206040516020016106be92919061190160f01b81526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa15801561071c573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906107525750876001600160a01b0316816001600160a01b0316145b61078f5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610360565b6001600160a01b0381811660009081526005602090815260408083208b8516808552908352928190208a90555189815291928b16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35050505050505050565b60006109778061080b63ffffffff8216565b9250505090565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516108449190610da3565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66108756107f9565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000818310156109075760405162461bcd60e51b815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f77000000006044820152606401610360565b6109118284610e19565b9392505050565b6000806109258385610e2c565b9050838110156109115760405162461bcd60e51b815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f7700000000000000006044820152606401610360565b4690565b600060208083528351808285015260005b818110156109a85785810183015185820160400152820161098c565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146109e057600080fd5b919050565b600080604083850312156109f857600080fd5b610a01836109c9565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610a3657600080fd5b813567ffffffffffffffff80821115610a5157610a51610a0f565b604051601f8301601f19908116603f01168101908282118183101715610a7957610a79610a0f565b81604052838152866020858801011115610a9257600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff811681146109e057600080fd5b600080600060608486031215610ad857600080fd5b833567ffffffffffffffff80821115610af057600080fd5b610afc87838801610a25565b94506020860135915080821115610b1257600080fd5b50610b1f86828701610a25565b925050610b2e60408501610ab2565b90509250925092565b600080600060608486031215610b4c57600080fd5b610b55846109c9565b9250610b63602085016109c9565b9150604084013590509250925092565b600060208284031215610b8557600080fd5b610911826109c9565b600080600080600080600060e0888a031215610ba957600080fd5b610bb2886109c9565b9650610bc0602089016109c9565b95506040880135945060608801359350610bdc60808901610ab2565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215610c0b57600080fd5b610c14836109c9565b9150610c22602084016109c9565b90509250929050565b600181811c90821680610c3f57607f821691505b602082108103610c5f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610caf57600081815260208120601f850160051c81016020861015610c8c5750805b601f850160051c820191505b81811015610cab57828155600101610c98565b5050505b505050565b815167ffffffffffffffff811115610cce57610cce610a0f565b610ce281610cdc8454610c2b565b84610c65565b602080601f831160018114610d175760008415610cff5750858301515b600019600386901b1c1916600185901b178555610cab565b600085815260208120601f198616915b82811015610d4657888601518255948401946001909101908401610d27565b5085821015610d645787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600060018201610d9c57610d9c610d74565b5060010190565b6000808354610db181610c2b565b60018281168015610dc95760018114610dde57610e0d565b60ff1984168752821515830287019450610e0d565b8760005260208060002060005b85811015610e045781548a820152908401908201610deb565b50505082870194505b50929695505050505050565b8181038181111561031557610315610d74565b8082018082111561031557610315610d7456fea2646970667358221220094974c545985fa87448d058879c964c3fde9996435cf06cc25081b63359576964736f6c63430008150033","sourceMap":"369:7950:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;677:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3057:221;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:113;;1162:22;1144:41;;1132:2;1117:18;3057:221:20;1004:187:113;2504:365:20;;;;;;:::i;:::-;;:::i;:::-;;1322:100;1403:12;;1322:100;;;2977:25:113;;;2965:2;2950:18;1322:100:20;2831:177:113;3578:472:20;;;;;;:::i;:::-;;:::i;877:92::-;953:9;;877:92;;953:9;;;;3488:36:113;;3476:2;3461:18;877:92:20;3346:184:113;5427:178:20;;;:::i;1428:116::-;;;;;;:::i;:::-;-1:-1:-1;;;;;1520:17:20;1494:7;1520:17;;;:10;:17;;;;;;;1428:116;1970:41;;;;;;:::i;:::-;;;;;;;;;;;;;;775:96;;;:::i;3284:288::-;;;;;;:::i;:::-;;:::i;4239:1182::-;;;;;;:::i;:::-;;:::i;1550:142::-;;;;;;:::i;:::-;-1:-1:-1;;;;;1659:17:20;;;1633:7;1659:17;;;:10;:17;;;;;;;;:26;;;;;;;;;;;;;1550:142;677:92;725:13;757:5;750:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;677:92;:::o;3057:221::-;3167:10;3140:4;3156:22;;;:10;:22;;;;;;;;-1:-1:-1;;;;;3156:31:20;;;;;;;;;;:40;;;3212:37;3140:4;;3156:31;;3212:37;;;;3190:6;2977:25:113;;2965:2;2950:18;;2831:177;3212:37:20;;;;;;;;-1:-1:-1;3267:4:20;3057:221;;;;;:::o;2504:365::-;2611:11;;;;2610:12;2602:44;;;;-1:-1:-1;;;2602:44:20;;5371:2:113;2602:44:20;;;5353:21:113;5410:2;5390:18;;;5383:30;-1:-1:-1;;;5429:18:113;;;5422:49;5488:18;;2602:44:20;;;;;;;;;2657:5;:13;2665:5;2657;:13;:::i;:::-;-1:-1:-1;2680:7:20;:17;2690:7;2680;:17;:::i;:::-;-1:-1:-1;2707:9:20;:21;;-1:-1:-1;;2707:21:20;;;;;;;2758:14;:12;:14::i;:::-;2739:16;:33;2809:24;:22;:24::i;:::-;2782;:51;-1:-1:-1;;2844:11:20;:18;;-1:-1:-1;;2844:18:20;2858:4;2844:18;;;-1:-1:-1;2504:365:20:o;3578:472::-;-1:-1:-1;;;;;3709:16:20;;3675:4;3709:16;;;:10;:16;;;;;;;;3726:10;3709:28;;;;;;;;-1:-1:-1;;3788:22:20;;3784:80;;3843:21;3848:7;3857:6;3843:4;:21::i;:::-;-1:-1:-1;;;;;3812:16:20;;;;;;:10;:16;;;;;;;;3829:10;3812:28;;;;;;;:52;3784:80;-1:-1:-1;;;;;3899:16:20;;;;;;:10;:16;;;;;;3894:30;;3917:6;3894:4;:30::i;:::-;-1:-1:-1;;;;;3875:16:20;;;;;;;:10;:16;;;;;;:49;;;;3956:14;;;;;;;3951:28;;3972:6;3951:4;:28::i;:::-;-1:-1:-1;;;;;3934:14:20;;;;;;;:10;:14;;;;;;;:45;;;;3995:26;;;;;;;;;;4014:6;2977:25:113;;2965:2;2950:18;;2831:177;3995:26:20;;;;;;;;-1:-1:-1;4039:4:20;;3578:472;-1:-1:-1;;;;3578:472:20:o;5427:178::-;5484:7;5528:16;;5510:14;:12;:14::i;:::-;:34;:88;;5574:24;:22;:24::i;:::-;5503:95;;5427:178;:::o;5510:88::-;-1:-1:-1;5547:24:20;;;5427:178::o;775:96::-;825:13;857:7;850:14;;;;;:::i;3284:288::-;3420:10;3363:4;3409:22;;;:10;:22;;;;;;3404:36;;3433:6;3404:4;:36::i;:::-;3390:10;3379:22;;;;:10;:22;;;;;;:61;;;;-1:-1:-1;;;;;3472:14:20;;;;;;3467:28;;3488:6;3467:4;:28::i;:::-;-1:-1:-1;;;;;3450:14:20;;;;;;:10;:14;;;;;;;:45;;;;3511:32;;3520:10;;3511:32;;;;3536:6;2977:25:113;;2965:2;2950:18;;2831:177;4239:1182:20;4416:15;4404:8;:27;;4396:63;;;;-1:-1:-1;;;4396:63:20;;7923:2:113;4396:63:20;;;7905:21:113;7962:2;7942:18;;;7935:30;8001:25;7981:18;;;7974:53;8044:18;;4396:63:20;7721:347:113;4396:63:20;4470:24;4497:717;4617:18;:16;:18::i;:::-;-1:-1:-1;;;;;5026:13:20;;;;;;:6;:13;;;;;:15;;4732:157;;4919:5;;4954:7;;4991:5;;5026:15;;:13;:15;;;:::i;:::-;;;;-1:-1:-1;4692:413:20;;;;;;8632:25:113;;;;-1:-1:-1;;;;;8731:15:113;;;8711:18;;;8704:43;8783:15;;;;8763:18;;;8756:43;8815:18;;;8808:34;8858:19;;;8851:35;8902:19;;;8895:35;;;8604:19;;4692:413:20;;;;;;;;;;;;4657:470;;;;;;4547:598;;;;;;;;-1:-1:-1;;;9199:27:113;;9251:1;9242:11;;9235:27;;;;9287:2;9278:12;;9271:28;9324:2;9315:12;;8941:392;4547:598:20;;;;-1:-1:-1;;4547:598:20;;;;;;;;;4520:639;;4547:598;4520:639;;;;4497:717;;;;;;;;;9565:25:113;9638:4;9626:17;;9606:18;;;9599:45;9660:18;;;9653:34;;;9703:18;;;9696:34;;;9537:19;;4497:717:20;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4497:717:20;;-1:-1:-1;;4497:717:20;;;-1:-1:-1;;;;;;;5233:30:20;;;;;;:59;;;5287:5;-1:-1:-1;;;;;5267:25:20;:16;-1:-1:-1;;;;;5267:25:20;;5233:59;5225:86;;;;-1:-1:-1;;;5225:86:20;;9943:2:113;5225:86:20;;;9925:21:113;9982:2;9962:18;;;9955:30;-1:-1:-1;;;10001:18:113;;;9994:44;10055:18;;5225:86:20;9741:338:113;5225:86:20;-1:-1:-1;;;;;5322:28:20;;;;;;;:10;:28;;;;;;;;:37;;;;;;;;;;;;;:45;;;5383:31;2977:25:113;;;5322:37:20;;5383:31;;;;;2950:18:113;5383:31:20;;;;;;;4386:1035;4239:1182;;;;;;;:::o;8017:300::-;8063:15;8140:12;;8297:13;;;;:::i;:::-;8287:23;;8080:237;;8017:300;:::o;5611:404::-;5676:7;5753:95;5882:5;5866:23;;;;;;:::i;:::-;;;;;;;;5907:14;5939;:12;:14::i;:::-;5725:273;;;;;;11192:25:113;;;;11233:18;;11226:34;;;;11276:18;;;11269:34;11319:18;;;11312:34;5979:4:20;11362:19:113;;;11355:61;11164:19;;5725:273:20;;;;;;;;;;;;5702:306;;;;;;5695:313;;5611:404;:::o;7038:154::-;7097:7;7129:1;7124;:6;;7116:47;;;;-1:-1:-1;;;7116:47:20;;11629:2:113;7116:47:20;;;11611:21:113;11668:2;11648:18;;;11641:30;11707;11687:18;;;11680:58;11755:18;;7116:47:20;11427:352:113;7116:47:20;7180:5;7184:1;7180;:5;:::i;:::-;7173:12;7038:154;-1:-1:-1;;;7038:154:20:o;6859:173::-;6918:7;;6949:5;6953:1;6949;:5;:::i;:::-;6937:17;;6977:1;6972;:6;;6964:43;;;;-1:-1:-1;;;6964:43:20;;12249:2:113;6964:43:20;;;12231:21:113;12288:2;12268:18;;;12261:30;12327:26;12307:18;;;12300:54;12371:18;;6964:43:20;12047:348:113;7735:276:20;7918:9;;7735:276::o;14:548:113:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:113;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:113:o;1196:127::-;1257:10;1252:3;1248:20;1245:1;1238:31;1288:4;1285:1;1278:15;1312:4;1309:1;1302:15;1328:719;1371:5;1424:3;1417:4;1409:6;1405:17;1401:27;1391:55;;1442:1;1439;1432:12;1391:55;1478:6;1465:20;1504:18;1541:2;1537;1534:10;1531:36;;;1547:18;;:::i;:::-;1622:2;1616:9;1590:2;1676:13;;-1:-1:-1;;1672:22:113;;;1696:2;1668:31;1664:40;1652:53;;;1720:18;;;1740:22;;;1717:46;1714:72;;;1766:18;;:::i;:::-;1806:10;1802:2;1795:22;1841:2;1833:6;1826:18;1887:3;1880:4;1875:2;1867:6;1863:15;1859:26;1856:35;1853:55;;;1904:1;1901;1894:12;1853:55;1968:2;1961:4;1953:6;1949:17;1942:4;1934:6;1930:17;1917:54;2015:1;2008:4;2003:2;1995:6;1991:15;1987:26;1980:37;2035:6;2026:15;;;;;;1328:719;;;;:::o;2052:156::-;2118:20;;2178:4;2167:16;;2157:27;;2147:55;;2198:1;2195;2188:12;2213:613;2308:6;2316;2324;2377:2;2365:9;2356:7;2352:23;2348:32;2345:52;;;2393:1;2390;2383:12;2345:52;2433:9;2420:23;2462:18;2503:2;2495:6;2492:14;2489:34;;;2519:1;2516;2509:12;2489:34;2542:50;2584:7;2575:6;2564:9;2560:22;2542:50;:::i;:::-;2532:60;;2645:2;2634:9;2630:18;2617:32;2601:48;;2674:2;2664:8;2661:16;2658:36;;;2690:1;2687;2680:12;2658:36;;2713:52;2757:7;2746:8;2735:9;2731:24;2713:52;:::i;:::-;2703:62;;;2784:36;2816:2;2805:9;2801:18;2784:36;:::i;:::-;2774:46;;2213:613;;;;;:::o;3013:328::-;3090:6;3098;3106;3159:2;3147:9;3138:7;3134:23;3130:32;3127:52;;;3175:1;3172;3165:12;3127:52;3198:29;3217:9;3198:29;:::i;:::-;3188:39;;3246:38;3280:2;3269:9;3265:18;3246:38;:::i;:::-;3236:48;;3331:2;3320:9;3316:18;3303:32;3293:42;;3013:328;;;;;:::o;3717:186::-;3776:6;3829:2;3817:9;3808:7;3804:23;3800:32;3797:52;;;3845:1;3842;3835:12;3797:52;3868:29;3887:9;3868:29;:::i;3908:606::-;4019:6;4027;4035;4043;4051;4059;4067;4120:3;4108:9;4099:7;4095:23;4091:33;4088:53;;;4137:1;4134;4127:12;4088:53;4160:29;4179:9;4160:29;:::i;:::-;4150:39;;4208:38;4242:2;4231:9;4227:18;4208:38;:::i;:::-;4198:48;;4293:2;4282:9;4278:18;4265:32;4255:42;;4344:2;4333:9;4329:18;4316:32;4306:42;;4367:37;4399:3;4388:9;4384:19;4367:37;:::i;:::-;4357:47;;4451:3;4440:9;4436:19;4423:33;4413:43;;4503:3;4492:9;4488:19;4475:33;4465:43;;3908:606;;;;;;;;;;:::o;4519:260::-;4587:6;4595;4648:2;4636:9;4627:7;4623:23;4619:32;4616:52;;;4664:1;4661;4654:12;4616:52;4687:29;4706:9;4687:29;:::i;:::-;4677:39;;4735:38;4769:2;4758:9;4754:18;4735:38;:::i;:::-;4725:48;;4519:260;;;;;:::o;4784:380::-;4863:1;4859:12;;;;4906;;;4927:61;;4981:4;4973:6;4969:17;4959:27;;4927:61;5034:2;5026:6;5023:14;5003:18;5000:38;4997:161;;5080:10;5075:3;5071:20;5068:1;5061:31;5115:4;5112:1;5105:15;5143:4;5140:1;5133:15;4997:161;;4784:380;;;:::o;5643:545::-;5745:2;5740:3;5737:11;5734:448;;;5781:1;5806:5;5802:2;5795:17;5851:4;5847:2;5837:19;5921:2;5909:10;5905:19;5902:1;5898:27;5892:4;5888:38;5957:4;5945:10;5942:20;5939:47;;;-1:-1:-1;5980:4:113;5939:47;6035:2;6030:3;6026:12;6023:1;6019:20;6013:4;6009:31;5999:41;;6090:82;6108:2;6101:5;6098:13;6090:82;;;6153:17;;;6134:1;6123:13;6090:82;;;6094:3;;;5734:448;5643:545;;;:::o;6364:1352::-;6490:3;6484:10;6517:18;6509:6;6506:30;6503:56;;;6539:18;;:::i;:::-;6568:97;6658:6;6618:38;6650:4;6644:11;6618:38;:::i;:::-;6612:4;6568:97;:::i;:::-;6720:4;;6784:2;6773:14;;6801:1;6796:663;;;;7503:1;7520:6;7517:89;;;-1:-1:-1;7572:19:113;;;7566:26;7517:89;-1:-1:-1;;6321:1:113;6317:11;;;6313:24;6309:29;6299:40;6345:1;6341:11;;;6296:57;7619:81;;6766:944;;6796:663;5590:1;5583:14;;;5627:4;5614:18;;-1:-1:-1;;6832:20:113;;;6950:236;6964:7;6961:1;6958:14;6950:236;;;7053:19;;;7047:26;7032:42;;7145:27;;;;7113:1;7101:14;;;;6980:19;;6950:236;;;6954:3;7214:6;7205:7;7202:19;7199:201;;;7275:19;;;7269:26;-1:-1:-1;;7358:1:113;7354:14;;;7370:3;7350:24;7346:37;7342:42;7327:58;7312:74;;7199:201;-1:-1:-1;;;;;7446:1:113;7430:14;;;7426:22;7413:36;;-1:-1:-1;6364:1352:113:o;8073:127::-;8134:10;8129:3;8125:20;8122:1;8115:31;8165:4;8162:1;8155:15;8189:4;8186:1;8179:15;8205:135;8244:3;8265:17;;;8262:43;;8285:18;;:::i;:::-;-1:-1:-1;8332:1:113;8321:13;;8205:135::o;10084:844::-;10214:3;10243:1;10276:6;10270:13;10306:36;10332:9;10306:36;:::i;:::-;10361:1;10378:18;;;10405:133;;;;10552:1;10547:356;;;;10371:532;;10405:133;-1:-1:-1;;10438:24:113;;10426:37;;10511:14;;10504:22;10492:35;;10483:45;;;-1:-1:-1;10405:133:113;;10547:356;10578:6;10575:1;10568:17;10608:4;10653:2;10650:1;10640:16;10678:1;10692:165;10706:6;10703:1;10700:13;10692:165;;;10784:14;;10771:11;;;10764:35;10827:16;;;;10721:10;;10692:165;;;10696:3;;;10886:6;10881:3;10877:16;10870:23;;10371:532;-1:-1:-1;10919:3:113;;10084:844;-1:-1:-1;;;;;;10084:844:113:o;11784:128::-;11851:9;;;11872:11;;;11869:37;;;11886:18;;:::i;11917:125::-;11982:9;;;12003:10;;;12000:36;;;12016:18;;:::i","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","initialize(string,string,uint8)":"1624f6c6","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"},\"initialize(string,string,uint8)\":{\"details\":\"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once.\"}},\"stateVariables\":{\"initialized\":{\"details\":\"A bool to track whether the contract has been initialized.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"notice\":\"This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/mocks/MockERC20.sol\":\"MockERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"initialize(string,string,uint8)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/mocks/MockERC20.sol":"MockERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"}},"version":1},"id":20}