{"abi":[{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. The initial owner is set to the address provided by the deployer. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":\"OwnableUpgradeable\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/=node_modules/@ensdomains/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/=node_modules/@ensdomains/","@openzeppelin/=node_modules/@openzeppelin/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol":"OwnableUpgradeable"},"evmVersion":"prague","libraries":{},"viaIR":true},"sources":{"node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol":{"keccak256":"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a","urls":["bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6","dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol":{"keccak256":"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05","urls":["bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08","dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","id":10385,"exportedSymbols":{"ContextUpgradeable":[11497],"Initializable":[10652],"OwnableUpgradeable":[10384]},"nodeType":"SourceUnit","src":"102:3923:24","nodes":[{"id":10191,"nodeType":"PragmaDirective","src":"102:24:24","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":10193,"nodeType":"ImportDirective","src":"128:67:24","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","file":"../utils/ContextUpgradeable.sol","nameLocation":"-1:-1:-1","scope":10385,"sourceUnit":11498,"symbolAliases":[{"foreign":{"id":10192,"name":"ContextUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11497,"src":"136:18:24","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10195,"nodeType":"ImportDirective","src":"196:63:24","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"../proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":10385,"sourceUnit":10653,"symbolAliases":[{"foreign":{"id":10194,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10652,"src":"204:13:24","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10384,"nodeType":"ContractDefinition","src":"749:3275:24","nodes":[{"id":10204,"nodeType":"StructDefinition","src":"899:53:24","nodes":[],"canonicalName":"OwnableUpgradeable.OwnableStorage","documentation":{"id":10201,"nodeType":"StructuredDocumentation","src":"829:65:24","text":"@custom:storage-location erc7201:openzeppelin.storage.Ownable"},"members":[{"constant":false,"id":10203,"mutability":"mutable","name":"_owner","nameLocation":"939:6:24","nodeType":"VariableDeclaration","scope":10204,"src":"931:14:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10202,"name":"address","nodeType":"ElementaryTypeName","src":"931:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"OwnableStorage","nameLocation":"906:14:24","scope":10384,"visibility":"public"},{"id":10207,"nodeType":"VariableDeclaration","src":"1069:116:24","nodes":[],"constant":true,"mutability":"constant","name":"OwnableStorageLocation","nameLocation":"1094:22:24","scope":10384,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10205,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1069:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307839303136643039643732643430666461653266643863656163366236323334633737303632313466643339633163643165363039613035323863313939333030","id":10206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1119:66:24","typeDescriptions":{"typeIdentifier":"t_rational_65173360639460082030725920392146925864023520599682862633725751242436743107328_by_1","typeString":"int_const 6517...(69 digits omitted)...7328"},"value":"0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300"},"visibility":"private"},{"id":10215,"nodeType":"FunctionDefinition","src":"1192:159:24","nodes":[],"body":{"id":10214,"nodeType":"Block","src":"1270:81:24","nodes":[],"statements":[{"AST":{"nativeSrc":"1289:56:24","nodeType":"YulBlock","src":"1289:56:24","statements":[{"nativeSrc":"1303:32:24","nodeType":"YulAssignment","src":"1303:32:24","value":{"name":"OwnableStorageLocation","nativeSrc":"1313:22:24","nodeType":"YulIdentifier","src":"1313:22:24"},"variableNames":[{"name":"$.slot","nativeSrc":"1303:6:24","nodeType":"YulIdentifier","src":"1303:6:24"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":10211,"isOffset":false,"isSlot":true,"src":"1303:6:24","suffix":"slot","valueSize":1},{"declaration":10207,"isOffset":false,"isSlot":false,"src":"1313:22:24","valueSize":1}],"id":10213,"nodeType":"InlineAssembly","src":"1280:65:24"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_getOwnableStorage","nameLocation":"1201:18:24","parameters":{"id":10208,"nodeType":"ParameterList","parameters":[],"src":"1219:2:24"},"returnParameters":{"id":10212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10211,"mutability":"mutable","name":"$","nameLocation":"1267:1:24","nodeType":"VariableDeclaration","scope":10215,"src":"1244:24:24","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_OwnableStorage_$10204_storage_ptr","typeString":"struct OwnableUpgradeable.OwnableStorage"},"typeName":{"id":10210,"nodeType":"UserDefinedTypeName","pathNode":{"id":10209,"name":"OwnableStorage","nameLocations":["1244:14:24"],"nodeType":"IdentifierPath","referencedDeclaration":10204,"src":"1244:14:24"},"referencedDeclaration":10204,"src":"1244:14:24","typeDescriptions":{"typeIdentifier":"t_struct$_OwnableStorage_$10204_storage_ptr","typeString":"struct OwnableUpgradeable.OwnableStorage"}},"visibility":"internal"}],"src":"1243:26:24"},"scope":10384,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":10220,"nodeType":"ErrorDefinition","src":"1447:50:24","nodes":[],"documentation":{"id":10216,"nodeType":"StructuredDocumentation","src":"1357:85:24","text":" @dev The caller account is not authorized to perform an operation."},"errorSelector":"118cdaa7","name":"OwnableUnauthorizedAccount","nameLocation":"1453:26:24","parameters":{"id":10219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10218,"mutability":"mutable","name":"account","nameLocation":"1488:7:24","nodeType":"VariableDeclaration","scope":10220,"src":"1480:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10217,"name":"address","nodeType":"ElementaryTypeName","src":"1480:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1479:17:24"}},{"id":10225,"nodeType":"ErrorDefinition","src":"1590:41:24","nodes":[],"documentation":{"id":10221,"nodeType":"StructuredDocumentation","src":"1503:82:24","text":" @dev The owner is not a valid owner account. (eg. `address(0)`)"},"errorSelector":"1e4fbdf7","name":"OwnableInvalidOwner","nameLocation":"1596:19:24","parameters":{"id":10224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10223,"mutability":"mutable","name":"owner","nameLocation":"1624:5:24","nodeType":"VariableDeclaration","scope":10225,"src":"1616:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10222,"name":"address","nodeType":"ElementaryTypeName","src":"1616:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1615:15:24"}},{"id":10231,"nodeType":"EventDefinition","src":"1637:84:24","nodes":[],"anonymous":false,"eventSelector":"8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0","name":"OwnershipTransferred","nameLocation":"1643:20:24","parameters":{"id":10230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10227,"indexed":true,"mutability":"mutable","name":"previousOwner","nameLocation":"1680:13:24","nodeType":"VariableDeclaration","scope":10231,"src":"1664:29:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10226,"name":"address","nodeType":"ElementaryTypeName","src":"1664:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10229,"indexed":true,"mutability":"mutable","name":"newOwner","nameLocation":"1711:8:24","nodeType":"VariableDeclaration","scope":10231,"src":"1695:24:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10228,"name":"address","nodeType":"ElementaryTypeName","src":"1695:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1663:57:24"}},{"id":10244,"nodeType":"FunctionDefinition","src":"1847:127:24","nodes":[],"body":{"id":10243,"nodeType":"Block","src":"1919:55:24","nodes":[],"statements":[{"expression":{"arguments":[{"id":10240,"name":"initialOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10234,"src":"1954:12:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10239,"name":"__Ownable_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10271,"src":"1929:24:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":10241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1929:38:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10242,"nodeType":"ExpressionStatement","src":"1929:38:24"}]},"documentation":{"id":10232,"nodeType":"StructuredDocumentation","src":"1727:115:24","text":" @dev Initializes the contract setting the address provided by the deployer as the initial owner."},"implemented":true,"kind":"function","modifiers":[{"id":10237,"kind":"modifierInvocation","modifierName":{"id":10236,"name":"onlyInitializing","nameLocations":["1902:16:24"],"nodeType":"IdentifierPath","referencedDeclaration":10547,"src":"1902:16:24"},"nodeType":"ModifierInvocation","src":"1902:16:24"}],"name":"__Ownable_init","nameLocation":"1856:14:24","parameters":{"id":10235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10234,"mutability":"mutable","name":"initialOwner","nameLocation":"1879:12:24","nodeType":"VariableDeclaration","scope":10244,"src":"1871:20:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10233,"name":"address","nodeType":"ElementaryTypeName","src":"1871:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1870:22:24"},"returnParameters":{"id":10238,"nodeType":"ParameterList","parameters":[],"src":"1919:0:24"},"scope":10384,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10271,"nodeType":"FunctionDefinition","src":"1980:235:24","nodes":[],"body":{"id":10270,"nodeType":"Block","src":"2062:153:24","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10251,"name":"initialOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10246,"src":"2076:12:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":10254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2100:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":10253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2092:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10252,"name":"address","nodeType":"ElementaryTypeName","src":"2092:7:24","typeDescriptions":{}}},"id":10255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2092:10:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2076:26:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10265,"nodeType":"IfStatement","src":"2072:95:24","trueBody":{"id":10264,"nodeType":"Block","src":"2104:63:24","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":10260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2153:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":10259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2145:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10258,"name":"address","nodeType":"ElementaryTypeName","src":"2145:7:24","typeDescriptions":{}}},"id":10261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2145:10:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10257,"name":"OwnableInvalidOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10225,"src":"2125:19:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":10262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2125:31:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":10263,"nodeType":"RevertStatement","src":"2118:38:24"}]}},{"expression":{"arguments":[{"id":10267,"name":"initialOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10246,"src":"2195:12:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10266,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10383,"src":"2176:18:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":10268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2176:32:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10269,"nodeType":"ExpressionStatement","src":"2176:32:24"}]},"implemented":true,"kind":"function","modifiers":[{"id":10249,"kind":"modifierInvocation","modifierName":{"id":10248,"name":"onlyInitializing","nameLocations":["2045:16:24"],"nodeType":"IdentifierPath","referencedDeclaration":10547,"src":"2045:16:24"},"nodeType":"ModifierInvocation","src":"2045:16:24"}],"name":"__Ownable_init_unchained","nameLocation":"1989:24:24","parameters":{"id":10247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10246,"mutability":"mutable","name":"initialOwner","nameLocation":"2022:12:24","nodeType":"VariableDeclaration","scope":10271,"src":"2014:20:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10245,"name":"address","nodeType":"ElementaryTypeName","src":"2014:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2013:22:24"},"returnParameters":{"id":10250,"nodeType":"ParameterList","parameters":[],"src":"2062:0:24"},"scope":10384,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10279,"nodeType":"ModifierDefinition","src":"2303:62:24","nodes":[],"body":{"id":10278,"nodeType":"Block","src":"2324:41:24","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":10274,"name":"_checkOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10312,"src":"2334:11:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":10275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2334:13:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10276,"nodeType":"ExpressionStatement","src":"2334:13:24"},{"id":10277,"nodeType":"PlaceholderStatement","src":"2357:1:24"}]},"documentation":{"id":10272,"nodeType":"StructuredDocumentation","src":"2221:77:24","text":" @dev Throws if called by any account other than the owner."},"name":"onlyOwner","nameLocation":"2312:9:24","parameters":{"id":10273,"nodeType":"ParameterList","parameters":[],"src":"2321:2:24"},"virtual":false,"visibility":"internal"},{"id":10295,"nodeType":"FunctionDefinition","src":"2441:144:24","nodes":[],"body":{"id":10294,"nodeType":"Block","src":"2496:89:24","nodes":[],"statements":[{"assignments":[10287],"declarations":[{"constant":false,"id":10287,"mutability":"mutable","name":"$","nameLocation":"2529:1:24","nodeType":"VariableDeclaration","scope":10294,"src":"2506:24:24","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_OwnableStorage_$10204_storage_ptr","typeString":"struct OwnableUpgradeable.OwnableStorage"},"typeName":{"id":10286,"nodeType":"UserDefinedTypeName","pathNode":{"id":10285,"name":"OwnableStorage","nameLocations":["2506:14:24"],"nodeType":"IdentifierPath","referencedDeclaration":10204,"src":"2506:14:24"},"referencedDeclaration":10204,"src":"2506:14:24","typeDescriptions":{"typeIdentifier":"t_struct$_OwnableStorage_$10204_storage_ptr","typeString":"struct OwnableUpgradeable.OwnableStorage"}},"visibility":"internal"}],"id":10290,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":10288,"name":"_getOwnableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10215,"src":"2533:18:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_OwnableStorage_$10204_storage_ptr_$","typeString":"function () pure returns (struct OwnableUpgradeable.OwnableStorage storage pointer)"}},"id":10289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2533:20:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_OwnableStorage_$10204_storage_ptr","typeString":"struct OwnableUpgradeable.OwnableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"2506:47:24"},{"expression":{"expression":{"id":10291,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10287,"src":"2570:1:24","typeDescriptions":{"typeIdentifier":"t_struct$_OwnableStorage_$10204_storage_ptr","typeString":"struct OwnableUpgradeable.OwnableStorage storage pointer"}},"id":10292,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2572:6:24","memberName":"_owner","nodeType":"MemberAccess","referencedDeclaration":10203,"src":"2570:8:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10284,"id":10293,"nodeType":"Return","src":"2563:15:24"}]},"documentation":{"id":10280,"nodeType":"StructuredDocumentation","src":"2371:65:24","text":" @dev Returns the address of the current owner."},"functionSelector":"8da5cb5b","implemented":true,"kind":"function","modifiers":[],"name":"owner","nameLocation":"2450:5:24","parameters":{"id":10281,"nodeType":"ParameterList","parameters":[],"src":"2455:2:24"},"returnParameters":{"id":10284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10283,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10295,"src":"2487:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10282,"name":"address","nodeType":"ElementaryTypeName","src":"2487:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2486:9:24"},"scope":10384,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":10312,"nodeType":"FunctionDefinition","src":"2658:162:24","nodes":[],"body":{"id":10311,"nodeType":"Block","src":"2703:117:24","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":10299,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10295,"src":"2717:5:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":10300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2717:7:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":10301,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11479,"src":"2728:10:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":10302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2728:12:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2717:23:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10310,"nodeType":"IfStatement","src":"2713:101:24","trueBody":{"id":10309,"nodeType":"Block","src":"2742:72:24","statements":[{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":10305,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11479,"src":"2790:10:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":10306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2790:12:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10304,"name":"OwnableUnauthorizedAccount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10220,"src":"2763:26:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":10307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2763:40:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":10308,"nodeType":"RevertStatement","src":"2756:47:24"}]}}]},"documentation":{"id":10296,"nodeType":"StructuredDocumentation","src":"2591:62:24","text":" @dev Throws if the sender is not the owner."},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOwner","nameLocation":"2667:11:24","parameters":{"id":10297,"nodeType":"ParameterList","parameters":[],"src":"2678:2:24"},"returnParameters":{"id":10298,"nodeType":"ParameterList","parameters":[],"src":"2703:0:24"},"scope":10384,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":10326,"nodeType":"FunctionDefinition","src":"3155:101:24","nodes":[],"body":{"id":10325,"nodeType":"Block","src":"3209:47:24","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":10321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3246:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":10320,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3238:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10319,"name":"address","nodeType":"ElementaryTypeName","src":"3238:7:24","typeDescriptions":{}}},"id":10322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3238:10:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10318,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10383,"src":"3219:18:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":10323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3219:30:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10324,"nodeType":"ExpressionStatement","src":"3219:30:24"}]},"documentation":{"id":10313,"nodeType":"StructuredDocumentation","src":"2826:324:24","text":" @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby disabling any functionality that is only available to the owner."},"functionSelector":"715018a6","implemented":true,"kind":"function","modifiers":[{"id":10316,"kind":"modifierInvocation","modifierName":{"id":10315,"name":"onlyOwner","nameLocations":["3199:9:24"],"nodeType":"IdentifierPath","referencedDeclaration":10279,"src":"3199:9:24"},"nodeType":"ModifierInvocation","src":"3199:9:24"}],"name":"renounceOwnership","nameLocation":"3164:17:24","parameters":{"id":10314,"nodeType":"ParameterList","parameters":[],"src":"3181:2:24"},"returnParameters":{"id":10317,"nodeType":"ParameterList","parameters":[],"src":"3209:0:24"},"scope":10384,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":10354,"nodeType":"FunctionDefinition","src":"3405:215:24","nodes":[],"body":{"id":10353,"nodeType":"Block","src":"3475:145:24","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10334,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10329,"src":"3489:8:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":10337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3509:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":10336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3501:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10335,"name":"address","nodeType":"ElementaryTypeName","src":"3501:7:24","typeDescriptions":{}}},"id":10338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3501:10:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3489:22:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10348,"nodeType":"IfStatement","src":"3485:91:24","trueBody":{"id":10347,"nodeType":"Block","src":"3513:63:24","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":10343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3562:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":10342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3554:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10341,"name":"address","nodeType":"ElementaryTypeName","src":"3554:7:24","typeDescriptions":{}}},"id":10344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3554:10:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10340,"name":"OwnableInvalidOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10225,"src":"3534:19:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":10345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3534:31:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":10346,"nodeType":"RevertStatement","src":"3527:38:24"}]}},{"expression":{"arguments":[{"id":10350,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10329,"src":"3604:8:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10349,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10383,"src":"3585:18:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":10351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3585:28:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10352,"nodeType":"ExpressionStatement","src":"3585:28:24"}]},"documentation":{"id":10327,"nodeType":"StructuredDocumentation","src":"3262:138:24","text":" @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner."},"functionSelector":"f2fde38b","implemented":true,"kind":"function","modifiers":[{"id":10332,"kind":"modifierInvocation","modifierName":{"id":10331,"name":"onlyOwner","nameLocations":["3465:9:24"],"nodeType":"IdentifierPath","referencedDeclaration":10279,"src":"3465:9:24"},"nodeType":"ModifierInvocation","src":"3465:9:24"}],"name":"transferOwnership","nameLocation":"3414:17:24","parameters":{"id":10330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10329,"mutability":"mutable","name":"newOwner","nameLocation":"3440:8:24","nodeType":"VariableDeclaration","scope":10354,"src":"3432:16:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10328,"name":"address","nodeType":"ElementaryTypeName","src":"3432:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3431:18:24"},"returnParameters":{"id":10333,"nodeType":"ParameterList","parameters":[],"src":"3475:0:24"},"scope":10384,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":10383,"nodeType":"FunctionDefinition","src":"3774:248:24","nodes":[],"body":{"id":10382,"nodeType":"Block","src":"3837:185:24","nodes":[],"statements":[{"assignments":[10362],"declarations":[{"constant":false,"id":10362,"mutability":"mutable","name":"$","nameLocation":"3870:1:24","nodeType":"VariableDeclaration","scope":10382,"src":"3847:24:24","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_OwnableStorage_$10204_storage_ptr","typeString":"struct OwnableUpgradeable.OwnableStorage"},"typeName":{"id":10361,"nodeType":"UserDefinedTypeName","pathNode":{"id":10360,"name":"OwnableStorage","nameLocations":["3847:14:24"],"nodeType":"IdentifierPath","referencedDeclaration":10204,"src":"3847:14:24"},"referencedDeclaration":10204,"src":"3847:14:24","typeDescriptions":{"typeIdentifier":"t_struct$_OwnableStorage_$10204_storage_ptr","typeString":"struct OwnableUpgradeable.OwnableStorage"}},"visibility":"internal"}],"id":10365,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":10363,"name":"_getOwnableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10215,"src":"3874:18:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_OwnableStorage_$10204_storage_ptr_$","typeString":"function () pure returns (struct OwnableUpgradeable.OwnableStorage storage pointer)"}},"id":10364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3874:20:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_OwnableStorage_$10204_storage_ptr","typeString":"struct OwnableUpgradeable.OwnableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3847:47:24"},{"assignments":[10367],"declarations":[{"constant":false,"id":10367,"mutability":"mutable","name":"oldOwner","nameLocation":"3912:8:24","nodeType":"VariableDeclaration","scope":10382,"src":"3904:16:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10366,"name":"address","nodeType":"ElementaryTypeName","src":"3904:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":10370,"initialValue":{"expression":{"id":10368,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10362,"src":"3923:1:24","typeDescriptions":{"typeIdentifier":"t_struct$_OwnableStorage_$10204_storage_ptr","typeString":"struct OwnableUpgradeable.OwnableStorage storage pointer"}},"id":10369,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3925:6:24","memberName":"_owner","nodeType":"MemberAccess","referencedDeclaration":10203,"src":"3923:8:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3904:27:24"},{"expression":{"id":10375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10371,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10362,"src":"3941:1:24","typeDescriptions":{"typeIdentifier":"t_struct$_OwnableStorage_$10204_storage_ptr","typeString":"struct OwnableUpgradeable.OwnableStorage storage pointer"}},"id":10373,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3943:6:24","memberName":"_owner","nodeType":"MemberAccess","referencedDeclaration":10203,"src":"3941:8:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":10374,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10357,"src":"3952:8:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3941:19:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10376,"nodeType":"ExpressionStatement","src":"3941:19:24"},{"eventCall":{"arguments":[{"id":10378,"name":"oldOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10367,"src":"3996:8:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10379,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10357,"src":"4006:8:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":10377,"name":"OwnershipTransferred","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10231,"src":"3975:20:24","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":10380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3975:40:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10381,"nodeType":"EmitStatement","src":"3970:45:24"}]},"documentation":{"id":10355,"nodeType":"StructuredDocumentation","src":"3626:143:24","text":" @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction."},"implemented":true,"kind":"function","modifiers":[],"name":"_transferOwnership","nameLocation":"3783:18:24","parameters":{"id":10358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10357,"mutability":"mutable","name":"newOwner","nameLocation":"3810:8:24","nodeType":"VariableDeclaration","scope":10383,"src":"3802:16:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10356,"name":"address","nodeType":"ElementaryTypeName","src":"3802:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3801:18:24"},"returnParameters":{"id":10359,"nodeType":"ParameterList","parameters":[],"src":"3837:0:24"},"scope":10384,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":10197,"name":"Initializable","nameLocations":["789:13:24"],"nodeType":"IdentifierPath","referencedDeclaration":10652,"src":"789:13:24"},"id":10198,"nodeType":"InheritanceSpecifier","src":"789:13:24"},{"baseName":{"id":10199,"name":"ContextUpgradeable","nameLocations":["804:18:24"],"nodeType":"IdentifierPath","referencedDeclaration":11497,"src":"804:18:24"},"id":10200,"nodeType":"InheritanceSpecifier","src":"804:18:24"}],"canonicalName":"OwnableUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":10196,"nodeType":"StructuredDocumentation","src":"261:487:24","text":" @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n The initial owner is set to the address provided by the deployer. This can\n later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner."},"fullyImplemented":true,"linearizedBaseContracts":[10384,11497,10652],"name":"OwnableUpgradeable","nameLocation":"767:18:24","scope":10385,"usedErrors":[10220,10225,10401,10404],"usedEvents":[10231,10409]}],"license":"MIT"},"id":24}