0 txs
0 calls
constructor
constructor()
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
deployer
viewfunction deployer() view returns (address)
developer
viewfunction developer() view returns (address)
DOMAIN_SEPARATOR
viewfunction DOMAIN_SEPARATOR() view returns (bytes32)
eip712Domain
viewfunction eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)
name
viewfunction name() view returns (string)
nonces
viewfunction nonces(address owner) view returns (uint256)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 value) returns (bool)
burn
nonpayablefunction burn(uint256 value)
burnFrom
nonpayablefunction burnFrom(address account, uint256 value)
permit
nonpayablefunction permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)
rescueETH
nonpayablefunction rescueETH()
transfer
nonpayablefunction transfer(address to, uint256 value) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 value) returns (bool)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
EIP712DomainChanged
event EIP712DomainChanged()
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
ECDSAInvalidSignature
error ECDSAInvalidSignature()
ECDSAInvalidSignatureLength
error ECDSAInvalidSignatureLength(uint256 length)
ECDSAInvalidSignatureS
error ECDSAInvalidSignatureS(bytes32 s)
ERC20InsufficientAllowance
error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed)
ERC20InsufficientBalance
error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed)
ERC20InvalidApprover
error ERC20InvalidApprover(address approver)
ERC20InvalidReceiver
error ERC20InvalidReceiver(address receiver)
ERC20InvalidSender
error ERC20InvalidSender(address sender)
ERC20InvalidSpender
error ERC20InvalidSpender(address spender)
ERC2612ExpiredSignature
error ERC2612ExpiredSignature(uint256 deadline)
ERC2612InvalidSigner
error ERC2612InvalidSigner(address signer, address owner)
InvalidAccountNonce
error InvalidAccountNonce(address account, uint256 currentNonce)
InvalidShortString
error InvalidShortString()
StringTooLong
error StringTooLong(string str)
creation bytecode
0x610160604052348015610010575f80fd5b506040518060400160405280600e81526020017f4261736564204d696e6563726674000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600f81526020017f4261736564204d696e65637261667400000000000000000000000000000000008152506040518060400160405280600781526020017f62617365644d430000000000000000000000000000000000000000000000000081525081600390816100f99190610b0f565b5080600490816101099190610b0f565b5073d1ec8245c8850a151843ce8a3afdca3b1974770660055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505061017460068361028860201b90919060201c565b610120818152505061019060078261028860201b90919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a081815250506101cd6102d560201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050506102433361021d61032f60201b60201c565b600a6102299190610d46565b6305f5e1006102389190610d90565b61033760201b60201c565b3360095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506111b2565b5f6020835110156102a9576102a2836103bc60201b60201c565b90506102cf565b826102b98361042160201b60201c565b5f0190816102c79190610b0f565b5060ff5f1b90505b92915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e051610100514630604051602001610314959493929190610e37565b60405160208183030381529060405280519060200120905090565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036103a7575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161039e9190610e88565b60405180910390fd5b6103b85f838361042a60201b60201c565b5050565b5f80829050601f8151111561040857826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016103ff9190610f07565b60405180910390fd5b80518161041490610f54565b5f1c175f1b915050919050565b5f819050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610498576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048f9061102a565b60405180910390fd5b5f6103e86003836104a99190610d90565b6104b39190611075565b90505f6103e86005846104c69190610d90565b6104d09190611075565b90505f8183856104e091906110a5565b6104ea91906110a5565b90505f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036105f3578360025f82825461053091906110d8565b92505081905550835f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461058291906110d8565b925050819055508473ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516105e6919061110b565b60405180910390a36108cd565b5f805f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905084811015610676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066d90611194565b60405180910390fd5b8481035f808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282540192505081905550825f8060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508360025f82825403925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107d8919061110b565b60405180910390a360055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161085e919061110b565b60405180910390a35f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516108c3919061110b565b60405180910390a3505b505050505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061095057607f821691505b6020821081036109635761096261090c565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026109c57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261098a565b6109cf868361098a565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f610a13610a0e610a09846109e7565b6109f0565b6109e7565b9050919050565b5f819050919050565b610a2c836109f9565b610a40610a3882610a1a565b848454610996565b825550505050565b5f90565b610a54610a48565b610a5f818484610a23565b505050565b5b81811015610a8257610a775f82610a4c565b600181019050610a65565b5050565b601f821115610ac757610a9881610969565b610aa18461097b565b81016020851015610ab0578190505b610ac4610abc8561097b565b830182610a64565b50505b505050565b5f82821c905092915050565b5f610ae75f1984600802610acc565b1980831691505092915050565b5f610aff8383610ad8565b9150826002028217905092915050565b610b18826108d5565b67ffffffffffffffff811115610b3157610b306108df565b5b610b3b8254610939565b610b46828285610a86565b5f60209050601f831160018114610b77575f8415610b65578287015190505b610b6f8582610af4565b865550610bd6565b601f198416610b8586610969565b5f5b82811015610bac57848901518255600182019150602085019450602081019050610b87565b86831015610bc95784890151610bc5601f891682610ad8565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610c6057808604811115610c3c57610c3b610bde565b5b6001851615610c4b5780820291505b8081029050610c5985610c0b565b9450610c20565b94509492505050565b5f82610c785760019050610d33565b81610c85575f9050610d33565b8160018114610c9b5760028114610ca557610cd4565b6001915050610d33565b60ff841115610cb757610cb6610bde565b5b8360020a915084821115610cce57610ccd610bde565b5b50610d33565b5060208310610133831016604e8410600b8410161715610d095782820a905083811115610d0457610d03610bde565b5b610d33565b610d168484846001610c17565b92509050818404811115610d2d57610d2c610bde565b5b81810290505b9392505050565b5f60ff82169050919050565b5f610d50826109e7565b9150610d5b83610d3a565b9250610d887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610c69565b905092915050565b5f610d9a826109e7565b9150610da5836109e7565b9250828202610db3816109e7565b91508282048414831517610dca57610dc9610bde565b5b5092915050565b5f819050919050565b610de381610dd1565b82525050565b610df2816109e7565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e2182610df8565b9050919050565b610e3181610e17565b82525050565b5f60a082019050610e4a5f830188610dda565b610e576020830187610dda565b610e646040830186610dda565b610e716060830185610de9565b610e7e6080830184610e28565b9695505050505050565b5f602082019050610e9b5f830184610e28565b92915050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610ed9826108d5565b610ee38185610ea1565b9350610ef3818560208601610eb1565b610efc81610ebf565b840191505092915050565b5f6020820190508181035f830152610f1f8184610ecf565b905092915050565b5f81519050919050565b5f819050602082019050919050565b5f610f4b8251610dd1565b80915050919050565b5f610f5e82610f27565b82610f6884610f31565b9050610f7381610f40565b92506020821015610fb357610fae7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080261098a565b831692505b5050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611014602383610ea1565b915061101f82610fba565b604082019050919050565b5f6020820190508181035f83015261104181611008565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61107f826109e7565b915061108a836109e7565b92508261109a57611099611048565b5b828204905092915050565b5f6110af826109e7565b91506110ba836109e7565b92508282039050818111156110d2576110d1610bde565b5b92915050565b5f6110e2826109e7565b91506110ed836109e7565b925082820190508082111561110557611104610bde565b5b92915050565b5f60208201905061111e5f830184610de9565b92915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61117e602683610ea1565b915061118982611124565b604082019050919050565b5f6020820190508181035f8301526111ab81611172565b9050919050565b60805160a05160c05160e0516101005161012051610140516124146112035f395f610d0f01525f610cd401525f61149a01525f61147901525f610b5301525f610ba901525f610bd201526124145ff3fe608060405234801561000f575f80fd5b5060043610610114575f3560e01c806379cc6790116100a0578063a9059cbb1161006f578063a9059cbb146102d4578063ca4b208b14610304578063d505accf14610322578063d5f394881461033e578063dd62ed3e1461035c57610114565b806379cc6790146102465780637ecebe001461026257806384b0196e1461029257806395d89b41146102b657610114565b806323b872dd116100e757806323b872dd1461018e578063313ce567146101be5780633644e515146101dc57806342966c68146101fa57806370a082311461021657610114565b806306fdde0314610118578063095ea7b31461013657806318160ddd1461016657806320800a0014610184575b5f80fd5b61012061038c565b60405161012d9190611950565b60405180910390f35b610150600480360381019061014b9190611a01565b61041c565b60405161015d9190611a59565b60405180910390f35b61016e61043e565b60405161017b9190611a81565b60405180910390f35b61018c610447565b005b6101a860048036038101906101a39190611a9a565b61057f565b6040516101b59190611a59565b60405180910390f35b6101c66105ad565b6040516101d39190611b05565b60405180910390f35b6101e46105b5565b6040516101f19190611b36565b60405180910390f35b610214600480360381019061020f9190611b4f565b6105c3565b005b610230600480360381019061022b9190611b7a565b6105d7565b60405161023d9190611a81565b60405180910390f35b610260600480360381019061025b9190611a01565b61061c565b005b61027c60048036038101906102779190611b7a565b61063c565b6040516102899190611a81565b60405180910390f35b61029a61064d565b6040516102ad9796959493929190611ca5565b60405180910390f35b6102be6106f2565b6040516102cb9190611950565b60405180910390f35b6102ee60048036038101906102e99190611a01565b610782565b6040516102fb9190611a59565b60405180910390f35b61030c6107a4565b6040516103199190611d27565b60405180910390f35b61033c60048036038101906103379190611d94565b6107c9565b005b61034661090e565b6040516103539190611d27565b60405180910390f35b61037660048036038101906103719190611e31565b610933565b6040516103839190611a81565b60405180910390f35b60606003805461039b90611e9c565b80601f01602080910402602001604051908101604052809291908181526020018280546103c790611e9c565b80156104125780601f106103e957610100808354040283529160200191610412565b820191905f5260205f20905b8154815290600101906020018083116103f557829003601f168201915b5050505050905090565b5f806104266109b5565b90506104338185856109bc565b600191505092915050565b5f600254905090565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104cd90611f3c565b60405180910390fd5b5f4711610518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050f90611fca565b60405180910390fd5b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561057c573d5f803e3d5ffd5b50565b5f806105896109b5565b90506105968582856109ce565b6105a1858585610a60565b60019150509392505050565b5f6012905090565b5f6105be610b50565b905090565b6105d46105ce6109b5565b82610c06565b50565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61062e826106286109b5565b836109ce565b6106388282610c06565b5050565b5f61064682610c85565b9050919050565b5f6060805f805f606061065e610ccb565b610666610d06565b46305f801b5f67ffffffffffffffff81111561068557610684611fe8565b5b6040519080825280602002602001820160405280156106b35781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b60606004805461070190611e9c565b80601f016020809104026020016040519081016040528092919081815260200182805461072d90611e9c565b80156107785780601f1061074f57610100808354040283529160200191610778565b820191905f5260205f20905b81548152906001019060200180831161075b57829003601f168201915b5050505050905090565b5f8061078c6109b5565b9050610799818585610a60565b600191505092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8342111561080e57836040517f627913020000000000000000000000000000000000000000000000000000000081526004016108059190611a81565b60405180910390fd5b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861083c8c610d41565b8960405160200161085296959493929190612015565b6040516020818303038152906040528051906020012090505f61087482610d94565b90505f61088382878787610dad565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146108f757808a6040517f4b800e460000000000000000000000000000000000000000000000000000000081526004016108ee929190612074565b60405180910390fd5b6109028a8a8a6109bc565b50505050505050505050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b6109c98383836001610ddb565b505050565b5f6109d98484610933565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610a5a5781811015610a4b578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610a429392919061209b565b60405180910390fd5b610a5984848484035f610ddb565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ad0575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610ac79190611d27565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b40575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610b379190611d27565b60405180910390fd5b610b4b838383610faa565b505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015610bcb57507f000000000000000000000000000000000000000000000000000000000000000046145b15610bf8577f00000000000000000000000000000000000000000000000000000000000000009050610c03565b610c00611455565b90505b90565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c76575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610c6d9190611d27565b60405180910390fd5b610c81825f83610faa565b5050565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6060610d0160067f00000000000000000000000000000000000000000000000000000000000000006114ea90919063ffffffff16565b905090565b6060610d3c60077f00000000000000000000000000000000000000000000000000000000000000006114ea90919063ffffffff16565b905090565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050559050919050565b5f610da6610da0610b50565b83611597565b9050919050565b5f805f80610dbd888888886115d7565b925092509250610dcd82826116be565b829350505050949350505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610e4b575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610e429190611d27565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ebb575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610eb29190611d27565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610fa4578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610f9b9190611a81565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611018576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100f90612140565b60405180910390fd5b5f6103e8600383611029919061218b565b61103391906121f9565b90505f6103e8600584611046919061218b565b61105091906121f9565b90505f8183856110609190612229565b61106a9190612229565b90505f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603611173578360025f8282546110b0919061225c565b92505081905550835f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611102919061225c565b925050819055508473ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516111669190611a81565b60405180910390a361144d565b5f805f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050848110156111f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ed906122ff565b60405180910390fd5b8481035f808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282540192505081905550825f8060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508360025f82825403925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113589190611a81565b60405180910390a360055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516113de9190611a81565b60405180910390a35f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516114439190611a81565b60405180910390a3505b505050505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000046306040516020016114cf95949392919061231d565b60405160208183030381529060405280519060200120905090565b606060ff5f1b8314611506576114ff83611820565b9050611591565b81805461151290611e9c565b80601f016020809104026020016040519081016040528092919081815260200182805461153e90611e9c565b80156115895780601f1061156057610100808354040283529160200191611589565b820191905f5260205f20905b81548152906001019060200180831161156c57829003601f168201915b505050505090505b92915050565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b5f805f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c1115611613575f6003859250925092506116b4565b5f6001888888886040515f8152602001604052604051611636949392919061236e565b6020604051602081039080840390855afa158015611656573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116a7575f60015f801b935093509350506116b4565b805f805f1b935093509350505b9450945094915050565b5f60038111156116d1576116d06123b1565b5b8260038111156116e4576116e36123b1565b5b031561181c57600160038111156116fe576116fd6123b1565b5b826003811115611711576117106123b1565b5b03611748576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600381111561175c5761175b6123b1565b5b82600381111561176f5761176e6123b1565b5b036117b357805f1c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016117aa9190611a81565b60405180910390fd5b6003808111156117c6576117c56123b1565b5b8260038111156117d9576117d86123b1565b5b0361181b57806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016118129190611b36565b60405180910390fd5b5b5050565b60605f61182c83611892565b90505f602067ffffffffffffffff81111561184a57611849611fe8565b5b6040519080825280601f01601f19166020018201604052801561187c5781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b5f8060ff835f1c169050601f8111156118d7576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611922826118e0565b61192c81856118ea565b935061193c8185602086016118fa565b61194581611908565b840191505092915050565b5f6020820190508181035f8301526119688184611918565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61199d82611974565b9050919050565b6119ad81611993565b81146119b7575f80fd5b50565b5f813590506119c8816119a4565b92915050565b5f819050919050565b6119e0816119ce565b81146119ea575f80fd5b50565b5f813590506119fb816119d7565b92915050565b5f8060408385031215611a1757611a16611970565b5b5f611a24858286016119ba565b9250506020611a35858286016119ed565b9150509250929050565b5f8115159050919050565b611a5381611a3f565b82525050565b5f602082019050611a6c5f830184611a4a565b92915050565b611a7b816119ce565b82525050565b5f602082019050611a945f830184611a72565b92915050565b5f805f60608486031215611ab157611ab0611970565b5b5f611abe868287016119ba565b9350506020611acf868287016119ba565b9250506040611ae0868287016119ed565b9150509250925092565b5f60ff82169050919050565b611aff81611aea565b82525050565b5f602082019050611b185f830184611af6565b92915050565b5f819050919050565b611b3081611b1e565b82525050565b5f602082019050611b495f830184611b27565b92915050565b5f60208284031215611b6457611b63611970565b5b5f611b71848285016119ed565b91505092915050565b5f60208284031215611b8f57611b8e611970565b5b5f611b9c848285016119ba565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b611bd981611ba5565b82525050565b611be881611993565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611c20816119ce565b82525050565b5f611c318383611c17565b60208301905092915050565b5f602082019050919050565b5f611c5382611bee565b611c5d8185611bf8565b9350611c6883611c08565b805f5b83811015611c98578151611c7f8882611c26565b9750611c8a83611c3d565b925050600181019050611c6b565b5085935050505092915050565b5f60e082019050611cb85f83018a611bd0565b8181036020830152611cca8189611918565b90508181036040830152611cde8188611918565b9050611ced6060830187611a72565b611cfa6080830186611bdf565b611d0760a0830185611b27565b81810360c0830152611d198184611c49565b905098975050505050505050565b5f602082019050611d3a5f830184611bdf565b92915050565b611d4981611aea565b8114611d53575f80fd5b50565b5f81359050611d6481611d40565b92915050565b611d7381611b1e565b8114611d7d575f80fd5b50565b5f81359050611d8e81611d6a565b92915050565b5f805f805f805f60e0888a031215611daf57611dae611970565b5b5f611dbc8a828b016119ba565b9750506020611dcd8a828b016119ba565b9650506040611dde8a828b016119ed565b9550506060611def8a828b016119ed565b9450506080611e008a828b01611d56565b93505060a0611e118a828b01611d80565b92505060c0611e228a828b01611d80565b91505092959891949750929550565b5f8060408385031215611e4757611e46611970565b5b5f611e54858286016119ba565b9250506020611e65858286016119ba565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611eb357607f821691505b602082108103611ec657611ec5611e6f565b5b50919050565b7f5472616e73616374696f6e2073656e646572206973206e6f742063726561746f5f8201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b5f611f266021836118ea565b9150611f3182611ecc565b604082019050919050565b5f6020820190508181035f830152611f5381611f1a565b9050919050565b7f496e73756666696369656e742066756e647320696e2074686520636f6e7472615f8201527f6374000000000000000000000000000000000000000000000000000000000000602082015250565b5f611fb46022836118ea565b9150611fbf82611f5a565b604082019050919050565b5f6020820190508181035f830152611fe181611fa8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f60c0820190506120285f830189611b27565b6120356020830188611bdf565b6120426040830187611bdf565b61204f6060830186611a72565b61205c6080830185611a72565b61206960a0830184611a72565b979650505050505050565b5f6040820190506120875f830185611bdf565b6120946020830184611bdf565b9392505050565b5f6060820190506120ae5f830186611bdf565b6120bb6020830185611a72565b6120c86040830184611a72565b949350505050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61212a6023836118ea565b9150612135826120d0565b604082019050919050565b5f6020820190508181035f8301526121578161211e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612195826119ce565b91506121a0836119ce565b92508282026121ae816119ce565b915082820484148315176121c5576121c461215e565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612203826119ce565b915061220e836119ce565b92508261221e5761221d6121cc565b5b828204905092915050565b5f612233826119ce565b915061223e836119ce565b92508282039050818111156122565761225561215e565b5b92915050565b5f612266826119ce565b9150612271836119ce565b92508282019050808211156122895761228861215e565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6122e96026836118ea565b91506122f48261228f565b604082019050919050565b5f6020820190508181035f830152612316816122dd565b9050919050565b5f60a0820190506123305f830188611b27565b61233d6020830187611b27565b61234a6040830186611b27565b6123576060830185611a72565b6123646080830184611bdf565b9695505050505050565b5f6080820190506123815f830187611b27565b61238e6020830186611af6565b61239b6040830185611b27565b6123a86060830184611b27565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea26469706673582212208363c8fd5bc80a6259b7749bb28c3c58554c7184c8249c57afa32715fa1e6ebd64736f6c634300081a0033