diff --git a/.gitignore b/.gitignore index 60ab62c..bddce8d 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ node_modules *.log .DS_Store .env +.vscode \ No newline at end of file diff --git a/Makefile b/Makefile index 55bb419..5c2f8c9 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ clean: ## clean. build: ## Build the smart contracts with foundry. @bash -l -c 'forge build' - scripts/copy_abis.sh + script/copy_abis.sh test: ## Run foundry unit tests. @bash -l -c 'forge test' diff --git a/abis/ERC2981Upgradeable.json b/abis/ERC2981Upgradeable.json index 5e4d9f0..63251f2 100644 --- a/abis/ERC2981Upgradeable.json +++ b/abis/ERC2981Upgradeable.json @@ -227,16 +227,16 @@ }, "settings": { "remappings": [ - ":aux/=lib/aux/", - ":ds-test/=lib/ds-test/src/", - ":erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - ":forge-std/=lib/forge-std/src/", - ":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", - ":openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", - ":rareprotocol/aux/=lib/aux/src/", - ":royalty-guard/=lib/royalty-guard/src/royalty-guard/", - ":solmate/=lib/royalty-guard/lib/solmate/src/" + "aux/=lib/aux/", + "ds-test/=lib/ds-test/src/", + "erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", + "openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", + "rareprotocol/aux/=lib/aux/src/", + "royalty-guard/=lib/royalty-guard/src/royalty-guard/", + "solmate/=lib/royalty-guard/lib/solmate/src/" ], "optimizer": { "enabled": true, @@ -312,85 +312,104 @@ }, "ast": { "absolutePath": "src/token/extensions/ERC2981Upgradeable.sol", - "id": 10394, + "id": 10666, "exportedSymbols": { - "AddressUpgradeable": [3429], - "ERC165Upgradeable": [3792], - "ERC2981Upgradeable": [10393], - "IERC165Upgradeable": [3804], - "IERC2981": [10409], - "Initializable": [955], - "SafeMathUpgradeable": [4116] + "AddressUpgradeable": [ + 3429 + ], + "ERC165Upgradeable": [ + 3792 + ], + "ERC2981Upgradeable": [ + 10665 + ], + "IERC165Upgradeable": [ + 3804 + ], + "IERC2981": [ + 10681 + ], + "Initializable": [ + 955 + ], + "SafeMathUpgradeable": [ + 4116 + ] }, "nodeType": "SourceUnit", "src": "65:2422:54", "nodes": [ { - "id": 10221, + "id": 10493, "nodeType": "PragmaDirective", "src": "65:24:54", "nodes": [], - "literals": ["solidity", "^", "0.8", ".10"] + "literals": [ + "solidity", + "^", + "0.8", + ".10" + ] }, { - "id": 10222, + "id": 10494, "nodeType": "ImportDirective", "src": "91:86:54", "nodes": [], "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", "file": "openzeppelin-contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol", "nameLocation": "-1:-1:-1", - "scope": 10394, + "scope": 10666, "sourceUnit": 3793, "symbolAliases": [], "unitAlias": "" }, { - "id": 10223, + "id": 10495, "nodeType": "ImportDirective", "src": "178:79:54", "nodes": [], "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol", "file": "openzeppelin-contracts-upgradeable/utils/math/SafeMathUpgradeable.sol", "nameLocation": "-1:-1:-1", - "scope": 10394, + "scope": 10666, "sourceUnit": 4117, "symbolAliases": [], "unitAlias": "" }, { - "id": 10224, + "id": 10496, "nodeType": "ImportDirective", "src": "258:24:54", "nodes": [], "absolutePath": "src/token/extensions/IERC2981.sol", "file": "./IERC2981.sol", "nameLocation": "-1:-1:-1", - "scope": 10394, - "sourceUnit": 10410, + "scope": 10666, + "sourceUnit": 10682, "symbolAliases": [], "unitAlias": "" }, { - "id": 10393, + "id": 10665, "nodeType": "ContractDefinition", "src": "284:2202:54", "nodes": [ { - "id": 10231, + "id": 10503, "nodeType": "UsingForDirective", "src": "358:38:54", "nodes": [], "global": false, "libraryName": { - "id": 10229, + "id": 10501, "name": "SafeMathUpgradeable", "nodeType": "IdentifierPath", "referencedDeclaration": 4116, "src": "364:19:54" }, "typeName": { - "id": 10230, + "id": 10502, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "388:7:54", @@ -401,7 +420,7 @@ } }, { - "id": 10234, + "id": 10506, "nodeType": "VariableDeclaration", "src": "473:58:54", "nodes": [], @@ -409,7 +428,7 @@ "mutability": "constant", "name": "_INTERFACE_ID_ERC2981", "nameLocation": "497:21:54", - "scope": 10393, + "scope": 10665, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -417,7 +436,7 @@ "typeString": "bytes4" }, "typeName": { - "id": 10232, + "id": 10504, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "473:6:54", @@ -428,7 +447,7 @@ }, "value": { "hexValue": "30783261353532303561", - "id": 10233, + "id": 10505, "isConstant": false, "isLValue": false, "isPure": true, @@ -445,7 +464,7 @@ "visibility": "private" }, { - "id": 10236, + "id": 10508, "nodeType": "VariableDeclaration", "src": "538:38:54", "nodes": [], @@ -453,7 +472,7 @@ "mutability": "mutable", "name": "defaultRoyaltyReceiver", "nameLocation": "554:22:54", - "scope": 10393, + "scope": 10665, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -461,7 +480,7 @@ "typeString": "address" }, "typeName": { - "id": 10235, + "id": 10507, "name": "address", "nodeType": "ElementaryTypeName", "src": "538:7:54", @@ -474,7 +493,7 @@ "visibility": "private" }, { - "id": 10238, + "id": 10510, "nodeType": "VariableDeclaration", "src": "583:40:54", "nodes": [], @@ -482,7 +501,7 @@ "mutability": "mutable", "name": "defaultRoyaltyPercentage", "nameLocation": "599:24:54", - "scope": 10393, + "scope": 10665, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -490,7 +509,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10237, + "id": 10509, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "583:7:54", @@ -502,7 +521,7 @@ "visibility": "private" }, { - "id": 10242, + "id": 10514, "nodeType": "VariableDeclaration", "src": "630:44:54", "nodes": [], @@ -510,7 +529,7 @@ "mutability": "mutable", "name": "royaltyReceivers", "nameLocation": "658:16:54", - "scope": 10393, + "scope": 10665, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -518,9 +537,9 @@ "typeString": "mapping(uint256 => address)" }, "typeName": { - "id": 10241, + "id": 10513, "keyType": { - "id": 10239, + "id": 10511, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "638:7:54", @@ -536,7 +555,7 @@ "typeString": "mapping(uint256 => address)" }, "valueType": { - "id": 10240, + "id": 10512, "name": "address", "nodeType": "ElementaryTypeName", "src": "649:7:54", @@ -550,7 +569,7 @@ "visibility": "internal" }, { - "id": 10246, + "id": 10518, "nodeType": "VariableDeclaration", "src": "680:46:54", "nodes": [], @@ -558,7 +577,7 @@ "mutability": "mutable", "name": "royaltyPercentages", "nameLocation": "708:18:54", - "scope": 10393, + "scope": 10665, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -566,9 +585,9 @@ "typeString": "mapping(uint256 => uint256)" }, "typeName": { - "id": 10245, + "id": 10517, "keyType": { - "id": 10243, + "id": 10515, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "688:7:54", @@ -584,7 +603,7 @@ "typeString": "mapping(uint256 => uint256)" }, "valueType": { - "id": 10244, + "id": 10516, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "699:7:54", @@ -597,12 +616,12 @@ "visibility": "internal" }, { - "id": 10250, + "id": 10522, "nodeType": "FunctionDefinition", "src": "733:16:54", "nodes": [], "body": { - "id": 10249, + "id": 10521, "nodeType": "Block", "src": "747:2:54", "nodes": [], @@ -614,29 +633,29 @@ "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 10247, + "id": 10519, "nodeType": "ParameterList", "parameters": [], "src": "744:2:54" }, "returnParameters": { - "id": 10248, + "id": 10520, "nodeType": "ParameterList", "parameters": [], "src": "747:0:54" }, - "scope": 10393, + "scope": 10665, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 10259, + "id": 10531, "nodeType": "FunctionDefinition", "src": "755:85:54", "nodes": [], "body": { - "id": 10258, + "id": 10530, "nodeType": "Block", "src": "808:32:54", "nodes": [], @@ -646,7 +665,7 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 10255, + "id": 10527, "name": "__ERC165_init", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -657,7 +676,7 @@ "typeString": "function ()" } }, - "id": 10256, + "id": 10528, "isConstant": false, "isLValue": false, "isPure": false, @@ -672,7 +691,7 @@ "typeString": "tuple()" } }, - "id": 10257, + "id": 10529, "nodeType": "ExpressionStatement", "src": "818:15:54" } @@ -682,10 +701,10 @@ "kind": "function", "modifiers": [ { - "id": 10253, + "id": 10525, "kind": "modifierInvocation", "modifierName": { - "id": 10252, + "id": 10524, "name": "onlyInitializing", "nodeType": "IdentifierPath", "referencedDeclaration": 898, @@ -698,46 +717,46 @@ "name": "__ERC2981__init", "nameLocation": "764:15:54", "parameters": { - "id": 10251, + "id": 10523, "nodeType": "ParameterList", "parameters": [], "src": "779:2:54" }, "returnParameters": { - "id": 10254, + "id": 10526, "nodeType": "ParameterList", "parameters": [], "src": "808:0:54" }, - "scope": 10393, + "scope": 10665, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 10307, + "id": 10579, "nodeType": "FunctionDefinition", "src": "846:566:54", "nodes": [], "body": { - "id": 10306, + "id": 10578, "nodeType": "Block", "src": "1028:384:54", "nodes": [], "statements": [ { "expression": { - "id": 10285, + "id": 10557, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 10271, + "id": 10543, "name": "receiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10267, + "referencedDeclaration": 10539, "src": "1038:8:54", "typeDescriptions": { "typeIdentifier": "t_address", @@ -752,31 +771,31 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 10279, + "id": 10551, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 10272, + "id": 10544, "name": "royaltyReceivers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10242, + "referencedDeclaration": 10514, "src": "1049:16:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 10274, + "id": 10546, "indexExpression": { - "id": 10273, + "id": 10545, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10261, + "referencedDeclaration": 10533, "src": "1066:8:54", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -800,7 +819,7 @@ "arguments": [ { "hexValue": "30", - "id": 10277, + "id": 10549, "isConstant": false, "isLValue": false, "isPure": true, @@ -822,7 +841,7 @@ "typeString": "int_const 0" } ], - "id": 10276, + "id": 10548, "isConstant": false, "isLValue": false, "isPure": true, @@ -834,14 +853,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 10275, + "id": 10547, "name": "address", "nodeType": "ElementaryTypeName", "src": "1079:7:54", "typeDescriptions": {} } }, - "id": 10278, + "id": 10550, "isConstant": false, "isLValue": false, "isPure": true, @@ -863,18 +882,18 @@ } }, "falseExpression": { - "id": 10283, + "id": 10555, "name": "defaultRoyaltyReceiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10236, + "referencedDeclaration": 10508, "src": "1145:22:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 10284, + "id": 10556, "isConstant": false, "isLValue": false, "isPure": false, @@ -883,24 +902,24 @@ "src": "1049:118:54", "trueExpression": { "baseExpression": { - "id": 10280, + "id": 10552, "name": "royaltyReceivers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10242, + "referencedDeclaration": 10514, "src": "1104:16:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 10282, + "id": 10554, "indexExpression": { - "id": 10281, + "id": 10553, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10261, + "referencedDeclaration": 10533, "src": "1121:8:54", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -929,23 +948,23 @@ "typeString": "address" } }, - "id": 10286, + "id": 10558, "nodeType": "ExpressionStatement", "src": "1038:129:54" }, { "expression": { - "id": 10304, + "id": 10576, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 10287, + "id": 10559, "name": "royaltyAmount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10269, + "referencedDeclaration": 10541, "src": "1177:13:54", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -958,7 +977,7 @@ "arguments": [ { "hexValue": "313030", - "id": 10302, + "id": 10574, "isConstant": false, "isLValue": false, "isPure": true, @@ -988,31 +1007,31 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 10294, + "id": 10566, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 10290, + "id": 10562, "name": "royaltyPercentages", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10246, + "referencedDeclaration": 10518, "src": "1238:18:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 10292, + "id": 10564, "indexExpression": { - "id": 10291, + "id": 10563, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10261, + "referencedDeclaration": 10533, "src": "1257:8:54", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1034,7 +1053,7 @@ "operator": "!=", "rightExpression": { "hexValue": "30", - "id": 10293, + "id": 10565, "isConstant": false, "isLValue": false, "isPure": true, @@ -1055,18 +1074,18 @@ } }, "falseExpression": { - "id": 10298, + "id": 10570, "name": "defaultRoyaltyPercentage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10238, + "referencedDeclaration": 10510, "src": "1345:24:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 10299, + "id": 10571, "isConstant": false, "isLValue": false, "isPure": false, @@ -1075,24 +1094,24 @@ "src": "1238:131:54", "trueExpression": { "baseExpression": { - "id": 10295, + "id": 10567, "name": "royaltyPercentages", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10246, + "referencedDeclaration": 10518, "src": "1294:18:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 10297, + "id": 10569, "indexExpression": { - "id": 10296, + "id": 10568, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10261, + "referencedDeclaration": 10533, "src": "1313:8:54", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1124,18 +1143,18 @@ } ], "expression": { - "id": 10288, + "id": 10560, "name": "_salePrice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10263, + "referencedDeclaration": 10535, "src": "1193:10:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 10289, + "id": 10561, "isConstant": false, "isLValue": false, "isPure": false, @@ -1149,7 +1168,7 @@ "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 10300, + "id": 10572, "isConstant": false, "isLValue": false, "isPure": false, @@ -1164,7 +1183,7 @@ "typeString": "uint256" } }, - "id": 10301, + "id": 10573, "isConstant": false, "isLValue": false, "isPure": false, @@ -1178,7 +1197,7 @@ "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 10303, + "id": 10575, "isConstant": false, "isLValue": false, "isPure": false, @@ -1199,13 +1218,15 @@ "typeString": "uint256" } }, - "id": 10305, + "id": 10577, "nodeType": "ExpressionStatement", "src": "1177:228:54" } ] }, - "baseFunctions": [10408], + "baseFunctions": [ + 10680 + ], "functionSelector": "2a55205a", "implemented": true, "kind": "function", @@ -1213,23 +1234,23 @@ "name": "royaltyInfo", "nameLocation": "855:11:54", "overrides": { - "id": 10265, + "id": 10537, "nodeType": "OverrideSpecifier", "overrides": [], "src": "957:8:54" }, "parameters": { - "id": 10264, + "id": 10536, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10261, + "id": 10533, "mutability": "mutable", "name": "_tokenId", "nameLocation": "875:8:54", "nodeType": "VariableDeclaration", - "scope": 10307, + "scope": 10579, "src": "867:16:54", "stateVariable": false, "storageLocation": "default", @@ -1238,7 +1259,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10260, + "id": 10532, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "867:7:54", @@ -1251,12 +1272,12 @@ }, { "constant": false, - "id": 10263, + "id": 10535, "mutability": "mutable", "name": "_salePrice", "nameLocation": "893:10:54", "nodeType": "VariableDeclaration", - "scope": 10307, + "scope": 10579, "src": "885:18:54", "stateVariable": false, "storageLocation": "default", @@ -1265,7 +1286,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10262, + "id": 10534, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "885:7:54", @@ -1280,17 +1301,17 @@ "src": "866:38:54" }, "returnParameters": { - "id": 10270, + "id": 10542, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10267, + "id": 10539, "mutability": "mutable", "name": "receiver", "nameLocation": "991:8:54", "nodeType": "VariableDeclaration", - "scope": 10307, + "scope": 10579, "src": "983:16:54", "stateVariable": false, "storageLocation": "default", @@ -1299,7 +1320,7 @@ "typeString": "address" }, "typeName": { - "id": 10266, + "id": 10538, "name": "address", "nodeType": "ElementaryTypeName", "src": "983:7:54", @@ -1313,12 +1334,12 @@ }, { "constant": false, - "id": 10269, + "id": 10541, "mutability": "mutable", "name": "royaltyAmount", "nameLocation": "1009:13:54", "nodeType": "VariableDeclaration", - "scope": 10307, + "scope": 10579, "src": "1001:21:54", "stateVariable": false, "storageLocation": "default", @@ -1327,7 +1348,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10268, + "id": 10540, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1001:7:54", @@ -1341,35 +1362,35 @@ ], "src": "982:41:54" }, - "scope": 10393, + "scope": 10665, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 10317, + "id": 10589, "nodeType": "FunctionDefinition", "src": "1418:115:54", "nodes": [], "body": { - "id": 10316, + "id": 10588, "nodeType": "Block", "src": "1482:51:54", "nodes": [], "statements": [ { "expression": { - "id": 10314, + "id": 10586, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 10312, + "id": 10584, "name": "defaultRoyaltyReceiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10236, + "referencedDeclaration": 10508, "src": "1492:22:54", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1379,11 +1400,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 10313, + "id": 10585, "name": "_receiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10309, + "referencedDeclaration": 10581, "src": "1517:9:54", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1396,7 +1417,7 @@ "typeString": "address" } }, - "id": 10315, + "id": 10587, "nodeType": "ExpressionStatement", "src": "1492:34:54" } @@ -1408,17 +1429,17 @@ "name": "_setDefaultRoyaltyReceiver", "nameLocation": "1427:26:54", "parameters": { - "id": 10310, + "id": 10582, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10309, + "id": 10581, "mutability": "mutable", "name": "_receiver", "nameLocation": "1462:9:54", "nodeType": "VariableDeclaration", - "scope": 10317, + "scope": 10589, "src": "1454:17:54", "stateVariable": false, "storageLocation": "default", @@ -1427,7 +1448,7 @@ "typeString": "address" }, "typeName": { - "id": 10308, + "id": 10580, "name": "address", "nodeType": "ElementaryTypeName", "src": "1454:7:54", @@ -1443,54 +1464,54 @@ "src": "1453:19:54" }, "returnParameters": { - "id": 10311, + "id": 10583, "nodeType": "ParameterList", "parameters": [], "src": "1482:0:54" }, - "scope": 10393, + "scope": 10665, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 10331, + "id": 10603, "nodeType": "FunctionDefinition", "src": "1539:148:54", "nodes": [], "body": { - "id": 10330, + "id": 10602, "nodeType": "Block", "src": "1629:58:54", "nodes": [], "statements": [ { "expression": { - "id": 10328, + "id": 10600, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 10324, + "id": 10596, "name": "royaltyReceivers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10242, + "referencedDeclaration": 10514, "src": "1639:16:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 10326, + "id": 10598, "indexExpression": { - "id": 10325, + "id": 10597, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10319, + "referencedDeclaration": 10591, "src": "1656:8:54", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1511,11 +1532,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 10327, + "id": 10599, "name": "_newReceiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10321, + "referencedDeclaration": 10593, "src": "1668:12:54", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1528,7 +1549,7 @@ "typeString": "address" } }, - "id": 10329, + "id": 10601, "nodeType": "ExpressionStatement", "src": "1639:41:54" } @@ -1540,17 +1561,17 @@ "name": "_setRoyaltyReceiver", "nameLocation": "1548:19:54", "parameters": { - "id": 10322, + "id": 10594, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10319, + "id": 10591, "mutability": "mutable", "name": "_tokenId", "nameLocation": "1576:8:54", "nodeType": "VariableDeclaration", - "scope": 10331, + "scope": 10603, "src": "1568:16:54", "stateVariable": false, "storageLocation": "default", @@ -1559,7 +1580,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10318, + "id": 10590, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1568:7:54", @@ -1572,12 +1593,12 @@ }, { "constant": false, - "id": 10321, + "id": 10593, "mutability": "mutable", "name": "_newReceiver", "nameLocation": "1594:12:54", "nodeType": "VariableDeclaration", - "scope": 10331, + "scope": 10603, "src": "1586:20:54", "stateVariable": false, "storageLocation": "default", @@ -1586,7 +1607,7 @@ "typeString": "address" }, "typeName": { - "id": 10320, + "id": 10592, "name": "address", "nodeType": "ElementaryTypeName", "src": "1586:7:54", @@ -1602,54 +1623,54 @@ "src": "1567:40:54" }, "returnParameters": { - "id": 10323, + "id": 10595, "nodeType": "ParameterList", "parameters": [], "src": "1629:0:54" }, - "scope": 10393, + "scope": 10665, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 10345, + "id": 10617, "nodeType": "FunctionDefinition", "src": "1693:150:54", "nodes": [], "body": { - "id": 10344, + "id": 10616, "nodeType": "Block", "src": "1784:59:54", "nodes": [], "statements": [ { "expression": { - "id": 10342, + "id": 10614, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 10338, + "id": 10610, "name": "royaltyPercentages", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10246, + "referencedDeclaration": 10518, "src": "1794:18:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, - "id": 10340, + "id": 10612, "indexExpression": { - "id": 10339, + "id": 10611, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10333, + "referencedDeclaration": 10605, "src": "1813:8:54", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1670,11 +1691,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 10341, + "id": 10613, "name": "_percentage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10335, + "referencedDeclaration": 10607, "src": "1825:11:54", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1687,7 +1708,7 @@ "typeString": "uint256" } }, - "id": 10343, + "id": 10615, "nodeType": "ExpressionStatement", "src": "1794:42:54" } @@ -1699,17 +1720,17 @@ "name": "_setRoyaltyPercentage", "nameLocation": "1702:21:54", "parameters": { - "id": 10336, + "id": 10608, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10333, + "id": 10605, "mutability": "mutable", "name": "_tokenId", "nameLocation": "1732:8:54", "nodeType": "VariableDeclaration", - "scope": 10345, + "scope": 10617, "src": "1724:16:54", "stateVariable": false, "storageLocation": "default", @@ -1718,7 +1739,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10332, + "id": 10604, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1724:7:54", @@ -1731,12 +1752,12 @@ }, { "constant": false, - "id": 10335, + "id": 10607, "mutability": "mutable", "name": "_percentage", "nameLocation": "1750:11:54", "nodeType": "VariableDeclaration", - "scope": 10345, + "scope": 10617, "src": "1742:19:54", "stateVariable": false, "storageLocation": "default", @@ -1745,7 +1766,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10334, + "id": 10606, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1742:7:54", @@ -1760,23 +1781,23 @@ "src": "1723:39:54" }, "returnParameters": { - "id": 10337, + "id": 10609, "nodeType": "ParameterList", "parameters": [], "src": "1784:0:54" }, - "scope": 10393, + "scope": 10665, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 10366, + "id": 10638, "nodeType": "FunctionDefinition", "src": "1849:264:54", "nodes": [], "body": { - "id": 10365, + "id": 10637, "nodeType": "Block", "src": "1984:129:54", "nodes": [], @@ -1787,7 +1808,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 10363, + "id": 10635, "isConstant": false, "isLValue": false, "isPure": false, @@ -1797,17 +1818,17 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 10358, + "id": 10630, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 10353, + "id": 10625, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10347, + "referencedDeclaration": 10619, "src": "2013:11:54", "typeDescriptions": { "typeIdentifier": "t_bytes4", @@ -1820,14 +1841,14 @@ "expression": { "arguments": [ { - "id": 10355, + "id": 10627, "name": "IERC2981", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10409, + "referencedDeclaration": 10681, "src": "2033:8:54", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC2981_$10409_$", + "typeIdentifier": "t_type$_t_contract$_IERC2981_$10681_$", "typeString": "type(contract IERC2981)" } } @@ -1835,11 +1856,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_type$_t_contract$_IERC2981_$10409_$", + "typeIdentifier": "t_type$_t_contract$_IERC2981_$10681_$", "typeString": "type(contract IERC2981)" } ], - "id": 10354, + "id": 10626, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -1850,7 +1871,7 @@ "typeString": "function () pure" } }, - "id": 10356, + "id": 10628, "isConstant": false, "isLValue": false, "isPure": true, @@ -1861,11 +1882,11 @@ "src": "2028:14:54", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC2981_$10409", + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC2981_$10681", "typeString": "type(contract IERC2981)" } }, - "id": 10357, + "id": 10629, "isConstant": false, "isLValue": false, "isPure": true, @@ -1889,11 +1910,11 @@ "rightExpression": { "arguments": [ { - "id": 10361, + "id": 10633, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10347, + "referencedDeclaration": 10619, "src": "2094:11:54", "typeDescriptions": { "typeIdentifier": "t_bytes4", @@ -1909,18 +1930,18 @@ } ], "expression": { - "id": 10359, + "id": 10631, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -25, "src": "2070:5:54", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ERC2981Upgradeable_$10393_$", + "typeIdentifier": "t_type$_t_super$_ERC2981Upgradeable_$10665_$", "typeString": "type(contract super ERC2981Upgradeable)" } }, - "id": 10360, + "id": 10632, "isConstant": false, "isLValue": false, "isPure": false, @@ -1934,7 +1955,7 @@ "typeString": "function (bytes4) view returns (bool)" } }, - "id": 10362, + "id": 10634, "isConstant": false, "isLValue": false, "isPure": false, @@ -1955,14 +1976,16 @@ "typeString": "bool" } }, - "functionReturnParameters": 10352, - "id": 10364, + "functionReturnParameters": 10624, + "id": 10636, "nodeType": "Return", "src": "1994:112:54" } ] }, - "baseFunctions": [3786], + "baseFunctions": [ + 3786 + ], "functionSelector": "01ffc9a7", "implemented": true, "kind": "function", @@ -1970,23 +1993,23 @@ "name": "supportsInterface", "nameLocation": "1858:17:54", "overrides": { - "id": 10349, + "id": 10621, "nodeType": "OverrideSpecifier", "overrides": [], "src": "1948:8:54" }, "parameters": { - "id": 10348, + "id": 10620, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10347, + "id": 10619, "mutability": "mutable", "name": "interfaceId", "nameLocation": "1883:11:54", "nodeType": "VariableDeclaration", - "scope": 10366, + "scope": 10638, "src": "1876:18:54", "stateVariable": false, "storageLocation": "default", @@ -1995,7 +2018,7 @@ "typeString": "bytes4" }, "typeName": { - "id": 10346, + "id": 10618, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "1876:6:54", @@ -2010,17 +2033,17 @@ "src": "1875:20:54" }, "returnParameters": { - "id": 10352, + "id": 10624, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10351, + "id": 10623, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 10366, + "scope": 10638, "src": "1974:4:54", "stateVariable": false, "storageLocation": "default", @@ -2029,7 +2052,7 @@ "typeString": "bool" }, "typeName": { - "id": 10350, + "id": 10622, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1974:4:54", @@ -2043,35 +2066,35 @@ ], "src": "1973:6:54" }, - "scope": 10393, + "scope": 10665, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 10376, + "id": 10648, "nodeType": "FunctionDefinition", "src": "2119:123:54", "nodes": [], "body": { - "id": 10375, + "id": 10647, "nodeType": "Block", "src": "2187:55:54", "nodes": [], "statements": [ { "expression": { - "id": 10373, + "id": 10645, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 10371, + "id": 10643, "name": "defaultRoyaltyPercentage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10238, + "referencedDeclaration": 10510, "src": "2197:24:54", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2081,11 +2104,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 10372, + "id": 10644, "name": "_percentage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10368, + "referencedDeclaration": 10640, "src": "2224:11:54", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2098,7 +2121,7 @@ "typeString": "uint256" } }, - "id": 10374, + "id": 10646, "nodeType": "ExpressionStatement", "src": "2197:38:54" } @@ -2110,17 +2133,17 @@ "name": "_setDefaultRoyaltyPercentage", "nameLocation": "2128:28:54", "parameters": { - "id": 10369, + "id": 10641, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10368, + "id": 10640, "mutability": "mutable", "name": "_percentage", "nameLocation": "2165:11:54", "nodeType": "VariableDeclaration", - "scope": 10376, + "scope": 10648, "src": "2157:19:54", "stateVariable": false, "storageLocation": "default", @@ -2129,7 +2152,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10367, + "id": 10639, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2157:7:54", @@ -2144,42 +2167,42 @@ "src": "2156:21:54" }, "returnParameters": { - "id": 10370, + "id": 10642, "nodeType": "ParameterList", "parameters": [], "src": "2187:0:54" }, - "scope": 10393, + "scope": 10665, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 10384, + "id": 10656, "nodeType": "FunctionDefinition", "src": "2248:113:54", "nodes": [], "body": { - "id": 10383, + "id": 10655, "nodeType": "Block", "src": "2315:46:54", "nodes": [], "statements": [ { "expression": { - "id": 10381, + "id": 10653, "name": "defaultRoyaltyReceiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10236, + "referencedDeclaration": 10508, "src": "2332:22:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 10380, - "id": 10382, + "functionReturnParameters": 10652, + "id": 10654, "nodeType": "Return", "src": "2325:29:54" } @@ -2192,23 +2215,23 @@ "name": "getDefaultRoyaltyReceiver", "nameLocation": "2257:25:54", "parameters": { - "id": 10377, + "id": 10649, "nodeType": "ParameterList", "parameters": [], "src": "2282:2:54" }, "returnParameters": { - "id": 10380, + "id": 10652, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10379, + "id": 10651, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 10384, + "scope": 10656, "src": "2306:7:54", "stateVariable": false, "storageLocation": "default", @@ -2217,7 +2240,7 @@ "typeString": "address" }, "typeName": { - "id": 10378, + "id": 10650, "name": "address", "nodeType": "ElementaryTypeName", "src": "2306:7:54", @@ -2232,37 +2255,37 @@ ], "src": "2305:9:54" }, - "scope": 10393, + "scope": 10665, "stateMutability": "view", "virtual": false, "visibility": "public" }, { - "id": 10392, + "id": 10664, "nodeType": "FunctionDefinition", "src": "2367:117:54", "nodes": [], "body": { - "id": 10391, + "id": 10663, "nodeType": "Block", "src": "2436:48:54", "nodes": [], "statements": [ { "expression": { - "id": 10389, + "id": 10661, "name": "defaultRoyaltyPercentage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10238, + "referencedDeclaration": 10510, "src": "2453:24:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10388, - "id": 10390, + "functionReturnParameters": 10660, + "id": 10662, "nodeType": "Return", "src": "2446:31:54" } @@ -2275,23 +2298,23 @@ "name": "getDefaultRoyaltyPercentage", "nameLocation": "2376:27:54", "parameters": { - "id": 10385, + "id": 10657, "nodeType": "ParameterList", "parameters": [], "src": "2403:2:54" }, "returnParameters": { - "id": 10388, + "id": 10660, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10387, + "id": 10659, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 10392, + "scope": 10664, "src": "2427:7:54", "stateVariable": false, "storageLocation": "default", @@ -2300,7 +2323,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10386, + "id": 10658, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2427:7:54", @@ -2314,7 +2337,7 @@ ], "src": "2426:9:54" }, - "scope": 10393, + "scope": 10665, "stateMutability": "view", "virtual": false, "visibility": "public" @@ -2324,25 +2347,25 @@ "baseContracts": [ { "baseName": { - "id": 10225, + "id": 10497, "name": "IERC2981", "nodeType": "IdentifierPath", - "referencedDeclaration": 10409, + "referencedDeclaration": 10681, "src": "324:8:54" }, - "id": 10226, + "id": 10498, "nodeType": "InheritanceSpecifier", "src": "324:8:54" }, { "baseName": { - "id": 10227, + "id": 10499, "name": "ERC165Upgradeable", "nodeType": "IdentifierPath", "referencedDeclaration": 3792, "src": "334:17:54" }, - "id": 10228, + "id": 10500, "nodeType": "InheritanceSpecifier", "src": "334:17:54" } @@ -2351,14 +2374,20 @@ "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "linearizedBaseContracts": [10393, 3792, 3804, 955, 10409], + "linearizedBaseContracts": [ + 10665, + 3792, + 3804, + 955, + 10681 + ], "name": "ERC2981Upgradeable", "nameLocation": "302:18:54", - "scope": 10394, + "scope": 10666, "usedErrors": [] } ], "license": "MIT" }, "id": 54 -} +} \ No newline at end of file diff --git a/abis/IERC2981.json b/abis/IERC2981.json index d53351d..77ad3a5 100644 --- a/abis/IERC2981.json +++ b/abis/IERC2981.json @@ -105,16 +105,16 @@ }, "settings": { "remappings": [ - ":aux/=lib/aux/", - ":ds-test/=lib/ds-test/src/", - ":erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - ":forge-std/=lib/forge-std/src/", - ":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", - ":openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", - ":rareprotocol/aux/=lib/aux/src/", - ":royalty-guard/=lib/royalty-guard/src/royalty-guard/", - ":solmate/=lib/royalty-guard/lib/solmate/src/" + "aux/=lib/aux/", + "ds-test/=lib/ds-test/src/", + "erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", + "openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", + "rareprotocol/aux/=lib/aux/src/", + "royalty-guard/=lib/royalty-guard/src/royalty-guard/", + "solmate/=lib/royalty-guard/lib/solmate/src/" ], "optimizer": { "enabled": true, @@ -142,32 +142,39 @@ }, "ast": { "absolutePath": "src/token/extensions/IERC2981.sol", - "id": 10410, + "id": 10682, "exportedSymbols": { - "IERC2981": [10409] + "IERC2981": [ + 10681 + ] }, "nodeType": "SourceUnit", "src": "66:970:55", "nodes": [ { - "id": 10395, + "id": 10667, "nodeType": "PragmaDirective", "src": "66:23:55", "nodes": [], - "literals": ["solidity", "^", "0.8", ".0"] + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ] }, { - "id": 10409, + "id": 10681, "nodeType": "ContractDefinition", "src": "139:896:55", "nodes": [ { - "id": 10408, + "id": 10680, "nodeType": "FunctionDefinition", "src": "886:147:55", "nodes": [], "documentation": { - "id": 10397, + "id": 10669, "nodeType": "StructuredDocumentation", "src": "581:300:55", "text": "@param _tokenId - the NFT asset queried for royalty information\n @param _salePrice - the sale price of the NFT asset specified by _tokenId\n @return receiver - address of who should be sent the royalty payment\n @return royaltyAmount - the royalty payment amount for _salePrice" @@ -179,17 +186,17 @@ "name": "royaltyInfo", "nameLocation": "895:11:55", "parameters": { - "id": 10402, + "id": 10674, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10399, + "id": 10671, "mutability": "mutable", "name": "_tokenId", "nameLocation": "915:8:55", "nodeType": "VariableDeclaration", - "scope": 10408, + "scope": 10680, "src": "907:16:55", "stateVariable": false, "storageLocation": "default", @@ -198,7 +205,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10398, + "id": 10670, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "907:7:55", @@ -211,12 +218,12 @@ }, { "constant": false, - "id": 10401, + "id": 10673, "mutability": "mutable", "name": "_salePrice", "nameLocation": "933:10:55", "nodeType": "VariableDeclaration", - "scope": 10408, + "scope": 10680, "src": "925:18:55", "stateVariable": false, "storageLocation": "default", @@ -225,7 +232,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10400, + "id": 10672, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "925:7:55", @@ -240,17 +247,17 @@ "src": "906:38:55" }, "returnParameters": { - "id": 10407, + "id": 10679, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10404, + "id": 10676, "mutability": "mutable", "name": "receiver", "nameLocation": "1000:8:55", "nodeType": "VariableDeclaration", - "scope": 10408, + "scope": 10680, "src": "992:16:55", "stateVariable": false, "storageLocation": "default", @@ -259,7 +266,7 @@ "typeString": "address" }, "typeName": { - "id": 10403, + "id": 10675, "name": "address", "nodeType": "ElementaryTypeName", "src": "992:7:55", @@ -273,12 +280,12 @@ }, { "constant": false, - "id": 10406, + "id": 10678, "mutability": "mutable", "name": "royaltyAmount", "nameLocation": "1018:13:55", "nodeType": "VariableDeclaration", - "scope": 10408, + "scope": 10680, "src": "1010:21:55", "stateVariable": false, "storageLocation": "default", @@ -287,7 +294,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10405, + "id": 10677, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1010:7:55", @@ -301,7 +308,7 @@ ], "src": "991:41:55" }, - "scope": 10409, + "scope": 10681, "stateMutability": "view", "virtual": false, "visibility": "external" @@ -313,20 +320,22 @@ "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 10396, + "id": 10668, "nodeType": "StructuredDocumentation", "src": "91:48:55", "text": "@dev Interface for the NFT Royalty Standard" }, "fullyImplemented": false, - "linearizedBaseContracts": [10409], + "linearizedBaseContracts": [ + 10681 + ], "name": "IERC2981", "nameLocation": "149:8:55", - "scope": 10410, + "scope": 10682, "usedErrors": [] } ], "license": "MIT" }, "id": 55 -} +} \ No newline at end of file diff --git a/abis/ISuperRare.json b/abis/ISuperRare.json index d70b513..a33c8cb 100644 --- a/abis/ISuperRare.json +++ b/abis/ISuperRare.json @@ -271,16 +271,16 @@ }, "settings": { "remappings": [ - ":aux/=lib/aux/", - ":ds-test/=lib/ds-test/src/", - ":erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - ":forge-std/=lib/forge-std/src/", - ":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", - ":openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", - ":rareprotocol/aux/=lib/aux/src/", - ":royalty-guard/=lib/royalty-guard/src/royalty-guard/", - ":solmate/=lib/royalty-guard/lib/solmate/src/" + "aux/=lib/aux/", + "ds-test/=lib/ds-test/src/", + "erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", + "openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", + "rareprotocol/aux/=lib/aux/src/", + "royalty-guard/=lib/royalty-guard/src/royalty-guard/", + "solmate/=lib/royalty-guard/lib/solmate/src/" ], "optimizer": { "enabled": true, @@ -308,34 +308,41 @@ }, "ast": { "absolutePath": "src/token/ERC721/superrare/ISuperRare.sol", - "id": 9864, + "id": 35002, "exportedSymbols": { - "ISuperRare": [9863] + "ISuperRare": [ + 35001 + ] }, "nodeType": "SourceUnit", - "src": "41:1348:51", + "src": "41:1348:69", "nodes": [ { - "id": 9820, + "id": 34958, "nodeType": "PragmaDirective", - "src": "41:23:51", + "src": "41:23:69", "nodes": [], - "literals": ["solidity", "^", "0.8", ".0"] + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ] }, { - "id": 9863, + "id": 35001, "nodeType": "ContractDefinition", - "src": "66:1322:51", + "src": "66:1322:69", "nodes": [ { - "id": 9826, + "id": 34964, "nodeType": "FunctionDefinition", - "src": "185:60:51", + "src": "185:60:69", "nodes": [], "documentation": { - "id": 9821, + "id": 34959, "nodeType": "StructuredDocumentation", - "src": "93:87:51", + "src": "93:87:69", "text": " @notice A descriptive name for a collection of NFTs in this contract" }, "functionSelector": "06fdde03", @@ -343,26 +350,26 @@ "kind": "function", "modifiers": [], "name": "name", - "nameLocation": "194:4:51", + "nameLocation": "194:4:69", "parameters": { - "id": 9822, + "id": 34960, "nodeType": "ParameterList", "parameters": [], - "src": "198:2:51" + "src": "198:2:69" }, "returnParameters": { - "id": 9825, + "id": 34963, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9824, + "id": 34962, "mutability": "mutable", "name": "_name", - "nameLocation": "238:5:51", + "nameLocation": "238:5:69", "nodeType": "VariableDeclaration", - "scope": 9826, - "src": "224:19:51", + "scope": 34964, + "src": "224:19:69", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -370,10 +377,10 @@ "typeString": "string" }, "typeName": { - "id": 9823, + "id": 34961, "name": "string", "nodeType": "ElementaryTypeName", - "src": "224:6:51", + "src": "224:6:69", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -382,22 +389,22 @@ "visibility": "internal" } ], - "src": "223:21:51" + "src": "223:21:69" }, - "scope": 9863, + "scope": 35001, "stateMutability": "pure", "virtual": false, "visibility": "external" }, { - "id": 9832, + "id": 34970, "nodeType": "FunctionDefinition", - "src": "328:64:51", + "src": "328:64:69", "nodes": [], "documentation": { - "id": 9827, + "id": 34965, "nodeType": "StructuredDocumentation", - "src": "251:72:51", + "src": "251:72:69", "text": " @notice An abbreviated name for NFTs in this contract" }, "functionSelector": "95d89b41", @@ -405,26 +412,26 @@ "kind": "function", "modifiers": [], "name": "symbol", - "nameLocation": "337:6:51", + "nameLocation": "337:6:69", "parameters": { - "id": 9828, + "id": 34966, "nodeType": "ParameterList", "parameters": [], - "src": "343:2:51" + "src": "343:2:69" }, "returnParameters": { - "id": 9831, + "id": 34969, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9830, + "id": 34968, "mutability": "mutable", "name": "_symbol", - "nameLocation": "383:7:51", + "nameLocation": "383:7:69", "nodeType": "VariableDeclaration", - "scope": 9832, - "src": "369:21:51", + "scope": 34970, + "src": "369:21:69", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -432,10 +439,10 @@ "typeString": "string" }, "typeName": { - "id": 9829, + "id": 34967, "name": "string", "nodeType": "ElementaryTypeName", - "src": "369:6:51", + "src": "369:6:69", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -444,22 +451,22 @@ "visibility": "internal" } ], - "src": "368:23:51" + "src": "368:23:69" }, - "scope": 9863, + "scope": 35001, "stateMutability": "pure", "virtual": false, "visibility": "external" }, { - "id": 9840, + "id": 34978, "nodeType": "FunctionDefinition", - "src": "529:70:51", + "src": "529:70:69", "nodes": [], "documentation": { - "id": 9833, + "id": 34971, "nodeType": "StructuredDocumentation", - "src": "398:126:51", + "src": "398:126:69", "text": " @dev Returns whether the creator is whitelisted\n @param _creator address to check\n @return bool" }, "functionSelector": "3af32abf", @@ -467,20 +474,20 @@ "kind": "function", "modifiers": [], "name": "isWhitelisted", - "nameLocation": "538:13:51", + "nameLocation": "538:13:69", "parameters": { - "id": 9836, + "id": 34974, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9835, + "id": 34973, "mutability": "mutable", "name": "_creator", - "nameLocation": "560:8:51", + "nameLocation": "560:8:69", "nodeType": "VariableDeclaration", - "scope": 9840, - "src": "552:16:51", + "scope": 34978, + "src": "552:16:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -488,10 +495,10 @@ "typeString": "address" }, "typeName": { - "id": 9834, + "id": 34972, "name": "address", "nodeType": "ElementaryTypeName", - "src": "552:7:51", + "src": "552:7:69", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -501,21 +508,21 @@ "visibility": "internal" } ], - "src": "551:18:51" + "src": "551:18:69" }, "returnParameters": { - "id": 9839, + "id": 34977, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9838, + "id": 34976, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 9840, - "src": "593:4:51", + "scope": 34978, + "src": "593:4:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -523,10 +530,10 @@ "typeString": "bool" }, "typeName": { - "id": 9837, + "id": 34975, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "593:4:51", + "src": "593:4:69", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -535,22 +542,22 @@ "visibility": "internal" } ], - "src": "592:6:51" + "src": "592:6:69" }, - "scope": 9863, + "scope": 35001, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 9848, + "id": 34986, "nodeType": "FunctionDefinition", - "src": "882:74:51", + "src": "882:74:69", "nodes": [], "documentation": { - "id": 9841, + "id": 34979, "nodeType": "StructuredDocumentation", - "src": "605:272:51", + "src": "605:272:69", "text": " @notice A distinct Uniform Resource Identifier (URI) for a given asset.\n @dev Throws if `_tokenId` is not a valid NFT. URIs are defined in RFC\n 3986. The URI may point to a JSON file that conforms to the \"ERC721\n Metadata JSON Schema\"." }, "functionSelector": "c87b56dd", @@ -558,20 +565,20 @@ "kind": "function", "modifiers": [], "name": "tokenURI", - "nameLocation": "891:8:51", + "nameLocation": "891:8:69", "parameters": { - "id": 9844, + "id": 34982, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9843, + "id": 34981, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "908:8:51", + "nameLocation": "908:8:69", "nodeType": "VariableDeclaration", - "scope": 9848, - "src": "900:16:51", + "scope": 34986, + "src": "900:16:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -579,10 +586,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9842, + "id": 34980, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "900:7:51", + "src": "900:7:69", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -591,21 +598,21 @@ "visibility": "internal" } ], - "src": "899:18:51" + "src": "899:18:69" }, "returnParameters": { - "id": 9847, + "id": 34985, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9846, + "id": 34984, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 9848, - "src": "941:13:51", + "scope": 34986, + "src": "941:13:69", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -613,10 +620,10 @@ "typeString": "string" }, "typeName": { - "id": 9845, + "id": 34983, "name": "string", "nodeType": "ElementaryTypeName", - "src": "941:6:51", + "src": "941:6:69", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -625,22 +632,22 @@ "visibility": "internal" } ], - "src": "940:15:51" + "src": "940:15:69" }, - "scope": 9863, + "scope": 35001, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 9856, + "id": 34994, "nodeType": "FunctionDefinition", - "src": "1105:74:51", + "src": "1105:74:69", "nodes": [], "documentation": { - "id": 9849, + "id": 34987, "nodeType": "StructuredDocumentation", - "src": "962:138:51", + "src": "962:138:69", "text": " @dev Gets the creator of the token\n @param _tokenId uint256 ID of the token\n @return address of the creator" }, "functionSelector": "d5da8d44", @@ -648,20 +655,20 @@ "kind": "function", "modifiers": [], "name": "creatorOfToken", - "nameLocation": "1114:14:51", + "nameLocation": "1114:14:69", "parameters": { - "id": 9852, + "id": 34990, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9851, + "id": 34989, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "1137:8:51", + "nameLocation": "1137:8:69", "nodeType": "VariableDeclaration", - "scope": 9856, - "src": "1129:16:51", + "scope": 34994, + "src": "1129:16:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -669,10 +676,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9850, + "id": 34988, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1129:7:51", + "src": "1129:7:69", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -681,21 +688,21 @@ "visibility": "internal" } ], - "src": "1128:18:51" + "src": "1128:18:69" }, "returnParameters": { - "id": 9855, + "id": 34993, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9854, + "id": 34992, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 9856, - "src": "1170:7:51", + "scope": 34994, + "src": "1170:7:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -703,10 +710,10 @@ "typeString": "address" }, "typeName": { - "id": 9853, + "id": 34991, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1170:7:51", + "src": "1170:7:69", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -716,22 +723,22 @@ "visibility": "internal" } ], - "src": "1169:9:51" + "src": "1169:9:69" }, - "scope": 9863, + "scope": 35001, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 9862, + "id": 35000, "nodeType": "FunctionDefinition", - "src": "1331:55:51", + "src": "1331:55:69", "nodes": [], "documentation": { - "id": 9857, + "id": 34995, "nodeType": "StructuredDocumentation", - "src": "1185:141:51", + "src": "1185:141:69", "text": " @dev Gets the total amount of tokens stored by the contract\n @return uint256 representing the total amount of tokens" }, "functionSelector": "18160ddd", @@ -739,26 +746,26 @@ "kind": "function", "modifiers": [], "name": "totalSupply", - "nameLocation": "1340:11:51", + "nameLocation": "1340:11:69", "parameters": { - "id": 9858, + "id": 34996, "nodeType": "ParameterList", "parameters": [], - "src": "1351:2:51" + "src": "1351:2:69" }, "returnParameters": { - "id": 9861, + "id": 34999, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9860, + "id": 34998, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 9862, - "src": "1377:7:51", + "scope": 35000, + "src": "1377:7:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -766,10 +773,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9859, + "id": 34997, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1377:7:51", + "src": "1377:7:69", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -778,9 +785,9 @@ "visibility": "internal" } ], - "src": "1376:9:51" + "src": "1376:9:69" }, - "scope": 9863, + "scope": 35001, "stateMutability": "view", "virtual": false, "visibility": "external" @@ -792,14 +799,16 @@ "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, - "linearizedBaseContracts": [9863], + "linearizedBaseContracts": [ + 35001 + ], "name": "ISuperRare", - "nameLocation": "76:10:51", - "scope": 9864, + "nameLocation": "76:10:69", + "scope": 35002, "usedErrors": [] } ], "license": "BSD-3-Clause" }, - "id": 51 -} + "id": 69 +} \ No newline at end of file diff --git a/abis/ITokenCreator.json b/abis/ITokenCreator.json index b22ec77..63e3005 100644 --- a/abis/ITokenCreator.json +++ b/abis/ITokenCreator.json @@ -74,16 +74,16 @@ }, "settings": { "remappings": [ - ":aux/=lib/aux/", - ":ds-test/=lib/ds-test/src/", - ":erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - ":forge-std/=lib/forge-std/src/", - ":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", - ":openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", - ":rareprotocol/aux/=lib/aux/src/", - ":royalty-guard/=lib/royalty-guard/src/royalty-guard/", - ":solmate/=lib/royalty-guard/lib/solmate/src/" + "aux/=lib/aux/", + "ds-test/=lib/ds-test/src/", + "erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", + "openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", + "rareprotocol/aux/=lib/aux/src/", + "royalty-guard/=lib/royalty-guard/src/royalty-guard/", + "solmate/=lib/royalty-guard/lib/solmate/src/" ], "optimizer": { "enabled": true, @@ -111,27 +111,34 @@ }, "ast": { "absolutePath": "src/token/extensions/ITokenCreator.sol", - "id": 10420, + "id": 10692, "exportedSymbols": { - "ITokenCreator": [10419] + "ITokenCreator": [ + 10691 + ] }, "nodeType": "SourceUnit", "src": "32:224:56", "nodes": [ { - "id": 10411, + "id": 10683, "nodeType": "PragmaDirective", "src": "32:23:56", "nodes": [], - "literals": ["solidity", "^", "0.8", ".0"] + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ] }, { - "id": 10419, + "id": 10691, "nodeType": "ContractDefinition", "src": "57:198:56", "nodes": [ { - "id": 10418, + "id": 10690, "nodeType": "FunctionDefinition", "src": "149:104:56", "nodes": [], @@ -142,17 +149,17 @@ "name": "tokenCreator", "nameLocation": "158:12:56", "parameters": { - "id": 10414, + "id": 10686, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10413, + "id": 10685, "mutability": "mutable", "name": "_tokenId", "nameLocation": "179:8:56", "nodeType": "VariableDeclaration", - "scope": 10418, + "scope": 10690, "src": "171:16:56", "stateVariable": false, "storageLocation": "default", @@ -161,7 +168,7 @@ "typeString": "uint256" }, "typeName": { - "id": 10412, + "id": 10684, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "171:7:56", @@ -176,17 +183,17 @@ "src": "170:18:56" }, "returnParameters": { - "id": 10417, + "id": 10689, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10416, + "id": 10688, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 10418, + "scope": 10690, "src": "236:15:56", "stateVariable": false, "storageLocation": "default", @@ -195,7 +202,7 @@ "typeString": "address payable" }, "typeName": { - "id": 10415, + "id": 10687, "name": "address", "nodeType": "ElementaryTypeName", "src": "236:15:56", @@ -210,7 +217,7 @@ ], "src": "235:17:56" }, - "scope": 10419, + "scope": 10691, "stateMutability": "view", "virtual": false, "visibility": "external" @@ -222,14 +229,16 @@ "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, - "linearizedBaseContracts": [10419], + "linearizedBaseContracts": [ + 10691 + ], "name": "ITokenCreator", "nameLocation": "67:13:56", - "scope": 10420, + "scope": 10692, "usedErrors": [] } ], "license": "MIT" }, "id": 56 -} +} \ No newline at end of file diff --git a/abis/LazySovereignNFT.json b/abis/LazySovereignNFT.json new file mode 100644 index 0000000..1e9ed96 --- /dev/null +++ b/abis/LazySovereignNFT.json @@ -0,0 +1,9395 @@ +{ + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "ContractDisabled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "baseURI", + "type": "string" + } + ], + "name": "MetadataLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "baseURI", + "type": "string" + } + ], + "name": "MetadataUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "numberOfTokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "baseURI", + "type": "string" + } + ], + "name": "PrepareMint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "name": "TokenURIUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "deleteToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "disableContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "disabled", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDefaultRoyaltyPercentage", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDefaultRoyaltyReceiver", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMintConfig", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "numberOfTokens", + "type": "uint256" + }, + { + "internalType": "string", + "name": "baseURI", + "type": "string" + }, + { + "internalType": "bool", + "name": "lockedMetadata", + "type": "bool" + } + ], + "internalType": "struct LazySovereignNFT.MintConfig", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_creator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxTokens", + "type": "uint256" + } + ], + "name": "init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "isApprovedMinter", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lockBaseURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "maxTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "mintTo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_numberOfTokens", + "type": "uint256" + } + ], + "name": "prepareMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_numberOfTokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_minter", + "type": "address" + } + ], + "name": "prepareMintWithMinter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_salePrice", + "type": "uint256" + } + ], + "name": "royaltyInfo", + "outputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "royaltyAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "setDefaultRoyaltyReceiver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_minter", + "type": "address" + }, + { + "internalType": "bool", + "name": "_isMinter", + "type": "bool" + } + ], + "name": "setMinterApproval", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "setRoyaltyReceiverForToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "tokenCreator", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "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": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + } + ], + "name": "updateBaseURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_metadataUri", + "type": "string" + } + ], + "name": "updateTokenURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": { + "object": "0x608060405234801561001057600080fd5b50612d25806100206000396000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c806370a0823111610130578063ab69607a116100b8578063e83157421161007c578063e8315742146104de578063e985e9c5146104e8578063ee07080514610524578063efc32cd414610530578063f2fde38b1461054357600080fd5b8063ab69607a1461048a578063b390ac2514610492578063b88d4fde146104a5578063b9fbd25c146104b8578063c87b56dd146104cb57600080fd5b80638da5cb5b116100ff5780638da5cb5b14610436578063931688cb146104475780639338bb5d1461045a57806395d89b411461046f578063a22cb4651461047757600080fd5b806370a0823114610400578063715018a614610413578063755edd171461041b578063894ba8331461042e57600080fd5b80633403c4e9116101be57806342966c681161018257806342966c68146103ac57806353df5c7c146103bf5780635edc7c19146103c75780636297c16c146103da5780636352211e146103ed57600080fd5b80633403c4e9146103355780633a3d146f146103465780633ebc82c51461037357806340c1a0641461038657806342842e0e1461039957600080fd5b80630de54ba0116102055780630de54ba0146102b457806318160ddd146102c757806318e97fd1146102dd57806323b872dd146102f05780632a55205a1461030357600080fd5b806301ffc9a71461023757806306fdde031461025f578063081812fc14610274578063095ea7b31461029f575b600080fd5b61024a6102453660046121b9565b610556565b60405190151581526020015b60405180910390f35b61026761059f565b604051610256919061222e565b610287610282366004612241565b610631565b6040516001600160a01b039091168152602001610256565b6102b26102ad366004612271565b6106cb565b005b6102b26102c236600461229b565b6107e0565b6102cf610858565b604051908152602001610256565b6102b26102eb366004612320565b610869565b6102b26102fe36600461236c565b61094c565b6103166103113660046123a8565b61097e565b604080516001600160a01b039093168352602083019190915201610256565b60fb546001600160a01b0316610287565b61024a6103543660046123ca565b6001600160a01b03166000908152610102602052604090205460ff1690565b6102b26103813660046123ca565b610a19565b610287610394366004612241565b610a4f565b6102b26103a736600461236c565b610a63565b6102b26103ba366004612241565b610a7e565b6102b2610af5565b6102b26103d53660046123e5565b610b69565b6102b26103e8366004612241565b610ce9565b6102876103fb366004612241565b610d52565b6102cf61040e3660046123ca565b610dc9565b6102b2610e4f565b6102cf6104293660046123ca565b610e85565b6102b2610f5b565b6033546001600160a01b0316610287565b6102b261045536600461246e565b610fbf565b610462611093565b60405161025691906124b0565b610267611177565b6102b261048536600461229b565b611186565b60fc546102cf565b6102b26104a03660046124ee565b611195565b6102b26104b3366004612550565b6111ec565b6102b26104c636600461262c565b611224565b6102676104d9366004612241565b6112a3565b6102cf6101005481565b61024a6104f6366004612689565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b60ff805461024a911681565b6102b261053e366004612271565b61139c565b6102b26105513660046123ca565b6113f4565b60006001600160e01b03198216631030681960e21b148061057b575061057b8261148c565b8061058a575061058a826114a2565b806105995750610599826114c3565b92915050565b6060609780546105ae906126b3565b80601f01602080910402602001604051908101604052809291908181526020018280546105da906126b3565b80156106275780601f106105fc57610100808354040283529160200191610627565b820191906000526020600020905b81548152906001019060200180831161060a57829003601f168201915b5050505050905090565b6000818152609960205260408120546001600160a01b03166106af5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152609b60205260409020546001600160a01b031690565b60006106d682610d52565b9050806001600160a01b0316836001600160a01b0316036107435760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016106a6565b336001600160a01b038216148061075f575061075f81336104f6565b6107d15760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016106a6565b6107db8383611503565b505050565b6033546001600160a01b0316331461080a5760405162461bcd60e51b81526004016106a6906126ed565b60ff8054161561082c5760405162461bcd60e51b81526004016106a690612722565b6001600160a01b0391909116600090815261010260205260409020805460ff1916911515919091179055565b60006108646101045490565b905090565b6033546001600160a01b031633146108935760405162461bcd60e51b81526004016106a6906126ed565b6101075460ff16156108f25760405162461bcd60e51b815260206004820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b60648201526084016106a6565b60008381526101036020526040902061090c8284836127a7565b50827f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd838360405161093f929190612868565b60405180910390a2505050565b610957335b82611571565b6109735760405162461bcd60e51b81526004016106a690612897565b6107db838383611668565b600082815260fd602052604081205481906001600160a01b03166109ad5760fb546001600160a01b03166109c6565b600084815260fd60205260409020546001600160a01b03165b9150610a106064610a0a60fe6000888152602001908152602001600020546000036109f35760fc54610a03565b600087815260fe60205260409020545b8690611804565b90611817565b90509250929050565b6033546001600160a01b03163314610a435760405162461bcd60e51b81526004016106a6906126ed565b610a4c81611823565b50565b60006105996033546001600160a01b031690565b6107db838383604051806020016040528060008152506111ec565b610a8733610951565b610aec5760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b60648201526084016106a6565b610a4c81611845565b6033546001600160a01b03163314610b1f5760405162461bcd60e51b81526004016106a6906126ed565b6040517fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e90610b5190610106906128e8565b60405180910390a1610107805460ff19166001179055565b6000610b7560016118e0565b90508015610b8d576000805461ff0019166101001790555b6001600160a01b038316610be35760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c2061646472657373000060448201526064016106a6565b610bed600a60fc55565b60ff805460ff19169055610100829055610c05611968565b610c7887878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061199792505050565b610c806119c8565b610c886119ef565b610c9183611823565b610c9a836113f4565b8015610ce0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b33610cf382610d52565b6001600160a01b031614610d495760405162461bcd60e51b815260206004820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e0060448201526064016106a6565b610a4c81610a7e565b6000818152609960205260408120546001600160a01b0316806105995760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016106a6565b60006001600160a01b038216610e335760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016106a6565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610e795760405162461bcd60e51b81526004016106a6906126ed565b610e836000611a1e565b565b60ff80546000911615610eaa5760405162461bcd60e51b81526004016106a690612722565b6033546001600160a01b0316331480610ed35750336000908152610102602052604090205460ff165b610f385760405162461bcd60e51b815260206004820152603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b60648201526084016106a6565b61059982610f4560fc5490565b60fb546001600160a01b0316611a70565b919050565b6033546001600160a01b03163314610f855760405162461bcd60e51b81526004016106a6906126ed565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b6033546001600160a01b03163314610fe95760405162461bcd60e51b81526004016106a6906126ed565b6101075460ff16156110475760405162461bcd60e51b815260206004820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b60648201526084016106a6565b6101066110558284836127a7565b507f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e8282604051611087929190612868565b60405180910390a15050565b6110b9604051806060016040528060008152602001606081526020016000151581525090565b60408051606081019091526101058054825261010680546020840191906110df906126b3565b80601f016020809104026020016040519081016040528092919081815260200182805461110b906126b3565b80156111585780601f1061112d57610100808354040283529160200191611158565b820191906000526020600020905b81548152906001019060200180831161113b57829003601f168201915b50505091835250506002919091015460ff161515602090910152919050565b6060609880546105ae906126b3565b611191338383611b2c565b5050565b6033546001600160a01b031633146111bf5760405162461bcd60e51b81526004016106a6906126ed565b60ff805416156111e15760405162461bcd60e51b81526004016106a690612722565b6107db838383611bfa565b6111f63383611571565b6112125760405162461bcd60e51b81526004016106a690612897565b61121e84848484611d6f565b50505050565b6033546001600160a01b0316331461124e5760405162461bcd60e51b81526004016106a6906126ed565b60ff805416156112705760405162461bcd60e51b81526004016106a690612722565b61127b848484611bfa565b6001600160a01b0316600090815261010260205260409020805460ff19166001179055505050565b600081815261010360205260408120805460609291906112c2906126b3565b905011156113695760008281526101036020526040902080546112e4906126b3565b80601f0160208091040260200160405190810160405280929190818152602001828054611310906126b3565b801561135d5780601f106113325761010080835404028352916020019161135d565b820191906000526020600020905b81548152906001019060200180831161134057829003601f168201915b50505050509050919050565b61010661137583611da2565b604051602001611386929190612973565b6040516020818303038152906040529050919050565b6033546001600160a01b031633146113c65760405162461bcd60e51b81526004016106a6906126ed565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461141e5760405162461bcd60e51b81526004016106a6906126ed565b6001600160a01b0381166114835760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106a6565b610a4c81611a1e565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b14806105995750610599825b60006001600160e01b031982166380ac58cd60e01b14806114f457506001600160e01b03198216635b5e139f60e01b145b8061059957506105998261148c565b6000818152609b6020526040902080546001600160a01b0319166001600160a01b038416908117909155819061153882610d52565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152609960205260408120546001600160a01b03166115ea5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016106a6565b60006115f583610d52565b9050806001600160a01b0316846001600160a01b0316148061163c57506001600160a01b038082166000908152609c602090815260408083209388168352929052205460ff165b806116605750836001600160a01b031661165584610631565b6001600160a01b0316145b949350505050565b826001600160a01b031661167b82610d52565b6001600160a01b0316146116df5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016106a6565b6001600160a01b0382166117415760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106a6565b61174c600082611503565b6001600160a01b0383166000908152609a60205260408120805460019290611775908490612a2f565b90915550506001600160a01b0382166000908152609a602052604081208054600192906117a3908490612a46565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006118108284612a5e565b9392505050565b60006118108284612a93565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b600061185082610d52565b905061185d600083611503565b6001600160a01b0381166000908152609a60205260408120805460019290611886908490612a2f565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60008054610100900460ff1615611927578160ff1660011480156119035750303b155b61191f5760405162461bcd60e51b81526004016106a690612aa7565b506000919050565b60005460ff80841691161061194e5760405162461bcd60e51b81526004016106a690612aa7565b506000805460ff191660ff92909216919091179055600190565b600054610100900460ff1661198f5760405162461bcd60e51b81526004016106a690612af5565b610e83611ea3565b600054610100900460ff166119be5760405162461bcd60e51b81526004016106a690612af5565b6111918282611ed3565b600054610100900460ff16610e835760405162461bcd60e51b81526004016106a690612af5565b600054610100900460ff16611a165760405162461bcd60e51b81526004016106a690612af5565b610e836119c8565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611a8161010480546001019055565b6000611a8d6101045490565b905061010054811115611ae25760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e7360448201526064016106a6565b611aec8582611f13565b600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b038516179055949350505050565b816001600160a01b0316836001600160a01b031603611b8d5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016106a6565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61010054811115611c4d5760405162461bcd60e51b815260206004820181905260248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e7360448201526064016106a6565b6101045415611cb85760405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b60648201526084016106a6565b604051806060016040528082815260200184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060209182015281516101059081559082015161010690611d219082612b40565b50604091820151600291909101805460ff19169115159190911790555181907f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199061093f9086908690612868565b611d7a848484611668565b611d8684848484611f2d565b61121e5760405162461bcd60e51b81526004016106a690612c00565b606081600003611dc95750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611df35780611ddd81612c52565b9150611dec9050600a83612a93565b9150611dcd565b60008167ffffffffffffffff811115611e0e57611e0e61253a565b6040519080825280601f01601f191660200182016040528015611e38576020820181803683370190505b5090505b841561166057611e4d600183612a2f565b9150611e5a600a86612c6b565b611e65906030612a46565b60f81b818381518110611e7a57611e7a612c7f565b60200101906001600160f81b031916908160001a905350611e9c600a86612a93565b9450611e3c565b600054610100900460ff16611eca5760405162461bcd60e51b81526004016106a690612af5565b610e8333611a1e565b600054610100900460ff16611efa5760405162461bcd60e51b81526004016106a690612af5565b6097611f068382612b40565b5060986107db8282612b40565b61119182826040518060200160405280600081525061202e565b60006001600160a01b0384163b1561202357604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611f71903390899088908890600401612c95565b6020604051808303816000875af1925050508015611fac575060408051601f3d908101601f19168201909252611fa991810190612cd2565b60015b612009573d808015611fda576040519150601f19603f3d011682016040523d82523d6000602084013e611fdf565b606091505b5080516000036120015760405162461bcd60e51b81526004016106a690612c00565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611660565b506001949350505050565b6120388383612061565b6120456000848484611f2d565b6107db5760405162461bcd60e51b81526004016106a690612c00565b6001600160a01b0382166120b75760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016106a6565b6000818152609960205260409020546001600160a01b03161561211c5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016106a6565b6001600160a01b0382166000908152609a60205260408120805460019290612145908490612a46565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b031981168114610a4c57600080fd5b6000602082840312156121cb57600080fd5b8135611810816121a3565b60005b838110156121f15781810151838201526020016121d9565b8381111561121e5750506000910152565b6000815180845261221a8160208601602086016121d6565b601f01601f19169290920160200192915050565b6020815260006118106020830184612202565b60006020828403121561225357600080fd5b5035919050565b80356001600160a01b0381168114610f5657600080fd5b6000806040838503121561228457600080fd5b61228d8361225a565b946020939093013593505050565b600080604083850312156122ae57600080fd5b6122b78361225a565b9150602083013580151581146122cc57600080fd5b809150509250929050565b60008083601f8401126122e957600080fd5b50813567ffffffffffffffff81111561230157600080fd5b60208301915083602082850101111561231957600080fd5b9250929050565b60008060006040848603121561233557600080fd5b83359250602084013567ffffffffffffffff81111561235357600080fd5b61235f868287016122d7565b9497909650939450505050565b60008060006060848603121561238157600080fd5b61238a8461225a565b92506123986020850161225a565b9150604084013590509250925092565b600080604083850312156123bb57600080fd5b50508035926020909101359150565b6000602082840312156123dc57600080fd5b6118108261225a565b600080600080600080608087890312156123fe57600080fd5b863567ffffffffffffffff8082111561241657600080fd5b6124228a838b016122d7565b9098509650602089013591508082111561243b57600080fd5b5061244889828a016122d7565b909550935061245b90506040880161225a565b9150606087013590509295509295509295565b6000806020838503121561248157600080fd5b823567ffffffffffffffff81111561249857600080fd5b6124a4858286016122d7565b90969095509350505050565b602081528151602082015260006020830151606060408401526124d66080840182612202565b90506040840151151560608401528091505092915050565b60008060006040848603121561250357600080fd5b833567ffffffffffffffff81111561251a57600080fd5b612526868287016122d7565b909790965060209590950135949350505050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561256657600080fd5b61256f8561225a565b935061257d6020860161225a565b925060408501359150606085013567ffffffffffffffff808211156125a157600080fd5b818701915087601f8301126125b557600080fd5b8135818111156125c7576125c761253a565b604051601f8201601f19908116603f011681019083821181831017156125ef576125ef61253a565b816040528281528a602084870101111561260857600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806000806060858703121561264257600080fd5b843567ffffffffffffffff81111561265957600080fd5b612665878288016122d7565b9095509350506020850135915061267e6040860161225a565b905092959194509250565b6000806040838503121561269c57600080fd5b6126a58361225a565b9150610a106020840161225a565b600181811c908216806126c757607f821691505b6020821081036126e757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b601f8211156107db57600081815260208120601f850160051c810160208610156127805750805b601f850160051c820191505b8181101561279f5782815560010161278c565b505050505050565b67ffffffffffffffff8311156127bf576127bf61253a565b6127d3836127cd83546126b3565b83612759565b6000601f84116001811461280757600085156127ef5750838201355b600019600387901b1c1916600186901b178355612861565b600083815260209020601f19861690835b828110156128385786850135825560209485019460019092019101612818565b50868210156128555760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60006020808352600084546128fc816126b3565b8084870152604060018084166000811461291d576001811461293757612965565b60ff1985168984015283151560051b890183019550612965565b896000528660002060005b8581101561295d5781548b8201860152908301908801612942565b8a0184019650505b509398975050505050505050565b6000808454612981816126b3565b6001828116801561299957600181146129ae576129dd565b60ff19841687528215158302870194506129dd565b8860005260208060002060005b858110156129d45781548a8201529084019082016129bb565b50505082870194505b50602f60f81b8452865192506129f98382860160208a016121d6565b64173539b7b760d91b939092019182019290925260060195945050505050565b634e487b7160e01b600052601160045260246000fd5b600082821015612a4157612a41612a19565b500390565b60008219821115612a5957612a59612a19565b500190565b6000816000190483118215151615612a7857612a78612a19565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612aa257612aa2612a7d565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b815167ffffffffffffffff811115612b5a57612b5a61253a565b612b6e81612b6884546126b3565b84612759565b602080601f831160018114612ba35760008415612b8b5750858301515b600019600386901b1c1916600185901b17855561279f565b600085815260208120601f198616915b82811015612bd257888601518255948401946001909101908401612bb3565b5085821015612bf05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600060018201612c6457612c64612a19565b5060010190565b600082612c7a57612c7a612a7d565b500690565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612cc890830184612202565b9695505050505050565b600060208284031215612ce457600080fd5b8151611810816121a356fea26469706673582212203ad60c5acc0ff04f869f53b97ed097eb310c45126ed03b9e44d45229f8b29f2764736f6c634300080f0033", + "sourceMap": "841:12360:37:-:0;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b50600436106102325760003560e01c806370a0823111610130578063ab69607a116100b8578063e83157421161007c578063e8315742146104de578063e985e9c5146104e8578063ee07080514610524578063efc32cd414610530578063f2fde38b1461054357600080fd5b8063ab69607a1461048a578063b390ac2514610492578063b88d4fde146104a5578063b9fbd25c146104b8578063c87b56dd146104cb57600080fd5b80638da5cb5b116100ff5780638da5cb5b14610436578063931688cb146104475780639338bb5d1461045a57806395d89b411461046f578063a22cb4651461047757600080fd5b806370a0823114610400578063715018a614610413578063755edd171461041b578063894ba8331461042e57600080fd5b80633403c4e9116101be57806342966c681161018257806342966c68146103ac57806353df5c7c146103bf5780635edc7c19146103c75780636297c16c146103da5780636352211e146103ed57600080fd5b80633403c4e9146103355780633a3d146f146103465780633ebc82c51461037357806340c1a0641461038657806342842e0e1461039957600080fd5b80630de54ba0116102055780630de54ba0146102b457806318160ddd146102c757806318e97fd1146102dd57806323b872dd146102f05780632a55205a1461030357600080fd5b806301ffc9a71461023757806306fdde031461025f578063081812fc14610274578063095ea7b31461029f575b600080fd5b61024a6102453660046121b9565b610556565b60405190151581526020015b60405180910390f35b61026761059f565b604051610256919061222e565b610287610282366004612241565b610631565b6040516001600160a01b039091168152602001610256565b6102b26102ad366004612271565b6106cb565b005b6102b26102c236600461229b565b6107e0565b6102cf610858565b604051908152602001610256565b6102b26102eb366004612320565b610869565b6102b26102fe36600461236c565b61094c565b6103166103113660046123a8565b61097e565b604080516001600160a01b039093168352602083019190915201610256565b60fb546001600160a01b0316610287565b61024a6103543660046123ca565b6001600160a01b03166000908152610102602052604090205460ff1690565b6102b26103813660046123ca565b610a19565b610287610394366004612241565b610a4f565b6102b26103a736600461236c565b610a63565b6102b26103ba366004612241565b610a7e565b6102b2610af5565b6102b26103d53660046123e5565b610b69565b6102b26103e8366004612241565b610ce9565b6102876103fb366004612241565b610d52565b6102cf61040e3660046123ca565b610dc9565b6102b2610e4f565b6102cf6104293660046123ca565b610e85565b6102b2610f5b565b6033546001600160a01b0316610287565b6102b261045536600461246e565b610fbf565b610462611093565b60405161025691906124b0565b610267611177565b6102b261048536600461229b565b611186565b60fc546102cf565b6102b26104a03660046124ee565b611195565b6102b26104b3366004612550565b6111ec565b6102b26104c636600461262c565b611224565b6102676104d9366004612241565b6112a3565b6102cf6101005481565b61024a6104f6366004612689565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b60ff805461024a911681565b6102b261053e366004612271565b61139c565b6102b26105513660046123ca565b6113f4565b60006001600160e01b03198216631030681960e21b148061057b575061057b8261148c565b8061058a575061058a826114a2565b806105995750610599826114c3565b92915050565b6060609780546105ae906126b3565b80601f01602080910402602001604051908101604052809291908181526020018280546105da906126b3565b80156106275780601f106105fc57610100808354040283529160200191610627565b820191906000526020600020905b81548152906001019060200180831161060a57829003601f168201915b5050505050905090565b6000818152609960205260408120546001600160a01b03166106af5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152609b60205260409020546001600160a01b031690565b60006106d682610d52565b9050806001600160a01b0316836001600160a01b0316036107435760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016106a6565b336001600160a01b038216148061075f575061075f81336104f6565b6107d15760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016106a6565b6107db8383611503565b505050565b6033546001600160a01b0316331461080a5760405162461bcd60e51b81526004016106a6906126ed565b60ff8054161561082c5760405162461bcd60e51b81526004016106a690612722565b6001600160a01b0391909116600090815261010260205260409020805460ff1916911515919091179055565b60006108646101045490565b905090565b6033546001600160a01b031633146108935760405162461bcd60e51b81526004016106a6906126ed565b6101075460ff16156108f25760405162461bcd60e51b815260206004820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b60648201526084016106a6565b60008381526101036020526040902061090c8284836127a7565b50827f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd838360405161093f929190612868565b60405180910390a2505050565b610957335b82611571565b6109735760405162461bcd60e51b81526004016106a690612897565b6107db838383611668565b600082815260fd602052604081205481906001600160a01b03166109ad5760fb546001600160a01b03166109c6565b600084815260fd60205260409020546001600160a01b03165b9150610a106064610a0a60fe6000888152602001908152602001600020546000036109f35760fc54610a03565b600087815260fe60205260409020545b8690611804565b90611817565b90509250929050565b6033546001600160a01b03163314610a435760405162461bcd60e51b81526004016106a6906126ed565b610a4c81611823565b50565b60006105996033546001600160a01b031690565b6107db838383604051806020016040528060008152506111ec565b610a8733610951565b610aec5760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b60648201526084016106a6565b610a4c81611845565b6033546001600160a01b03163314610b1f5760405162461bcd60e51b81526004016106a6906126ed565b6040517fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e90610b5190610106906128e8565b60405180910390a1610107805460ff19166001179055565b6000610b7560016118e0565b90508015610b8d576000805461ff0019166101001790555b6001600160a01b038316610be35760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c2061646472657373000060448201526064016106a6565b610bed600a60fc55565b60ff805460ff19169055610100829055610c05611968565b610c7887878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061199792505050565b610c806119c8565b610c886119ef565b610c9183611823565b610c9a836113f4565b8015610ce0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b33610cf382610d52565b6001600160a01b031614610d495760405162461bcd60e51b815260206004820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e0060448201526064016106a6565b610a4c81610a7e565b6000818152609960205260408120546001600160a01b0316806105995760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016106a6565b60006001600160a01b038216610e335760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016106a6565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610e795760405162461bcd60e51b81526004016106a6906126ed565b610e836000611a1e565b565b60ff80546000911615610eaa5760405162461bcd60e51b81526004016106a690612722565b6033546001600160a01b0316331480610ed35750336000908152610102602052604090205460ff165b610f385760405162461bcd60e51b815260206004820152603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b60648201526084016106a6565b61059982610f4560fc5490565b60fb546001600160a01b0316611a70565b919050565b6033546001600160a01b03163314610f855760405162461bcd60e51b81526004016106a6906126ed565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b6033546001600160a01b03163314610fe95760405162461bcd60e51b81526004016106a6906126ed565b6101075460ff16156110475760405162461bcd60e51b815260206004820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b60648201526084016106a6565b6101066110558284836127a7565b507f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e8282604051611087929190612868565b60405180910390a15050565b6110b9604051806060016040528060008152602001606081526020016000151581525090565b60408051606081019091526101058054825261010680546020840191906110df906126b3565b80601f016020809104026020016040519081016040528092919081815260200182805461110b906126b3565b80156111585780601f1061112d57610100808354040283529160200191611158565b820191906000526020600020905b81548152906001019060200180831161113b57829003601f168201915b50505091835250506002919091015460ff161515602090910152919050565b6060609880546105ae906126b3565b611191338383611b2c565b5050565b6033546001600160a01b031633146111bf5760405162461bcd60e51b81526004016106a6906126ed565b60ff805416156111e15760405162461bcd60e51b81526004016106a690612722565b6107db838383611bfa565b6111f63383611571565b6112125760405162461bcd60e51b81526004016106a690612897565b61121e84848484611d6f565b50505050565b6033546001600160a01b0316331461124e5760405162461bcd60e51b81526004016106a6906126ed565b60ff805416156112705760405162461bcd60e51b81526004016106a690612722565b61127b848484611bfa565b6001600160a01b0316600090815261010260205260409020805460ff19166001179055505050565b600081815261010360205260408120805460609291906112c2906126b3565b905011156113695760008281526101036020526040902080546112e4906126b3565b80601f0160208091040260200160405190810160405280929190818152602001828054611310906126b3565b801561135d5780601f106113325761010080835404028352916020019161135d565b820191906000526020600020905b81548152906001019060200180831161134057829003601f168201915b50505050509050919050565b61010661137583611da2565b604051602001611386929190612973565b6040516020818303038152906040529050919050565b6033546001600160a01b031633146113c65760405162461bcd60e51b81526004016106a6906126ed565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461141e5760405162461bcd60e51b81526004016106a6906126ed565b6001600160a01b0381166114835760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106a6565b610a4c81611a1e565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b14806105995750610599825b60006001600160e01b031982166380ac58cd60e01b14806114f457506001600160e01b03198216635b5e139f60e01b145b8061059957506105998261148c565b6000818152609b6020526040902080546001600160a01b0319166001600160a01b038416908117909155819061153882610d52565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152609960205260408120546001600160a01b03166115ea5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016106a6565b60006115f583610d52565b9050806001600160a01b0316846001600160a01b0316148061163c57506001600160a01b038082166000908152609c602090815260408083209388168352929052205460ff165b806116605750836001600160a01b031661165584610631565b6001600160a01b0316145b949350505050565b826001600160a01b031661167b82610d52565b6001600160a01b0316146116df5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016106a6565b6001600160a01b0382166117415760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106a6565b61174c600082611503565b6001600160a01b0383166000908152609a60205260408120805460019290611775908490612a2f565b90915550506001600160a01b0382166000908152609a602052604081208054600192906117a3908490612a46565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006118108284612a5e565b9392505050565b60006118108284612a93565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b600061185082610d52565b905061185d600083611503565b6001600160a01b0381166000908152609a60205260408120805460019290611886908490612a2f565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60008054610100900460ff1615611927578160ff1660011480156119035750303b155b61191f5760405162461bcd60e51b81526004016106a690612aa7565b506000919050565b60005460ff80841691161061194e5760405162461bcd60e51b81526004016106a690612aa7565b506000805460ff191660ff92909216919091179055600190565b600054610100900460ff1661198f5760405162461bcd60e51b81526004016106a690612af5565b610e83611ea3565b600054610100900460ff166119be5760405162461bcd60e51b81526004016106a690612af5565b6111918282611ed3565b600054610100900460ff16610e835760405162461bcd60e51b81526004016106a690612af5565b600054610100900460ff16611a165760405162461bcd60e51b81526004016106a690612af5565b610e836119c8565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611a8161010480546001019055565b6000611a8d6101045490565b905061010054811115611ae25760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e7360448201526064016106a6565b611aec8582611f13565b600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b038516179055949350505050565b816001600160a01b0316836001600160a01b031603611b8d5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016106a6565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61010054811115611c4d5760405162461bcd60e51b815260206004820181905260248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e7360448201526064016106a6565b6101045415611cb85760405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b60648201526084016106a6565b604051806060016040528082815260200184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060209182015281516101059081559082015161010690611d219082612b40565b50604091820151600291909101805460ff19169115159190911790555181907f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199061093f9086908690612868565b611d7a848484611668565b611d8684848484611f2d565b61121e5760405162461bcd60e51b81526004016106a690612c00565b606081600003611dc95750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611df35780611ddd81612c52565b9150611dec9050600a83612a93565b9150611dcd565b60008167ffffffffffffffff811115611e0e57611e0e61253a565b6040519080825280601f01601f191660200182016040528015611e38576020820181803683370190505b5090505b841561166057611e4d600183612a2f565b9150611e5a600a86612c6b565b611e65906030612a46565b60f81b818381518110611e7a57611e7a612c7f565b60200101906001600160f81b031916908160001a905350611e9c600a86612a93565b9450611e3c565b600054610100900460ff16611eca5760405162461bcd60e51b81526004016106a690612af5565b610e8333611a1e565b600054610100900460ff16611efa5760405162461bcd60e51b81526004016106a690612af5565b6097611f068382612b40565b5060986107db8282612b40565b61119182826040518060200160405280600081525061202e565b60006001600160a01b0384163b1561202357604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611f71903390899088908890600401612c95565b6020604051808303816000875af1925050508015611fac575060408051601f3d908101601f19168201909252611fa991810190612cd2565b60015b612009573d808015611fda576040519150601f19603f3d011682016040523d82523d6000602084013e611fdf565b606091505b5080516000036120015760405162461bcd60e51b81526004016106a690612c00565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611660565b506001949350505050565b6120388383612061565b6120456000848484611f2d565b6107db5760405162461bcd60e51b81526004016106a690612c00565b6001600160a01b0382166120b75760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016106a6565b6000818152609960205260409020546001600160a01b03161561211c5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016106a6565b6001600160a01b0382166000908152609a60205260408120805460019290612145908490612a46565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b031981168114610a4c57600080fd5b6000602082840312156121cb57600080fd5b8135611810816121a3565b60005b838110156121f15781810151838201526020016121d9565b8381111561121e5750506000910152565b6000815180845261221a8160208601602086016121d6565b601f01601f19169290920160200192915050565b6020815260006118106020830184612202565b60006020828403121561225357600080fd5b5035919050565b80356001600160a01b0381168114610f5657600080fd5b6000806040838503121561228457600080fd5b61228d8361225a565b946020939093013593505050565b600080604083850312156122ae57600080fd5b6122b78361225a565b9150602083013580151581146122cc57600080fd5b809150509250929050565b60008083601f8401126122e957600080fd5b50813567ffffffffffffffff81111561230157600080fd5b60208301915083602082850101111561231957600080fd5b9250929050565b60008060006040848603121561233557600080fd5b83359250602084013567ffffffffffffffff81111561235357600080fd5b61235f868287016122d7565b9497909650939450505050565b60008060006060848603121561238157600080fd5b61238a8461225a565b92506123986020850161225a565b9150604084013590509250925092565b600080604083850312156123bb57600080fd5b50508035926020909101359150565b6000602082840312156123dc57600080fd5b6118108261225a565b600080600080600080608087890312156123fe57600080fd5b863567ffffffffffffffff8082111561241657600080fd5b6124228a838b016122d7565b9098509650602089013591508082111561243b57600080fd5b5061244889828a016122d7565b909550935061245b90506040880161225a565b9150606087013590509295509295509295565b6000806020838503121561248157600080fd5b823567ffffffffffffffff81111561249857600080fd5b6124a4858286016122d7565b90969095509350505050565b602081528151602082015260006020830151606060408401526124d66080840182612202565b90506040840151151560608401528091505092915050565b60008060006040848603121561250357600080fd5b833567ffffffffffffffff81111561251a57600080fd5b612526868287016122d7565b909790965060209590950135949350505050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561256657600080fd5b61256f8561225a565b935061257d6020860161225a565b925060408501359150606085013567ffffffffffffffff808211156125a157600080fd5b818701915087601f8301126125b557600080fd5b8135818111156125c7576125c761253a565b604051601f8201601f19908116603f011681019083821181831017156125ef576125ef61253a565b816040528281528a602084870101111561260857600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806000806060858703121561264257600080fd5b843567ffffffffffffffff81111561265957600080fd5b612665878288016122d7565b9095509350506020850135915061267e6040860161225a565b905092959194509250565b6000806040838503121561269c57600080fd5b6126a58361225a565b9150610a106020840161225a565b600181811c908216806126c757607f821691505b6020821081036126e757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b601f8211156107db57600081815260208120601f850160051c810160208610156127805750805b601f850160051c820191505b8181101561279f5782815560010161278c565b505050505050565b67ffffffffffffffff8311156127bf576127bf61253a565b6127d3836127cd83546126b3565b83612759565b6000601f84116001811461280757600085156127ef5750838201355b600019600387901b1c1916600186901b178355612861565b600083815260209020601f19861690835b828110156128385786850135825560209485019460019092019101612818565b50868210156128555760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60006020808352600084546128fc816126b3565b8084870152604060018084166000811461291d576001811461293757612965565b60ff1985168984015283151560051b890183019550612965565b896000528660002060005b8581101561295d5781548b8201860152908301908801612942565b8a0184019650505b509398975050505050505050565b6000808454612981816126b3565b6001828116801561299957600181146129ae576129dd565b60ff19841687528215158302870194506129dd565b8860005260208060002060005b858110156129d45781548a8201529084019082016129bb565b50505082870194505b50602f60f81b8452865192506129f98382860160208a016121d6565b64173539b7b760d91b939092019182019290925260060195945050505050565b634e487b7160e01b600052601160045260246000fd5b600082821015612a4157612a41612a19565b500390565b60008219821115612a5957612a59612a19565b500190565b6000816000190483118215151615612a7857612a78612a19565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612aa257612aa2612a7d565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b815167ffffffffffffffff811115612b5a57612b5a61253a565b612b6e81612b6884546126b3565b84612759565b602080601f831160018114612ba35760008415612b8b5750858301515b600019600386901b1c1916600185901b17855561279f565b600085815260208120601f198616915b82811015612bd257888601518255948401946001909101908401612bb3565b5085821015612bf05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600060018201612c6457612c64612a19565b5060010190565b600082612c7a57612c7a612a7d565b500690565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612cc890830184612202565b9695505050505050565b600060208284031215612ce457600080fd5b8151611810816121a356fea26469706673582212203ad60c5acc0ff04f869f53b97ed097eb310c45126ed03b9e44d45229f8b29f2764736f6c634300080f0033", + "sourceMap": "841:12360:37:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10966:482;;;;;;:::i;:::-;;:::i;:::-;;;565:14:44;;558:22;540:41;;528:2;513:18;10966:482:37;;;;;;;;2948:98:14;;;:::i;:::-;;;;;;;:::i;4471:217::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1692:32:44;;;1674:51;;1662:2;1647:18;4471:217:14;1528:203:44;3998:412:14;;;;;;:::i;:::-;;:::i;:::-;;4926:166:37;;;;;;:::i;:::-;;:::i;10790:109::-;;;:::i;:::-;;;2671:25:44;;;2659:2;2644:18;10790:109:37;2525:177:44;8332:337:37;;;;;;:::i;:::-;;:::i;5198:330:14:-;;;;;;:::i;:::-;;:::i;846:566:41:-;;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;4322:32:44;;;4304:51;;4386:2;4371:18;;4364:34;;;;4277:18;846:566:41;4130:274:44;2248:113:41;2332:22;;-1:-1:-1;;;;;2332:22:41;2248:113;;9281:120:37;;;;;;:::i;:::-;-1:-1:-1;;;;;9369:25:37;9346:4;9369:25;;;:15;:25;;;;;;;;;9281:120;7363:127;;;;;;:::i;:::-;;:::i;9583:141::-;;;;;;:::i;:::-;;:::i;5594:179:14:-;;;;;;:::i;:::-;;:::i;801:241:17:-;;;;;;:::i;:::-;;:::i;8750:140:37:-;;;:::i;3645:548::-;;;;;;:::i;:::-;;:::i;6819:196::-;;;;;;:::i;:::-;;:::i;2651:235:14:-;;;;;;:::i;:::-;;:::i;2390:204::-;;;;;;:::i;:::-;;:::i;1908:101:12:-;;;:::i;6269:428:37:-;;;;;;:::i;:::-;;:::i;7099:119::-;;;:::i;1276:85:12:-;1348:6;;-1:-1:-1;;;;;1348:6:12;1276:85;;7947:271:37;;;;;;:::i;:::-;;:::i;9840:99::-;;;:::i;:::-;;;;;;;:::i;3110:102:14:-;;;:::i;4755:153::-;;;;;;:::i;:::-;;:::i;2367:117:41:-;2453:24;;2367:117;;5329:181:37;;;;;;:::i;:::-;;:::i;5839:320:14:-;;;;;;:::i;:::-;;:::i;5825:257:37:-;;;;;;:::i;:::-;;:::i;10217:451::-;;;;;;:::i;:::-;;:::i;1857:24::-;;;;;;4974:162:14;;;;;;:::i;:::-;-1:-1:-1;;;;;5094:25:14;;;5071:4;5094:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4974:162;1779:20:37;;;;;;;;;7682:169;;;;;;:::i;:::-;;:::i;2158:198:12:-;;;;;;:::i;:::-;;:::i;10966:482:37:-;11163:4;-1:-1:-1;;;;;;11202:46:37;;-1:-1:-1;;;11202:46:37;;:110;;;11264:48;11300:11;11264:35;:48::i;:::-;11202:175;;;;11328:49;11365:11;11328:36;:49::i;:::-;11202:239;;;;11393:48;11429:11;11393:35;:48::i;:::-;11183:258;10966:482;-1:-1:-1;;10966:482:37:o;2948:98:14:-;3002:13;3034:5;3027:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2948:98;:::o;4471:217::-;4547:7;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:14;4566:73;;;;-1:-1:-1;;;4566:73:14;;9796:2:44;4566:73:14;;;9778:21:44;9835:2;9815:18;;;9808:30;9874:34;9854:18;;;9847:62;-1:-1:-1;;;9925:18:44;;;9918:42;9977:19;;4566:73:14;;;;;;;;;-1:-1:-1;4657:24:14;;;;:15;:24;;;;;;-1:-1:-1;;;;;4657:24:14;;4471:217::o;3998:412::-;4078:13;4094:34;4120:7;4094:25;:34::i;:::-;4078:50;;4152:5;-1:-1:-1;;;;;4146:11:14;:2;-1:-1:-1;;;;;4146:11:14;;4138:57;;;;-1:-1:-1;;;4138:57:14;;10209:2:44;4138:57:14;;;10191:21:44;10248:2;10228:18;;;10221:30;10287:34;10267:18;;;10260:62;-1:-1:-1;;;10338:18:44;;;10331:31;10379:19;;4138:57:14;10007:397:44;4138:57:14;929:10:20;-1:-1:-1;;;;;4227:21:14;;;;:62;;-1:-1:-1;4252:37:14;4269:5;929:10:20;4974:162:14;:::i;4252:37::-;4206:165;;;;-1:-1:-1;;;4206:165:14;;10611:2:44;4206:165:14;;;10593:21:44;10650:2;10630:18;;;10623:30;10689:34;10669:18;;;10662:62;10760:26;10740:18;;;10733:54;10804:19;;4206:165:14;10409:420:44;4206:165:14;4382:21;4391:2;4395:7;4382:8;:21::i;:::-;4068:342;3998:412;;:::o;4926:166:37:-;1348:6:12;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;4503:8:37::1;::::0;;::::1;4502:9;4494:52;;;;-1:-1:-1::0;;;4494:52:37::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5049:24:37;;;::::2;;::::0;;;:15:::2;:24;::::0;;;;:36;;-1:-1:-1;;5049:36:37::2;::::0;::::2;;::::0;;;::::2;::::0;;4926:166::o;10790:109::-;10842:7;10868:24;:14;929::21;;838:112;10868:24:37;10861:31;;10790:109;:::o;8332:337::-;1348:6:12;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;8477:25:37;;::::1;;8476:26;8455:107;;;::::0;-1:-1:-1;;;8455:107:37;;11756:2:44;8455:107:37::1;::::0;::::1;11738:21:44::0;11795:2;11775:18;;;11768:30;11834:34;11814:18;;;11807:62;-1:-1:-1;;;11885:18:44;;;11878:32;11927:19;;8455:107:37::1;11554:398:44::0;8455:107:37::1;8573:20;::::0;;;:10:::1;:20;::::0;;;;:35:::1;8596:12:::0;;8573:20;:35:::1;:::i;:::-;;8639:8;8623:39;8649:12;;8623:39;;;;;;;:::i;:::-;;;;;;;;8332:337:::0;;;:::o;5198:330:14:-;5387:41;929:10:20;5406:12:14;5420:7;5387:18;:41::i;:::-;5379:103;;;;-1:-1:-1;;;5379:103:14;;;;;;;:::i;:::-;5493:28;5503:4;5509:2;5513:7;5493:9;:28::i;846:566:41:-;983:16;1049:26;;;:16;:26;;;;;;983:16;;-1:-1:-1;;;;;1049:26:41;:118;;1145:22;;-1:-1:-1;;;;;1145:22:41;1049:118;;;1104:26;;;;:16;:26;;;;;;-1:-1:-1;;;;;1104:26:41;1049:118;1038:129;;1193:212;1401:3;1193:190;1238:18;:28;1257:8;1238:28;;;;;;;;;;;;1270:1;1238:33;:131;;1345:24;;1238:131;;;1294:28;;;;:18;:28;;;;;;1238:131;1193:10;;:27;:190::i;:::-;:207;;:212::i;:::-;1177:228;;846:566;;;;;:::o;7363:127:37:-;1348:6:12;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;7446:37:37::1;7473:9;7446:26;:37::i;:::-;7363:127:::0;:::o;9583:141::-;9667:15;9709:7;1348:6:12;;-1:-1:-1;;;;;1348:6:12;;1276:85;5594:179:14;5727:39;5744:4;5750:2;5754:7;5727:39;;;;;;;;;;;;:16;:39::i;801:241:17:-;917:41;929:10:20;936:12:17;850:96:20;917:41:17;909:102;;;;-1:-1:-1;;;909:102:17;;15030:2:44;909:102:17;;;15012:21:44;15069:2;15049:18;;;15042:30;15108:34;15088:18;;;15081:62;-1:-1:-1;;;15159:18:44;;;15152:46;15215:19;;909:102:17;14828:412:44;909:102:17;1021:14;1027:7;1021:5;:14::i;8750:140:37:-;1348:6:12;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;8807:34:37::1;::::0;::::1;::::0;::::1;::::0;8822:18;;8807:34:::1;:::i;:::-;;;;;;;;8851:25:::0;:32;;-1:-1:-1;;8851:32:37::1;8879:4;8851:32;::::0;;8750:140::o;3645:548::-;3111:19:13;3133:25;3156:1;3133:22;:25::i;:::-;3111:47;;3172:14;3168:65;;;3202:13;:20;;-1:-1:-1;;3202:20:13;;;;;3168:65;-1:-1:-1;;;;;3820:22:37;::::1;3812:65;;;::::0;-1:-1:-1;;;3812:65:37;;16415:2:44;3812:65:37::1;::::0;::::1;16397:21:44::0;16454:2;16434:18;;;16427:30;16493:32;16473:18;;;16466:60;16543:18;;3812:65:37::1;16213:354:44::0;3812:65:37::1;3887:32;3916:2;2197:24:41::0;:38;2119:123;3887:32:37::1;3929:8;:16:::0;;-1:-1:-1;;3929:16:37::1;::::0;;::::1;3955:22:::0;;;3988:16:::1;:14;:16::i;:::-;4014:29;4028:5;;4014:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;4014:29:37::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;4035:7:37;;-1:-1:-1;4035:7:37;;;;4014:29;::::1;4035:7:::0;;;;4014:29;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;4014:13:37::1;::::0;-1:-1:-1;;;4014:29:37:i:1;:::-;4053:15;:13;:15::i;:::-;4078:17;:15;:17::i;:::-;4106:36;4133:8;4106:26;:36::i;:::-;4153:33;4177:8;4153:23;:33::i;:::-;3257:14:13::0;3253:99;;;3303:5;3287:21;;-1:-1:-1;;3287:21:13;;;3327:14;;-1:-1:-1;16724:36:44;;3327:14:13;;16712:2:44;16697:18;3327:14:13;;;;;;;3253:99;3101:257;3645:548:37;;;;;;:::o;6819:196::-;6917:10;6896:17;6904:8;6896:7;:17::i;:::-;-1:-1:-1;;;;;6896:31:37;;6875:109;;;;-1:-1:-1;;;6875:109:37;;16973:2:44;6875:109:37;;;16955:21:44;17012:2;16992:18;;;16985:30;17051:33;17031:18;;;17024:61;17102:18;;6875:109:37;16771:355:44;6875:109:37;6994:14;6999:8;6994:4;:14::i;2651:235:14:-;2723:7;2758:16;;;:7;:16;;;;;;-1:-1:-1;;;;;2758:16:14;;2784:73;;;;-1:-1:-1;;;2784:73:14;;17333:2:44;2784:73:14;;;17315:21:44;17372:2;17352:18;;;17345:30;17411:34;17391:18;;;17384:62;-1:-1:-1;;;17462:18:44;;;17455:39;17511:19;;2784:73:14;17131:405:44;2390:204:14;2462:7;-1:-1:-1;;;;;2489:19:14;;2481:73;;;;-1:-1:-1;;;2481:73:14;;17743:2:44;2481:73:14;;;17725:21:44;17782:2;17762:18;;;17755:30;17821:34;17801:18;;;17794:62;-1:-1:-1;;;17872:18:44;;;17865:39;17921:19;;2481:73:14;17541:405:44;2481:73:14;-1:-1:-1;;;;;;2571:16:14;;;;;:9;:16;;;;;;;2390:204::o;1908:101:12:-;1348:6;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;1972:30:::1;1999:1;1972:18;:30::i;:::-;1908:101::o:0;6269:428:37:-;4503:8;;;6350:7;;4503:8;4502:9;4494:52;;;;-1:-1:-1;;;4494:52:37;;;;;;;:::i;:::-;1348:6:12;;-1:-1:-1;;;;;1348:6:12;6390:10:37::1;:21;::::0;:52:::1;;-1:-1:-1::0;6431:10:37::1;6415:27;::::0;;;:15:::1;:27;::::0;;;;;::::1;;6390:52;6369:147;;;::::0;-1:-1:-1;;;6369:147:37;;18153:2:44;6369:147:37::1;::::0;::::1;18135:21:44::0;18192:2;18172:18;;;18165:30;18231:34;18211:18;;;18204:62;-1:-1:-1;;;18282:18:44;;;18275:46;18338:19;;6369:147:37::1;17951:412:44::0;6369:147:37::1;6545:145;6575:9;6602:29;2453:24:41::0;;;2367:117;6602:29:37::1;2332:22:41::0;;-1:-1:-1;;;;;2332:22:41;6545:12:37::1;:145::i;4556:1::-;6269:428:::0;;;:::o;7099:119::-;1348:6:12;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;7153:8:37::1;:15:::0;;-1:-1:-1;;7153:15:37::1;7164:4;7153:15;::::0;;7183:28:::1;::::0;7200:10:::1;::::0;7183:28:::1;::::0;7153:8:::1;::::0;7183:28:::1;7099:119::o:0;7947:271::-;1348:6:12;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;8047:25:37;;::::1;;8046:26;8025:106;;;::::0;-1:-1:-1;;;8025:106:37;;18570:2:44;8025:106:37::1;::::0;::::1;18552:21:44::0;18609:2;18589:18;;;18582:30;18648:34;18628:18;;;18621:62;-1:-1:-1;;;18699:18:44;;;18692:31;18740:19;;8025:106:37::1;18368:397:44::0;8025:106:37::1;8142:18:::0;:29:::1;8163:8:::0;;8142:18;:29:::1;:::i;:::-;;8186:25;8202:8;;8186:25;;;;;;;:::i;:::-;;;;;;;;7947:271:::0;;:::o;9840:99::-;9886:17;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;9886:17:37;9915;;;;;;;;;9922:10;9915:17;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9915:17:37;;;-1:-1:-1;;9915:17:37;;;;;;;;;;;;;;;;9840:99;-1:-1:-1;9840:99:37:o;3110:102:14:-;3166:13;3198:7;3191:14;;;;;:::i;4755:153::-;4849:52;929:10:20;4882:8:14;4892;4849:18;:52::i;:::-;4755:153;;:::o;5329:181:37:-;1348:6:12;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;4503:8:37::1;::::0;;::::1;4502:9;4494:52;;;;-1:-1:-1::0;;;4494:52:37::1;;;;;;;:::i;:::-;5464:39:::2;5477:8;;5487:15;5464:12;:39::i;5839:320:14:-:0;6008:41;929:10:20;6041:7:14;6008:18;:41::i;:::-;6000:103;;;;-1:-1:-1;;;6000:103:14;;;;;;;:::i;:::-;6113:39;6127:4;6133:2;6137:7;6146:5;6113:13;:39::i;:::-;5839:320;;;;:::o;5825:257:37:-;1348:6:12;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;4503:8:37::1;::::0;;::::1;4502:9;4494:52;;;;-1:-1:-1::0;;;4494:52:37::1;;;;;;;:::i;:::-;5995:39:::2;6008:8;;6018:15;5995:12;:39::i;:::-;-1:-1:-1::0;;;;;6044:24:37::2;;::::0;;;:15:::2;:24;::::0;;;;:31;;-1:-1:-1;;6044:31:37::2;6071:4;6044:31;::::0;;-1:-1:-1;;;5825:257:37:o;10217:451::-;10371:1;10340:20;;;:10;:20;;;;;10334:34;;10305:13;;10371:1;10340:20;10334:34;;;:::i;:::-;;;:38;10330:96;;;10395:20;;;;:10;:20;;;;;10388:27;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10217:451;;;:::o;10330:96::-;10516:18;10581:19;:8;:17;:19::i;:::-;10478:169;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10435:226;;10217:451;;;:::o;7682:169::-;1348:6:12;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;7806:26:37::1;::::0;;;:16:::1;:26;::::0;;;;:38;;-1:-1:-1;;;;;;7806:38:37::1;-1:-1:-1::0;;;;;7806:38:37;;;::::1;::::0;;;::::1;::::0;;7682:169::o;2158:198:12:-;1348:6;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;-1:-1:-1;;;;;2246:22:12;::::1;2238:73;;;::::0;-1:-1:-1;;;2238:73:12;;20286:2:44;2238:73:12::1;::::0;::::1;20268:21:44::0;20325:2;20305:18;;;20298:30;20364:34;20344:18;;;20337:62;-1:-1:-1;;;20415:18:44;;;20408:36;20461:19;;2238:73:12::1;20084:402:44::0;2238:73:12::1;2321:28;2340:8;2321:18;:28::i;1060:166:23:-:0;-1:-1:-1;;;;;;1168:51:23;-1:-1:-1;;;1168:51:23;;1060:166::o;1849:264:41:-;1974:4;-1:-1:-1;;;;;;2013:41:41;;-1:-1:-1;;;2013:41:41;;:93;;;2070:36;2094:11;1987:344:14;2111:4;-1:-1:-1;;;;;;2146:51:14;;-1:-1:-1;;;2146:51:14;;:126;;-1:-1:-1;;;;;;;2213:59:14;;-1:-1:-1;;;2213:59:14;2146:126;:178;;;;2288:36;2312:11;2288:23;:36::i;11673:182::-;11747:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;11747:29:14;-1:-1:-1;;;;;11747:29:14;;;;;;;;:24;;11800:34;11747:24;11800:25;:34::i;:::-;-1:-1:-1;;;;;11791:57:14;;;;;;;;;;;11673:182;;:::o;7914:355::-;8007:4;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:14;8023:73;;;;-1:-1:-1;;;8023:73:14;;20693:2:44;8023:73:14;;;20675:21:44;20732:2;20712:18;;;20705:30;20771:34;20751:18;;;20744:62;-1:-1:-1;;;20822:18:44;;;20815:42;20874:19;;8023:73:14;20491:408:44;8023:73:14;8106:13;8122:34;8148:7;8122:25;:34::i;:::-;8106:50;;8185:5;-1:-1:-1;;;;;8174:16:14;:7;-1:-1:-1;;;;;8174:16:14;;:52;;;-1:-1:-1;;;;;;5094:25:14;;;5071:4;5094:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;8194:32;8174:87;;;;8254:7;-1:-1:-1;;;;;8230:31:14;:20;8242:7;8230:11;:20::i;:::-;-1:-1:-1;;;;;8230:31:14;;8174:87;8166:96;7914:355;-1:-1:-1;;;;7914:355:14:o;10946:616::-;11111:4;-1:-1:-1;;;;;11073:42:14;:34;11099:7;11073:25;:34::i;:::-;-1:-1:-1;;;;;11073:42:14;;11065:92;;;;-1:-1:-1;;;11065:92:14;;21106:2:44;11065:92:14;;;21088:21:44;21145:2;21125:18;;;21118:30;21184:34;21164:18;;;21157:62;-1:-1:-1;;;21235:18:44;;;21228:35;21280:19;;11065:92:14;20904:401:44;11065:92:14;-1:-1:-1;;;;;11175:16:14;;11167:65;;;;-1:-1:-1;;;11167:65:14;;21512:2:44;11167:65:14;;;21494:21:44;21551:2;21531:18;;;21524:30;21590:34;21570:18;;;21563:62;-1:-1:-1;;;21641:18:44;;;21634:34;21685:19;;11167:65:14;21310:400:44;11167:65:14;11344:29;11361:1;11365:7;11344:8;:29::i;:::-;-1:-1:-1;;;;;11384:15:14;;;;;;:9;:15;;;;;:20;;11403:1;;11384:15;:20;;11403:1;;11384:20;:::i;:::-;;;;-1:-1:-1;;;;;;;11414:13:14;;;;;;:9;:13;;;;;:18;;11431:1;;11414:13;:18;;11431:1;;11414:18;:::i;:::-;;;;-1:-1:-1;;11442:16:14;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;11442:21:14;-1:-1:-1;;;;;11442:21:14;;;;;;;;;11479:27;;11442:16;;11479:27;;;;;;;4068:342;3998:412;;:::o;3461:96:25:-;3519:7;3545:5;3549:1;3545;:5;:::i;:::-;3538:12;3461:96;-1:-1:-1;;;3461:96:25:o;3846:::-;3904:7;3930:5;3934:1;3930;:5;:::i;1418:115:41:-;1492:22;:34;;-1:-1:-1;;;;;;1492:34:41;-1:-1:-1;;;;;1492:34:41;;;;;;;;;;1418:115::o;10205:417:14:-;10264:13;10280:34;10306:7;10280:25;:34::i;:::-;10264:50;;10411:29;10428:1;10432:7;10411:8;:29::i;:::-;-1:-1:-1;;;;;10451:16:14;;;;;;:9;:16;;;;;:21;;10471:1;;10451:16;:21;;10471:1;;10451:21;:::i;:::-;;;;-1:-1:-1;;10489:16:14;;;;:7;:16;;;;;;10482:23;;-1:-1:-1;;;;;;10482:23:14;;;10521:36;10497:7;;10489:16;-1:-1:-1;;;;;10521:36:14;;;;;10489:16;;10521:36;4755:153;;:::o;5287:808:13:-;5351:4;5684:13;;;;;;;5680:409;;;5738:7;:12;;5749:1;5738:12;:61;;;;-1:-1:-1;5793:4:13;1476:19:19;:23;5738:61:13;5713:166;;;;-1:-1:-1;;;5713:166:13;;;;;;;:::i;:::-;-1:-1:-1;5900:5:13;;5287:808;-1:-1:-1;5287:808:13:o;5680:409::-;5944:12;;:22;;;;:12;;:22;5936:81;;;;-1:-1:-1;;;5936:81:13;;;;;;;:::i;:::-;-1:-1:-1;6031:12:13;:22;;-1:-1:-1;;6031:22:13;;;;;;;;;;;;-1:-1:-1;;5287:808:13:o;988:95:12:-;4698:13:13;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:13;;;;;;;:::i;:::-;1050:26:12::1;:24;:26::i;1605:149:14:-:0;4698:13:13;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:13;;;;;;;:::i;:::-;1708:39:14::1;1732:5;1739:7;1708:23;:39::i;862:58:23:-:0;4698:13:13;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:13;;;;;;;:::i;755:85:41:-;4698:13:13;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:13;;;;;;;:::i;:::-;818:15:41::1;:13;:15::i;2510:187:12:-:0;2602:6;;;-1:-1:-1;;;;;2618:17:12;;;-1:-1:-1;;;;;;2618:17:12;;;;;;;2650:40;;2602:6;;;2618:17;2602:6;;2650:40;;2583:16;;2650:40;2573:124;2510:187;:::o;11990:489:37:-;12127:7;12146:26;:14;1043:19:21;;1061:1;1043:19;;;956:123;12146:26:37;12182:15;12200:24;:14;929::21;;838:112;12200:24:37;12182:42;;12253:9;;12242:7;:20;;12234:65;;;;-1:-1:-1;;;12234:65:37;;23569:2:44;12234:65:37;;;23551:21:44;;;23588:18;;;23581:30;23647:34;23627:18;;;23620:62;23699:18;;12234:65:37;23367:356:44;12234:65:37;12309:23;12319:3;12324:7;12309:9;:23::i;:::-;1794:28:41;;;;:18;:28;;;;;:42;;;1639:26;;;;:16;:26;;;;;:41;;-1:-1:-1;;;;;;1639:41:41;-1:-1:-1;;;;;1639:41:41;;;;;12465:7:37;11990:489;-1:-1:-1;;;;11990:489:37:o;:307:14:-;12140:8;-1:-1:-1;;;;;12131:17:14;:5;-1:-1:-1;;;;;12131:17:14;;12123:55;;;;-1:-1:-1;;;12123:55:14;;23930:2:44;12123:55:14;;;23912:21:44;23969:2;23949:18;;;23942:30;24008:27;23988:18;;;23981:55;24053:18;;12123:55:14;23728:349:44;12123:55:14;-1:-1:-1;;;;;12188:25:14;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;12188:46:14;;;;;;;;;;12249:41;;540::44;;;12249::14;;513:18:44;12249:41:14;;;;;;;11990:307;;;:::o;12716:483:37:-;12870:9;;12851:15;:28;;12830:107;;;;-1:-1:-1;;;12830:107:37;;24284:2:44;12830:107:37;;;24266:21:44;;;24303:18;;;24296:30;24362:34;24342:18;;;24335:62;24414:18;;12830:107:37;24082:356:44;12830:107:37;12968:14;929::21;12968:29:37;12947:125;;;;-1:-1:-1;;;12947:125:37;;24645:2:44;12947:125:37;;;24627:21:44;24684:2;24664:18;;;24657:30;24723:34;24703:18;;;24696:62;-1:-1:-1;;;24774:18:44;;;24767:47;24831:19;;12947:125:37;24443:413:44;12947:125:37;13095:44;;;;;;;;13106:15;13095:44;;;;13123:8;;13095:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13095:44:37;;;-1:-1:-1;;;13095:44:37;;;;;13082:57;;:10;:57;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;13082:57:37;;;;;;;;;;;;-1:-1:-1;;13082:57:37;;;;;;;;;;13154:38;13166:15;;13154:38;;;;13183:8;;;;13154:38;:::i;7021:307:14:-;7172:28;7182:4;7188:2;7192:7;7172:9;:28::i;:::-;7218:48;7241:4;7247:2;7251:7;7260:5;7218:22;:48::i;:::-;7210:111;;;;-1:-1:-1;;;7210:111:14;;;;;;;:::i;339:703:22:-;395:13;612:5;621:1;612:10;608:51;;-1:-1:-1;;638:10:22;;;;;;;;;;;;-1:-1:-1;;;638:10:22;;;;;339:703::o;608:51::-;683:5;668:12;722:75;729:9;;722:75;;754:8;;;;:::i;:::-;;-1:-1:-1;776:10:22;;-1:-1:-1;784:2:22;776:10;;:::i;:::-;;;722:75;;;806:19;838:6;828:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;828:17:22;;806:39;;855:150;862:10;;855:150;;888:11;898:1;888:11;;:::i;:::-;;-1:-1:-1;956:10:22;964:2;956:5;:10;:::i;:::-;943:24;;:2;:24;:::i;:::-;930:39;;913:6;920;913:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;913:56:22;;;;;;;;-1:-1:-1;983:11:22;992:2;983:11;;:::i;:::-;;;855:150;;1089:111:12;4698:13:13;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:13;;;;;;;:::i;:::-;1161:32:12::1;929:10:20::0;1161:18:12::1;:32::i;1760:160:14:-:0;4698:13:13;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:13;;;;;;;:::i;:::-;1873:5:14::1;:13;1881:5:::0;1873;:13:::1;:::i;:::-;-1:-1:-1::0;1896:7:14::1;:17;1906:7:::0;1896;:17:::1;:::i;8599:108::-:0;8674:26;8684:2;8688:7;8674:26;;;;;;;;;;;;:9;:26::i;12850:800::-;13000:4;-1:-1:-1;;;;;13020:13:14;;1476:19:19;:23;13016:628:14;;13055:83;;-1:-1:-1;;;13055:83:14;;-1:-1:-1;;;;;13055:47:14;;;;;:83;;929:10:20;;13117:4:14;;13123:7;;13132:5;;13055:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13055:83:14;;;;;;;;-1:-1:-1;;13055:83:14;;;;;;;;;;;;:::i;:::-;;;13051:541;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13316:6;:13;13333:1;13316:18;13312:266;;13358:60;;-1:-1:-1;;;13358:60:14;;;;;;;:::i;13312:266::-;13530:6;13524:13;13515:6;13511:2;13507:15;13500:38;13051:541;-1:-1:-1;;;;;;13188:62:14;-1:-1:-1;;;13188:62:14;;-1:-1:-1;13181:69:14;;13016:628;-1:-1:-1;13629:4:14;12850:800;;;;;;:::o;8928:311::-;9053:18;9059:2;9063:7;9053:5;:18::i;:::-;9102:54;9133:1;9137:2;9141:7;9150:5;9102:22;:54::i;:::-;9081:151;;;;-1:-1:-1;;;9081:151:14;;;;;;;:::i;9561:427::-;-1:-1:-1;;;;;9640:16:14;;9632:61;;;;-1:-1:-1;;;9632:61:14;;27976:2:44;9632:61:14;;;27958:21:44;;;27995:18;;;27988:30;28054:34;28034:18;;;28027:62;28106:18;;9632:61:14;27774:356:44;9632:61:14;7696:4;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:14;:30;9703:58;;;;-1:-1:-1;;;9703:58:14;;28337:2:44;9703:58:14;;;28319:21:44;28376:2;28356:18;;;28349:30;28415;28395:18;;;28388:58;28463:18;;9703:58:14;28135:352:44;9703:58:14;-1:-1:-1;;;;;9828:13:14;;;;;;:9;:13;;;;;:18;;9845:1;;9828:13;:18;;9845:1;;9828:18;:::i;:::-;;;;-1:-1:-1;;9856:16:14;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9856:21:14;-1:-1:-1;;;;;9856:21:14;;;;;;;;9893:33;;9856:16;;;9893:33;;9856:16;;9893:33;4755:153;;:::o;14:131:44:-;-1:-1:-1;;;;;;88:32:44;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:258::-;664:1;674:113;688:6;685:1;682:13;674:113;;;764:11;;;758:18;745:11;;;738:39;710:2;703:10;674:113;;;805:6;802:1;799:13;796:48;;;-1:-1:-1;;840:1:44;822:16;;815:27;592:258::o;855:::-;897:3;935:5;929:12;962:6;957:3;950:19;978:63;1034:6;1027:4;1022:3;1018:14;1011:4;1004:5;1000:16;978:63;:::i;:::-;1095:2;1074:15;-1:-1:-1;;1070:29:44;1061:39;;;;1102:4;1057:50;;855:258;-1:-1:-1;;855:258:44:o;1118:220::-;1267:2;1256:9;1249:21;1230:4;1287:45;1328:2;1317:9;1313:18;1305:6;1287:45;:::i;1343:180::-;1402:6;1455:2;1443:9;1434:7;1430:23;1426:32;1423:52;;;1471:1;1468;1461:12;1423:52;-1:-1:-1;1494:23:44;;1343:180;-1:-1:-1;1343:180:44:o;1736:173::-;1804:20;;-1:-1:-1;;;;;1853:31:44;;1843:42;;1833:70;;1899:1;1896;1889:12;1914:254;1982:6;1990;2043:2;2031:9;2022:7;2018:23;2014:32;2011:52;;;2059:1;2056;2049:12;2011:52;2082:29;2101:9;2082:29;:::i;:::-;2072:39;2158:2;2143:18;;;;2130:32;;-1:-1:-1;;;1914:254:44:o;2173:347::-;2238:6;2246;2299:2;2287:9;2278:7;2274:23;2270:32;2267:52;;;2315:1;2312;2305:12;2267:52;2338:29;2357:9;2338:29;:::i;:::-;2328:39;;2417:2;2406:9;2402:18;2389:32;2464:5;2457:13;2450:21;2443:5;2440:32;2430:60;;2486:1;2483;2476:12;2430:60;2509:5;2499:15;;;2173:347;;;;;:::o;2707:348::-;2759:8;2769:6;2823:3;2816:4;2808:6;2804:17;2800:27;2790:55;;2841:1;2838;2831:12;2790:55;-1:-1:-1;2864:20:44;;2907:18;2896:30;;2893:50;;;2939:1;2936;2929:12;2893:50;2976:4;2968:6;2964:17;2952:29;;3028:3;3021:4;3012:6;3004;3000:19;2996:30;2993:39;2990:59;;;3045:1;3042;3035:12;2990:59;2707:348;;;;;:::o;3060:479::-;3140:6;3148;3156;3209:2;3197:9;3188:7;3184:23;3180:32;3177:52;;;3225:1;3222;3215:12;3177:52;3261:9;3248:23;3238:33;;3322:2;3311:9;3307:18;3294:32;3349:18;3341:6;3338:30;3335:50;;;3381:1;3378;3371:12;3335:50;3420:59;3471:7;3462:6;3451:9;3447:22;3420:59;:::i;:::-;3060:479;;3498:8;;-1:-1:-1;3394:85:44;;-1:-1:-1;;;;3060:479:44:o;3544:328::-;3621:6;3629;3637;3690:2;3678:9;3669:7;3665:23;3661:32;3658:52;;;3706:1;3703;3696:12;3658:52;3729:29;3748:9;3729:29;:::i;:::-;3719:39;;3777:38;3811:2;3800:9;3796:18;3777:38;:::i;:::-;3767:48;;3862:2;3851:9;3847:18;3834:32;3824:42;;3544:328;;;;;:::o;3877:248::-;3945:6;3953;4006:2;3994:9;3985:7;3981:23;3977:32;3974:52;;;4022:1;4019;4012:12;3974:52;-1:-1:-1;;4045:23:44;;;4115:2;4100:18;;;4087:32;;-1:-1:-1;3877:248:44:o;4409:186::-;4468:6;4521:2;4509:9;4500:7;4496:23;4492:32;4489:52;;;4537:1;4534;4527:12;4489:52;4560:29;4579:9;4560:29;:::i;4824:864::-;4934:6;4942;4950;4958;4966;4974;5027:3;5015:9;5006:7;5002:23;4998:33;4995:53;;;5044:1;5041;5034:12;4995:53;5084:9;5071:23;5113:18;5154:2;5146:6;5143:14;5140:34;;;5170:1;5167;5160:12;5140:34;5209:59;5260:7;5251:6;5240:9;5236:22;5209:59;:::i;:::-;5287:8;;-1:-1:-1;5183:85:44;-1:-1:-1;5375:2:44;5360:18;;5347:32;;-1:-1:-1;5391:16:44;;;5388:36;;;5420:1;5417;5410:12;5388:36;;5459:61;5512:7;5501:8;5490:9;5486:24;5459:61;:::i;:::-;5539:8;;-1:-1:-1;5433:87:44;-1:-1:-1;5593:38:44;;-1:-1:-1;5627:2:44;5612:18;;5593:38;:::i;:::-;5583:48;;5678:2;5667:9;5663:18;5650:32;5640:42;;4824:864;;;;;;;;:::o;5693:411::-;5764:6;5772;5825:2;5813:9;5804:7;5800:23;5796:32;5793:52;;;5841:1;5838;5831:12;5793:52;5881:9;5868:23;5914:18;5906:6;5903:30;5900:50;;;5946:1;5943;5936:12;5900:50;5985:59;6036:7;6027:6;6016:9;6012:22;5985:59;:::i;:::-;6063:8;;5959:85;;-1:-1:-1;5693:411:44;-1:-1:-1;;;;5693:411:44:o;6109:513::-;6296:2;6285:9;6278:21;6341:6;6335:13;6330:2;6319:9;6315:18;6308:41;6259:4;6396:2;6388:6;6384:15;6378:22;6436:4;6431:2;6420:9;6416:18;6409:32;6464:52;6511:3;6500:9;6496:19;6482:12;6464:52;:::i;:::-;6450:66;;6586:2;6578:6;6574:15;6568:22;6561:30;6554:38;6547:4;6536:9;6532:20;6525:68;6610:6;6602:14;;;6109:513;;;;:::o;6627:479::-;6707:6;6715;6723;6776:2;6764:9;6755:7;6751:23;6747:32;6744:52;;;6792:1;6789;6782:12;6744:52;6832:9;6819:23;6865:18;6857:6;6854:30;6851:50;;;6897:1;6894;6887:12;6851:50;6936:59;6987:7;6978:6;6967:9;6963:22;6936:59;:::i;:::-;7014:8;;6910:85;;-1:-1:-1;7096:2:44;7081:18;;;;7068:32;;6627:479;-1:-1:-1;;;;6627:479:44:o;7111:127::-;7172:10;7167:3;7163:20;7160:1;7153:31;7203:4;7200:1;7193:15;7227:4;7224:1;7217:15;7243:1138;7338:6;7346;7354;7362;7415:3;7403:9;7394:7;7390:23;7386:33;7383:53;;;7432:1;7429;7422:12;7383:53;7455:29;7474:9;7455:29;:::i;:::-;7445:39;;7503:38;7537:2;7526:9;7522:18;7503:38;:::i;:::-;7493:48;;7588:2;7577:9;7573:18;7560:32;7550:42;;7643:2;7632:9;7628:18;7615:32;7666:18;7707:2;7699:6;7696:14;7693:34;;;7723:1;7720;7713:12;7693:34;7761:6;7750:9;7746:22;7736:32;;7806:7;7799:4;7795:2;7791:13;7787:27;7777:55;;7828:1;7825;7818:12;7777:55;7864:2;7851:16;7886:2;7882;7879:10;7876:36;;;7892:18;;:::i;:::-;7967:2;7961:9;7935:2;8021:13;;-1:-1:-1;;8017:22:44;;;8041:2;8013:31;8009:40;7997:53;;;8065:18;;;8085:22;;;8062:46;8059:72;;;8111:18;;:::i;:::-;8151:10;8147:2;8140:22;8186:2;8178:6;8171:18;8226:7;8221:2;8216;8212;8208:11;8204:20;8201:33;8198:53;;;8247:1;8244;8237:12;8198:53;8303:2;8298;8294;8290:11;8285:2;8277:6;8273:15;8260:46;8348:1;8343:2;8338;8330:6;8326:15;8322:24;8315:35;8369:6;8359:16;;;;;;;7243:1138;;;;;;;:::o;8386:553::-;8475:6;8483;8491;8499;8552:2;8540:9;8531:7;8527:23;8523:32;8520:52;;;8568:1;8565;8558:12;8520:52;8608:9;8595:23;8641:18;8633:6;8630:30;8627:50;;;8673:1;8670;8663:12;8627:50;8712:59;8763:7;8754:6;8743:9;8739:22;8712:59;:::i;:::-;8790:8;;-1:-1:-1;8686:85:44;-1:-1:-1;;8872:2:44;8857:18;;8844:32;;-1:-1:-1;8895:38:44;8929:2;8914:18;;8895:38;:::i;:::-;8885:48;;8386:553;;;;;;;:::o;8944:260::-;9012:6;9020;9073:2;9061:9;9052:7;9048:23;9044:32;9041:52;;;9089:1;9086;9079:12;9041:52;9112:29;9131:9;9112:29;:::i;:::-;9102:39;;9160:38;9194:2;9183:9;9179:18;9160:38;:::i;9209:380::-;9288:1;9284:12;;;;9331;;;9352:61;;9406:4;9398:6;9394:17;9384:27;;9352:61;9459:2;9451:6;9448:14;9428:18;9425:38;9422:161;;9505:10;9500:3;9496:20;9493:1;9486:31;9540:4;9537:1;9530:15;9568:4;9565:1;9558:15;9422:161;;9209:380;;;:::o;10834:356::-;11036:2;11018:21;;;11055:18;;;11048:30;11114:34;11109:2;11094:18;;11087:62;11181:2;11166:18;;10834:356::o;11195:354::-;11397:2;11379:21;;;11436:2;11416:18;;;11409:30;11475:32;11470:2;11455:18;;11448:60;11540:2;11525:18;;11195:354::o;12083:545::-;12185:2;12180:3;12177:11;12174:448;;;12221:1;12246:5;12242:2;12235:17;12291:4;12287:2;12277:19;12361:2;12349:10;12345:19;12342:1;12338:27;12332:4;12328:38;12397:4;12385:10;12382:20;12379:47;;;-1:-1:-1;12420:4:44;12379:47;12475:2;12470:3;12466:12;12463:1;12459:20;12453:4;12449:31;12439:41;;12530:82;12548:2;12541:5;12538:13;12530:82;;;12593:17;;;12574:1;12563:13;12530:82;;;12534:3;;;12083:545;;;:::o;12804:1206::-;12928:18;12923:3;12920:27;12917:53;;;12950:18;;:::i;:::-;12979:94;13069:3;13029:38;13061:4;13055:11;13029:38;:::i;:::-;13023:4;12979:94;:::i;:::-;13099:1;13124:2;13119:3;13116:11;13141:1;13136:616;;;;13796:1;13813:3;13810:93;;;-1:-1:-1;13869:19:44;;;13856:33;13810:93;-1:-1:-1;;12761:1:44;12757:11;;;12753:24;12749:29;12739:40;12785:1;12781:11;;;12736:57;13916:78;;13109:895;;13136:616;12030:1;12023:14;;;12067:4;12054:18;;-1:-1:-1;;13172:17:44;;;13273:9;13295:229;13309:7;13306:1;13303:14;13295:229;;;13398:19;;;13385:33;13370:49;;13505:4;13490:20;;;;13458:1;13446:14;;;;13325:12;13295:229;;;13299:3;13552;13543:7;13540:16;13537:159;;;13676:1;13672:6;13666:3;13660;13657:1;13653:11;13649:21;13645:34;13641:39;13628:9;13623:3;13619:19;13606:33;13602:79;13594:6;13587:95;13537:159;;;13739:1;13733:3;13730:1;13726:11;13722:19;13716:4;13709:33;13109:895;;;12804:1206;;;:::o;14015:390::-;14174:2;14163:9;14156:21;14213:6;14208:2;14197:9;14193:18;14186:34;14270:6;14262;14257:2;14246:9;14242:18;14229:48;14326:1;14297:22;;;14321:2;14293:31;;;14286:42;;;;14389:2;14368:15;;;-1:-1:-1;;14364:29:44;14349:45;14345:54;;14015:390;-1:-1:-1;14015:390:44:o;14410:413::-;14612:2;14594:21;;;14651:2;14631:18;;;14624:30;14690:34;14685:2;14670:18;;14663:62;-1:-1:-1;;;14756:2:44;14741:18;;14734:47;14813:3;14798:19;;14410:413::o;15245:963::-;15354:4;15383:2;15412;15401:9;15394:21;15435:1;15468:6;15462:13;15498:36;15524:9;15498:36;:::i;:::-;15570:6;15565:2;15554:9;15550:18;15543:34;15596:2;15617:1;15649:2;15638:9;15634:18;15666:1;15661:158;;;;15833:1;15828:354;;;;15627:555;;15661:158;-1:-1:-1;;15709:24:44;;15689:18;;;15682:52;15787:14;;15780:22;15777:1;15773:30;15758:46;;15754:55;;;-1:-1:-1;15661:158:44;;15828:354;15859:6;15856:1;15849:17;15907:2;15904:1;15894:16;15932:1;15946:180;15960:6;15957:1;15954:13;15946:180;;;16053:14;;16029:17;;;16025:26;;16018:50;16096:16;;;;15975:10;;15946:180;;;16150:17;;16146:26;;;-1:-1:-1;;15627:555:44;-1:-1:-1;16199:3:44;;15245:963;-1:-1:-1;;;;;;;;15245:963:44:o;18770:1309::-;19148:3;19177:1;19210:6;19204:13;19240:36;19266:9;19240:36;:::i;:::-;19295:1;19312:18;;;19339:133;;;;19486:1;19481:356;;;;19305:532;;19339:133;-1:-1:-1;;19372:24:44;;19360:37;;19445:14;;19438:22;19426:35;;19417:45;;;-1:-1:-1;19339:133:44;;19481:356;19512:6;19509:1;19502:17;19542:4;19587:2;19584:1;19574:16;19612:1;19626:165;19640:6;19637:1;19634:13;19626:165;;;19718:14;;19705:11;;;19698:35;19761:16;;;;19655:10;;19626:165;;;19630:3;;;19820:6;19815:3;19811:16;19804:23;;19305:532;;-1:-1:-1;;;19853:3:44;19846:16;19893:6;19887:13;19871:29;;19909:64;19964:8;19959:2;19954:3;19950:12;19943:4;19935:6;19931:17;19909:64;:::i;:::-;-1:-1:-1;;;19992:18:44;;;;20026:11;;;20019:28;;;;20071:1;20063:10;;18770:1309;-1:-1:-1;;;;;18770:1309:44:o;21715:127::-;21776:10;21771:3;21767:20;21764:1;21757:31;21807:4;21804:1;21797:15;21831:4;21828:1;21821:15;21847:125;21887:4;21915:1;21912;21909:8;21906:34;;;21920:18;;:::i;:::-;-1:-1:-1;21957:9:44;;21847:125::o;21977:128::-;22017:3;22048:1;22044:6;22041:1;22038:13;22035:39;;;22054:18;;:::i;:::-;-1:-1:-1;22090:9:44;;21977:128::o;22110:168::-;22150:7;22216:1;22212;22208:6;22204:14;22201:1;22198:21;22193:1;22186:9;22179:17;22175:45;22172:71;;;22223:18;;:::i;:::-;-1:-1:-1;22263:9:44;;22110:168::o;22283:127::-;22344:10;22339:3;22335:20;22332:1;22325:31;22375:4;22372:1;22365:15;22399:4;22396:1;22389:15;22415:120;22455:1;22481;22471:35;;22486:18;;:::i;:::-;-1:-1:-1;22520:9:44;;22415:120::o;22540:410::-;22742:2;22724:21;;;22781:2;22761:18;;;22754:30;22820:34;22815:2;22800:18;;22793:62;-1:-1:-1;;;22886:2:44;22871:18;;22864:44;22940:3;22925:19;;22540:410::o;22955:407::-;23157:2;23139:21;;;23196:2;23176:18;;;23169:30;23235:34;23230:2;23215:18;;23208:62;-1:-1:-1;;;23301:2:44;23286:18;;23279:41;23352:3;23337:19;;22955:407::o;24861:1352::-;24987:3;24981:10;25014:18;25006:6;25003:30;25000:56;;;25036:18;;:::i;:::-;25065:97;25155:6;25115:38;25147:4;25141:11;25115:38;:::i;:::-;25109:4;25065:97;:::i;:::-;25217:4;;25281:2;25270:14;;25298:1;25293:663;;;;26000:1;26017:6;26014:89;;;-1:-1:-1;26069:19:44;;;26063:26;26014:89;-1:-1:-1;;12761:1:44;12757:11;;;12753:24;12749:29;12739:40;12785:1;12781:11;;;12736:57;26116:81;;25263:944;;25293:663;12030:1;12023:14;;;12067:4;12054:18;;-1:-1:-1;;25329:20:44;;;25447:236;25461:7;25458:1;25455:14;25447:236;;;25550:19;;;25544:26;25529:42;;25642:27;;;;25610:1;25598:14;;;;25477:19;;25447:236;;;25451:3;25711:6;25702:7;25699:19;25696:201;;;25772:19;;;25766:26;-1:-1:-1;;25855:1:44;25851:14;;;25867:3;25847:24;25843:37;25839:42;25824:58;25809:74;;25696:201;-1:-1:-1;;;;;25943:1:44;25927:14;;;25923:22;25910:36;;-1:-1:-1;24861:1352:44:o;26218:414::-;26420:2;26402:21;;;26459:2;26439:18;;;26432:30;26498:34;26493:2;26478:18;;26471:62;-1:-1:-1;;;26564:2:44;26549:18;;26542:48;26622:3;26607:19;;26218:414::o;26637:135::-;26676:3;26697:17;;;26694:43;;26717:18;;:::i;:::-;-1:-1:-1;26764:1:44;26753:13;;26637:135::o;26777:112::-;26809:1;26835;26825:35;;26840:18;;:::i;:::-;-1:-1:-1;26874:9:44;;26777:112::o;26894:127::-;26955:10;26950:3;26946:20;26943:1;26936:31;26986:4;26983:1;26976:15;27010:4;27007:1;27000:15;27026:489;-1:-1:-1;;;;;27295:15:44;;;27277:34;;27347:15;;27342:2;27327:18;;27320:43;27394:2;27379:18;;27372:34;;;27442:3;27437:2;27422:18;;27415:31;;;27220:4;;27463:46;;27489:19;;27481:6;27463:46;:::i;:::-;27455:54;27026:489;-1:-1:-1;;;;;;27026:489:44:o;27520:249::-;27589:6;27642:2;27630:9;27621:7;27617:23;27613:32;27610:52;;;27658:1;27655;27648:12;27610:52;27690:9;27684:16;27709:30;27733:5;27709:30;:::i", + "linkReferences": {} + }, + "methodIdentifiers": { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "burn(uint256)": "42966c68", + "deleteToken(uint256)": "6297c16c", + "disableContract()": "894ba833", + "disabled()": "ee070805", + "getApproved(uint256)": "081812fc", + "getDefaultRoyaltyPercentage()": "ab69607a", + "getDefaultRoyaltyReceiver()": "3403c4e9", + "getMintConfig()": "9338bb5d", + "init(string,string,address,uint256)": "5edc7c19", + "isApprovedForAll(address,address)": "e985e9c5", + "isApprovedMinter(address)": "3a3d146f", + "lockBaseURI()": "53df5c7c", + "maxTokens()": "e8315742", + "mintTo(address)": "755edd17", + "name()": "06fdde03", + "owner()": "8da5cb5b", + "ownerOf(uint256)": "6352211e", + "prepareMint(string,uint256)": "b390ac25", + "prepareMintWithMinter(string,uint256,address)": "b9fbd25c", + "renounceOwnership()": "715018a6", + "royaltyInfo(uint256,uint256)": "2a55205a", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "setDefaultRoyaltyReceiver(address)": "3ebc82c5", + "setMinterApproval(address,bool)": "0de54ba0", + "setRoyaltyReceiverForToken(address,uint256)": "efc32cd4", + "supportsInterface(bytes4)": "01ffc9a7", + "symbol()": "95d89b41", + "tokenCreator(uint256)": "40c1a064", + "tokenURI(uint256)": "c87b56dd", + "totalSupply()": "18160ddd", + "transferFrom(address,address,uint256)": "23b872dd", + "transferOwnership(address)": "f2fde38b", + "updateBaseURI(string)": "931688cb", + "updateTokenURI(uint256,string)": "18e97fd1" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"MetadataLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"MetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"numberOfTokens\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"PrepareMint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"metadataUri\",\"type\":\"string\"}],\"name\":\"TokenURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMintConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"numberOfTokens\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"lockedMetadata\",\"type\":\"bool\"}],\"internalType\":\"struct LazySovereignNFT.MintConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isApprovedMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"}],\"name\":\"prepareMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_minter\",\"type\":\"address\"}],\"name\":\"prepareMintWithMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setDefaultRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_minter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isMinter\",\"type\":\"bool\"}],\"name\":\"setMinterApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"}],\"name\":\"updateBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_metadataUri\",\"type\":\"string\"}],\"name\":\"updateTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This contract implements an ERC721 compliant NFT (Non-Fungible Token) with lazy minting.\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"deleteToken(uint256)\":{\"details\":\"Delete a token with the given ID.\",\"params\":{\"_tokenId\":\"The ID of the token to delete.\"}},\"disableContract()\":{\"details\":\"Disable the contract, preventing further minting.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getMintConfig()\":{\"details\":\"Get the current minting configuration.\",\"returns\":{\"_0\":\"mintConfig the mint config.\"}},\"init(string,string,address,uint256)\":{\"details\":\"Contract initialization function.\",\"params\":{\"_creator\":\"The address of the contract creator.\",\"_maxTokens\":\"The maximum number of tokens that can be minted.\",\"_name\":\"The name of the NFT contract.\",\"_symbol\":\"The symbol of the NFT contract.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isApprovedMinter(address)\":{\"details\":\"Checks if the supplied address is approved for minting\",\"params\":{\"_address\":\"The address of the minter.\"},\"returns\":{\"_0\":\"bool, whether the address is approved for minting.\"}},\"lockBaseURI()\":{\"details\":\"Lock the metadata to prevent further updates.\"},\"mintTo(address)\":{\"details\":\"Mint a new token to the specified receiver.\",\"params\":{\"_receiver\":\"The address of the token receiver.\"},\"returns\":{\"_0\":\"uint256 Token Id of the new token.\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"prepareMint(string,uint256)\":{\"details\":\"Prepare a minting batch with a specified base URI and number of tokens.\",\"params\":{\"_baseURI\":\"The base URI for token metadata.\",\"_numberOfTokens\":\"The number of tokens to prepare for minting.\"}},\"prepareMintWithMinter(string,uint256,address)\":{\"details\":\"Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address.\",\"params\":{\"_baseURI\":\"The base URI for token metadata.\",\"_minter\":\"The address of the minter.\",\"_numberOfTokens\":\"The number of tokens to prepare for minting.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setDefaultRoyaltyReceiver(address)\":{\"details\":\"Set the default royalty receiver address.\",\"params\":{\"_receiver\":\"The address of the default royalty receiver.\"}},\"setMinterApproval(address,bool)\":{\"details\":\"Set a minter for the contract\",\"params\":{\"_isMinter\":\"bool of whether the address is a minter.\",\"_minter\":\"address of the minter.\"}},\"setRoyaltyReceiverForToken(address,uint256)\":{\"details\":\"Set a specific royalty receiver address for a token.\",\"params\":{\"_receiver\":\"The address of the royalty receiver.\",\"_tokenId\":\"The ID of the token.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenCreator(uint256)\":{\"details\":\"Get the address of the token creator for a given token ID.\",\"params\":{\"_tokenId\":\"The ID of the token.\"},\"returns\":{\"_0\":\"address of the token creator.\"}},\"tokenURI(uint256)\":{\"details\":\"Get the token URI for a specific token. If a token has a set URI, it will return that, otherwise it will return the token URI computed from the base URI.\",\"params\":{\"_tokenId\":\"The ID of the token.\"},\"returns\":{\"_0\":\"The token's URI.\"}},\"totalSupply()\":{\"details\":\"Get the total supply of tokens in existence.\",\"returns\":{\"_0\":\"The total supply of tokens.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"updateBaseURI(string)\":{\"details\":\"Update the base URI.\",\"params\":{\"_baseURI\":\"The new base URI.\"}},\"updateTokenURI(uint256,string)\":{\"details\":\"Update the token metadata URI.\",\"params\":{\"_metadataUri\":\"The new metadata URI.\"}}},\"title\":\"LazySovereignNFT\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol\":\"LazySovereignNFT\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":aux/=lib/aux/\",\":ds-test/=lib/ds-test/src/\",\":erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/\",\":rareprotocol/aux/=lib/aux/src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":solmate/=lib/royalty-guard/lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x652fee292f698d8dba81bf287cb71f1682f6483b67ebe601a5f7387dcfc30b34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98c7bba29bcab7240cdaada7dd7cbe3529fec83314801270c46239e72a9e84d7\",\"dweb:/ipfs/QmfHCc1KMygjXchXVwafWTkFjhbb2SQ3Cu5GzRTdV4CCCh\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xb5239b505e918cb7427b939ff15da7bf7c4bb68ccb109caef246a3f58b19ba5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5f2ea070e870eea699ee433245459f08020a4752df4f5d391de87a529fc2bad\",\"dweb:/ipfs/QmWUcKCKzqQtB6sfJHxGzNj7QRogPmUsW3QQZPAcD3kLSB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0xf7f866b810ddf2508a9cba461906617a1ff561e33835d81a1be9bff9bbfb7ff9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21142ed30406e8f3dc9d42907aaef8bd34dfee63101d011fc3e1a3a198b9c740\",\"dweb:/ipfs/QmW7EkuJFzsejU5keEjULPFFDe8gBEiNYdQ6Z1LrgWnHst\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0x6c4dd0c916c4d69014b1a430f5803d3ea1f35c1a8021aefafde55ca4c2d20c2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93fd17a1502ac391fd929e9c585032efed0b2ed1fb6fe6026dbc44621538b84d\",\"dweb:/ipfs/Qmd3S9HaNGe83wctpj7Bvn6p2veG5P6QH1nPcRuKNJfUqN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xd16dc04b4bf357ae9d04e02d9fd05cc320bbc89720e0ad8efc2386e476f0b921\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d9c9054ada43073f83e6e36761a5e428da1a0ec0f1b238995deddcac2c21b8c\",\"dweb:/ipfs/QmS3pcaWW4uwaQqJ3iQ56fpNcf6NtWZTHeYL4fvPa3gQYz\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x417a6f201d6b0e3872979beca22f173ca518ef826fafb23b8d5b93bf7e42192d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ccc2bdaacf5e5cd18d3d5424e9eb118ff9e59485011595381869af89665c579\",\"dweb:/ipfs/QmdPps2gVGqktfANjoxyU93ridF86vpppp7HNoiJkDzksm\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x55cf2bd9fc76704ddcdc19834cd288b7de00fc0f298a40ea16a954ae8991db2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37e4df53c8d2e3c1062c1c7b2c17366db7de03bfd2559d340ca95c588aa49c2f\",\"dweb:/ipfs/QmQ9vsG3o4wED3FRogiSUhdzJvZSjjYFtydzXvFEJtgZk4\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0x398d3323c1932a5986bf36be7c57593e121e69d5db5b6574b4ee0d031443de37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b268304e03daf22c349abe3c318bc6a6badd6542d62311716ab401eec745f78\",\"dweb:/ipfs/QmNYy2sc2RoTjDhyT6HAibmeDGqfhDiDpsWRbHFHoGVHLr\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0x2033e349d606483684968f190b814bbc853774c8d82305e179d094c5042fb512\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa9b82acfb4493894b4123b4ab44f5ace697e743631642a8e0bc60aafca2bac5\",\"dweb:/ipfs/QmePLecHQuCPTErGNPH7C2zdXod9RZncAZ2cJoYBaUaPQp\"]},\"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol\":{\"keccak256\":\"0x0e26cc39d2b9045ae517ae9d7768b2d19b6aa671d0bcb63c9bfd7a1441393d47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://110ba8840b852c2299a73d43e335be49e27aa9c81263fdcca72b2ffa9722ad5e\",\"dweb:/ipfs/QmaTcaPuDsjuouw8ZrqWw2i6Ui87wtEJQKeHoEXUop4id9\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.15+commit.e14f2714" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "approved", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + "indexed": true + } + ], + "type": "event", + "name": "Approval", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "operator", + "type": "address", + "indexed": true + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool", + "indexed": false + } + ], + "type": "event", + "name": "ApprovalForAll", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address", + "indexed": true + } + ], + "type": "event", + "name": "ContractDisabled", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "version", + "type": "uint8", + "indexed": false + } + ], + "type": "event", + "name": "Initialized", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "string", + "name": "baseURI", + "type": "string", + "indexed": false + } + ], + "type": "event", + "name": "MetadataLocked", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "string", + "name": "baseURI", + "type": "string", + "indexed": false + } + ], + "type": "event", + "name": "MetadataUpdated", + "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": [ + { + "internalType": "uint256", + "name": "numberOfTokens", + "type": "uint256", + "indexed": true + }, + { + "internalType": "string", + "name": "baseURI", + "type": "string", + "indexed": false + } + ], + "type": "event", + "name": "PrepareMint", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + "indexed": true + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string", + "indexed": false + } + ], + "type": "event", + "name": "TokenURIUpdated", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "to", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + "indexed": true + } + ], + "type": "event", + "name": "Transfer", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "approve" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "burn" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "deleteToken" + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "disableContract" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "disabled", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getDefaultRoyaltyPercentage", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getDefaultRoyaltyReceiver", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getMintConfig", + "outputs": [ + { + "internalType": "struct LazySovereignNFT.MintConfig", + "name": "", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "numberOfTokens", + "type": "uint256" + }, + { + "internalType": "string", + "name": "baseURI", + "type": "string" + }, + { + "internalType": "bool", + "name": "lockedMetadata", + "type": "bool" + } + ] + } + ] + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_creator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxTokens", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "init" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "isApprovedMinter", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "lockBaseURI" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "maxTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "mintTo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_numberOfTokens", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "prepareMint" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_numberOfTokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_minter", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "prepareMintWithMinter" + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "renounceOwnership" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_salePrice", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "royaltyInfo", + "outputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "royaltyAmount", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "safeTransferFrom" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "safeTransferFrom" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setApprovalForAll" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setDefaultRoyaltyReceiver" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_minter", + "type": "address" + }, + { + "internalType": "bool", + "name": "_isMinter", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setMinterApproval" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setRoyaltyReceiverForToken" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "stateMutability": "view", + "type": "function", + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "tokenCreator", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transferFrom" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transferOwnership" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "updateBaseURI" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_metadataUri", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "updateTokenURI" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "burn(uint256)": { + "details": "Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator." + }, + "deleteToken(uint256)": { + "details": "Delete a token with the given ID.", + "params": { + "_tokenId": "The ID of the token to delete." + } + }, + "disableContract()": { + "details": "Disable the contract, preventing further minting." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "getMintConfig()": { + "details": "Get the current minting configuration.", + "returns": { + "_0": "mintConfig the mint config." + } + }, + "init(string,string,address,uint256)": { + "details": "Contract initialization function.", + "params": { + "_creator": "The address of the contract creator.", + "_maxTokens": "The maximum number of tokens that can be minted.", + "_name": "The name of the NFT contract.", + "_symbol": "The symbol of the NFT contract." + } + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "isApprovedMinter(address)": { + "details": "Checks if the supplied address is approved for minting", + "params": { + "_address": "The address of the minter." + }, + "returns": { + "_0": "bool, whether the address is approved for minting." + } + }, + "lockBaseURI()": { + "details": "Lock the metadata to prevent further updates." + }, + "mintTo(address)": { + "details": "Mint a new token to the specified receiver.", + "params": { + "_receiver": "The address of the token receiver." + }, + "returns": { + "_0": "uint256 Token Id of the new token." + } + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "prepareMint(string,uint256)": { + "details": "Prepare a minting batch with a specified base URI and number of tokens.", + "params": { + "_baseURI": "The base URI for token metadata.", + "_numberOfTokens": "The number of tokens to prepare for minting." + } + }, + "prepareMintWithMinter(string,uint256,address)": { + "details": "Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address.", + "params": { + "_baseURI": "The base URI for token metadata.", + "_minter": "The address of the minter.", + "_numberOfTokens": "The number of tokens to prepare for minting." + } + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "royaltyInfo(uint256,uint256)": { + "params": { + "_salePrice": "- the sale price of the NFT asset specified by _tokenId", + "_tokenId": "- the NFT asset queried for royalty information" + }, + "returns": { + "receiver": "- address of who should be sent the royalty payment", + "royaltyAmount": "- the royalty payment amount for _salePrice" + } + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "setDefaultRoyaltyReceiver(address)": { + "details": "Set the default royalty receiver address.", + "params": { + "_receiver": "The address of the default royalty receiver." + } + }, + "setMinterApproval(address,bool)": { + "details": "Set a minter for the contract", + "params": { + "_isMinter": "bool of whether the address is a minter.", + "_minter": "address of the minter." + } + }, + "setRoyaltyReceiverForToken(address,uint256)": { + "details": "Set a specific royalty receiver address for a token.", + "params": { + "_receiver": "The address of the royalty receiver.", + "_tokenId": "The ID of the token." + } + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "tokenCreator(uint256)": { + "details": "Get the address of the token creator for a given token ID.", + "params": { + "_tokenId": "The ID of the token." + }, + "returns": { + "_0": "address of the token creator." + } + }, + "tokenURI(uint256)": { + "details": "Get the token URI for a specific token. If a token has a set URI, it will return that, otherwise it will return the token URI computed from the base URI.", + "params": { + "_tokenId": "The ID of the token." + }, + "returns": { + "_0": "The token's URI." + } + }, + "totalSupply()": { + "details": "Get the total supply of tokens in existence.", + "returns": { + "_0": "The total supply of tokens." + } + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + }, + "updateBaseURI(string)": { + "details": "Update the base URI.", + "params": { + "_baseURI": "The new base URI." + } + }, + "updateTokenURI(uint256,string)": { + "details": "Update the token metadata URI.", + "params": { + "_metadataUri": "The new metadata URI." + } + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + }, + "settings": { + "remappings": [ + "aux/=lib/aux/", + "ds-test/=lib/ds-test/src/", + "erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", + "openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", + "rareprotocol/aux/=lib/aux/src/", + "royalty-guard/=lib/royalty-guard/src/royalty-guard/", + "solmate/=lib/royalty-guard/lib/solmate/src/" + ], + "optimizer": { + "enabled": true, + "runs": 200 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol": "LazySovereignNFT" + }, + "libraries": {} + }, + "sources": { + "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol": { + "keccak256": "0x652fee292f698d8dba81bf287cb71f1682f6483b67ebe601a5f7387dcfc30b34", + "urls": [ + "bzz-raw://98c7bba29bcab7240cdaada7dd7cbe3529fec83314801270c46239e72a9e84d7", + "dweb:/ipfs/QmfHCc1KMygjXchXVwafWTkFjhbb2SQ3Cu5GzRTdV4CCCh" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol": { + "keccak256": "0xb5239b505e918cb7427b939ff15da7bf7c4bb68ccb109caef246a3f58b19ba5e", + "urls": [ + "bzz-raw://e5f2ea070e870eea699ee433245459f08020a4752df4f5d391de87a529fc2bad", + "dweb:/ipfs/QmWUcKCKzqQtB6sfJHxGzNj7QRogPmUsW3QQZPAcD3kLSB" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol": { + "keccak256": "0xf7f866b810ddf2508a9cba461906617a1ff561e33835d81a1be9bff9bbfb7ff9", + "urls": [ + "bzz-raw://21142ed30406e8f3dc9d42907aaef8bd34dfee63101d011fc3e1a3a198b9c740", + "dweb:/ipfs/QmW7EkuJFzsejU5keEjULPFFDe8gBEiNYdQ6Z1LrgWnHst" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol": { + "keccak256": "0x6c4dd0c916c4d69014b1a430f5803d3ea1f35c1a8021aefafde55ca4c2d20c2a", + "urls": [ + "bzz-raw://93fd17a1502ac391fd929e9c585032efed0b2ed1fb6fe6026dbc44621538b84d", + "dweb:/ipfs/Qmd3S9HaNGe83wctpj7Bvn6p2veG5P6QH1nPcRuKNJfUqN" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol": { + "keccak256": "0xd16dc04b4bf357ae9d04e02d9fd05cc320bbc89720e0ad8efc2386e476f0b921", + "urls": [ + "bzz-raw://4d9c9054ada43073f83e6e36761a5e428da1a0ec0f1b238995deddcac2c21b8c", + "dweb:/ipfs/QmS3pcaWW4uwaQqJ3iQ56fpNcf6NtWZTHeYL4fvPa3gQYz" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol": { + "keccak256": "0x417a6f201d6b0e3872979beca22f173ca518ef826fafb23b8d5b93bf7e42192d", + "urls": [ + "bzz-raw://3ccc2bdaacf5e5cd18d3d5424e9eb118ff9e59485011595381869af89665c579", + "dweb:/ipfs/QmdPps2gVGqktfANjoxyU93ridF86vpppp7HNoiJkDzksm" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol": { + "keccak256": "0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70", + "urls": [ + "bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3", + "dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol": { + "keccak256": "0x55cf2bd9fc76704ddcdc19834cd288b7de00fc0f298a40ea16a954ae8991db2d", + "urls": [ + "bzz-raw://37e4df53c8d2e3c1062c1c7b2c17366db7de03bfd2559d340ca95c588aa49c2f", + "dweb:/ipfs/QmQ9vsG3o4wED3FRogiSUhdzJvZSjjYFtydzXvFEJtgZk4" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol": { + "keccak256": "0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149", + "urls": [ + "bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c", + "dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol": { + "keccak256": "0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d", + "urls": [ + "bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912", + "dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol": { + "keccak256": "0x398d3323c1932a5986bf36be7c57593e121e69d5db5b6574b4ee0d031443de37", + "urls": [ + "bzz-raw://8b268304e03daf22c349abe3c318bc6a6badd6542d62311716ab401eec745f78", + "dweb:/ipfs/QmNYy2sc2RoTjDhyT6HAibmeDGqfhDiDpsWRbHFHoGVHLr" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol": { + "keccak256": "0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a", + "urls": [ + "bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7", + "dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol": { + "keccak256": "0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09", + "urls": [ + "bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758", + "dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol": { + "keccak256": "0x2033e349d606483684968f190b814bbc853774c8d82305e179d094c5042fb512", + "urls": [ + "bzz-raw://aa9b82acfb4493894b4123b4ab44f5ace697e743631642a8e0bc60aafca2bac5", + "dweb:/ipfs/QmePLecHQuCPTErGNPH7C2zdXod9RZncAZ2cJoYBaUaPQp" + ], + "license": "MIT" + }, + "src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol": { + "keccak256": "0x0e26cc39d2b9045ae517ae9d7768b2d19b6aa671d0bcb63c9bfd7a1441393d47", + "urls": [ + "bzz-raw://110ba8840b852c2299a73d43e335be49e27aa9c81263fdcca72b2ffa9722ad5e", + "dweb:/ipfs/QmaTcaPuDsjuouw8ZrqWw2i6Ui87wtEJQKeHoEXUop4id9" + ], + "license": "MIT" + }, + "src/token/extensions/ERC2981Upgradeable.sol": { + "keccak256": "0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d", + "urls": [ + "bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465", + "dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA" + ], + "license": "MIT" + }, + "src/token/extensions/IERC2981.sol": { + "keccak256": "0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd", + "urls": [ + "bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b", + "dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w" + ], + "license": "MIT" + }, + "src/token/extensions/ITokenCreator.sol": { + "keccak256": "0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6", + "urls": [ + "bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42", + "dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol", + "id": 28507, + "exportedSymbols": { + "AddressUpgradeable": [ + 25717 + ], + "ContextUpgradeable": [ + 25759 + ], + "CountersUpgradeable": [ + 25833 + ], + "ERC165Upgradeable": [ + 26080 + ], + "ERC2981Upgradeable": [ + 29123 + ], + "ERC721BurnableUpgradeable": [ + 25447 + ], + "ERC721Upgradeable": [ + 25263 + ], + "IERC165Upgradeable": [ + 26092 + ], + "IERC2981": [ + 29139 + ], + "IERC721MetadataUpgradeable": [ + 25474 + ], + "IERC721ReceiverUpgradeable": [ + 25281 + ], + "IERC721Upgradeable": [ + 25397 + ], + "ITokenCreator": [ + 29149 + ], + "Initializable": [ + 24372 + ], + "LazySovereignNFT": [ + 28506 + ], + "OwnableUpgradeable": [ + 24230 + ], + "SafeMathUpgradeable": [ + 26404 + ], + "StringsUpgradeable": [ + 26036 + ] + }, + "nodeType": "SourceUnit", + "src": "85:13117:37", + "nodes": [ + { + "id": 27903, + "nodeType": "PragmaDirective", + "src": "85:23:37", + "nodes": [], + "literals": [ + "solidity", + "0.8", + ".15" + ] + }, + { + "id": 27904, + "nodeType": "ImportDirective", + "src": "110:79:37", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol", + "file": "openzeppelin-contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 28507, + "sourceUnit": 25264, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 27905, + "nodeType": "ImportDirective", + "src": "190:98:37", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol", + "file": "openzeppelin-contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 28507, + "sourceUnit": 25448, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 27906, + "nodeType": "ImportDirective", + "src": "289:86:37", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "file": "openzeppelin-contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 28507, + "sourceUnit": 26081, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 27907, + "nodeType": "ImportDirective", + "src": "376:74:37", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "file": "openzeppelin-contracts-upgradeable/access/OwnableUpgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 28507, + "sourceUnit": 24231, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 27908, + "nodeType": "ImportDirective", + "src": "451:74:37", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol", + "file": "openzeppelin-contracts-upgradeable/utils/CountersUpgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 28507, + "sourceUnit": 25834, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 27909, + "nodeType": "ImportDirective", + "src": "526:79:37", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol", + "file": "openzeppelin-contracts-upgradeable/utils/math/SafeMathUpgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 28507, + "sourceUnit": 26405, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 27910, + "nodeType": "ImportDirective", + "src": "606:47:37", + "nodes": [], + "absolutePath": "src/token/extensions/ITokenCreator.sol", + "file": "../../../extensions/ITokenCreator.sol", + "nameLocation": "-1:-1:-1", + "scope": 28507, + "sourceUnit": 29150, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 27911, + "nodeType": "ImportDirective", + "src": "654:52:37", + "nodes": [], + "absolutePath": "src/token/extensions/ERC2981Upgradeable.sol", + "file": "../../../extensions/ERC2981Upgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 28507, + "sourceUnit": 29124, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 28506, + "nodeType": "ContractDefinition", + "src": "841:12360:37", + "nodes": [ + { + "id": 27927, + "nodeType": "UsingForDirective", + "src": "1019:38:37", + "nodes": [], + "global": false, + "libraryName": { + "id": 27925, + "name": "SafeMathUpgradeable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 26404, + "src": "1025:19:37" + }, + "typeName": { + "id": 27926, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1049:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 27930, + "nodeType": "UsingForDirective", + "src": "1062:37:37", + "nodes": [], + "global": false, + "libraryName": { + "id": 27928, + "name": "StringsUpgradeable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 26036, + "src": "1068:18:37" + }, + "typeName": { + "id": 27929, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1091:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 27934, + "nodeType": "UsingForDirective", + "src": "1104:58:37", + "nodes": [], + "global": false, + "libraryName": { + "id": 27931, + "name": "CountersUpgradeable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 25833, + "src": "1110:19:37" + }, + "typeName": { + "id": 27933, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27932, + "name": "CountersUpgradeable.Counter", + "nodeType": "IdentifierPath", + "referencedDeclaration": 25765, + "src": "1134:27:37" + }, + "referencedDeclaration": 25765, + "src": "1134:27:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$25765_storage_ptr", + "typeString": "struct CountersUpgradeable.Counter" + } + } + }, + { + "id": 27941, + "nodeType": "StructDefinition", + "src": "1347:110:37", + "nodes": [], + "canonicalName": "LazySovereignNFT.MintConfig", + "members": [ + { + "constant": false, + "id": 27936, + "mutability": "mutable", + "name": "numberOfTokens", + "nameLocation": "1383:14:37", + "nodeType": "VariableDeclaration", + "scope": 27941, + "src": "1375:22:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 27935, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1375:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27938, + "mutability": "mutable", + "name": "baseURI", + "nameLocation": "1414:7:37", + "nodeType": "VariableDeclaration", + "scope": 27941, + "src": "1407:14:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 27937, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1407:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27940, + "mutability": "mutable", + "name": "lockedMetadata", + "nameLocation": "1436:14:37", + "nodeType": "VariableDeclaration", + "scope": 27941, + "src": "1431:19:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 27939, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1431:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "name": "MintConfig", + "nameLocation": "1354:10:37", + "scope": 28506, + "visibility": "public" + }, + { + "id": 27943, + "nodeType": "VariableDeclaration", + "src": "1779:20:37", + "nodes": [], + "constant": false, + "functionSelector": "ee070805", + "mutability": "mutable", + "name": "disabled", + "nameLocation": "1791:8:37", + "scope": 28506, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 27942, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1779:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "public" + }, + { + "id": 27945, + "nodeType": "VariableDeclaration", + "src": "1857:24:37", + "nodes": [], + "constant": false, + "functionSelector": "e8315742", + "mutability": "mutable", + "name": "maxTokens", + "nameLocation": "1872:9:37", + "scope": 28506, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 27944, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1857:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "id": 27949, + "nodeType": "VariableDeclaration", + "src": "2054:50:37", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "tokenApprovals", + "nameLocation": "2090:14:37", + "scope": 28506, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 27948, + "keyType": { + "id": 27946, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2062:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2054:27:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 27947, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2073:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "private" + }, + { + "id": 27953, + "nodeType": "VariableDeclaration", + "src": "2176:48:37", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "minterAddresses", + "nameLocation": "2209:15:37", + "scope": 28506, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 27952, + "keyType": { + "id": 27950, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2184:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "2176:24:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 27951, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2195:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "private" + }, + { + "id": 27957, + "nodeType": "VariableDeclaration", + "src": "2270:45:37", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "_tokenURIs", + "nameLocation": "2305:10:37", + "scope": 28506, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "typeName": { + "id": 27956, + "keyType": { + "id": 27954, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2278:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2270:26:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "valueType": { + "id": 27955, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2289:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + } + }, + "visibility": "private" + }, + { + "id": 27960, + "nodeType": "VariableDeclaration", + "src": "2376:50:37", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "tokenIdCounter", + "nameLocation": "2412:14:37", + "scope": 28506, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$25765_storage", + "typeString": "struct CountersUpgradeable.Counter" + }, + "typeName": { + "id": 27959, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27958, + "name": "CountersUpgradeable.Counter", + "nodeType": "IdentifierPath", + "referencedDeclaration": 25765, + "src": "2376:27:37" + }, + "referencedDeclaration": 25765, + "src": "2376:27:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$25765_storage_ptr", + "typeString": "struct CountersUpgradeable.Counter" + } + }, + "visibility": "private" + }, + { + "id": 27963, + "nodeType": "VariableDeclaration", + "src": "2471:29:37", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "mintConfig", + "nameLocation": "2490:10:37", + "scope": 28506, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MintConfig_$27941_storage", + "typeString": "struct LazySovereignNFT.MintConfig" + }, + "typeName": { + "id": 27962, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27961, + "name": "MintConfig", + "nodeType": "IdentifierPath", + "referencedDeclaration": 27941, + "src": "2471:10:37" + }, + "referencedDeclaration": 27941, + "src": "2471:10:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MintConfig_$27941_storage_ptr", + "typeString": "struct LazySovereignNFT.MintConfig" + } + }, + "visibility": "private" + }, + { + "id": 27967, + "nodeType": "EventDefinition", + "src": "2729:45:37", + "nodes": [], + "anonymous": false, + "eventSelector": "793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd", + "name": "ContractDisabled", + "nameLocation": "2735:16:37", + "parameters": { + "id": 27966, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27965, + "indexed": true, + "mutability": "mutable", + "name": "user", + "nameLocation": "2768:4:37", + "nodeType": "VariableDeclaration", + "scope": 27967, + "src": "2752:20:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27964, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2752:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2751:22:37" + } + }, + { + "id": 27973, + "nodeType": "EventDefinition", + "src": "2820:66:37", + "nodes": [], + "anonymous": false, + "eventSelector": "6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba19", + "name": "PrepareMint", + "nameLocation": "2826:11:37", + "parameters": { + "id": 27972, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27969, + "indexed": true, + "mutability": "mutable", + "name": "numberOfTokens", + "nameLocation": "2854:14:37", + "nodeType": "VariableDeclaration", + "scope": 27973, + "src": "2838:30:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 27968, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2838:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27971, + "indexed": false, + "mutability": "mutable", + "name": "baseURI", + "nameLocation": "2877:7:37", + "nodeType": "VariableDeclaration", + "scope": 27973, + "src": "2870:14:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 27970, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2870:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2837:48:37" + } + }, + { + "id": 27977, + "nodeType": "EventDefinition", + "src": "2930:37:37", + "nodes": [], + "anonymous": false, + "eventSelector": "b634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e", + "name": "MetadataLocked", + "nameLocation": "2936:14:37", + "parameters": { + "id": 27976, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27975, + "indexed": false, + "mutability": "mutable", + "name": "baseURI", + "nameLocation": "2958:7:37", + "nodeType": "VariableDeclaration", + "scope": 27977, + "src": "2951:14:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 27974, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2951:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2950:16:37" + } + }, + { + "id": 27981, + "nodeType": "EventDefinition", + "src": "3012:38:37", + "nodes": [], + "anonymous": false, + "eventSelector": "1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e", + "name": "MetadataUpdated", + "nameLocation": "3018:15:37", + "parameters": { + "id": 27980, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27979, + "indexed": false, + "mutability": "mutable", + "name": "baseURI", + "nameLocation": "3041:7:37", + "nodeType": "VariableDeclaration", + "scope": 27981, + "src": "3034:14:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 27978, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3034:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3033:16:37" + } + }, + { + "id": 27987, + "nodeType": "EventDefinition", + "src": "3096:67:37", + "nodes": [], + "anonymous": false, + "eventSelector": "931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd", + "name": "TokenURIUpdated", + "nameLocation": "3102:15:37", + "parameters": { + "id": 27986, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27983, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3134:7:37", + "nodeType": "VariableDeclaration", + "scope": 27987, + "src": "3118:23:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 27982, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3118:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27985, + "indexed": false, + "mutability": "mutable", + "name": "metadataUri", + "nameLocation": "3150:11:37", + "nodeType": "VariableDeclaration", + "scope": 27987, + "src": "3143:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 27984, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3143:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3117:45:37" + } + }, + { + "id": 28048, + "nodeType": "FunctionDefinition", + "src": "3645:548:37", + "nodes": [], + "body": { + "id": 28047, + "nodeType": "Block", + "src": "3802:391:37", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 28007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 28002, + "name": "_creator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27994, + "src": "3820:8:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 28005, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3840:1:37", + "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": 28004, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3832:7:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 28003, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3832:7:37", + "typeDescriptions": {} + } + }, + "id": 28006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3832:10:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3820:22:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "63726561746f722063616e6e6f74206265206e756c6c2061646472657373", + "id": 28008, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3844:32:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6b6b5b1211b5e6bbc5108a4538b47b57acfb95986a81d99f9ebc78a6dbfa62ee", + "typeString": "literal_string \"creator cannot be null address\"" + }, + "value": "creator cannot be null address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6b6b5b1211b5e6bbc5108a4538b47b57acfb95986a81d99f9ebc78a6dbfa62ee", + "typeString": "literal_string \"creator cannot be null address\"" + } + ], + "id": 28001, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3812:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 28009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3812:65:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28010, + "nodeType": "ExpressionStatement", + "src": "3812:65:37" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "3130", + "id": 28012, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3916:2:37", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + } + ], + "id": 28011, + "name": "_setDefaultRoyaltyPercentage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29106, + "src": "3887:28:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 28013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3887:32:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28014, + "nodeType": "ExpressionStatement", + "src": "3887:32:37" + }, + { + "expression": { + "id": 28017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 28015, + "name": "disabled", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27943, + "src": "3929:8:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 28016, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3940:5:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3929:16:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 28018, + "nodeType": "ExpressionStatement", + "src": "3929:16:37" + }, + { + "expression": { + "id": 28021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 28019, + "name": "maxTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27945, + "src": "3955:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 28020, + "name": "_maxTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27996, + "src": "3967:10:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3955:22:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 28022, + "nodeType": "ExpressionStatement", + "src": "3955:22:37" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 28023, + "name": "__Ownable_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24133, + "src": "3988:14:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 28024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3988:16:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28025, + "nodeType": "ExpressionStatement", + "src": "3988:16:37" + }, + { + "expression": { + "arguments": [ + { + "id": 28027, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27990, + "src": "4028:5:37", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "id": 28028, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27992, + "src": "4035:7:37", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 28026, + "name": "__ERC721_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24437, + "src": "4014:13:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory)" + } + }, + "id": 28029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4014:29:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28030, + "nodeType": "ExpressionStatement", + "src": "4014:29:37" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 28031, + "name": "__ERC165_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26051, + "src": "4053:13:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 28032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4053:15:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28033, + "nodeType": "ExpressionStatement", + "src": "4053:15:37" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 28034, + "name": "__ERC2981__init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28989, + "src": "4078:15:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 28035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4078:17:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28036, + "nodeType": "ExpressionStatement", + "src": "4078:17:37" + }, + { + "expression": { + "arguments": [ + { + "id": 28038, + "name": "_creator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27994, + "src": "4133:8:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 28037, + "name": "_setDefaultRoyaltyReceiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29047, + "src": "4106:26:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 28039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4106:36:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28040, + "nodeType": "ExpressionStatement", + "src": "4106:36:37" + }, + { + "expression": { + "arguments": [ + { + "id": 28044, + "name": "_creator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27994, + "src": "4177:8:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 28041, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "4153:5:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_LazySovereignNFT_$28506_$", + "typeString": "type(contract super LazySovereignNFT)" + } + }, + "id": 28043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferOwnership", + "nodeType": "MemberAccess", + "referencedDeclaration": 24204, + "src": "4153:23:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 28045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4153:33:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28046, + "nodeType": "ExpressionStatement", + "src": "4153:33:37" + } + ] + }, + "documentation": { + "id": 27988, + "nodeType": "StructuredDocumentation", + "src": "3345:295:37", + "text": " @dev Contract initialization function.\n @param _name The name of the NFT contract.\n @param _symbol The symbol of the NFT contract.\n @param _creator The address of the contract creator.\n @param _maxTokens The maximum number of tokens that can be minted." + }, + "functionSelector": "5edc7c19", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 27999, + "kind": "modifierInvocation", + "modifierName": { + "id": 27998, + "name": "initializer", + "nodeType": "IdentifierPath", + "referencedDeclaration": 24274, + "src": "3790:11:37" + }, + "nodeType": "ModifierInvocation", + "src": "3790:11:37" + } + ], + "name": "init", + "nameLocation": "3654:4:37", + "parameters": { + "id": 27997, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27990, + "mutability": "mutable", + "name": "_name", + "nameLocation": "3684:5:37", + "nodeType": "VariableDeclaration", + "scope": 28048, + "src": "3668:21:37", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 27989, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3668:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27992, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "3715:7:37", + "nodeType": "VariableDeclaration", + "scope": 28048, + "src": "3699:23:37", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 27991, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3699:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27994, + "mutability": "mutable", + "name": "_creator", + "nameLocation": "3740:8:37", + "nodeType": "VariableDeclaration", + "scope": 28048, + "src": "3732:16:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27993, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3732:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27996, + "mutability": "mutable", + "name": "_maxTokens", + "nameLocation": "3766:10:37", + "nodeType": "VariableDeclaration", + "scope": 28048, + "src": "3758:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 27995, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3758:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3658:124:37" + }, + "returnParameters": { + "id": 28000, + "nodeType": "ParameterList", + "parameters": [], + "src": "3802:0:37" + }, + "scope": 28506, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 28059, + "nodeType": "ModifierDefinition", + "src": "4459:105:37", + "nodes": [], + "body": { + "id": 28058, + "nodeType": "Block", + "src": "4484:80:37", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 28053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "4502:9:37", + "subExpression": { + "id": 28052, + "name": "disabled", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27943, + "src": "4503:8:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "436f6e7472616374206d757374206e6f742062652064697361626c65642e", + "id": 28054, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4513:32:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7b71ca1c3bd528156808cb7a73ab2c5a516c90c9e4e66cd32f11bb4e07aeb5ad", + "typeString": "literal_string \"Contract must not be disabled.\"" + }, + "value": "Contract must not be disabled." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7b71ca1c3bd528156808cb7a73ab2c5a516c90c9e4e66cd32f11bb4e07aeb5ad", + "typeString": "literal_string \"Contract must not be disabled.\"" + } + ], + "id": 28051, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4494:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 28055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4494:52:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28056, + "nodeType": "ExpressionStatement", + "src": "4494:52:37" + }, + { + "id": 28057, + "nodeType": "PlaceholderStatement", + "src": "4556:1:37" + } + ] + }, + "documentation": { + "id": 28049, + "nodeType": "StructuredDocumentation", + "src": "4380:74:37", + "text": " @dev Modifier to check if the contract is not disabled." + }, + "name": "ifNotDisabled", + "nameLocation": "4468:13:37", + "parameters": { + "id": 28050, + "nodeType": "ParameterList", + "parameters": [], + "src": "4481:2:37" + }, + "virtual": false, + "visibility": "internal" + }, + { + "id": 28078, + "nodeType": "FunctionDefinition", + "src": "4926:166:37", + "nodes": [], + "body": { + "id": 28077, + "nodeType": "Block", + "src": "5039:53:37", + "nodes": [], + "statements": [ + { + "expression": { + "id": 28075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 28071, + "name": "minterAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27953, + "src": "5049:15:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 28073, + "indexExpression": { + "id": 28072, + "name": "_minter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28062, + "src": "5065:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5049:24:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 28074, + "name": "_isMinter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28064, + "src": "5076:9:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5049:36:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 28076, + "nodeType": "ExpressionStatement", + "src": "5049:36:37" + } + ] + }, + "documentation": { + "id": 28060, + "nodeType": "StructuredDocumentation", + "src": "4758:163:37", + "text": " @dev Set a minter for the contract\n @param _minter address of the minter.\n @param _isMinter bool of whether the address is a minter." + }, + "functionSelector": "0de54ba0", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 28067, + "kind": "modifierInvocation", + "modifierName": { + "id": 28066, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 24167, + "src": "5015:9:37" + }, + "nodeType": "ModifierInvocation", + "src": "5015:9:37" + }, + { + "id": 28069, + "kind": "modifierInvocation", + "modifierName": { + "id": 28068, + "name": "ifNotDisabled", + "nodeType": "IdentifierPath", + "referencedDeclaration": 28059, + "src": "5025:13:37" + }, + "nodeType": "ModifierInvocation", + "src": "5025:13:37" + } + ], + "name": "setMinterApproval", + "nameLocation": "4935:17:37", + "parameters": { + "id": 28065, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28062, + "mutability": "mutable", + "name": "_minter", + "nameLocation": "4970:7:37", + "nodeType": "VariableDeclaration", + "scope": 28078, + "src": "4962:15:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28061, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4962:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28064, + "mutability": "mutable", + "name": "_isMinter", + "nameLocation": "4992:9:37", + "nodeType": "VariableDeclaration", + "scope": 28078, + "src": "4987:14:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 28063, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4987:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4952:55:37" + }, + "returnParameters": { + "id": 28070, + "nodeType": "ParameterList", + "parameters": [], + "src": "5039:0:37" + }, + "scope": 28506, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 28096, + "nodeType": "FunctionDefinition", + "src": "5329:181:37", + "nodes": [], + "body": { + "id": 28095, + "nodeType": "Block", + "src": "5454:56:37", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 28091, + "name": "_baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28081, + "src": "5477:8:37", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "id": 28092, + "name": "_numberOfTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28083, + "src": "5487:15:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 28090, + "name": "_prepareMint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28505, + "src": "5464:12:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_calldata_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string calldata,uint256)" + } + }, + "id": 28093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5464:39:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28094, + "nodeType": "ExpressionStatement", + "src": "5464:39:37" + } + ] + }, + "documentation": { + "id": 28079, + "nodeType": "StructuredDocumentation", + "src": "5098:226:37", + "text": " @dev Prepare a minting batch with a specified base URI and number of tokens.\n @param _baseURI The base URI for token metadata.\n @param _numberOfTokens The number of tokens to prepare for minting." + }, + "functionSelector": "b390ac25", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 28086, + "kind": "modifierInvocation", + "modifierName": { + "id": 28085, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 24167, + "src": "5430:9:37" + }, + "nodeType": "ModifierInvocation", + "src": "5430:9:37" + }, + { + "id": 28088, + "kind": "modifierInvocation", + "modifierName": { + "id": 28087, + "name": "ifNotDisabled", + "nodeType": "IdentifierPath", + "referencedDeclaration": 28059, + "src": "5440:13:37" + }, + "nodeType": "ModifierInvocation", + "src": "5440:13:37" + } + ], + "name": "prepareMint", + "nameLocation": "5338:11:37", + "parameters": { + "id": 28084, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28081, + "mutability": "mutable", + "name": "_baseURI", + "nameLocation": "5375:8:37", + "nodeType": "VariableDeclaration", + "scope": 28096, + "src": "5359:24:37", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 28080, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5359:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28083, + "mutability": "mutable", + "name": "_numberOfTokens", + "nameLocation": "5401:15:37", + "nodeType": "VariableDeclaration", + "scope": 28096, + "src": "5393:23:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28082, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5393:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5349:73:37" + }, + "returnParameters": { + "id": 28089, + "nodeType": "ParameterList", + "parameters": [], + "src": "5454:0:37" + }, + "scope": 28506, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 28122, + "nodeType": "FunctionDefinition", + "src": "5825:257:37", + "nodes": [], + "body": { + "id": 28121, + "nodeType": "Block", + "src": "5985:97:37", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 28111, + "name": "_baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28099, + "src": "6008:8:37", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "id": 28112, + "name": "_numberOfTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28101, + "src": "6018:15:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 28110, + "name": "_prepareMint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28505, + "src": "5995:12:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_calldata_ptr_$_t_uint256_$returns$__$", + "typeString": "function (string calldata,uint256)" + } + }, + "id": 28113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5995:39:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28114, + "nodeType": "ExpressionStatement", + "src": "5995:39:37" + }, + { + "expression": { + "id": 28119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 28115, + "name": "minterAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27953, + "src": "6044:15:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 28117, + "indexExpression": { + "id": 28116, + "name": "_minter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28103, + "src": "6060:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6044:24:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 28118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6071:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6044:31:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 28120, + "nodeType": "ExpressionStatement", + "src": "6044:31:37" + } + ] + }, + "documentation": { + "id": 28097, + "nodeType": "StructuredDocumentation", + "src": "5516:304:37", + "text": " @dev Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address.\n @param _baseURI The base URI for token metadata.\n @param _numberOfTokens The number of tokens to prepare for minting.\n @param _minter The address of the minter." + }, + "functionSelector": "b9fbd25c", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 28106, + "kind": "modifierInvocation", + "modifierName": { + "id": 28105, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 24167, + "src": "5961:9:37" + }, + "nodeType": "ModifierInvocation", + "src": "5961:9:37" + }, + { + "id": 28108, + "kind": "modifierInvocation", + "modifierName": { + "id": 28107, + "name": "ifNotDisabled", + "nodeType": "IdentifierPath", + "referencedDeclaration": 28059, + "src": "5971:13:37" + }, + "nodeType": "ModifierInvocation", + "src": "5971:13:37" + } + ], + "name": "prepareMintWithMinter", + "nameLocation": "5834:21:37", + "parameters": { + "id": 28104, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28099, + "mutability": "mutable", + "name": "_baseURI", + "nameLocation": "5881:8:37", + "nodeType": "VariableDeclaration", + "scope": 28122, + "src": "5865:24:37", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 28098, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5865:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28101, + "mutability": "mutable", + "name": "_numberOfTokens", + "nameLocation": "5907:15:37", + "nodeType": "VariableDeclaration", + "scope": 28122, + "src": "5899:23:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28100, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5899:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28103, + "mutability": "mutable", + "name": "_minter", + "nameLocation": "5940:7:37", + "nodeType": "VariableDeclaration", + "scope": 28122, + "src": "5932:15:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28102, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5932:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5855:98:37" + }, + "returnParameters": { + "id": 28109, + "nodeType": "ParameterList", + "parameters": [], + "src": "5985:0:37" + }, + "scope": 28506, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 28155, + "nodeType": "FunctionDefinition", + "src": "6269:428:37", + "nodes": [], + "body": { + "id": 28154, + "nodeType": "Block", + "src": "6359:338:37", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 28142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 28137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 28133, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "6390:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 28134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "6390:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 28135, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24153, + "src": "6404:5:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 28136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6404:7:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6390:21:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "baseExpression": { + "id": 28138, + "name": "minterAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27953, + "src": "6415:15:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 28141, + "indexExpression": { + "expression": { + "id": 28139, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "6431:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 28140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "6431:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6415:27:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6390:52:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f766564206d696e7465722063616e206d696e74", + "id": 28143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6456:50:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_154b6b63a911da25ac18acc635a749cf602b944b6188d913be9072c29e435a47", + "typeString": "literal_string \"lazyMint::only owner or approved minter can mint\"" + }, + "value": "lazyMint::only owner or approved minter can mint" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_154b6b63a911da25ac18acc635a749cf602b944b6188d913be9072c29e435a47", + "typeString": "literal_string \"lazyMint::only owner or approved minter can mint\"" + } + ], + "id": 28132, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6369:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 28144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6369:147:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28145, + "nodeType": "ExpressionStatement", + "src": "6369:147:37" + }, + { + "expression": { + "arguments": [ + { + "id": 28147, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28125, + "src": "6575:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 28148, + "name": "getDefaultRoyaltyPercentage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29122, + "src": "6602:27:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 28149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6602:29:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 28150, + "name": "getDefaultRoyaltyReceiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29114, + "src": "6649:25:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 28151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6649:27:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 28146, + "name": "_createToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28467, + "src": "6545:12:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,uint256,address) returns (uint256)" + } + }, + "id": 28152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6545:145:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 28131, + "id": 28153, + "nodeType": "Return", + "src": "6526:164:37" + } + ] + }, + "documentation": { + "id": 28123, + "nodeType": "StructuredDocumentation", + "src": "6088:176:37", + "text": " @dev Mint a new token to the specified receiver.\n @param _receiver The address of the token receiver.\n @return uint256 Token Id of the new token." + }, + "functionSelector": "755edd17", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 28128, + "kind": "modifierInvocation", + "modifierName": { + "id": 28127, + "name": "ifNotDisabled", + "nodeType": "IdentifierPath", + "referencedDeclaration": 28059, + "src": "6327:13:37" + }, + "nodeType": "ModifierInvocation", + "src": "6327:13:37" + } + ], + "name": "mintTo", + "nameLocation": "6278:6:37", + "parameters": { + "id": 28126, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28125, + "mutability": "mutable", + "name": "_receiver", + "nameLocation": "6302:9:37", + "nodeType": "VariableDeclaration", + "scope": 28155, + "src": "6294:17:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28124, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6294:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6284:33:37" + }, + "returnParameters": { + "id": 28131, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28130, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28155, + "src": "6350:7:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6350:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6349:9:37" + }, + "scope": 28506, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 28176, + "nodeType": "FunctionDefinition", + "src": "6819:196:37", + "nodes": [], + "body": { + "id": 28175, + "nodeType": "Block", + "src": "6865:150:37", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 28167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 28163, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28158, + "src": "6904:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 28162, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24538, + "src": "6896:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 28164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6896:17:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 28165, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "6917:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 28166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "6917:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6896:31:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d75737420626520746865206f776e6572206f662074686520746f6b656e2e", + "id": 28168, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6941:33:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_53b82fbec1ffee6cd23478fb42d47a3c9d94588d16a7244f1dfbe7e93dd41efb", + "typeString": "literal_string \"Must be the owner of the token.\"" + }, + "value": "Must be the owner of the token." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_53b82fbec1ffee6cd23478fb42d47a3c9d94588d16a7244f1dfbe7e93dd41efb", + "typeString": "literal_string \"Must be the owner of the token.\"" + } + ], + "id": 28161, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6875:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 28169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6875:109:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28170, + "nodeType": "ExpressionStatement", + "src": "6875:109:37" + }, + { + "expression": { + "arguments": [ + { + "id": 28172, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28158, + "src": "6999:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 28171, + "name": "burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25441, + "src": "6994:4:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 28173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6994:14:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28174, + "nodeType": "ExpressionStatement", + "src": "6994:14:37" + } + ] + }, + "documentation": { + "id": 28156, + "nodeType": "StructuredDocumentation", + "src": "6703:111:37", + "text": " @dev Delete a token with the given ID.\n @param _tokenId The ID of the token to delete." + }, + "functionSelector": "6297c16c", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deleteToken", + "nameLocation": "6828:11:37", + "parameters": { + "id": 28159, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28158, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "6848:8:37", + "nodeType": "VariableDeclaration", + "scope": 28176, + "src": "6840:16:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28157, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6840:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6839:18:37" + }, + "returnParameters": { + "id": 28160, + "nodeType": "ParameterList", + "parameters": [], + "src": "6865:0:37" + }, + "scope": 28506, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 28192, + "nodeType": "FunctionDefinition", + "src": "7099:119:37", + "nodes": [], + "body": { + "id": 28191, + "nodeType": "Block", + "src": "7143:75:37", + "nodes": [], + "statements": [ + { + "expression": { + "id": 28184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 28182, + "name": "disabled", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27943, + "src": "7153:8:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 28183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7164:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "7153:15:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 28185, + "nodeType": "ExpressionStatement", + "src": "7153:15:37" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 28187, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "7200:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 28188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7200:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 28186, + "name": "ContractDisabled", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27967, + "src": "7183:16:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 28189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7183:28:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28190, + "nodeType": "EmitStatement", + "src": "7178:33:37" + } + ] + }, + "documentation": { + "id": 28177, + "nodeType": "StructuredDocumentation", + "src": "7021:73:37", + "text": " @dev Disable the contract, preventing further minting." + }, + "functionSelector": "894ba833", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 28180, + "kind": "modifierInvocation", + "modifierName": { + "id": 28179, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 24167, + "src": "7133:9:37" + }, + "nodeType": "ModifierInvocation", + "src": "7133:9:37" + } + ], + "name": "disableContract", + "nameLocation": "7108:15:37", + "parameters": { + "id": 28178, + "nodeType": "ParameterList", + "parameters": [], + "src": "7123:2:37" + }, + "returnParameters": { + "id": 28181, + "nodeType": "ParameterList", + "parameters": [], + "src": "7143:0:37" + }, + "scope": 28506, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 28205, + "nodeType": "FunctionDefinition", + "src": "7363:127:37", + "nodes": [], + "body": { + "id": 28204, + "nodeType": "Block", + "src": "7436:54:37", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 28201, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28195, + "src": "7473:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 28200, + "name": "_setDefaultRoyaltyReceiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29047, + "src": "7446:26:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 28202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7446:37:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28203, + "nodeType": "ExpressionStatement", + "src": "7446:37:37" + } + ] + }, + "documentation": { + "id": 28193, + "nodeType": "StructuredDocumentation", + "src": "7224:134:37", + "text": " @dev Set the default royalty receiver address.\n @param _receiver The address of the default royalty receiver." + }, + "functionSelector": "3ebc82c5", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 28198, + "kind": "modifierInvocation", + "modifierName": { + "id": 28197, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 24167, + "src": "7426:9:37" + }, + "nodeType": "ModifierInvocation", + "src": "7426:9:37" + } + ], + "name": "setDefaultRoyaltyReceiver", + "nameLocation": "7372:25:37", + "parameters": { + "id": 28196, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28195, + "mutability": "mutable", + "name": "_receiver", + "nameLocation": "7406:9:37", + "nodeType": "VariableDeclaration", + "scope": 28205, + "src": "7398:17:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28194, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7398:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7397:19:37" + }, + "returnParameters": { + "id": 28199, + "nodeType": "ParameterList", + "parameters": [], + "src": "7436:0:37" + }, + "scope": 28506, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 28222, + "nodeType": "FunctionDefinition", + "src": "7682:169:37", + "nodes": [], + "body": { + "id": 28221, + "nodeType": "Block", + "src": "7796:55:37", + "nodes": [], + "statements": [ + { + "expression": { + "id": 28219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 28215, + "name": "royaltyReceivers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28972, + "src": "7806:16:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 28217, + "indexExpression": { + "id": 28216, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28210, + "src": "7823:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7806:26:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 28218, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28208, + "src": "7835:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7806:38:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 28220, + "nodeType": "ExpressionStatement", + "src": "7806:38:37" + } + ] + }, + "documentation": { + "id": 28206, + "nodeType": "StructuredDocumentation", + "src": "7496:181:37", + "text": " @dev Set a specific royalty receiver address for a token.\n @param _receiver The address of the royalty receiver.\n @param _tokenId The ID of the token." + }, + "functionSelector": "efc32cd4", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 28213, + "kind": "modifierInvocation", + "modifierName": { + "id": 28212, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 24167, + "src": "7786:9:37" + }, + "nodeType": "ModifierInvocation", + "src": "7786:9:37" + } + ], + "name": "setRoyaltyReceiverForToken", + "nameLocation": "7691:26:37", + "parameters": { + "id": 28211, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28208, + "mutability": "mutable", + "name": "_receiver", + "nameLocation": "7735:9:37", + "nodeType": "VariableDeclaration", + "scope": 28222, + "src": "7727:17:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28207, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7727:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28210, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "7762:8:37", + "nodeType": "VariableDeclaration", + "scope": 28222, + "src": "7754:16:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28209, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7754:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7717:59:37" + }, + "returnParameters": { + "id": 28214, + "nodeType": "ParameterList", + "parameters": [], + "src": "7796:0:37" + }, + "scope": 28506, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 28248, + "nodeType": "FunctionDefinition", + "src": "7947:271:37", + "nodes": [], + "body": { + "id": 28247, + "nodeType": "Block", + "src": "8015:203:37", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 28233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "8046:26:37", + "subExpression": { + "expression": { + "id": 28231, + "name": "mintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27963, + "src": "8047:10:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MintConfig_$27941_storage", + "typeString": "struct LazySovereignNFT.MintConfig storage ref" + } + }, + "id": 28232, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedMetadata", + "nodeType": "MemberAccess", + "referencedDeclaration": 27940, + "src": "8047:25:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "757064617465426173655552493a3a6d65746164617461206973206c6f636b6564", + "id": 28234, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8086:35:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6e879a4eb0b95d57c5322495d59f06e56373f394de36bd10c977c1387a356c74", + "typeString": "literal_string \"updateBaseURI::metadata is locked\"" + }, + "value": "updateBaseURI::metadata is locked" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6e879a4eb0b95d57c5322495d59f06e56373f394de36bd10c977c1387a356c74", + "typeString": "literal_string \"updateBaseURI::metadata is locked\"" + } + ], + "id": 28230, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8025:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 28235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8025:106:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28236, + "nodeType": "ExpressionStatement", + "src": "8025:106:37" + }, + { + "expression": { + "id": 28241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 28237, + "name": "mintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27963, + "src": "8142:10:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MintConfig_$27941_storage", + "typeString": "struct LazySovereignNFT.MintConfig storage ref" + } + }, + "id": 28239, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "baseURI", + "nodeType": "MemberAccess", + "referencedDeclaration": 27938, + "src": "8142:18:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 28240, + "name": "_baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28225, + "src": "8163:8:37", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + "src": "8142:29:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 28242, + "nodeType": "ExpressionStatement", + "src": "8142:29:37" + }, + { + "eventCall": { + "arguments": [ + { + "id": 28244, + "name": "_baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28225, + "src": "8202:8:37", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 28243, + "name": "MetadataUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27981, + "src": "8186:15:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 28245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8186:25:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28246, + "nodeType": "EmitStatement", + "src": "8181:30:37" + } + ] + }, + "documentation": { + "id": 28223, + "nodeType": "StructuredDocumentation", + "src": "7857:85:37", + "text": " @dev Update the base URI.\n @param _baseURI The new base URI." + }, + "functionSelector": "931688cb", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 28228, + "kind": "modifierInvocation", + "modifierName": { + "id": 28227, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 24167, + "src": "8005:9:37" + }, + "nodeType": "ModifierInvocation", + "src": "8005:9:37" + } + ], + "name": "updateBaseURI", + "nameLocation": "7956:13:37", + "parameters": { + "id": 28226, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28225, + "mutability": "mutable", + "name": "_baseURI", + "nameLocation": "7986:8:37", + "nodeType": "VariableDeclaration", + "scope": 28248, + "src": "7970:24:37", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 28224, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7970:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7969:26:37" + }, + "returnParameters": { + "id": 28229, + "nodeType": "ParameterList", + "parameters": [], + "src": "8015:0:37" + }, + "scope": 28506, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 28277, + "nodeType": "FunctionDefinition", + "src": "8332:337:37", + "nodes": [], + "body": { + "id": 28276, + "nodeType": "Block", + "src": "8445:224:37", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 28261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "8476:26:37", + "subExpression": { + "expression": { + "id": 28259, + "name": "mintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27963, + "src": "8477:10:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MintConfig_$27941_storage", + "typeString": "struct LazySovereignNFT.MintConfig storage ref" + } + }, + "id": 28260, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedMetadata", + "nodeType": "MemberAccess", + "referencedDeclaration": 27940, + "src": "8477:25:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b6564", + "id": 28262, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8516:36:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_309aad6c395b322362dd0157420176890079368edc62032597fd50c21d9a4b5a", + "typeString": "literal_string \"updateTokenURI::metadata is locked\"" + }, + "value": "updateTokenURI::metadata is locked" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_309aad6c395b322362dd0157420176890079368edc62032597fd50c21d9a4b5a", + "typeString": "literal_string \"updateTokenURI::metadata is locked\"" + } + ], + "id": 28258, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8455:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 28263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8455:107:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28264, + "nodeType": "ExpressionStatement", + "src": "8455:107:37" + }, + { + "expression": { + "id": 28269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 28265, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27957, + "src": "8573:10:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 28267, + "indexExpression": { + "id": 28266, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28251, + "src": "8584:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8573:20:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 28268, + "name": "_metadataUri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28253, + "src": "8596:12:37", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + "src": "8573:35:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 28270, + "nodeType": "ExpressionStatement", + "src": "8573:35:37" + }, + { + "eventCall": { + "arguments": [ + { + "id": 28272, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28251, + "src": "8639:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 28273, + "name": "_metadataUri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28253, + "src": "8649:12:37", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 28271, + "name": "TokenURIUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27987, + "src": "8623:15:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (uint256,string memory)" + } + }, + "id": 28274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8623:39:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28275, + "nodeType": "EmitStatement", + "src": "8618:44:37" + } + ] + }, + "documentation": { + "id": 28249, + "nodeType": "StructuredDocumentation", + "src": "8224:103:37", + "text": " @dev Update the token metadata URI.\n @param _metadataUri The new metadata URI." + }, + "functionSelector": "18e97fd1", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 28256, + "kind": "modifierInvocation", + "modifierName": { + "id": 28255, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 24167, + "src": "8435:9:37" + }, + "nodeType": "ModifierInvocation", + "src": "8435:9:37" + } + ], + "name": "updateTokenURI", + "nameLocation": "8341:14:37", + "parameters": { + "id": 28254, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28251, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "8373:8:37", + "nodeType": "VariableDeclaration", + "scope": 28277, + "src": "8365:16:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28250, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8365:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28253, + "mutability": "mutable", + "name": "_metadataUri", + "nameLocation": "8407:12:37", + "nodeType": "VariableDeclaration", + "scope": 28277, + "src": "8391:28:37", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 28252, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8391:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8355:70:37" + }, + "returnParameters": { + "id": 28257, + "nodeType": "ParameterList", + "parameters": [], + "src": "8445:0:37" + }, + "scope": 28506, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 28295, + "nodeType": "FunctionDefinition", + "src": "8750:140:37", + "nodes": [], + "body": { + "id": 28294, + "nodeType": "Block", + "src": "8792:98:37", + "nodes": [], + "statements": [ + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 28284, + "name": "mintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27963, + "src": "8822:10:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MintConfig_$27941_storage", + "typeString": "struct LazySovereignNFT.MintConfig storage ref" + } + }, + "id": 28285, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "baseURI", + "nodeType": "MemberAccess", + "referencedDeclaration": 27938, + "src": "8822:18:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "id": 28283, + "name": "MetadataLocked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27977, + "src": "8807:14:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 28286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8807:34:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28287, + "nodeType": "EmitStatement", + "src": "8802:39:37" + }, + { + "expression": { + "id": 28292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 28288, + "name": "mintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27963, + "src": "8851:10:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MintConfig_$27941_storage", + "typeString": "struct LazySovereignNFT.MintConfig storage ref" + } + }, + "id": 28290, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "lockedMetadata", + "nodeType": "MemberAccess", + "referencedDeclaration": 27940, + "src": "8851:25:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 28291, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8879:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "8851:32:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 28293, + "nodeType": "ExpressionStatement", + "src": "8851:32:37" + } + ] + }, + "documentation": { + "id": 28278, + "nodeType": "StructuredDocumentation", + "src": "8675:70:37", + "text": " @dev Lock the metadata to prevent further updates." + }, + "functionSelector": "53df5c7c", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 28281, + "kind": "modifierInvocation", + "modifierName": { + "id": 28280, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 24167, + "src": "8782:9:37" + }, + "nodeType": "ModifierInvocation", + "src": "8782:9:37" + } + ], + "name": "lockBaseURI", + "nameLocation": "8759:11:37", + "parameters": { + "id": 28279, + "nodeType": "ParameterList", + "parameters": [], + "src": "8770:2:37" + }, + "returnParameters": { + "id": 28282, + "nodeType": "ParameterList", + "parameters": [], + "src": "8792:0:37" + }, + "scope": 28506, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 28308, + "nodeType": "FunctionDefinition", + "src": "9281:120:37", + "nodes": [], + "body": { + "id": 28307, + "nodeType": "Block", + "src": "9352:49:37", + "nodes": [], + "statements": [ + { + "expression": { + "baseExpression": { + "id": 28303, + "name": "minterAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27953, + "src": "9369:15:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 28305, + "indexExpression": { + "id": 28304, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28298, + "src": "9385:8:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9369:25:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 28302, + "id": 28306, + "nodeType": "Return", + "src": "9362:32:37" + } + ] + }, + "documentation": { + "id": 28296, + "nodeType": "StructuredDocumentation", + "src": "9082:194:37", + "text": " @dev Checks if the supplied address is approved for minting\n @param _address The address of the minter.\n @return bool, whether the address is approved for minting." + }, + "functionSelector": "3a3d146f", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isApprovedMinter", + "nameLocation": "9290:16:37", + "parameters": { + "id": 28299, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28298, + "mutability": "mutable", + "name": "_address", + "nameLocation": "9315:8:37", + "nodeType": "VariableDeclaration", + "scope": 28308, + "src": "9307:16:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28297, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9307:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "9306:18:37" + }, + "returnParameters": { + "id": 28302, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28301, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28308, + "src": "9346:4:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 28300, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9346:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "9345:6:37" + }, + "scope": 28506, + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "id": 28324, + "nodeType": "FunctionDefinition", + "src": "9583:141:37", + "nodes": [], + "body": { + "id": 28323, + "nodeType": "Block", + "src": "9684:40:37", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 28319, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24153, + "src": "9709:5:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 28320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9709:7:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 28318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9701:8:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_payable_$", + "typeString": "type(address payable)" + }, + "typeName": { + "id": 28317, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9701:8:37", + "stateMutability": "payable", + "typeDescriptions": {} + } + }, + "id": 28321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9701:16:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 28316, + "id": 28322, + "nodeType": "Return", + "src": "9694:23:37" + } + ] + }, + "baseFunctions": [ + 29148 + ], + "documentation": { + "id": 28309, + "nodeType": "StructuredDocumentation", + "src": "9407:171:37", + "text": " @dev Get the address of the token creator for a given token ID.\n @param _tokenId The ID of the token.\n @return address of the token creator." + }, + "functionSelector": "40c1a064", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenCreator", + "nameLocation": "9592:12:37", + "overrides": { + "id": 28313, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "9649:8:37" + }, + "parameters": { + "id": 28312, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28311, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "9622:8:37", + "nodeType": "VariableDeclaration", + "scope": 28324, + "src": "9614:16:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28310, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9614:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9604:32:37" + }, + "returnParameters": { + "id": 28316, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28315, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28324, + "src": "9667:15:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 28314, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9667:15:37", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + } + ], + "src": "9666:17:37" + }, + "scope": 28506, + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "id": 28334, + "nodeType": "FunctionDefinition", + "src": "9840:99:37", + "nodes": [], + "body": { + "id": 28333, + "nodeType": "Block", + "src": "9905:34:37", + "nodes": [], + "statements": [ + { + "expression": { + "id": 28331, + "name": "mintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27963, + "src": "9922:10:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MintConfig_$27941_storage", + "typeString": "struct LazySovereignNFT.MintConfig storage ref" + } + }, + "functionReturnParameters": 28330, + "id": 28332, + "nodeType": "Return", + "src": "9915:17:37" + } + ] + }, + "documentation": { + "id": 28325, + "nodeType": "StructuredDocumentation", + "src": "9730:105:37", + "text": " @dev Get the current minting configuration.\n @return mintConfig the mint config." + }, + "functionSelector": "9338bb5d", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getMintConfig", + "nameLocation": "9849:13:37", + "parameters": { + "id": 28326, + "nodeType": "ParameterList", + "parameters": [], + "src": "9862:2:37" + }, + "returnParameters": { + "id": 28330, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28329, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28334, + "src": "9886:17:37", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MintConfig_$27941_memory_ptr", + "typeString": "struct LazySovereignNFT.MintConfig" + }, + "typeName": { + "id": 28328, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 28327, + "name": "MintConfig", + "nodeType": "IdentifierPath", + "referencedDeclaration": 27941, + "src": "9886:10:37" + }, + "referencedDeclaration": 27941, + "src": "9886:10:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MintConfig_$27941_storage_ptr", + "typeString": "struct LazySovereignNFT.MintConfig" + } + }, + "visibility": "internal" + } + ], + "src": "9885:19:37" + }, + "scope": 28506, + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "id": 28373, + "nodeType": "FunctionDefinition", + "src": "10217:451:37", + "nodes": [], + "body": { + "id": 28372, + "nodeType": "Block", + "src": "10320:348:37", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 28351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 28345, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27957, + "src": "10340:10:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 28347, + "indexExpression": { + "id": 28346, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28337, + "src": "10351:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10340:20:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "id": 28344, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10334:5:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 28343, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10334:5:37", + "typeDescriptions": {} + } + }, + "id": 28348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10334:27:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + }, + "id": 28349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "10334:34:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 28350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10371:1:37", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10334:38:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 28357, + "nodeType": "IfStatement", + "src": "10330:96:37", + "trueBody": { + "id": 28356, + "nodeType": "Block", + "src": "10374:52:37", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 28352, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27957, + "src": "10395:10:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 28354, + "indexExpression": { + "id": 28353, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28337, + "src": "10406:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10395:20:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 28342, + "id": 28355, + "nodeType": "Return", + "src": "10388:27:37" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 28362, + "name": "mintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27963, + "src": "10516:10:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MintConfig_$27941_storage", + "typeString": "struct LazySovereignNFT.MintConfig storage ref" + } + }, + "id": 28363, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "baseURI", + "nodeType": "MemberAccess", + "referencedDeclaration": 27938, + "src": "10516:18:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "hexValue": "2f", + "id": 28364, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10556:3:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527", + "typeString": "literal_string \"/\"" + }, + "value": "/" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 28365, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28337, + "src": "10581:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 28366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 25918, + "src": "10581:17:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 28367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10581:19:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "2e6a736f6e", + "id": 28368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10622:7:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", + "typeString": "literal_string \".json\"" + }, + "value": ".json" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527", + "typeString": "literal_string \"/\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", + "typeString": "literal_string \".json\"" + } + ], + "expression": { + "id": 28360, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10478:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 28361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "10478:16:37", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 28369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10478:169:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 28359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10454:6:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 28358, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10454:6:37", + "typeDescriptions": {} + } + }, + "id": 28370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10454:207:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 28342, + "id": 28371, + "nodeType": "Return", + "src": "10435:226:37" + } + ] + }, + "baseFunctions": [ + 24600 + ], + "documentation": { + "id": 28335, + "nodeType": "StructuredDocumentation", + "src": "9945:267:37", + "text": " @dev Get the token URI for a specific token. If a token has a set URI,\n it will return that, otherwise it will return the token URI computed from\n the base URI.\n @param _tokenId The ID of the token.\n @return The token's URI." + }, + "functionSelector": "c87b56dd", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "10226:8:37", + "overrides": { + "id": 28339, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "10287:8:37" + }, + "parameters": { + "id": 28338, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28337, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "10252:8:37", + "nodeType": "VariableDeclaration", + "scope": 28373, + "src": "10244:16:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28336, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10244:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10234:32:37" + }, + "returnParameters": { + "id": 28342, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28341, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28373, + "src": "10305:13:37", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 28340, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10305:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "10304:15:37" + }, + "scope": 28506, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 28384, + "nodeType": "FunctionDefinition", + "src": "10790:109:37", + "nodes": [], + "body": { + "id": 28383, + "nodeType": "Block", + "src": "10851:48:37", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 28379, + "name": "tokenIdCounter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27960, + "src": "10868:14:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$25765_storage", + "typeString": "struct CountersUpgradeable.Counter storage ref" + } + }, + "id": 28380, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "current", + "nodeType": "MemberAccess", + "referencedDeclaration": 25777, + "src": "10868:22:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$25765_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$25765_storage_ptr_$", + "typeString": "function (struct CountersUpgradeable.Counter storage pointer) view returns (uint256)" + } + }, + "id": 28381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10868:24:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 28378, + "id": 28382, + "nodeType": "Return", + "src": "10861:31:37" + } + ] + }, + "documentation": { + "id": 28374, + "nodeType": "StructuredDocumentation", + "src": "10674:111:37", + "text": " @dev Get the total supply of tokens in existence.\n @return The total supply of tokens." + }, + "functionSelector": "18160ddd", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "10799:11:37", + "parameters": { + "id": 28375, + "nodeType": "ParameterList", + "parameters": [], + "src": "10810:2:37" + }, + "returnParameters": { + "id": 28378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28377, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28384, + "src": "10842:7:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28376, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10842:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10841:9:37" + }, + "scope": 28506, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 28419, + "nodeType": "FunctionDefinition", + "src": "10966:482:37", + "nodes": [], + "body": { + "id": 28418, + "nodeType": "Block", + "src": "11173:275:37", + "nodes": [], + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 28416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 28411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 28406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 28401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 28396, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28387, + "src": "11202:11:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 28398, + "name": "ITokenCreator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29149, + "src": "11222:13:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ITokenCreator_$29149_$", + "typeString": "type(contract ITokenCreator)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_ITokenCreator_$29149_$", + "typeString": "type(contract ITokenCreator)" + } + ], + "id": 28397, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "11217:4:37", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 28399, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11217:19:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_ITokenCreator_$29149", + "typeString": "type(contract ITokenCreator)" + } + }, + "id": 28400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "11217:31:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "11202:46:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 28404, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28387, + "src": "11300:11:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 28402, + "name": "ERC165Upgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26080, + "src": "11264:17:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC165Upgradeable_$26080_$", + "typeString": "type(contract ERC165Upgradeable)" + } + }, + "id": 28403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 26074, + "src": "11264:35:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 28405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11264:48:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11202:110:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 28409, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28387, + "src": "11365:11:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 28407, + "name": "ERC2981Upgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29123, + "src": "11328:18:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC2981Upgradeable_$29123_$", + "typeString": "type(contract ERC2981Upgradeable)" + } + }, + "id": 28408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 29096, + "src": "11328:36:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 28410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11328:49:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11202:175:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 28414, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28387, + "src": "11429:11:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 28412, + "name": "ERC721Upgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25263, + "src": "11393:17:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721Upgradeable_$25263_$", + "typeString": "type(contract ERC721Upgradeable)" + } + }, + "id": 28413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 24486, + "src": "11393:35:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 28415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11393:48:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11202:239:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 28395, + "id": 28417, + "nodeType": "Return", + "src": "11183:258:37" + } + ] + }, + "baseFunctions": [ + 24486, + 26074, + 29096 + ], + "documentation": { + "id": 28385, + "nodeType": "StructuredDocumentation", + "src": "10905:56:37", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "10975:17:37", + "overrides": { + "id": 28392, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "id": 28389, + "name": "ERC165Upgradeable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 26080, + "src": "11088:17:37" + }, + { + "id": 28390, + "name": "ERC2981Upgradeable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 29123, + "src": "11107:18:37" + }, + { + "id": 28391, + "name": "ERC721Upgradeable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 25263, + "src": "11127:17:37" + } + ], + "src": "11079:66:37" + }, + "parameters": { + "id": 28388, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28387, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "11009:11:37", + "nodeType": "VariableDeclaration", + "scope": 28419, + "src": "11002:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 28386, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "11002:6:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "10992:34:37" + }, + "returnParameters": { + "id": 28395, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28394, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28419, + "src": "11163:4:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 28393, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11163:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "11162:6:37" + }, + "scope": 28506, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 28467, + "nodeType": "FunctionDefinition", + "src": "11990:489:37", + "nodes": [], + "body": { + "id": 28466, + "nodeType": "Block", + "src": "12136:343:37", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 28431, + "name": "tokenIdCounter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27960, + "src": "12146:14:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$25765_storage", + "typeString": "struct CountersUpgradeable.Counter storage ref" + } + }, + "id": 28433, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "increment", + "nodeType": "MemberAccess", + "referencedDeclaration": 25791, + "src": "12146:24:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$25765_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$25765_storage_ptr_$", + "typeString": "function (struct CountersUpgradeable.Counter storage pointer)" + } + }, + "id": 28434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12146:26:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28435, + "nodeType": "ExpressionStatement", + "src": "12146:26:37" + }, + { + "assignments": [ + 28437 + ], + "declarations": [ + { + "constant": false, + "id": 28437, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "12190:7:37", + "nodeType": "VariableDeclaration", + "scope": 28466, + "src": "12182:15:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28436, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12182:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28441, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 28438, + "name": "tokenIdCounter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27960, + "src": "12200:14:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$25765_storage", + "typeString": "struct CountersUpgradeable.Counter storage ref" + } + }, + "id": 28439, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "current", + "nodeType": "MemberAccess", + "referencedDeclaration": 25777, + "src": "12200:22:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$25765_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$25765_storage_ptr_$", + "typeString": "function (struct CountersUpgradeable.Counter storage pointer) view returns (uint256)" + } + }, + "id": 28440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12200:24:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12182:42:37" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 28445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 28443, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28437, + "src": "12242:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 28444, + "name": "maxTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27945, + "src": "12253:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12242:20:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e73", + "id": 28446, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12264:34:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ae513c3d0861568782d381366f15b3d100b9bded3d0e0c001fa9100049752646", + "typeString": "literal_string \"_createToken::exceeded maxTokens\"" + }, + "value": "_createToken::exceeded maxTokens" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ae513c3d0861568782d381366f15b3d100b9bded3d0e0c001fa9100049752646", + "typeString": "literal_string \"_createToken::exceeded maxTokens\"" + } + ], + "id": 28442, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "12234:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 28447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12234:65:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28448, + "nodeType": "ExpressionStatement", + "src": "12234:65:37" + }, + { + "expression": { + "arguments": [ + { + "id": 28450, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28422, + "src": "12319:3:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 28451, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28437, + "src": "12324:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 28449, + "name": "_safeMint", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 24887, + 24916 + ], + "referencedDeclaration": 24887, + "src": "12309:9:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 28452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12309:23:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28453, + "nodeType": "ExpressionStatement", + "src": "12309:23:37" + }, + { + "expression": { + "arguments": [ + { + "id": 28455, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28437, + "src": "12364:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 28456, + "name": "_royaltyPercentage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28424, + "src": "12373:18:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 28454, + "name": "_setRoyaltyPercentage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29075, + "src": "12342:21:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 28457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12342:50:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28458, + "nodeType": "ExpressionStatement", + "src": "12342:50:37" + }, + { + "expression": { + "arguments": [ + { + "id": 28460, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28437, + "src": "12422:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 28461, + "name": "_royaltyReceiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28426, + "src": "12431:16:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 28459, + "name": "_setRoyaltyReceiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29061, + "src": "12402:19:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (uint256,address)" + } + }, + "id": 28462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12402:46:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28463, + "nodeType": "ExpressionStatement", + "src": "12402:46:37" + }, + { + "expression": { + "id": 28464, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28437, + "src": "12465:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 28430, + "id": 28465, + "nodeType": "Return", + "src": "12458:14:37" + } + ] + }, + "documentation": { + "id": 28420, + "nodeType": "StructuredDocumentation", + "src": "11644:341:37", + "text": " @dev Create a new token and assign it to the specified recipient.\n @param _to The address of the token recipient.\n @param _royaltyPercentage The royalty percentage for the token.\n @param _royaltyReceiver The address of the royalty receiver for the token.\n @return The ID of the newly created token." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_createToken", + "nameLocation": "11999:12:37", + "parameters": { + "id": 28427, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28422, + "mutability": "mutable", + "name": "_to", + "nameLocation": "12029:3:37", + "nodeType": "VariableDeclaration", + "scope": 28467, + "src": "12021:11:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28421, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12021:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28424, + "mutability": "mutable", + "name": "_royaltyPercentage", + "nameLocation": "12050:18:37", + "nodeType": "VariableDeclaration", + "scope": 28467, + "src": "12042:26:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28423, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12042:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28426, + "mutability": "mutable", + "name": "_royaltyReceiver", + "nameLocation": "12086:16:37", + "nodeType": "VariableDeclaration", + "scope": 28467, + "src": "12078:24:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28425, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12078:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "12011:97:37" + }, + "returnParameters": { + "id": 28430, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28429, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28467, + "src": "12127:7:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28428, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12127:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12126:9:37" + }, + "scope": 28506, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 28505, + "nodeType": "FunctionDefinition", + "src": "12716:483:37", + "nodes": [], + "body": { + "id": 28504, + "nodeType": "Block", + "src": "12820:379:37", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 28478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 28476, + "name": "_numberOfTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28472, + "src": "12851:15:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 28477, + "name": "maxTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27945, + "src": "12870:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12851:28:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e73", + "id": 28479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12893:34:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3d107e18dd5449cb3e3ae144663c6fa6de59970e6308c0c4681861dd40af824b", + "typeString": "literal_string \"_prepareMint::exceeded maxTokens\"" + }, + "value": "_prepareMint::exceeded maxTokens" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3d107e18dd5449cb3e3ae144663c6fa6de59970e6308c0c4681861dd40af824b", + "typeString": "literal_string \"_prepareMint::exceeded maxTokens\"" + } + ], + "id": 28475, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "12830:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 28480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12830:107:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28481, + "nodeType": "ExpressionStatement", + "src": "12830:107:37" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 28487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 28483, + "name": "tokenIdCounter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27960, + "src": "12968:14:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$25765_storage", + "typeString": "struct CountersUpgradeable.Counter storage ref" + } + }, + "id": 28484, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "current", + "nodeType": "MemberAccess", + "referencedDeclaration": 25777, + "src": "12968:22:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$25765_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$25765_storage_ptr_$", + "typeString": "function (struct CountersUpgradeable.Counter storage pointer) view returns (uint256)" + } + }, + "id": 28485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12968:24:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 28486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12996:1:37", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12968:29:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d696e742077697468203020746f6b656e73", + "id": 28488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13011:51:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_26580127c261cca94c6d9b75057d7537b3fcd5f42cadbc34dde7cfb94906c733", + "typeString": "literal_string \"_prepareMint::can only prepare mint with 0 tokens\"" + }, + "value": "_prepareMint::can only prepare mint with 0 tokens" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_26580127c261cca94c6d9b75057d7537b3fcd5f42cadbc34dde7cfb94906c733", + "typeString": "literal_string \"_prepareMint::can only prepare mint with 0 tokens\"" + } + ], + "id": 28482, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "12947:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 28489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12947:125:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28490, + "nodeType": "ExpressionStatement", + "src": "12947:125:37" + }, + { + "expression": { + "id": 28497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 28491, + "name": "mintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27963, + "src": "13082:10:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MintConfig_$27941_storage", + "typeString": "struct LazySovereignNFT.MintConfig storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 28493, + "name": "_numberOfTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28472, + "src": "13106:15:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 28494, + "name": "_baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28470, + "src": "13123:8:37", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "hexValue": "66616c7365", + "id": 28495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13133:5:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 28492, + "name": "MintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27941, + "src": "13095:10:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_MintConfig_$27941_storage_ptr_$", + "typeString": "type(struct LazySovereignNFT.MintConfig storage pointer)" + } + }, + "id": 28496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13095:44:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_MintConfig_$27941_memory_ptr", + "typeString": "struct LazySovereignNFT.MintConfig memory" + } + }, + "src": "13082:57:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MintConfig_$27941_storage", + "typeString": "struct LazySovereignNFT.MintConfig storage ref" + } + }, + "id": 28498, + "nodeType": "ExpressionStatement", + "src": "13082:57:37" + }, + { + "eventCall": { + "arguments": [ + { + "id": 28500, + "name": "_numberOfTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28472, + "src": "13166:15:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 28501, + "name": "_baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28470, + "src": "13183:8:37", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + ], + "id": 28499, + "name": "PrepareMint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27973, + "src": "13154:11:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (uint256,string memory)" + } + }, + "id": 28502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13154:38:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28503, + "nodeType": "EmitStatement", + "src": "13149:43:37" + } + ] + }, + "documentation": { + "id": 28468, + "nodeType": "StructuredDocumentation", + "src": "12485:226:37", + "text": " @dev Prepare a minting batch with a specified base URI and number of tokens.\n @param _baseURI The base URI for token metadata.\n @param _numberOfTokens The number of tokens to prepare for minting." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_prepareMint", + "nameLocation": "12725:12:37", + "parameters": { + "id": 28473, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28470, + "mutability": "mutable", + "name": "_baseURI", + "nameLocation": "12763:8:37", + "nodeType": "VariableDeclaration", + "scope": 28505, + "src": "12747:24:37", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 28469, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12747:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28472, + "mutability": "mutable", + "name": "_numberOfTokens", + "nameLocation": "12789:15:37", + "nodeType": "VariableDeclaration", + "scope": 28505, + "src": "12781:23:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28471, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12781:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12737:73:37" + }, + "returnParameters": { + "id": 28474, + "nodeType": "ParameterList", + "parameters": [], + "src": "12820:0:37" + }, + "scope": 28506, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 27913, + "name": "OwnableUpgradeable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 24230, + "src": "874:18:37" + }, + "id": 27914, + "nodeType": "InheritanceSpecifier", + "src": "874:18:37" + }, + { + "baseName": { + "id": 27915, + "name": "ERC165Upgradeable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 26080, + "src": "898:17:37" + }, + "id": 27916, + "nodeType": "InheritanceSpecifier", + "src": "898:17:37" + }, + { + "baseName": { + "id": 27917, + "name": "ERC721Upgradeable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 25263, + "src": "921:17:37" + }, + "id": 27918, + "nodeType": "InheritanceSpecifier", + "src": "921:17:37" + }, + { + "baseName": { + "id": 27919, + "name": "ITokenCreator", + "nodeType": "IdentifierPath", + "referencedDeclaration": 29149, + "src": "944:13:37" + }, + "id": 27920, + "nodeType": "InheritanceSpecifier", + "src": "944:13:37" + }, + { + "baseName": { + "id": 27921, + "name": "ERC721BurnableUpgradeable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 25447, + "src": "963:25:37" + }, + "id": 27922, + "nodeType": "InheritanceSpecifier", + "src": "963:25:37" + }, + { + "baseName": { + "id": 27923, + "name": "ERC2981Upgradeable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 29123, + "src": "994:18:37" + }, + "id": 27924, + "nodeType": "InheritanceSpecifier", + "src": "994:18:37" + } + ], + "canonicalName": "LazySovereignNFT", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 27912, + "nodeType": "StructuredDocumentation", + "src": "708:131:37", + "text": " @title LazySovereignNFT\n @dev This contract implements an ERC721 compliant NFT (Non-Fungible Token) with lazy minting." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 28506, + 29123, + 25447, + 29149, + 25263, + 25474, + 25397, + 26080, + 26092, + 24230, + 25759, + 24372, + 29139 + ], + "name": "LazySovereignNFT", + "nameLocation": "850:16:37", + "scope": 28507, + "usedErrors": [] + } + ], + "license": "MIT" + }, + "id": 37 +} \ No newline at end of file diff --git a/abis/LazySovereignNFTFactory.json b/abis/LazySovereignNFTFactory.json new file mode 100644 index 0000000..97121b8 --- /dev/null +++ b/abis/LazySovereignNFTFactory.json @@ -0,0 +1,4390 @@ +{ + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "contractAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "SovereignNFTContractCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "contractAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "contractType", + "type": "bytes32" + } + ], + "name": "SovereignNFTContractCreated", + "type": "event" + }, + { + "inputs": [], + "name": "LAZY_ROYALTY_GUARD", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "LAZY_ROYALTY_GUARD_DEADMAN", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "LAZY_SOVEREIGN_NFT", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_maxTokens", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_contractType", + "type": "bytes32" + } + ], + "name": "createSovereignNFTContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "lazySovereignNFT", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lazySovereignNFTRoyaltyGuard", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lazySovereignNFTRoyaltyGuardDeadmanTrigger", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sovereignNFT", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_contractType", + "type": "bytes32" + } + ], + "name": "setSovereignNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": { + "object": "0x608060405234801561001057600080fd5b5061001a33610102565b600060405161002890610152565b604051809103906000f080158015610044573d6000803e3d6000fd5b50600180546001600160a01b0319166001600160a01b03831617905560405190915060009061007290610160565b604051809103906000f08015801561008e573d6000803e3d6000fd5b50600280546001600160a01b0319166001600160a01b0383161790556040519091506000906100bc9061016e565b604051809103906000f0801580156100d8573d6000803e3d6000fd5b50600380546001600160a01b0319166001600160a01b03929092169190911790555061017c915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b612b418062000c6883390190565b61365d80620037a983390190565b61379f8062006e0683390190565b610adc806200018c6000396000f3fe608060405234801561001057600080fd5b50600436106100a85760003560e01c8063877ebf5111610071578063877ebf511461016a5780638da5cb5b1461017d578063a55b1c251461018e578063c4dca7ab146101a1578063f2fde38b146101b4578063f5e0e6df146101c757600080fd5b8062e8ece6146100ad57806322d60fcb146100e7578063637944f514610112578063715018a614610139578063740adf3114610143575b600080fd5b6100d47f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c581565b6040519081526020015b60405180910390f35b6002546100fa906001600160a01b031681565b6040516001600160a01b0390911681526020016100de565b6100d47f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd6881565b6101416101da565b005b6100d47f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c662517081565b6100fa61017836600461090b565b610219565b6000546001600160a01b03166100fa565b61014161019c366004610996565b610576565b6003546100fa906001600160a01b031681565b6101416101c23660046109c0565b6106e1565b6001546100fa906001600160a01b031681565b6000546001600160a01b0316331461020d5760405162461bcd60e51b8152600401610204906109e2565b60405180910390fd5b610217600061077c565b565b6000826000036102875760405162461bcd60e51b815260206004820152603360248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f6d6178604482015272546f6b656e732063616e74206265207a65726f60681b6064820152608401610204565b60007f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd68830361032d576001546102c5906001600160a01b03166107cc565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c19906102fa908990899033908a90600401610a64565b600060405180830381600087803b15801561031457600080fd5b505af1158015610328573d6000803e3d6000fd5b505050505b7f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c583036103d157600254610369906001600160a01b03166107cc565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c199061039e908990899033908a90600401610a64565b600060405180830381600087803b1580156103b857600080fd5b505af11580156103cc573d6000803e3d6000fd5b505050505b7f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c662517083036104755760035461040d906001600160a01b03166107cc565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c1990610442908990899033908a90600401610a64565b600060405180830381600087803b15801561045c57600080fd5b505af1158015610470573d6000803e3d6000fd5b505050505b6001600160a01b0381166104ff5760405162461bcd60e51b8152602060048201526044602482018190527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f636f6e908201527f74726163745479706520756e737570706f7274656420636f6e747261637420746064820152633cb8329760e11b608482015260a401610204565b60405133906001600160a01b038316907f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec90600090a3604051839033906001600160a01b038416907feec8a411955d10f84b6b0e3110b206d0888593b71381b8ca931e8f131f7eb36590600090a495945050505050565b6000546001600160a01b031633146105a05760405162461bcd60e51b8152600401610204906109e2565b6001600160a01b0382166105b357600080fd5b7f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd6881036105f957600180546001600160a01b0319166001600160a01b0384161790555050565b7f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c5810361063f57600280546001600160a01b0319166001600160a01b0384161790555050565b7f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c6625170810361068557600380546001600160a01b0319166001600160a01b0384161790555050565b60405162461bcd60e51b815260206004820152602b60248201527f736574536f7665726569676e4e46543a3a556e737570706f72746564205f636f60448201526a373a3930b1ba2a3cb8329760a91b6064820152608401610204565b6000546001600160a01b0316331461070b5760405162461bcd60e51b8152600401610204906109e2565b6001600160a01b0381166107705760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610204565b6107798161077c565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060405172602d8060093d393df3363d3d373d3d3d363d7360681b81528260601b60138201526e5af43d82803e903d91602b57fd5bf360881b60278201526036816000f09150506001600160a01b0381166108635760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606401610204565b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261088f57600080fd5b813567ffffffffffffffff808211156108aa576108aa610868565b604051601f8301601f19908116603f011681019082821181831017156108d2576108d2610868565b816040528381528660208588010111156108eb57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806080858703121561092157600080fd5b843567ffffffffffffffff8082111561093957600080fd5b6109458883890161087e565b9550602087013591508082111561095b57600080fd5b506109688782880161087e565b949794965050505060408301359260600135919050565b80356001600160a01b038116811461086357600080fd5b600080604083850312156109a957600080fd5b6109b28361097f565b946020939093013593505050565b6000602082840312156109d257600080fd5b6109db8261097f565b9392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000815180845260005b81811015610a3d57602081850181015186830182015201610a21565b81811115610a4f576000602083870101525b50601f01601f19169290920160200192915050565b608081526000610a776080830187610a17565b8281036020840152610a898187610a17565b6001600160a01b039590951660408401525050606001529291505056fea2646970667358221220765623b7f16e007846ea564f4ed04675bb647469fd2e929a8db47e3db6845d2264736f6c634300080f0033608060405234801561001057600080fd5b50612b21806100206000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c806370a0823111610130578063ab69607a116100b8578063e83157421161007c578063e8315742146104c0578063e985e9c5146104ca578063ee07080514610506578063efc32cd414610512578063f2fde38b1461052557600080fd5b8063ab69607a1461046c578063b390ac2514610474578063b88d4fde14610487578063b9fbd25c1461049a578063c87b56dd146104ad57600080fd5b80638da5cb5b116100ff5780638da5cb5b14610418578063931688cb146104295780639338bb5d1461043c57806395d89b4114610451578063a22cb4651461045957600080fd5b806370a08231146103e2578063715018a6146103f5578063755edd17146103fd578063894ba8331461041057600080fd5b80633a3d146f116101b357806342966c681161018257806342966c681461038e57806353df5c7c146103a15780635edc7c19146103a95780636297c16c146103bc5780636352211e146103cf57600080fd5b80633a3d146f146103285780633ebc82c51461035557806340c1a0641461036857806342842e0e1461037b57600080fd5b80630de54ba0116101fa5780630de54ba0146102a957806318160ddd146102bc57806323b872dd146102d25780632a55205a146102e55780633403c4e91461031757600080fd5b806301ffc9a71461022c57806306fdde0314610254578063081812fc14610269578063095ea7b314610294575b600080fd5b61023f61023a366004612001565b610538565b60405190151581526020015b60405180910390f35b61025c610581565b60405161024b9190612076565b61027c610277366004612089565b610613565b6040516001600160a01b03909116815260200161024b565b6102a76102a23660046120b9565b6106ad565b005b6102a76102b73660046120e3565b6107c2565b6102c461083a565b60405190815260200161024b565b6102a76102e036600461211f565b61084b565b6102f86102f336600461215b565b61087d565b604080516001600160a01b03909316835260208301919091520161024b565b60fb546001600160a01b031661027c565b61023f61033636600461217d565b6001600160a01b03166000908152610102602052604090205460ff1690565b6102a761036336600461217d565b610918565b61027c610376366004612089565b61094e565b6102a761038936600461211f565b610962565b6102a761039c366004612089565b61097d565b6102a76109f4565b6102a76103b73660046121e1565b610a68565b6102a76103ca366004612089565b610be8565b61027c6103dd366004612089565b610c51565b6102c46103f036600461217d565b610cc8565b6102a7610d4e565b6102c461040b36600461217d565b610d84565b6102a7610e5a565b6033546001600160a01b031661027c565b6102a761043736600461226a565b610ebe565b610444610f92565b60405161024b91906122ac565b61025c611076565b6102a76104673660046120e3565b611085565b60fc546102c4565b6102a76104823660046122ea565b611094565b6102a761049536600461234c565b6110eb565b6102a76104a8366004612428565b611123565b61025c6104bb366004612089565b6111a2565b6102c46101005481565b61023f6104d8366004612485565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b60ff805461023f911681565b6102a76105203660046120b9565b6111d7565b6102a761053336600461217d565b61122f565b60006001600160e01b03198216631030681960e21b148061055d575061055d826112c7565b8061056c575061056c826112dd565b8061057b575061057b826112fe565b92915050565b606060978054610590906124af565b80601f01602080910402602001604051908101604052809291908181526020018280546105bc906124af565b80156106095780601f106105de57610100808354040283529160200191610609565b820191906000526020600020905b8154815290600101906020018083116105ec57829003601f168201915b5050505050905090565b6000818152609960205260408120546001600160a01b03166106915760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152609b60205260409020546001600160a01b031690565b60006106b882610c51565b9050806001600160a01b0316836001600160a01b0316036107255760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610688565b336001600160a01b0382161480610741575061074181336104d8565b6107b35760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610688565b6107bd838361133e565b505050565b6033546001600160a01b031633146107ec5760405162461bcd60e51b8152600401610688906124e9565b60ff8054161561080e5760405162461bcd60e51b81526004016106889061251e565b6001600160a01b0391909116600090815261010260205260409020805460ff1916911515919091179055565b60006108466101035490565b905090565b610856335b826113ac565b6108725760405162461bcd60e51b815260040161068890612555565b6107bd8383836114a3565b600082815260fd602052604081205481906001600160a01b03166108ac5760fb546001600160a01b03166108c5565b600084815260fd60205260409020546001600160a01b03165b915061090f606461090960fe6000888152602001908152602001600020546000036108f25760fc54610902565b600087815260fe60205260409020545b869061163f565b90611652565b90509250929050565b6033546001600160a01b031633146109425760405162461bcd60e51b8152600401610688906124e9565b61094b8161165e565b50565b600061057b6033546001600160a01b031690565b6107bd838383604051806020016040528060008152506110eb565b61098633610850565b6109eb5760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b6064820152608401610688565b61094b81611680565b6033546001600160a01b03163314610a1e5760405162461bcd60e51b8152600401610688906124e9565b6040517fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e90610a5090610105906125a6565b60405180910390a1610106805460ff19166001179055565b6000610a74600161171b565b90508015610a8c576000805461ff0019166101001790555b6001600160a01b038316610ae25760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606401610688565b610aec600a60fc55565b60ff805460ff19169055610100829055610b046117a3565b610b7787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284376000920191909152506117d292505050565b610b7f611803565b610b8761182a565b610b908361165e565b610b998361122f565b8015610bdf576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b33610bf282610c51565b6001600160a01b031614610c485760405162461bcd60e51b815260206004820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e006044820152606401610688565b61094b8161097d565b6000818152609960205260408120546001600160a01b03168061057b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610688565b60006001600160a01b038216610d325760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610688565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610d785760405162461bcd60e51b8152600401610688906124e9565b610d826000611859565b565b60ff80546000911615610da95760405162461bcd60e51b81526004016106889061251e565b6033546001600160a01b0316331480610dd25750336000908152610102602052604090205460ff165b610e375760405162461bcd60e51b815260206004820152603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b6064820152608401610688565b61057b82610e4460fc5490565b60fb546001600160a01b03166118ab565b919050565b6033546001600160a01b03163314610e845760405162461bcd60e51b8152600401610688906124e9565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b6033546001600160a01b03163314610ee85760405162461bcd60e51b8152600401610688906124e9565b6101065460ff1615610f465760405162461bcd60e51b815260206004820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b6064820152608401610688565b610105610f5482848361267f565b507f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e8282604051610f86929190612740565b60405180910390a15050565b610fb8604051806060016040528060008152602001606081526020016000151581525090565b6040805160608101909152610104805482526101058054602084019190610fde906124af565b80601f016020809104026020016040519081016040528092919081815260200182805461100a906124af565b80156110575780601f1061102c57610100808354040283529160200191611057565b820191906000526020600020905b81548152906001019060200180831161103a57829003601f168201915b50505091835250506002919091015460ff161515602090910152919050565b606060988054610590906124af565b611090338383611967565b5050565b6033546001600160a01b031633146110be5760405162461bcd60e51b8152600401610688906124e9565b60ff805416156110e05760405162461bcd60e51b81526004016106889061251e565b6107bd838383611a35565b6110f533836113ac565b6111115760405162461bcd60e51b815260040161068890612555565b61111d84848484611bb7565b50505050565b6033546001600160a01b0316331461114d5760405162461bcd60e51b8152600401610688906124e9565b60ff8054161561116f5760405162461bcd60e51b81526004016106889061251e565b61117a848484611a35565b6001600160a01b0316600090815261010260205260409020805460ff19166001179055505050565b60606101056111b083611bea565b6040516020016111c192919061276f565b6040516020818303038152906040529050919050565b6033546001600160a01b031633146112015760405162461bcd60e51b8152600401610688906124e9565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b031633146112595760405162461bcd60e51b8152600401610688906124e9565b6001600160a01b0381166112be5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610688565b61094b81611859565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b148061057b575061057b825b60006001600160e01b031982166380ac58cd60e01b148061132f57506001600160e01b03198216635b5e139f60e01b145b8061057b575061057b826112c7565b6000818152609b6020526040902080546001600160a01b0319166001600160a01b038416908117909155819061137382610c51565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152609960205260408120546001600160a01b03166114255760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610688565b600061143083610c51565b9050806001600160a01b0316846001600160a01b0316148061147757506001600160a01b038082166000908152609c602090815260408083209388168352929052205460ff165b8061149b5750836001600160a01b031661149084610613565b6001600160a01b0316145b949350505050565b826001600160a01b03166114b682610c51565b6001600160a01b03161461151a5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610688565b6001600160a01b03821661157c5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610688565b61158760008261133e565b6001600160a01b0383166000908152609a602052604081208054600192906115b090849061282b565b90915550506001600160a01b0382166000908152609a602052604081208054600192906115de908490612842565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600061164b828461285a565b9392505050565b600061164b828461288f565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b600061168b82610c51565b905061169860008361133e565b6001600160a01b0381166000908152609a602052604081208054600192906116c190849061282b565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60008054610100900460ff1615611762578160ff16600114801561173e5750303b155b61175a5760405162461bcd60e51b8152600401610688906128a3565b506000919050565b60005460ff8084169116106117895760405162461bcd60e51b8152600401610688906128a3565b506000805460ff191660ff92909216919091179055600190565b600054610100900460ff166117ca5760405162461bcd60e51b8152600401610688906128f1565b610d82611ceb565b600054610100900460ff166117f95760405162461bcd60e51b8152600401610688906128f1565b6110908282611d1b565b600054610100900460ff16610d825760405162461bcd60e51b8152600401610688906128f1565b600054610100900460ff166118515760405162461bcd60e51b8152600401610688906128f1565b610d82611803565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006118bc61010380546001019055565b60006118c86101035490565b90506101005481111561191d5760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152606401610688565b6119278582611d5b565b600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b038516179055949350505050565b816001600160a01b0316836001600160a01b0316036119c85760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610688565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61010054811115611a885760405162461bcd60e51b815260206004820181905260248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e736044820152606401610688565b6101035415611af35760405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b6064820152608401610688565b604051806060016040528082815260200184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060209182015281516101049081559082015161010590611b5c908261293c565b50604091820151600291909101805460ff19169115159190911790555181907f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1990611baa9086908690612740565b60405180910390a2505050565b611bc28484846114a3565b611bce84848484611d75565b61111d5760405162461bcd60e51b8152600401610688906129fc565b606081600003611c115750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611c3b5780611c2581612a4e565b9150611c349050600a8361288f565b9150611c15565b60008167ffffffffffffffff811115611c5657611c56612336565b6040519080825280601f01601f191660200182016040528015611c80576020820181803683370190505b5090505b841561149b57611c9560018361282b565b9150611ca2600a86612a67565b611cad906030612842565b60f81b818381518110611cc257611cc2612a7b565b60200101906001600160f81b031916908160001a905350611ce4600a8661288f565b9450611c84565b600054610100900460ff16611d125760405162461bcd60e51b8152600401610688906128f1565b610d8233611859565b600054610100900460ff16611d425760405162461bcd60e51b8152600401610688906128f1565b6097611d4e838261293c565b5060986107bd828261293c565b611090828260405180602001604052806000815250611e76565b60006001600160a01b0384163b15611e6b57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611db9903390899088908890600401612a91565b6020604051808303816000875af1925050508015611df4575060408051601f3d908101601f19168201909252611df191810190612ace565b60015b611e51573d808015611e22576040519150601f19603f3d011682016040523d82523d6000602084013e611e27565b606091505b508051600003611e495760405162461bcd60e51b8152600401610688906129fc565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061149b565b506001949350505050565b611e808383611ea9565b611e8d6000848484611d75565b6107bd5760405162461bcd60e51b8152600401610688906129fc565b6001600160a01b038216611eff5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610688565b6000818152609960205260409020546001600160a01b031615611f645760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610688565b6001600160a01b0382166000908152609a60205260408120805460019290611f8d908490612842565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b03198116811461094b57600080fd5b60006020828403121561201357600080fd5b813561164b81611feb565b60005b83811015612039578181015183820152602001612021565b8381111561111d5750506000910152565b6000815180845261206281602086016020860161201e565b601f01601f19169290920160200192915050565b60208152600061164b602083018461204a565b60006020828403121561209b57600080fd5b5035919050565b80356001600160a01b0381168114610e5557600080fd5b600080604083850312156120cc57600080fd5b6120d5836120a2565b946020939093013593505050565b600080604083850312156120f657600080fd5b6120ff836120a2565b91506020830135801515811461211457600080fd5b809150509250929050565b60008060006060848603121561213457600080fd5b61213d846120a2565b925061214b602085016120a2565b9150604084013590509250925092565b6000806040838503121561216e57600080fd5b50508035926020909101359150565b60006020828403121561218f57600080fd5b61164b826120a2565b60008083601f8401126121aa57600080fd5b50813567ffffffffffffffff8111156121c257600080fd5b6020830191508360208285010111156121da57600080fd5b9250929050565b600080600080600080608087890312156121fa57600080fd5b863567ffffffffffffffff8082111561221257600080fd5b61221e8a838b01612198565b9098509650602089013591508082111561223757600080fd5b5061224489828a01612198565b90955093506122579050604088016120a2565b9150606087013590509295509295509295565b6000806020838503121561227d57600080fd5b823567ffffffffffffffff81111561229457600080fd5b6122a085828601612198565b90969095509350505050565b602081528151602082015260006020830151606060408401526122d2608084018261204a565b90506040840151151560608401528091505092915050565b6000806000604084860312156122ff57600080fd5b833567ffffffffffffffff81111561231657600080fd5b61232286828701612198565b909790965060209590950135949350505050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561236257600080fd5b61236b856120a2565b9350612379602086016120a2565b925060408501359150606085013567ffffffffffffffff8082111561239d57600080fd5b818701915087601f8301126123b157600080fd5b8135818111156123c3576123c3612336565b604051601f8201601f19908116603f011681019083821181831017156123eb576123eb612336565b816040528281528a602084870101111561240457600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806000806060858703121561243e57600080fd5b843567ffffffffffffffff81111561245557600080fd5b61246187828801612198565b9095509350506020850135915061247a604086016120a2565b905092959194509250565b6000806040838503121561249857600080fd5b6124a1836120a2565b915061090f602084016120a2565b600181811c908216806124c357607f821691505b6020821081036124e357634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60006020808352600084546125ba816124af565b808487015260406001808416600081146125db57600181146125f557612623565b60ff1985168984015283151560051b890183019550612623565b896000528660002060005b8581101561261b5781548b8201860152908301908801612600565b8a0184019650505b509398975050505050505050565b601f8211156107bd57600081815260208120601f850160051c810160208610156126585750805b601f850160051c820191505b8181101561267757828155600101612664565b505050505050565b67ffffffffffffffff83111561269757612697612336565b6126ab836126a583546124af565b83612631565b6000601f8411600181146126df57600085156126c75750838201355b600019600387901b1c1916600186901b178355612739565b600083815260209020601f19861690835b8281101561271057868501358255602094850194600190920191016126f0565b508682101561272d5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b600080845461277d816124af565b6001828116801561279557600181146127aa576127d9565b60ff19841687528215158302870194506127d9565b8860005260208060002060005b858110156127d05781548a8201529084019082016127b7565b50505082870194505b50602f60f81b8452865192506127f58382860160208a0161201e565b64173539b7b760d91b939092019182019290925260060195945050505050565b634e487b7160e01b600052601160045260246000fd5b60008282101561283d5761283d612815565b500390565b6000821982111561285557612855612815565b500190565b600081600019048311821515161561287457612874612815565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261289e5761289e612879565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b815167ffffffffffffffff81111561295657612956612336565b61296a8161296484546124af565b84612631565b602080601f83116001811461299f57600084156129875750858301515b600019600386901b1c1916600185901b178555612677565b600085815260208120601f198616915b828110156129ce578886015182559484019460019091019084016129af565b50858210156129ec5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600060018201612a6057612a60612815565b5060010190565b600082612a7657612a76612879565b500690565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612ac49083018461204a565b9695505050505050565b600060208284031215612ae057600080fd5b815161164b81611feb56fea2646970667358221220c98fa94911acc69f4888b4ce79165e5d513b88b682cd7393129d9d4db9c2729964736f6c634300080f0033608060405234801561001057600080fd5b5061363d806100206000396000f3fe608060405234801561001057600080fd5b506004361061028a5760003560e01c8063715018a61161015c578063b390ac25116100ce578063e985e9c511610087578063e985e9c5146105b9578063eab85118146105cc578063ee070805146105df578063efc32cd4146105eb578063f2fde38b146105fe578063ff6e8c8f1461061157600080fd5b8063b390ac2514610550578063b88d4fde14610563578063b9fbd25c14610576578063bc71945514610589578063c87b56dd1461059c578063e8315742146105af57600080fd5b8063931688cb11610120578063931688cb146104f25780639338bb5d1461050557806395d89b411461051a5780639e860f2a14610522578063a22cb46514610535578063ab69607a1461054857600080fd5b8063715018a6146104aa578063755edd17146104b257806387bc793f146104c5578063894ba833146104d95780638da5cb5b146104e157600080fd5b80633403c4e911610200578063472a6638116101b9578063472a66381461044357806353df5c7c146104565780635edc7c191461045e5780636297c16c146104715780636352211e1461048457806370a082311461049757600080fd5b80633403c4e9146103b95780633a3d146f146103ca5780633ebc82c5146103f757806340c1a0641461040a57806342842e0e1461041d57806342966c681461043057600080fd5b80630de54ba0116102525780630de54ba01461033057806318160ddd14610343578063204274861461035957806323b872dd1461036c5780632a55205a1461037f5780632ce878da146103b157600080fd5b8063012cf1e81461028f57806301ffc9a7146102b857806306fdde03146102db578063081812fc146102f0578063095ea7b31461031b575b600080fd5b6102a261029d3660046129c5565b610624565b6040516102af91906129e0565b60405180910390f35b6102cb6102c6366004612a43565b61066a565b60405190151581526020016102af565b6102e3610684565b6040516102af9190612ab8565b6103036102fe366004612acb565b610716565b6040516001600160a01b0390911681526020016102af565b61032e610329366004612afb565b6107b0565b005b61032e61033e366004612b25565b610885565b61034b6108fd565b6040519081526020016102af565b6102cb610367366004612b61565b61090e565b61032e61037a366004612b7c565b61093d565b61039261038d366004612bb8565b61096f565b604080516001600160a01b0390931683526020830191909152016102af565b6102a2610a0a565b60fb546001600160a01b0316610303565b6102cb6103d8366004612b61565b6001600160a01b03166000908152610102602052604090205460ff1690565b61032e610405366004612b61565b610a30565b610303610418366004612acb565b610a66565b61032e61042b366004612b7c565b610a7a565b61032e61043e366004612acb565b610a95565b61032e6104513660046129c5565b610b0c565b61032e610b3b565b61032e61046c366004612c23565b610baf565b61032e61047f366004612acb565b610d2f565b610303610492366004612acb565b610d98565b61034b6104a5366004612b61565b610e0f565b61032e610e95565b61034b6104c0366004612b61565b610ecb565b6101085460ff166040516102af9190612cc2565b61032e610fa1565b6033546001600160a01b0316610303565b61032e610500366004612cea565b611005565b61050d6110d9565b6040516102af9190612d2c565b6102e36111bd565b61032e610530366004612d6a565b6111cc565b61032e610543366004612b25565b61122f565b60fc5461034b565b61032e61055e366004612df0565b6112d6565b61032e610571366004612e52565b61132d565b61032e610584366004612f2e565b611365565b61032e6105973660046129c5565b6113e4565b6102e36105aa366004612acb565b611499565b61034b6101005481565b6102cb6105c7366004612f8b565b6114ce565b6102cb6105da366004612b61565b6114fc565b60ff80546102cb911681565b61032e6105f9366004612afb565b611523565b61032e61060c366004612b61565b61157b565b61032e61061f366004612d6a565b611613565b6060610664610107600084600281111561064057610640612cac565b600281111561065157610651612cac565b81526020019081526020016000206116ab565b92915050565b6000610675826116bf565b806106645750610664826116e4565b60606097805461069390612fb5565b80601f01602080910402602001604051908101604052809291908181526020018280546106bf90612fb5565b801561070c5780601f106106e15761010080835404028352916020019161070c565b820191906000526020600020905b8154815290600101906020018083116106ef57829003601f168201915b5050505050905090565b6000818152609960205260408120546001600160a01b03166107945760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152609b60205260409020546001600160a01b031690565b8160016101085460ff1660028111156107cb576107cb612cac565b0361082a5761080981610107600060015b60028111156107ed576107ed612cac565b815260200190815260200160002061172790919063ffffffff16565b610825576040516282b42960e81b815260040160405180910390fd5b610876565b60026101085460ff16600281111561084457610844612cac565b036108765761085981610107600060026107dc565b15610876576040516282b42960e81b815260040160405180910390fd5b6108808383611749565b505050565b6033546001600160a01b031633146108af5760405162461bcd60e51b815260040161078b90612fef565b60ff805416156108d15760405162461bcd60e51b815260040161078b90613024565b6001600160a01b0391909116600090815261010260205260409020805460ff1916911515919091179055565b60006109096101035490565b905090565b60006109226033546001600160a01b031690565b6001600160a01b0316826001600160a01b0316149050919050565b610948335b82611859565b6109645760405162461bcd60e51b815260040161078b9061305b565b610880838383611930565b600082815260fd602052604081205481906001600160a01b031661099e5760fb546001600160a01b03166109b7565b600084815260fd60205260409020546001600160a01b03165b9150610a0160646109fb60fe6000888152602001908152602001600020546000036109e45760fc546109f4565b600087815260fe60205260409020545b8690611acc565b90611ad8565b90509250929050565b61010854606090610909906101079060009060ff16600281111561064057610640612cac565b6033546001600160a01b03163314610a5a5760405162461bcd60e51b815260040161078b90612fef565b610a6381611ae4565b50565b60006106646033546001600160a01b031690565b6108808383836040518060200160405280600081525061132d565b610a9e33610942565b610b035760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b606482015260840161078b565b610a6381611b06565b610b153361090e565b610b3257604051635c510c8360e11b815260040160405180910390fd5b610a6381611ba2565b6033546001600160a01b03163314610b655760405162461bcd60e51b815260040161078b90612fef565b6040517fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e90610b9790610105906130ac565b60405180910390a1610106805460ff19166001179055565b6000610bbb6001611c1f565b90508015610bd3576000805461ff0019166101001790555b6001600160a01b038316610c295760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c20616464726573730000604482015260640161078b565b610c33600a60fc55565b60ff805460ff19169055610100829055610c4b611ca7565b610cbe87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611cd692505050565b610cc6611d07565b610cce611d2e565b610cd783611ae4565b610ce08361157b565b8015610d26576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b33610d3982610d98565b6001600160a01b031614610d8f5760405162461bcd60e51b815260206004820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e00604482015260640161078b565b610a6381610a95565b6000818152609960205260408120546001600160a01b0316806106645760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b606482015260840161078b565b60006001600160a01b038216610e795760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161078b565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610ebf5760405162461bcd60e51b815260040161078b90612fef565b610ec96000611d5d565b565b60ff80546000911615610ef05760405162461bcd60e51b815260040161078b90613024565b6033546001600160a01b0316331480610f195750336000908152610102602052604090205460ff165b610f7e5760405162461bcd60e51b815260206004820152603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b606482015260840161078b565b61066482610f8b60fc5490565b60fb546001600160a01b0316611daf565b919050565b6033546001600160a01b03163314610fcb5760405162461bcd60e51b815260040161078b90612fef565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b6033546001600160a01b0316331461102f5760405162461bcd60e51b815260040161078b90612fef565b6101065460ff161561108d5760405162461bcd60e51b815260206004820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b606482015260840161078b565b61010561109b828483613185565b507f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e82826040516110cd929190613246565b60405180910390a15050565b6110ff604051806060016040528060008152602001606081526020016000151581525090565b604080516060810190915261010480548252610105805460208401919061112590612fb5565b80601f016020809104026020016040519081016040528092919081815260200182805461115190612fb5565b801561119e5780601f106111735761010080835404028352916020019161119e565b820191906000526020600020905b81548152906001019060200180831161118157829003601f168201915b50505091835250506002919091015460ff161515602090910152919050565b60606098805461069390612fb5565b6111d53361090e565b6111f257604051635c510c8360e11b815260040160405180910390fd5b6108808383838080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509250611e6b915050565b8160016101085460ff16600281111561124a5761124a612cac565b036112805761125f81610107600060016107dc565b61127b576040516282b42960e81b815260040160405180910390fd5b6112cc565b60026101085460ff16600281111561129a5761129a612cac565b036112cc576112af81610107600060026107dc565b156112cc576040516282b42960e81b815260040160405180910390fd5b6108808383612048565b6033546001600160a01b031633146113005760405162461bcd60e51b815260040161078b90612fef565b60ff805416156113225760405162461bcd60e51b815260040161078b90613024565b610880838383612053565b6113373383611859565b6113535760405162461bcd60e51b815260040161078b9061305b565b61135f848484846121d5565b50505050565b6033546001600160a01b0316331461138f5760405162461bcd60e51b815260040161078b90612fef565b60ff805416156113b15760405162461bcd60e51b815260040161078b90613024565b6113bc848484612053565b6001600160a01b0316600090815261010260205260409020805460ff19166001179055505050565b6113ed3361090e565b61140a57604051635c510c8360e11b815260040160405180910390fd5b610107600082600281111561142157611421612cac565b600281111561143257611432612cac565b8152602081019190915260400160009081209081816114518282612984565b50505050336001600160a01b03167f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da248260405161148e9190612cc2565b60405180910390a250565b60606101056114a783612208565b6040516020016114b8929190613275565b6040516020818303038152906040529050919050565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b6101085460009061066490839061010790849060ff1660028111156107dc576107dc612cac565b6033546001600160a01b0316331461154d5760405162461bcd60e51b815260040161078b90612fef565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b031633146115a55760405162461bcd60e51b815260040161078b90612fef565b6001600160a01b03811661160a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161078b565b610a6381611d5d565b61161c3361090e565b61163957604051635c510c8360e11b815260040160405180910390fd5b600083600281111561164d5761164d612cac565b0361166b57604051632de777a160e11b815260040160405180910390fd5b6108808383838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525060019250611e6b915050565b606060006116b883612309565b9392505050565b60006001600160e01b0319821663fa31a45b60e01b1480610664575061066482612365565b60006001600160e01b03198216631030681960e21b1480611709575061170982612365565b8061171857506117188261237b565b8061066457506106648261239c565b6001600160a01b038116600090815260018301602052604081205415156116b8565b600061175482610d98565b9050806001600160a01b0316836001600160a01b0316036117c15760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b606482015260840161078b565b336001600160a01b03821614806117dd57506117dd81336114ce565b61184f5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606482015260840161078b565b61088083836123dc565b6000818152609960205260408120546001600160a01b03166118d25760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b606482015260840161078b565b60006118dd83610d98565b9050806001600160a01b0316846001600160a01b03161480611904575061190481856114ce565b806119285750836001600160a01b031661191d84610716565b6001600160a01b0316145b949350505050565b826001600160a01b031661194382610d98565b6001600160a01b0316146119a75760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b606482015260840161078b565b6001600160a01b038216611a095760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161078b565b611a146000826123dc565b6001600160a01b0383166000908152609a60205260408120805460019290611a3d908490613331565b90915550506001600160a01b0382166000908152609a60205260408120805460019290611a6b908490613348565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006116b88284613360565b60006116b88284613395565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b6000611b1182610d98565b9050611b1e6000836123dc565b6001600160a01b0381166000908152609a60205260408120805460019290611b47908490613331565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45b5050565b806002811115611bb457611bb4612cac565b6101085460ff166002811115611bcc57611bcc612cac565b60405133907f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f90600090a4610108805482919060ff19166001836002811115611c1757611c17612cac565b021790555050565b60008054610100900460ff1615611c66578160ff166001148015611c425750303b155b611c5e5760405162461bcd60e51b815260040161078b906133a9565b506000919050565b60005460ff808416911610611c8d5760405162461bcd60e51b815260040161078b906133a9565b506000805460ff191660ff92909216919091179055600190565b600054610100900460ff16611cce5760405162461bcd60e51b815260040161078b906133f7565b610ec961244a565b600054610100900460ff16611cfd5760405162461bcd60e51b815260040161078b906133f7565b611b9e828261247a565b600054610100900460ff16610ec95760405162461bcd60e51b815260040161078b906133f7565b600054610100900460ff16611d555760405162461bcd60e51b815260040161078b906133f7565b610ec9611d07565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611dc061010380546001019055565b6000611dcc6101035490565b905061010054811115611e215760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e73604482015260640161078b565b611e2b85826124ba565b600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b038516179055949350505050565b6000836002811115611e7f57611e7f612cac565b146108805760005b825181101561135f578115611f6857611ef7838281518110611eab57611eab613442565b60200260200101516101076000876002811115611eca57611eca612cac565b6002811115611edb57611edb612cac565b81526020019081526020016000206124d490919063ffffffff16565b50836002811115611f0a57611f0a612cac565b838281518110611f1c57611f1c613442565b60200260200101516001600160a01b0316336001600160a01b03167f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba153660405160405180910390a4612036565b611fc9838281518110611f7d57611f7d613442565b60200260200101516101076000876002811115611f9c57611f9c612cac565b6002811115611fad57611fad612cac565b81526020019081526020016000206124e990919063ffffffff16565b50836002811115611fdc57611fdc612cac565b838281518110611fee57611fee613442565b60200260200101516001600160a01b0316336001600160a01b03167fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed9560405160405180910390a45b8061204081613458565b915050611e87565b611b9e3383836124fe565b610100548111156120a65760405162461bcd60e51b815260206004820181905260248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e73604482015260640161078b565b61010354156121115760405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b606482015260840161078b565b604051806060016040528082815260200184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509385525050506020918201528151610104908155908201516101059061217a9082613471565b50604091820151600291909101805460ff19169115159190911790555181907f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba19906121c89086908690613246565b60405180910390a2505050565b6121e0848484611930565b6121ec848484846125cc565b61135f5760405162461bcd60e51b815260040161078b90613531565b60608160000361222f5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115612259578061224381613458565b91506122529050600a83613395565b9150612233565b60008167ffffffffffffffff81111561227457612274612e3c565b6040519080825280601f01601f19166020018201604052801561229e576020820181803683370190505b5090505b8415611928576122b3600183613331565b91506122c0600a86613583565b6122cb906030613348565b60f81b8183815181106122e0576122e0613442565b60200101906001600160f81b031916908160001a905350612302600a86613395565b94506122a2565b60608160000180548060200260200160405190810160405280929190818152602001828054801561235957602002820191906000526020600020905b815481526020019060010190808311612345575b50505050509050919050565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b14806106645750610664825b60006001600160e01b031982166380ac58cd60e01b14806123cd57506001600160e01b03198216635b5e139f60e01b145b80610664575061066482612365565b6000818152609b6020526040902080546001600160a01b0319166001600160a01b038416908117909155819061241182610d98565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600054610100900460ff166124715760405162461bcd60e51b815260040161078b906133f7565b610ec933611d5d565b600054610100900460ff166124a15760405162461bcd60e51b815260040161078b906133f7565b60976124ad8382613471565b5060986108808282613471565b611b9e8282604051806020016040528060008152506126cd565b60006116b8836001600160a01b038416612700565b60006116b8836001600160a01b03841661274f565b816001600160a01b0316836001600160a01b03160361255f5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161078b565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60006001600160a01b0384163b156126c257604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612610903390899088908890600401613597565b6020604051808303816000875af192505050801561264b575060408051601f3d908101601f19168201909252612648918101906135d4565b60015b6126a8573d808015612679576040519150601f19603f3d011682016040523d82523d6000602084013e61267e565b606091505b5080516000036126a05760405162461bcd60e51b815260040161078b90613531565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611928565b506001949350505050565b6126d78383612842565b6126e460008484846125cc565b6108805760405162461bcd60e51b815260040161078b90613531565b600081815260018301602052604081205461274757508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610664565b506000610664565b60008181526001830160205260408120548015612838576000612773600183613331565b855490915060009061278790600190613331565b90508181146127ec5760008660000182815481106127a7576127a7613442565b90600052602060002001549050808760000184815481106127ca576127ca613442565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806127fd576127fd6135f1565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610664565b6000915050610664565b6001600160a01b0382166128985760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161078b565b6000818152609960205260409020546001600160a01b0316156128fd5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161078b565b6001600160a01b0382166000908152609a60205260408120805460019290612926908490613348565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b5080546000825590600052602060002090810190610a6391905b808211156129b2576000815560010161299e565b5090565b803560038110610f9c57600080fd5b6000602082840312156129d757600080fd5b6116b8826129b6565b6020808252825182820181905260009190848201906040850190845b81811015612a215783516001600160a01b0316835292840192918401916001016129fc565b50909695505050505050565b6001600160e01b031981168114610a6357600080fd5b600060208284031215612a5557600080fd5b81356116b881612a2d565b60005b83811015612a7b578181015183820152602001612a63565b8381111561135f5750506000910152565b60008151808452612aa4816020860160208601612a60565b601f01601f19169290920160200192915050565b6020815260006116b86020830184612a8c565b600060208284031215612add57600080fd5b5035919050565b80356001600160a01b0381168114610f9c57600080fd5b60008060408385031215612b0e57600080fd5b612b1783612ae4565b946020939093013593505050565b60008060408385031215612b3857600080fd5b612b4183612ae4565b915060208301358015158114612b5657600080fd5b809150509250929050565b600060208284031215612b7357600080fd5b6116b882612ae4565b600080600060608486031215612b9157600080fd5b612b9a84612ae4565b9250612ba860208501612ae4565b9150604084013590509250925092565b60008060408385031215612bcb57600080fd5b50508035926020909101359150565b60008083601f840112612bec57600080fd5b50813567ffffffffffffffff811115612c0457600080fd5b602083019150836020828501011115612c1c57600080fd5b9250929050565b60008060008060008060808789031215612c3c57600080fd5b863567ffffffffffffffff80821115612c5457600080fd5b612c608a838b01612bda565b90985096506020890135915080821115612c7957600080fd5b50612c8689828a01612bda565b9095509350612c99905060408801612ae4565b9150606087013590509295509295509295565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612ce457634e487b7160e01b600052602160045260246000fd5b91905290565b60008060208385031215612cfd57600080fd5b823567ffffffffffffffff811115612d1457600080fd5b612d2085828601612bda565b90969095509350505050565b60208152815160208201526000602083015160606040840152612d526080840182612a8c565b90506040840151151560608401528091505092915050565b600080600060408486031215612d7f57600080fd5b612d88846129b6565b9250602084013567ffffffffffffffff80821115612da557600080fd5b818601915086601f830112612db957600080fd5b813581811115612dc857600080fd5b8760208260051b8501011115612ddd57600080fd5b6020830194508093505050509250925092565b600080600060408486031215612e0557600080fd5b833567ffffffffffffffff811115612e1c57600080fd5b612e2886828701612bda565b909790965060209590950135949350505050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215612e6857600080fd5b612e7185612ae4565b9350612e7f60208601612ae4565b925060408501359150606085013567ffffffffffffffff80821115612ea357600080fd5b818701915087601f830112612eb757600080fd5b813581811115612ec957612ec9612e3c565b604051601f8201601f19908116603f01168101908382118183101715612ef157612ef1612e3c565b816040528281528a6020848701011115612f0a57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060008060608587031215612f4457600080fd5b843567ffffffffffffffff811115612f5b57600080fd5b612f6787828801612bda565b90955093505060208501359150612f8060408601612ae4565b905092959194509250565b60008060408385031215612f9e57600080fd5b612fa783612ae4565b9150610a0160208401612ae4565b600181811c90821680612fc957607f821691505b602082108103612fe957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60006020808352600084546130c081612fb5565b808487015260406001808416600081146130e157600181146130fb57613129565b60ff1985168984015283151560051b890183019550613129565b896000528660002060005b858110156131215781548b8201860152908301908801613106565b8a0184019650505b509398975050505050505050565b601f82111561088057600081815260208120601f850160051c8101602086101561315e5750805b601f850160051c820191505b8181101561317d5782815560010161316a565b505050505050565b67ffffffffffffffff83111561319d5761319d612e3c565b6131b1836131ab8354612fb5565b83613137565b6000601f8411600181146131e557600085156131cd5750838201355b600019600387901b1c1916600186901b17835561323f565b600083815260209020601f19861690835b8281101561321657868501358255602094850194600190920191016131f6565b50868210156132335760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b600080845461328381612fb5565b6001828116801561329b57600181146132b0576132df565b60ff19841687528215158302870194506132df565b8860005260208060002060005b858110156132d65781548a8201529084019082016132bd565b50505082870194505b50602f60f81b8452865192506132fb8382860160208a01612a60565b64173539b7b760d91b939092019182019290925260060195945050505050565b634e487b7160e01b600052601160045260246000fd5b6000828210156133435761334361331b565b500390565b6000821982111561335b5761335b61331b565b500190565b600081600019048311821515161561337a5761337a61331b565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826133a4576133a461337f565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60006001820161346a5761346a61331b565b5060010190565b815167ffffffffffffffff81111561348b5761348b612e3c565b61349f816134998454612fb5565b84613137565b602080601f8311600181146134d457600084156134bc5750858301515b600019600386901b1c1916600185901b17855561317d565b600085815260208120601f198616915b82811015613503578886015182559484019460019091019084016134e4565b50858210156135215787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000826135925761359261337f565b500690565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906135ca90830184612a8c565b9695505050505050565b6000602082840312156135e657600080fd5b81516116b881612a2d565b634e487b7160e01b600052603160045260246000fdfea264697066735822122085268ddd0eb5da5bd3506525f3ecd9535679f679f9af0983e091cbb1fb43fef964736f6c634300080f0033608060405234801561001057600080fd5b5061377f806100206000396000f3fe608060405234801561001057600080fd5b50600436106102bb5760003560e01c806370a0823111610182578063ab69607a116100e9578063e8315742116100a2578063ee0708051161007c578063ee07080514610634578063efc32cd414610640578063f2fde38b14610653578063ff6e8c8f1461066657600080fd5b8063e831574214610604578063e985e9c51461060e578063eab851181461062157600080fd5b8063ab69607a1461059d578063b390ac25146105a5578063b88d4fde146105b8578063b9fbd25c146105cb578063bc719455146105de578063c87b56dd146105f157600080fd5b80638da5cb5b1161013b5780638da5cb5b14610536578063931688cb146105475780639338bb5d1461055a57806395d89b411461056f5780639e860f2a14610577578063a22cb4651461058a57600080fd5b806370a08231146104e3578063715018a6146104f6578063717392ed146104fe578063755edd171461050757806387bc793f1461051a578063894ba8331461052e57600080fd5b80633403c4e911610226578063472a6638116101df578063472a66381461048757806353df5c7c1461049a5780635aec8d62146104a25780635edc7c19146104aa5780636297c16c146104bd5780636352211e146104d057600080fd5b80633403c4e9146103fd5780633a3d146f1461040e5780633ebc82c51461043b57806340c1a0641461044e57806342842e0e1461046157806342966c681461047457600080fd5b806318160ddd1161027857806318160ddd14610374578063204274861461038a57806321c4a5d81461039d57806323b872dd146103b05780632a55205a146103c35780632ce878da146103f557600080fd5b8063012cf1e8146102c057806301ffc9a7146102e957806306fdde031461030c578063081812fc14610321578063095ea7b31461034c5780630de54ba014610361575b600080fd5b6102d36102ce366004612b07565b610679565b6040516102e09190612b22565b60405180910390f35b6102fc6102f7366004612b85565b6106bf565b60405190151581526020016102e0565b6103146106d9565b6040516102e09190612bfa565b61033461032f366004612c0d565b61076b565b6040516001600160a01b0390911681526020016102e0565b61035f61035a366004612c3d565b610805565b005b61035f61036f366004612c67565b6108da565b61037c610952565b6040519081526020016102e0565b6102fc610398366004612ca3565b610963565b61035f6103ab366004612c0d565b610992565b61035f6103be366004612cbe565b6109c4565b6103d66103d1366004612cfa565b6109f6565b604080516001600160a01b0390931683526020830191909152016102e0565b6102d3610a91565b60fb546001600160a01b0316610334565b6102fc61041c366004612ca3565b6001600160a01b03166000908152610102602052604090205460ff1690565b61035f610449366004612ca3565b610ab7565b61033461045c366004612c0d565b610aea565b61035f61046f366004612cbe565b610afe565b61035f610482366004612c0d565b610b19565b61035f610495366004612b07565b610b90565b61035f610bbf565b61035f610c33565b61035f6104b8366004612d65565b610c8e565b61035f6104cb366004612c0d565b610e0e565b6103346104de366004612c0d565b610e77565b61037c6104f1366004612ca3565b610eee565b61035f610f74565b6101095461037c565b61037c610515366004612ca3565b610faa565b6101085460ff166040516102e09190612e04565b61035f611080565b6033546001600160a01b0316610334565b61035f610555366004612e2c565b6110e4565b6105626111b8565b6040516102e09190612e6e565b61031461129c565b61035f610585366004612eac565b6112ab565b61035f610598366004612c67565b61130e565b60fc5461037c565b61035f6105b3366004612f32565b6113b5565b61035f6105c6366004612f94565b61140c565b61035f6105d9366004613070565b611444565b61035f6105ec366004612b07565b6114c3565b6103146105ff366004612c0d565b611578565b61037c6101005481565b6102fc61061c3660046130cd565b6115ad565b6102fc61062f366004612ca3565b6115db565b60ff80546102fc911681565b61035f61064e366004612c3d565b611602565b61035f610661366004612ca3565b61165a565b61035f610674366004612eac565b6116f2565b60606106b9610107600084600281111561069557610695612dee565b60028111156106a6576106a6612dee565b815260200190815260200160002061178a565b92915050565b60006106ca8261179e565b806106b957506106b9826117c3565b6060609780546106e8906130f7565b80601f0160208091040260200160405190810160405280929190818152602001828054610714906130f7565b80156107615780601f1061073657610100808354040283529160200191610761565b820191906000526020600020905b81548152906001019060200180831161074457829003601f168201915b5050505050905090565b6000818152609960205260408120546001600160a01b03166107e95760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152609b60205260409020546001600160a01b031690565b8160016101085460ff16600281111561082057610820612dee565b0361087f5761085e81610107600060015b600281111561084257610842612dee565b815260200190815260200160002061180690919063ffffffff16565b61087a576040516282b42960e81b815260040160405180910390fd5b6108cb565b60026101085460ff16600281111561089957610899612dee565b036108cb576108ae8161010760006002610831565b156108cb576040516282b42960e81b815260040160405180910390fd5b6108d58383611828565b505050565b6033546001600160a01b031633146109045760405162461bcd60e51b81526004016107e090613131565b60ff805416156109265760405162461bcd60e51b81526004016107e090613166565b6001600160a01b0391909116600090815261010260205260409020805460ff1916911515919091179055565b600061095e6101035490565b905090565b60006109776033546001600160a01b031690565b6001600160a01b0316826001600160a01b0316149050919050565b61099b33610963565b6109b857604051635c510c8360e11b815260040160405180910390fd5b6109c181611938565b50565b6109cf335b8261199b565b6109eb5760405162461bcd60e51b81526004016107e09061319d565b6108d5838383611a72565b600082815260fd602052604081205481906001600160a01b0316610a255760fb546001600160a01b0316610a3e565b600084815260fd60205260409020546001600160a01b03165b9150610a886064610a8260fe600088815260200190815260200160002054600003610a6b5760fc54610a7b565b600087815260fe60205260409020545b8690611c0e565b90611c1a565b90509250929050565b6101085460609061095e906101079060009060ff16600281111561069557610695612dee565b6033546001600160a01b03163314610ae15760405162461bcd60e51b81526004016107e090613131565b6109c181611c26565b60006106b96033546001600160a01b031690565b6108d58383836040518060200160405280600081525061140c565b610b22336109c9565b610b875760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b60648201526084016107e0565b6109c181611c48565b610b9933610963565b610bb657604051635c510c8360e11b815260040160405180910390fd5b6109c181611ce4565b6033546001600160a01b03163314610be95760405162461bcd60e51b81526004016107e090613131565b6040517fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e90610c1b90610105906131ee565b60405180910390a1610106805460ff19166001179055565b42610109541115610c575760405163807a684760e01b815260040160405180910390fd5b610c616000611ce4565b60405133907f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a4690600090a2565b6000610c9a6001611d61565b90508015610cb2576000805461ff0019166101001790555b6001600160a01b038316610d085760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c2061646472657373000060448201526064016107e0565b610d12600a60fc55565b60ff805460ff19169055610100829055610d2a611de9565b610d9d87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611e1892505050565b610da5611e49565b610dad611e70565b610db683611c26565b610dbf8361165a565b8015610e05576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b33610e1882610e77565b6001600160a01b031614610e6e5760405162461bcd60e51b815260206004820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e0060448201526064016107e0565b6109c181610b19565b6000818152609960205260408120546001600160a01b0316806106b95760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016107e0565b60006001600160a01b038216610f585760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016107e0565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610f9e5760405162461bcd60e51b81526004016107e090613131565b610fa86000611e9f565b565b60ff80546000911615610fcf5760405162461bcd60e51b81526004016107e090613166565b6033546001600160a01b0316331480610ff85750336000908152610102602052604090205460ff165b61105d5760405162461bcd60e51b815260206004820152603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b60648201526084016107e0565b6106b98261106a60fc5490565b60fb546001600160a01b0316611ef1565b919050565b6033546001600160a01b031633146110aa5760405162461bcd60e51b81526004016107e090613131565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b6033546001600160a01b0316331461110e5760405162461bcd60e51b81526004016107e090613131565b6101065460ff161561116c5760405162461bcd60e51b815260206004820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b60648201526084016107e0565b61010561117a8284836132c7565b507f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e82826040516111ac929190613388565b60405180910390a15050565b6111de604051806060016040528060008152602001606081526020016000151581525090565b6040805160608101909152610104805482526101058054602084019190611204906130f7565b80601f0160208091040260200160405190810160405280929190818152602001828054611230906130f7565b801561127d5780601f106112525761010080835404028352916020019161127d565b820191906000526020600020905b81548152906001019060200180831161126057829003601f168201915b50505091835250506002919091015460ff161515602090910152919050565b6060609880546106e8906130f7565b6112b433610963565b6112d157604051635c510c8360e11b815260040160405180910390fd5b6108d58383838080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509250611fad915050565b8160016101085460ff16600281111561132957611329612dee565b0361135f5761133e8161010760006001610831565b61135a576040516282b42960e81b815260040160405180910390fd5b6113ab565b60026101085460ff16600281111561137957611379612dee565b036113ab5761138e8161010760006002610831565b156113ab576040516282b42960e81b815260040160405180910390fd5b6108d5838361218a565b6033546001600160a01b031633146113df5760405162461bcd60e51b81526004016107e090613131565b60ff805416156114015760405162461bcd60e51b81526004016107e090613166565b6108d5838383612195565b611416338361199b565b6114325760405162461bcd60e51b81526004016107e09061319d565b61143e84848484612317565b50505050565b6033546001600160a01b0316331461146e5760405162461bcd60e51b81526004016107e090613131565b60ff805416156114905760405162461bcd60e51b81526004016107e090613166565b61149b848484612195565b6001600160a01b0316600090815261010260205260409020805460ff19166001179055505050565b6114cc33610963565b6114e957604051635c510c8360e11b815260040160405180910390fd5b610107600082600281111561150057611500612dee565b600281111561151157611511612dee565b8152602081019190915260400160009081209081816115308282612ac6565b50505050336001600160a01b03167f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da248260405161156d9190612e04565b60405180910390a250565b60606101056115868361234a565b6040516020016115979291906133b7565b6040516020818303038152906040529050919050565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b610108546000906106b990839061010790849060ff16600281111561083157610831612dee565b6033546001600160a01b0316331461162c5760405162461bcd60e51b81526004016107e090613131565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b031633146116845760405162461bcd60e51b81526004016107e090613131565b6001600160a01b0381166116e95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107e0565b6109c181611e9f565b6116fb33610963565b61171857604051635c510c8360e11b815260040160405180910390fd5b600083600281111561172c5761172c612dee565b0361174a57604051632de777a160e11b815260040160405180910390fd5b6108d58383838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525060019250611fad915050565b606060006117978361244b565b9392505050565b60006001600160e01b0319821663fa31a45b60e01b14806106b957506106b9826124a7565b60006001600160e01b03198216631030681960e21b14806117e857506117e8826124a7565b806117f757506117f7826124bd565b806106b957506106b9826124de565b6001600160a01b03811660009081526001830160205260408120541515611797565b600061183382610e77565b9050806001600160a01b0316836001600160a01b0316036118a05760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016107e0565b336001600160a01b03821614806118bc57506118bc81336115ad565b61192e5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016107e0565b6108d5838361251e565b6000611948826301e13380613473565b6119529042613492565b61010954604080519182526020820183905291925033917f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc9910160405180910390a26101095550565b6000818152609960205260408120546001600160a01b0316611a145760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016107e0565b6000611a1f83610e77565b9050806001600160a01b0316846001600160a01b03161480611a465750611a4681856115ad565b80611a6a5750836001600160a01b0316611a5f8461076b565b6001600160a01b0316145b949350505050565b826001600160a01b0316611a8582610e77565b6001600160a01b031614611ae95760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016107e0565b6001600160a01b038216611b4b5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016107e0565b611b5660008261251e565b6001600160a01b0383166000908152609a60205260408120805460019290611b7f9084906134aa565b90915550506001600160a01b0382166000908152609a60205260408120805460019290611bad908490613492565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006117978284613473565b600061179782846134d7565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b6000611c5382610e77565b9050611c6060008361251e565b6001600160a01b0381166000908152609a60205260408120805460019290611c899084906134aa565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45b5050565b806002811115611cf657611cf6612dee565b6101085460ff166002811115611d0e57611d0e612dee565b60405133907f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f90600090a4610108805482919060ff19166001836002811115611d5957611d59612dee565b021790555050565b60008054610100900460ff1615611da8578160ff166001148015611d845750303b155b611da05760405162461bcd60e51b81526004016107e0906134eb565b506000919050565b60005460ff808416911610611dcf5760405162461bcd60e51b81526004016107e0906134eb565b506000805460ff191660ff92909216919091179055600190565b600054610100900460ff16611e105760405162461bcd60e51b81526004016107e090613539565b610fa861258c565b600054610100900460ff16611e3f5760405162461bcd60e51b81526004016107e090613539565b611ce082826125bc565b600054610100900460ff16610fa85760405162461bcd60e51b81526004016107e090613539565b600054610100900460ff16611e975760405162461bcd60e51b81526004016107e090613539565b610fa8611e49565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611f0261010380546001019055565b6000611f0e6101035490565b905061010054811115611f635760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e7360448201526064016107e0565b611f6d85826125fc565b600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b038516179055949350505050565b6000836002811115611fc157611fc1612dee565b146108d55760005b825181101561143e5781156120aa57612039838281518110611fed57611fed613584565b6020026020010151610107600087600281111561200c5761200c612dee565b600281111561201d5761201d612dee565b815260200190815260200160002061261690919063ffffffff16565b5083600281111561204c5761204c612dee565b83828151811061205e5761205e613584565b60200260200101516001600160a01b0316336001600160a01b03167f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba153660405160405180910390a4612178565b61210b8382815181106120bf576120bf613584565b602002602001015161010760008760028111156120de576120de612dee565b60028111156120ef576120ef612dee565b815260200190815260200160002061262b90919063ffffffff16565b5083600281111561211e5761211e612dee565b83828151811061213057612130613584565b60200260200101516001600160a01b0316336001600160a01b03167fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed9560405160405180910390a45b806121828161359a565b915050611fc9565b611ce0338383612640565b610100548111156121e85760405162461bcd60e51b815260206004820181905260248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e7360448201526064016107e0565b61010354156122535760405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b60648201526084016107e0565b604051806060016040528082815260200184848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250938552505050602091820152815161010490815590820151610105906122bc90826135b3565b50604091820151600291909101805460ff19169115159190911790555181907f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199061230a9086908690613388565b60405180910390a2505050565b612322848484611a72565b61232e8484848461270e565b61143e5760405162461bcd60e51b81526004016107e090613673565b6060816000036123715750506040805180820190915260018152600360fc1b602082015290565b8160005b811561239b57806123858161359a565b91506123949050600a836134d7565b9150612375565b60008167ffffffffffffffff8111156123b6576123b6612f7e565b6040519080825280601f01601f1916602001820160405280156123e0576020820181803683370190505b5090505b8415611a6a576123f56001836134aa565b9150612402600a866136c5565b61240d906030613492565b60f81b81838151811061242257612422613584565b60200101906001600160f81b031916908160001a905350612444600a866134d7565b94506123e4565b60608160000180548060200260200160405190810160405280929190818152602001828054801561249b57602002820191906000526020600020905b815481526020019060010190808311612487575b50505050509050919050565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b14806106b957506106b9825b60006001600160e01b031982166380ac58cd60e01b148061250f57506001600160e01b03198216635b5e139f60e01b145b806106b957506106b9826124a7565b6000818152609b6020526040902080546001600160a01b0319166001600160a01b038416908117909155819061255382610e77565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600054610100900460ff166125b35760405162461bcd60e51b81526004016107e090613539565b610fa833611e9f565b600054610100900460ff166125e35760405162461bcd60e51b81526004016107e090613539565b60976125ef83826135b3565b5060986108d582826135b3565b611ce082826040518060200160405280600081525061280f565b6000611797836001600160a01b038416612842565b6000611797836001600160a01b038416612891565b816001600160a01b0316836001600160a01b0316036126a15760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016107e0565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60006001600160a01b0384163b1561280457604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906127529033908990889088906004016136d9565b6020604051808303816000875af192505050801561278d575060408051601f3d908101601f1916820190925261278a91810190613716565b60015b6127ea573d8080156127bb576040519150601f19603f3d011682016040523d82523d6000602084013e6127c0565b606091505b5080516000036127e25760405162461bcd60e51b81526004016107e090613673565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611a6a565b506001949350505050565b6128198383612984565b612826600084848461270e565b6108d55760405162461bcd60e51b81526004016107e090613673565b6000818152600183016020526040812054612889575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556106b9565b5060006106b9565b6000818152600183016020526040812054801561297a5760006128b56001836134aa565b85549091506000906128c9906001906134aa565b905081811461292e5760008660000182815481106128e9576128e9613584565b906000526020600020015490508087600001848154811061290c5761290c613584565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061293f5761293f613733565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506106b9565b60009150506106b9565b6001600160a01b0382166129da5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016107e0565b6000818152609960205260409020546001600160a01b031615612a3f5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107e0565b6001600160a01b0382166000908152609a60205260408120805460019290612a68908490613492565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b50805460008255906000526020600020908101906109c191905b80821115612af45760008155600101612ae0565b5090565b80356003811061107b57600080fd5b600060208284031215612b1957600080fd5b61179782612af8565b6020808252825182820181905260009190848201906040850190845b81811015612b635783516001600160a01b031683529284019291840191600101612b3e565b50909695505050505050565b6001600160e01b0319811681146109c157600080fd5b600060208284031215612b9757600080fd5b813561179781612b6f565b60005b83811015612bbd578181015183820152602001612ba5565b8381111561143e5750506000910152565b60008151808452612be6816020860160208601612ba2565b601f01601f19169290920160200192915050565b6020815260006117976020830184612bce565b600060208284031215612c1f57600080fd5b5035919050565b80356001600160a01b038116811461107b57600080fd5b60008060408385031215612c5057600080fd5b612c5983612c26565b946020939093013593505050565b60008060408385031215612c7a57600080fd5b612c8383612c26565b915060208301358015158114612c9857600080fd5b809150509250929050565b600060208284031215612cb557600080fd5b61179782612c26565b600080600060608486031215612cd357600080fd5b612cdc84612c26565b9250612cea60208501612c26565b9150604084013590509250925092565b60008060408385031215612d0d57600080fd5b50508035926020909101359150565b60008083601f840112612d2e57600080fd5b50813567ffffffffffffffff811115612d4657600080fd5b602083019150836020828501011115612d5e57600080fd5b9250929050565b60008060008060008060808789031215612d7e57600080fd5b863567ffffffffffffffff80821115612d9657600080fd5b612da28a838b01612d1c565b90985096506020890135915080821115612dbb57600080fd5b50612dc889828a01612d1c565b9095509350612ddb905060408801612c26565b9150606087013590509295509295509295565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612e2657634e487b7160e01b600052602160045260246000fd5b91905290565b60008060208385031215612e3f57600080fd5b823567ffffffffffffffff811115612e5657600080fd5b612e6285828601612d1c565b90969095509350505050565b60208152815160208201526000602083015160606040840152612e946080840182612bce565b90506040840151151560608401528091505092915050565b600080600060408486031215612ec157600080fd5b612eca84612af8565b9250602084013567ffffffffffffffff80821115612ee757600080fd5b818601915086601f830112612efb57600080fd5b813581811115612f0a57600080fd5b8760208260051b8501011115612f1f57600080fd5b6020830194508093505050509250925092565b600080600060408486031215612f4757600080fd5b833567ffffffffffffffff811115612f5e57600080fd5b612f6a86828701612d1c565b909790965060209590950135949350505050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215612faa57600080fd5b612fb385612c26565b9350612fc160208601612c26565b925060408501359150606085013567ffffffffffffffff80821115612fe557600080fd5b818701915087601f830112612ff957600080fd5b81358181111561300b5761300b612f7e565b604051601f8201601f19908116603f0116810190838211818310171561303357613033612f7e565b816040528281528a602084870101111561304c57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806000806060858703121561308657600080fd5b843567ffffffffffffffff81111561309d57600080fd5b6130a987828801612d1c565b909550935050602085013591506130c260408601612c26565b905092959194509250565b600080604083850312156130e057600080fd5b6130e983612c26565b9150610a8860208401612c26565b600181811c9082168061310b57607f821691505b60208210810361312b57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6000602080835260008454613202816130f7565b80848701526040600180841660008114613223576001811461323d5761326b565b60ff1985168984015283151560051b89018301955061326b565b896000528660002060005b858110156132635781548b8201860152908301908801613248565b8a0184019650505b509398975050505050505050565b601f8211156108d557600081815260208120601f850160051c810160208610156132a05750805b601f850160051c820191505b818110156132bf578281556001016132ac565b505050505050565b67ffffffffffffffff8311156132df576132df612f7e565b6132f3836132ed83546130f7565b83613279565b6000601f841160018114613327576000851561330f5750838201355b600019600387901b1c1916600186901b178355613381565b600083815260209020601f19861690835b828110156133585786850135825560209485019460019092019101613338565b50868210156133755760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b60008084546133c5816130f7565b600182811680156133dd57600181146133f257613421565b60ff1984168752821515830287019450613421565b8860005260208060002060005b858110156134185781548a8201529084019082016133ff565b50505082870194505b50602f60f81b84528651925061343d8382860160208a01612ba2565b64173539b7b760d91b939092019182019290925260060195945050505050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561348d5761348d61345d565b500290565b600082198211156134a5576134a561345d565b500190565b6000828210156134bc576134bc61345d565b500390565b634e487b7160e01b600052601260045260246000fd5b6000826134e6576134e66134c1565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6000600182016135ac576135ac61345d565b5060010190565b815167ffffffffffffffff8111156135cd576135cd612f7e565b6135e1816135db84546130f7565b84613279565b602080601f83116001811461361657600084156135fe5750858301515b600019600386901b1c1916600185901b1785556132bf565b600085815260208120601f198616915b8281101561364557888601518255948401946001909101908401613626565b50858210156136635787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000826136d4576136d46134c1565b500690565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061370c90830184612bce565b9695505050505050565b60006020828403121561372857600080fd5b815161179781612b6f565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220b1773c9ef49fb96e2b549b48f79888be9bf2e0698590e99aeacfd05fc4c433a264736f6c634300080f0033", + "sourceMap": "387:3375:64:-:0;;;1125:461;;;;;;;;;-1:-1:-1;921:32:40;719:10:47;921:18:40;:32::i;:::-;1149:24:64;1176:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1208:16:64;:35;;-1:-1:-1;;;;;;1208:35:64;-1:-1:-1;;;;;1208:35:64;;;;;1295:34;;1208:35;;-1:-1:-1;;;1295:34:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1339:28:64;:49;;-1:-1:-1;;;;;;1339:49:64;-1:-1:-1;;;;;1339:49:64;;;;;1456:48;;1339:49;;-1:-1:-1;;;1456:48:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1514:42:64;:65;;-1:-1:-1;;;;;;1514:65:64;-1:-1:-1;;;;;1514:65:64;;;;;;;;;;-1:-1:-1;387:3375:64;;-1:-1:-1;;387:3375:64;2270:187:40;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:40;;;-1:-1:-1;;;;;;2378:17:40;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;387:3375:64:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b50600436106100a85760003560e01c8063877ebf5111610071578063877ebf511461016a5780638da5cb5b1461017d578063a55b1c251461018e578063c4dca7ab146101a1578063f2fde38b146101b4578063f5e0e6df146101c757600080fd5b8062e8ece6146100ad57806322d60fcb146100e7578063637944f514610112578063715018a614610139578063740adf3114610143575b600080fd5b6100d47f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c581565b6040519081526020015b60405180910390f35b6002546100fa906001600160a01b031681565b6040516001600160a01b0390911681526020016100de565b6100d47f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd6881565b6101416101da565b005b6100d47f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c662517081565b6100fa61017836600461090b565b610219565b6000546001600160a01b03166100fa565b61014161019c366004610996565b610576565b6003546100fa906001600160a01b031681565b6101416101c23660046109c0565b6106e1565b6001546100fa906001600160a01b031681565b6000546001600160a01b0316331461020d5760405162461bcd60e51b8152600401610204906109e2565b60405180910390fd5b610217600061077c565b565b6000826000036102875760405162461bcd60e51b815260206004820152603360248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f6d6178604482015272546f6b656e732063616e74206265207a65726f60681b6064820152608401610204565b60007f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd68830361032d576001546102c5906001600160a01b03166107cc565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c19906102fa908990899033908a90600401610a64565b600060405180830381600087803b15801561031457600080fd5b505af1158015610328573d6000803e3d6000fd5b505050505b7f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c583036103d157600254610369906001600160a01b03166107cc565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c199061039e908990899033908a90600401610a64565b600060405180830381600087803b1580156103b857600080fd5b505af11580156103cc573d6000803e3d6000fd5b505050505b7f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c662517083036104755760035461040d906001600160a01b03166107cc565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c1990610442908990899033908a90600401610a64565b600060405180830381600087803b15801561045c57600080fd5b505af1158015610470573d6000803e3d6000fd5b505050505b6001600160a01b0381166104ff5760405162461bcd60e51b8152602060048201526044602482018190527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f636f6e908201527f74726163745479706520756e737570706f7274656420636f6e747261637420746064820152633cb8329760e11b608482015260a401610204565b60405133906001600160a01b038316907f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec90600090a3604051839033906001600160a01b038416907feec8a411955d10f84b6b0e3110b206d0888593b71381b8ca931e8f131f7eb36590600090a495945050505050565b6000546001600160a01b031633146105a05760405162461bcd60e51b8152600401610204906109e2565b6001600160a01b0382166105b357600080fd5b7f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd6881036105f957600180546001600160a01b0319166001600160a01b0384161790555050565b7f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c5810361063f57600280546001600160a01b0319166001600160a01b0384161790555050565b7f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c6625170810361068557600380546001600160a01b0319166001600160a01b0384161790555050565b60405162461bcd60e51b815260206004820152602b60248201527f736574536f7665726569676e4e46543a3a556e737570706f72746564205f636f60448201526a373a3930b1ba2a3cb8329760a91b6064820152608401610204565b6000546001600160a01b0316331461070b5760405162461bcd60e51b8152600401610204906109e2565b6001600160a01b0381166107705760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610204565b6107798161077c565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060405172602d8060093d393df3363d3d373d3d3d363d7360681b81528260601b60138201526e5af43d82803e903d91602b57fd5bf360881b60278201526036816000f09150506001600160a01b0381166108635760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606401610204565b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261088f57600080fd5b813567ffffffffffffffff808211156108aa576108aa610868565b604051601f8301601f19908116603f011681019082821181831017156108d2576108d2610868565b816040528381528660208588010111156108eb57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806080858703121561092157600080fd5b843567ffffffffffffffff8082111561093957600080fd5b6109458883890161087e565b9550602087013591508082111561095b57600080fd5b506109688782880161087e565b949794965050505060408301359260600135919050565b80356001600160a01b038116811461086357600080fd5b600080604083850312156109a957600080fd5b6109b28361097f565b946020939093013593505050565b6000602082840312156109d257600080fd5b6109db8261097f565b9392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000815180845260005b81811015610a3d57602081850181015186830182015201610a21565b81811115610a4f576000602083870101525b50601f01601f19169290920160200192915050565b608081526000610a776080830187610a17565b8281036020840152610a898187610a17565b6001600160a01b039590951660408401525050606001529291505056fea2646970667358221220765623b7f16e007846ea564f4ed04675bb647469fd2e929a8db47e3db6845d2264736f6c634300080f0033", + "sourceMap": "387:3375:64:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;520:76;;565:31;520:76;;;;;160:25:77;;;148:2;133:18;520:76:64;;;;;;;;738:43;;;;;-1:-1:-1;;;;;738:43:64;;;;;;-1:-1:-1;;;;;360:32:77;;;342:51;;330:2;315:18;738:43:64;196:203:77;438:76:64;;483:31;438:76;;1668:101:40;;;:::i;:::-;;602:92:64;;655:39;602:92;;2260:1500;;;;;;:::i;:::-;;:::i;1036:85:40:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:40;1036:85;;1592:661:64;;;;;;:::i;:::-;;:::i;787:57::-;;;;;-1:-1:-1;;;;;787:57:64;;;1918:198:40;;;;;;:::i;:::-;;:::i;701:31:64:-;;;;;-1:-1:-1;;;;;701:31:64;;;1668:101:40;1082:7;1108:6;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;;;;;;;;;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;2260:1500:64:-;2437:7;2477:10;2491:1;2477:15;2456:113;;;;-1:-1:-1;;;2456:113:64;;3136:2:77;2456:113:64;;;3118:21:77;3175:2;3155:18;;;3148:30;3214:34;3194:18;;;3187:62;-1:-1:-1;;;3265:18:77;;;3258:49;3324:19;;2456:113:64;2934:415:77;2456:113:64;2580:15;483:31;2609:13;:35;2605:190;;2683:16;;2670:30;;-1:-1:-1;;;;;2683:16:64;2670:12;:30::i;:::-;2714:70;;-1:-1:-1;;;2714:70:64;;2660:40;;-1:-1:-1;;;;;;2714:30:64;;;;;:70;;2745:5;;2752:7;;2761:10;;2773;;2714:70;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2605:190;565:31;2808:13;:35;2804:292;;2882:28;;2869:42;;-1:-1:-1;;;;;2882:28:64;2869:12;:42::i;:::-;2925:160;;-1:-1:-1;;;2925:160:64;;2859:52;;-1:-1:-1;;;;;;2925:42:64;;;;;:160;;2985:5;;3008:7;;3033:10;;3061;;2925:160;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2804:292;655:39;3109:13;:43;3105:328;;3191:42;;3178:56;;-1:-1:-1;;;;;3191:42:64;3178:12;:56::i;:::-;3248:174;;-1:-1:-1;;;3248:174:64;;3168:66;;-1:-1:-1;;;;;;3248:56:64;;;;;:174;;3322:5;;3345:7;;3370:10;;3398;;3248:174;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3105:328;-1:-1:-1;;;;;3463:21:64;;3442:136;;;;-1:-1:-1;;;3442:136:64;;4591:2:77;3442:136:64;;;4573:21:77;4630:2;4610:18;;;4603:30;;;4669:34;4649:18;;;4642:62;4740:34;4720:18;;;4713:62;-1:-1:-1;;;4791:19:77;;;4784:35;4836:19;;3442:136:64;4389:472:77;3442:136:64;3593:48;;3630:10;;-1:-1:-1;;;;;3593:48:64;;;;;;;;3656:63;;3705:13;;3693:10;;-1:-1:-1;;;;;3656:63:64;;;;;;;;3745:7;2260:1500;-1:-1:-1;;;;;2260:1500:64:o;1592:661::-;1082:7:40;1108:6;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;-1:-1:-1;;;;;1720:27:64;::::1;1712:36;;;::::0;::::1;;483:31;1762:13;:35:::0;1758:118:::1;;1813:16;:32:::0;;-1:-1:-1;;;;;;1813:32:64::1;-1:-1:-1::0;;;;;1813:32:64;::::1;;::::0;;1592:661;;:::o;1758:118::-:1;565:31;1889:13;:35:::0;1885:130:::1;;1940:28;:44:::0;;-1:-1:-1;;;;;;1940:44:64::1;-1:-1:-1::0;;;;;1940:44:64;::::1;;::::0;;1592:661;;:::o;1885:130::-:1;655:39;2028:13;:43:::0;2024:152:::1;;2087:42;:58:::0;;-1:-1:-1;;;;;;2087:58:64::1;-1:-1:-1::0;;;;;2087:58:64;::::1;;::::0;;1592:661;;:::o;2024:152::-:1;2185:61;::::0;-1:-1:-1;;;2185:61:64;;5068:2:77;2185:61:64::1;::::0;::::1;5050:21:77::0;5107:2;5087:18;;;5080:30;5146:34;5126:18;;;5119:62;-1:-1:-1;;;5197:18:77;;;5190:41;5248:19;;2185:61:64::1;4866:407:77::0;1918:198:40;1082:7;1108:6;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:40;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:40;;5480:2:77;1998:73:40::1;::::0;::::1;5462:21:77::0;5519:2;5499:18;;;5492:30;5558:34;5538:18;;;5531:62;-1:-1:-1;;;5609:18:77;;;5602:36;5655:19;;1998:73:40::1;5278:402:77::0;1998:73:40::1;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;2270:187::-;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:40;;;-1:-1:-1;;;;;;2378:17:40;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;958:515:41:-;1015:16;1083:4;1077:11;-1:-1:-1;;;1108:3:41;1101:79;1226:14;1220:4;1216:25;1209:4;1204:3;1200:14;1193:49;-1:-1:-1;;;1271:4:41;1266:3;1262:14;1255:90;1385:4;1380:3;1377:1;1370:20;1358:32;-1:-1:-1;;;;;;;1417:22:41;;1409:57;;;;-1:-1:-1;;;1409:57:41;;5887:2:77;1409:57:41;;;5869:21:77;5926:2;5906:18;;;5899:30;-1:-1:-1;;;5945:18:77;;;5938:52;6007:18;;1409:57:41;5685:346:77;1409:57:41;958:515;;;:::o;404:127:77:-;465:10;460:3;456:20;453:1;446:31;496:4;493:1;486:15;520:4;517:1;510:15;536:719;579:5;632:3;625:4;617:6;613:17;609:27;599:55;;650:1;647;640:12;599:55;686:6;673:20;712:18;749:2;745;742:10;739:36;;;755:18;;:::i;:::-;830:2;824:9;798:2;884:13;;-1:-1:-1;;880:22:77;;;904:2;876:31;872:40;860:53;;;928:18;;;948:22;;;925:46;922:72;;;974:18;;:::i;:::-;1014:10;1010:2;1003:22;1049:2;1041:6;1034:18;1095:3;1088:4;1083:2;1075:6;1071:15;1067:26;1064:35;1061:55;;;1112:1;1109;1102:12;1061:55;1176:2;1169:4;1161:6;1157:17;1150:4;1142:6;1138:17;1125:54;1223:1;1216:4;1211:2;1203:6;1199:15;1195:26;1188:37;1243:6;1234:15;;;;;;536:719;;;;:::o;1260:680::-;1366:6;1374;1382;1390;1443:3;1431:9;1422:7;1418:23;1414:33;1411:53;;;1460:1;1457;1450:12;1411:53;1500:9;1487:23;1529:18;1570:2;1562:6;1559:14;1556:34;;;1586:1;1583;1576:12;1556:34;1609:50;1651:7;1642:6;1631:9;1627:22;1609:50;:::i;:::-;1599:60;;1712:2;1701:9;1697:18;1684:32;1668:48;;1741:2;1731:8;1728:16;1725:36;;;1757:1;1754;1747:12;1725:36;;1780:52;1824:7;1813:8;1802:9;1798:24;1780:52;:::i;:::-;1260:680;;1770:62;;-1:-1:-1;;;;1879:2:77;1864:18;;1851:32;;1930:2;1915:18;1902:32;;1260:680;-1:-1:-1;1260:680:77:o;1945:173::-;2013:20;;-1:-1:-1;;;;;2062:31:77;;2052:42;;2042:70;;2108:1;2105;2098:12;2123:254;2191:6;2199;2252:2;2240:9;2231:7;2227:23;2223:32;2220:52;;;2268:1;2265;2258:12;2220:52;2291:29;2310:9;2291:29;:::i;:::-;2281:39;2367:2;2352:18;;;;2339:32;;-1:-1:-1;;;2123:254:77:o;2382:186::-;2441:6;2494:2;2482:9;2473:7;2469:23;2465:32;2462:52;;;2510:1;2507;2500:12;2462:52;2533:29;2552:9;2533:29;:::i;:::-;2523:39;2382:186;-1:-1:-1;;;2382:186:77:o;2573:356::-;2775:2;2757:21;;;2794:18;;;2787:30;2853:34;2848:2;2833:18;;2826:62;2920:2;2905:18;;2573:356::o;3354:472::-;3396:3;3434:5;3428:12;3461:6;3456:3;3449:19;3486:1;3496:162;3510:6;3507:1;3504:13;3496:162;;;3572:4;3628:13;;;3624:22;;3618:29;3600:11;;;3596:20;;3589:59;3525:12;3496:162;;;3676:6;3673:1;3670:13;3667:87;;;3742:1;3735:4;3726:6;3721:3;3717:16;3713:27;3706:38;3667:87;-1:-1:-1;3808:2:77;3787:15;-1:-1:-1;;3783:29:77;3774:39;;;;3815:4;3770:50;;3354:472;-1:-1:-1;;3354:472:77:o;3831:553::-;4084:3;4073:9;4066:22;4047:4;4111:46;4152:3;4141:9;4137:19;4129:6;4111:46;:::i;:::-;4205:9;4197:6;4193:22;4188:2;4177:9;4173:18;4166:50;4233:33;4259:6;4251;4233:33;:::i;:::-;-1:-1:-1;;;;;4302:32:77;;;;4297:2;4282:18;;4275:60;-1:-1:-1;;4366:2:77;4351:18;4344:34;4225:41;3831:553;-1:-1:-1;;3831:553:77:o", + "linkReferences": {} + }, + "methodIdentifiers": { + "LAZY_ROYALTY_GUARD()": "00e8ece6", + "LAZY_ROYALTY_GUARD_DEADMAN()": "740adf31", + "LAZY_SOVEREIGN_NFT()": "637944f5", + "createSovereignNFTContract(string,string,uint256,bytes32)": "877ebf51", + "lazySovereignNFT()": "f5e0e6df", + "lazySovereignNFTRoyaltyGuard()": "22d60fcb", + "lazySovereignNFTRoyaltyGuardDeadmanTrigger()": "c4dca7ab", + "owner()": "8da5cb5b", + "renounceOwnership()": "715018a6", + "setSovereignNFT(address,bytes32)": "a55b1c25", + "transferOwnership(address)": "f2fde38b" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"SovereignNFTContractCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"contractType\",\"type\":\"bytes32\"}],\"name\":\"SovereignNFTContractCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"LAZY_ROYALTY_GUARD\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LAZY_ROYALTY_GUARD_DEADMAN\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LAZY_SOVEREIGN_NFT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_contractType\",\"type\":\"bytes32\"}],\"name\":\"createSovereignNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lazySovereignNFT\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lazySovereignNFTRoyaltyGuard\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lazySovereignNFTRoyaltyGuardDeadmanTrigger\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sovereignNFT\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_contractType\",\"type\":\"bytes32\"}],\"name\":\"setSovereignNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"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 anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing 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\":{\"src/token/ERC721/sovereign/lazy/LazySovereignNFTFactory.sol\":\"LazySovereignNFTFactory\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":aux/=lib/aux/\",\":ds-test/=lib/ds-test/src/\",\":erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/\",\":rareprotocol/aux/=lib/aux/src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":solmate/=lib/royalty-guard/lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x652fee292f698d8dba81bf287cb71f1682f6483b67ebe601a5f7387dcfc30b34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98c7bba29bcab7240cdaada7dd7cbe3529fec83314801270c46239e72a9e84d7\",\"dweb:/ipfs/QmfHCc1KMygjXchXVwafWTkFjhbb2SQ3Cu5GzRTdV4CCCh\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xb5239b505e918cb7427b939ff15da7bf7c4bb68ccb109caef246a3f58b19ba5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5f2ea070e870eea699ee433245459f08020a4752df4f5d391de87a529fc2bad\",\"dweb:/ipfs/QmWUcKCKzqQtB6sfJHxGzNj7QRogPmUsW3QQZPAcD3kLSB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0xf7f866b810ddf2508a9cba461906617a1ff561e33835d81a1be9bff9bbfb7ff9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21142ed30406e8f3dc9d42907aaef8bd34dfee63101d011fc3e1a3a198b9c740\",\"dweb:/ipfs/QmW7EkuJFzsejU5keEjULPFFDe8gBEiNYdQ6Z1LrgWnHst\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0x6c4dd0c916c4d69014b1a430f5803d3ea1f35c1a8021aefafde55ca4c2d20c2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93fd17a1502ac391fd929e9c585032efed0b2ed1fb6fe6026dbc44621538b84d\",\"dweb:/ipfs/Qmd3S9HaNGe83wctpj7Bvn6p2veG5P6QH1nPcRuKNJfUqN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xd16dc04b4bf357ae9d04e02d9fd05cc320bbc89720e0ad8efc2386e476f0b921\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d9c9054ada43073f83e6e36761a5e428da1a0ec0f1b238995deddcac2c21b8c\",\"dweb:/ipfs/QmS3pcaWW4uwaQqJ3iQ56fpNcf6NtWZTHeYL4fvPa3gQYz\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x417a6f201d6b0e3872979beca22f173ca518ef826fafb23b8d5b93bf7e42192d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ccc2bdaacf5e5cd18d3d5424e9eb118ff9e59485011595381869af89665c579\",\"dweb:/ipfs/QmdPps2gVGqktfANjoxyU93ridF86vpppp7HNoiJkDzksm\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x55cf2bd9fc76704ddcdc19834cd288b7de00fc0f298a40ea16a954ae8991db2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37e4df53c8d2e3c1062c1c7b2c17366db7de03bfd2559d340ca95c588aa49c2f\",\"dweb:/ipfs/QmQ9vsG3o4wED3FRogiSUhdzJvZSjjYFtydzXvFEJtgZk4\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0x398d3323c1932a5986bf36be7c57593e121e69d5db5b6574b4ee0d031443de37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b268304e03daf22c349abe3c318bc6a6badd6542d62311716ab401eec745f78\",\"dweb:/ipfs/QmNYy2sc2RoTjDhyT6HAibmeDGqfhDiDpsWRbHFHoGVHLr\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0x2033e349d606483684968f190b814bbc853774c8d82305e179d094c5042fb512\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa9b82acfb4493894b4123b4ab44f5ace697e743631642a8e0bc60aafca2bac5\",\"dweb:/ipfs/QmePLecHQuCPTErGNPH7C2zdXod9RZncAZ2cJoYBaUaPQp\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"lib/openzeppelin-contracts/contracts/proxy/Clones.sol\":{\"keccak256\":\"0x4413f86457f0ff24f7bc4cc94d296e822036203a8c90f565d6614f71d54add05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c7085025ed06e48a1c45b18499fdf6f2c1fdaeff1009e27174f7859a91af183\",\"dweb:/ipfs/QmTEMcuRneWqcPLtRqBpyqwHrmoPThfsEoo9mz1hjYcYFB\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacac2065b3ed1facff1163435890d4a6bcdc474e857e8e2c91ae5fb50418f723\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acd44ec097dd623f40870ca848c31deb02dca032ec9c56bd2e52ee103d35ce6d\",\"dweb:/ipfs/Qme3CuA45xCft72RjE6s4bmhffpe2NHvHULH9fh5oPbzBv\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x1fd7933ef0875db5bb8f32053e6ca36ab5544268c69cb04de9575609052a3fde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e70aba58a73da37b33e8c7f6e04cbf957530afd3f463d4010e2a671773f5d82\",\"dweb:/ipfs/QmVitut8wbt64G3vpg4SmtbkPYGyqYCoBAFBqfv2KybE11\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0xe06d80490ce50e16b7e631d6183cb3dac8b25482748814f394590f0de3c2e4a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d07b9e7985fd8a09150c8e69178bfb05eb5e86d90fd3d91f17f1a57289e805f\",\"dweb:/ipfs/QmczFpxjLYsaWndsDj2NFLa4cfoCYi3g8jHMVNfUCzN9xF\"]},\"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xe68316395a79ca1b88a356d821c3abb44dcf342cc5633914198d395f5e6fb255\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4849b485458869816863dca773fe26d4520046adfd1f017cc54a9480cdf0b81e\",\"dweb:/ipfs/QmPgdjLvhEW6ArWWy6eU5fPGVtb12ecQrhBHApFLCN2nQo\"]},\"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xcf9bb8bff70abfed58cf76ebb24db355677b70de14bb335dcf95bccf3e657f5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e283a8161fa7f163c2db9a0d45ad5c7d5890e531134838b6914e512cbb1fdbfb\",\"dweb:/ipfs/QmTkfaaQPCdVGCn2QG38NHe7auaUbDa8HwLcCSuZd5UFvT\"]},\"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol\":{\"keccak256\":\"0x2b601fa21108f1c62a3c58a6f1391815384d03d515a7e1162253d03238a773bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c2569f069fb29ec2ec336847305375914d253b96329e2861ae9466aabe3e8af\",\"dweb:/ipfs/QmTVsoJ4KnZTYWnVsFCzmhzMTPSQruuRvdoZ2dQqQheuZX\"]},\"src/token/ERC721/sovereign/lazy/LazySovereignNFTFactory.sol\":{\"keccak256\":\"0x2f647d698832f5b662b54b6c541ca6823dffcbcdbbf543ab64f5055bc44fdc12\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50a8bc850f5cd842f82f8b75ee20906eefd53bcef0e5d5383340e7343321cf19\",\"dweb:/ipfs/QmZeVJc1LiwVBDArWxEDwvd8YLPzQxNnj533p2Xsi3MoZy\"]},\"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol\":{\"keccak256\":\"0x16f6e92c4bb69769c06fb0e5a13a74f735cdee23f8a6e4082244685022694ea7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7512c6d328a4a73a22e8d051d25dbfba01f3af7b0284dd3b161a0e19fcf201df\",\"dweb:/ipfs/QmSSk5mnspvQEX9YpRFQVLzcYEjEVbUnGzGEY7mwjAn1xR\"]},\"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xe6ccd5e1671c64bbb2cbe9aff65617bbeef899d879cbe712bfb69f6fa490f29c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c1f6984f179fefe7ebbb3fb36d880484d59f3595c76537cf6d63333b2c6aa79\",\"dweb:/ipfs/QmNzGPY1AhpAJvduFDLFv3rSgMiHgrQugQ8VCXWwq5XdLK\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.15+commit.e14f2714" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "previousOwner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "newOwner", + "type": "address", + "indexed": true + } + ], + "type": "event", + "name": "OwnershipTransferred", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contractAddress", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + } + ], + "type": "event", + "name": "SovereignNFTContractCreated", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "contractAddress", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "bytes32", + "name": "contractType", + "type": "bytes32", + "indexed": true + } + ], + "type": "event", + "name": "SovereignNFTContractCreated", + "anonymous": false + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "LAZY_ROYALTY_GUARD", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "LAZY_ROYALTY_GUARD_DEADMAN", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "LAZY_SOVEREIGN_NFT", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ] + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_maxTokens", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_contractType", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "createSovereignNFTContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "lazySovereignNFT", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "lazySovereignNFTRoyaltyGuard", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "lazySovereignNFTRoyaltyGuardDeadmanTrigger", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "renounceOwnership" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sovereignNFT", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_contractType", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setSovereignNFT" + }, + { + "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 anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing 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": [ + "aux/=lib/aux/", + "ds-test/=lib/ds-test/src/", + "erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", + "openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", + "rareprotocol/aux/=lib/aux/src/", + "royalty-guard/=lib/royalty-guard/src/royalty-guard/", + "solmate/=lib/royalty-guard/lib/solmate/src/" + ], + "optimizer": { + "enabled": true, + "runs": 200 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "src/token/ERC721/sovereign/lazy/LazySovereignNFTFactory.sol": "LazySovereignNFTFactory" + }, + "libraries": {} + }, + "sources": { + "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol": { + "keccak256": "0x652fee292f698d8dba81bf287cb71f1682f6483b67ebe601a5f7387dcfc30b34", + "urls": [ + "bzz-raw://98c7bba29bcab7240cdaada7dd7cbe3529fec83314801270c46239e72a9e84d7", + "dweb:/ipfs/QmfHCc1KMygjXchXVwafWTkFjhbb2SQ3Cu5GzRTdV4CCCh" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol": { + "keccak256": "0xb5239b505e918cb7427b939ff15da7bf7c4bb68ccb109caef246a3f58b19ba5e", + "urls": [ + "bzz-raw://e5f2ea070e870eea699ee433245459f08020a4752df4f5d391de87a529fc2bad", + "dweb:/ipfs/QmWUcKCKzqQtB6sfJHxGzNj7QRogPmUsW3QQZPAcD3kLSB" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol": { + "keccak256": "0xf7f866b810ddf2508a9cba461906617a1ff561e33835d81a1be9bff9bbfb7ff9", + "urls": [ + "bzz-raw://21142ed30406e8f3dc9d42907aaef8bd34dfee63101d011fc3e1a3a198b9c740", + "dweb:/ipfs/QmW7EkuJFzsejU5keEjULPFFDe8gBEiNYdQ6Z1LrgWnHst" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol": { + "keccak256": "0x6c4dd0c916c4d69014b1a430f5803d3ea1f35c1a8021aefafde55ca4c2d20c2a", + "urls": [ + "bzz-raw://93fd17a1502ac391fd929e9c585032efed0b2ed1fb6fe6026dbc44621538b84d", + "dweb:/ipfs/Qmd3S9HaNGe83wctpj7Bvn6p2veG5P6QH1nPcRuKNJfUqN" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol": { + "keccak256": "0xd16dc04b4bf357ae9d04e02d9fd05cc320bbc89720e0ad8efc2386e476f0b921", + "urls": [ + "bzz-raw://4d9c9054ada43073f83e6e36761a5e428da1a0ec0f1b238995deddcac2c21b8c", + "dweb:/ipfs/QmS3pcaWW4uwaQqJ3iQ56fpNcf6NtWZTHeYL4fvPa3gQYz" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol": { + "keccak256": "0x417a6f201d6b0e3872979beca22f173ca518ef826fafb23b8d5b93bf7e42192d", + "urls": [ + "bzz-raw://3ccc2bdaacf5e5cd18d3d5424e9eb118ff9e59485011595381869af89665c579", + "dweb:/ipfs/QmdPps2gVGqktfANjoxyU93ridF86vpppp7HNoiJkDzksm" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol": { + "keccak256": "0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70", + "urls": [ + "bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3", + "dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol": { + "keccak256": "0x55cf2bd9fc76704ddcdc19834cd288b7de00fc0f298a40ea16a954ae8991db2d", + "urls": [ + "bzz-raw://37e4df53c8d2e3c1062c1c7b2c17366db7de03bfd2559d340ca95c588aa49c2f", + "dweb:/ipfs/QmQ9vsG3o4wED3FRogiSUhdzJvZSjjYFtydzXvFEJtgZk4" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol": { + "keccak256": "0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149", + "urls": [ + "bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c", + "dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol": { + "keccak256": "0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d", + "urls": [ + "bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912", + "dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol": { + "keccak256": "0x398d3323c1932a5986bf36be7c57593e121e69d5db5b6574b4ee0d031443de37", + "urls": [ + "bzz-raw://8b268304e03daf22c349abe3c318bc6a6badd6542d62311716ab401eec745f78", + "dweb:/ipfs/QmNYy2sc2RoTjDhyT6HAibmeDGqfhDiDpsWRbHFHoGVHLr" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol": { + "keccak256": "0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a", + "urls": [ + "bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7", + "dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol": { + "keccak256": "0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09", + "urls": [ + "bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758", + "dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol": { + "keccak256": "0x2033e349d606483684968f190b814bbc853774c8d82305e179d094c5042fb512", + "urls": [ + "bzz-raw://aa9b82acfb4493894b4123b4ab44f5ace697e743631642a8e0bc60aafca2bac5", + "dweb:/ipfs/QmePLecHQuCPTErGNPH7C2zdXod9RZncAZ2cJoYBaUaPQp" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/access/Ownable.sol": { + "keccak256": "0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9", + "urls": [ + "bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981", + "dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/proxy/Clones.sol": { + "keccak256": "0x4413f86457f0ff24f7bc4cc94d296e822036203a8c90f565d6614f71d54add05", + "urls": [ + "bzz-raw://2c7085025ed06e48a1c45b18499fdf6f2c1fdaeff1009e27174f7859a91af183", + "dweb:/ipfs/QmTEMcuRneWqcPLtRqBpyqwHrmoPThfsEoo9mz1hjYcYFB" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Context.sol": { + "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", + "urls": [ + "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", + "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol": { + "keccak256": "0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b", + "urls": [ + "bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d", + "dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { + "keccak256": "0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1", + "urls": [ + "bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f", + "dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol": { + "keccak256": "0xacac2065b3ed1facff1163435890d4a6bcdc474e857e8e2c91ae5fb50418f723", + "urls": [ + "bzz-raw://acd44ec097dd623f40870ca848c31deb02dca032ec9c56bd2e52ee103d35ce6d", + "dweb:/ipfs/Qme3CuA45xCft72RjE6s4bmhffpe2NHvHULH9fh5oPbzBv" + ], + "license": "MIT" + }, + "lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol": { + "keccak256": "0x1fd7933ef0875db5bb8f32053e6ca36ab5544268c69cb04de9575609052a3fde", + "urls": [ + "bzz-raw://4e70aba58a73da37b33e8c7f6e04cbf957530afd3f463d4010e2a671773f5d82", + "dweb:/ipfs/QmVitut8wbt64G3vpg4SmtbkPYGyqYCoBAFBqfv2KybE11" + ], + "license": "MIT" + }, + "lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol": { + "keccak256": "0xe06d80490ce50e16b7e631d6183cb3dac8b25482748814f394590f0de3c2e4a5", + "urls": [ + "bzz-raw://6d07b9e7985fd8a09150c8e69178bfb05eb5e86d90fd3d91f17f1a57289e805f", + "dweb:/ipfs/QmczFpxjLYsaWndsDj2NFLa4cfoCYi3g8jHMVNfUCzN9xF" + ], + "license": "MIT" + }, + "lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol": { + "keccak256": "0xe68316395a79ca1b88a356d821c3abb44dcf342cc5633914198d395f5e6fb255", + "urls": [ + "bzz-raw://4849b485458869816863dca773fe26d4520046adfd1f017cc54a9480cdf0b81e", + "dweb:/ipfs/QmPgdjLvhEW6ArWWy6eU5fPGVtb12ecQrhBHApFLCN2nQo" + ], + "license": "MIT" + }, + "lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol": { + "keccak256": "0xcf9bb8bff70abfed58cf76ebb24db355677b70de14bb335dcf95bccf3e657f5e", + "urls": [ + "bzz-raw://e283a8161fa7f163c2db9a0d45ad5c7d5890e531134838b6914e512cbb1fdbfb", + "dweb:/ipfs/QmTkfaaQPCdVGCn2QG38NHe7auaUbDa8HwLcCSuZd5UFvT" + ], + "license": "MIT" + }, + "src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol": { + "keccak256": "0x2b601fa21108f1c62a3c58a6f1391815384d03d515a7e1162253d03238a773bf", + "urls": [ + "bzz-raw://5c2569f069fb29ec2ec336847305375914d253b96329e2861ae9466aabe3e8af", + "dweb:/ipfs/QmTVsoJ4KnZTYWnVsFCzmhzMTPSQruuRvdoZ2dQqQheuZX" + ], + "license": "MIT" + }, + "src/token/ERC721/sovereign/lazy/LazySovereignNFTFactory.sol": { + "keccak256": "0x2f647d698832f5b662b54b6c541ca6823dffcbcdbbf543ab64f5055bc44fdc12", + "urls": [ + "bzz-raw://50a8bc850f5cd842f82f8b75ee20906eefd53bcef0e5d5383340e7343321cf19", + "dweb:/ipfs/QmZeVJc1LiwVBDArWxEDwvd8YLPzQxNnj533p2Xsi3MoZy" + ], + "license": "MIT" + }, + "src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol": { + "keccak256": "0x16f6e92c4bb69769c06fb0e5a13a74f735cdee23f8a6e4082244685022694ea7", + "urls": [ + "bzz-raw://7512c6d328a4a73a22e8d051d25dbfba01f3af7b0284dd3b161a0e19fcf201df", + "dweb:/ipfs/QmSSk5mnspvQEX9YpRFQVLzcYEjEVbUnGzGEY7mwjAn1xR" + ], + "license": "MIT" + }, + "src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol": { + "keccak256": "0xe6ccd5e1671c64bbb2cbe9aff65617bbeef899d879cbe712bfb69f6fa490f29c", + "urls": [ + "bzz-raw://2c1f6984f179fefe7ebbb3fb36d880484d59f3595c76537cf6d63333b2c6aa79", + "dweb:/ipfs/QmNzGPY1AhpAJvduFDLFv3rSgMiHgrQugQ8VCXWwq5XdLK" + ], + "license": "MIT" + }, + "src/token/extensions/ERC2981Upgradeable.sol": { + "keccak256": "0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d", + "urls": [ + "bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465", + "dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA" + ], + "license": "MIT" + }, + "src/token/extensions/IERC2981.sol": { + "keccak256": "0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd", + "urls": [ + "bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b", + "dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w" + ], + "license": "MIT" + }, + "src/token/extensions/ITokenCreator.sol": { + "keccak256": "0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6", + "urls": [ + "bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42", + "dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/token/ERC721/sovereign/lazy/LazySovereignNFTFactory.sol", + "id": 34292, + "exportedSymbols": { + "AddressUpgradeable": [ + 27536 + ], + "Clones": [ + 29007 + ], + "Context": [ + 30351 + ], + "ContextUpgradeable": [ + 27578 + ], + "CountersUpgradeable": [ + 27652 + ], + "ERC165": [ + 30578 + ], + "ERC165Upgradeable": [ + 27899 + ], + "ERC2981Upgradeable": [ + 35531 + ], + "ERC721BurnableUpgradeable": [ + 27266 + ], + "ERC721Upgradeable": [ + 27082 + ], + "EnumerableSet": [ + 31189 + ], + "IERC165Upgradeable": [ + 27911 + ], + "IERC2981": [ + 35547 + ], + "IERC721MetadataUpgradeable": [ + 27293 + ], + "IERC721ReceiverUpgradeable": [ + 27100 + ], + "IERC721Upgradeable": [ + 27216 + ], + "IRoyaltyGuard": [ + 31319 + ], + "IRoyaltyGuardDeadmanTrigger": [ + 31716 + ], + "ITokenCreator": [ + 35557 + ], + "Initializable": [ + 25062 + ], + "LazySovereignNFT": [ + 34022 + ], + "LazySovereignNFTFactory": [ + 34291 + ], + "LazySovereignNFTRoyaltyGuard": [ + 34377 + ], + "LazySovereignNFTRoyaltyGuardDeadmanTrigger": [ + 34465 + ], + "Ownable": [ + 28927 + ], + "OwnableUpgradeable": [ + 24920 + ], + "RoyaltyGuard": [ + 31675 + ], + "RoyaltyGuardDeadmanTrigger": [ + 31810 + ], + "SafeMathUpgradeable": [ + 28223 + ], + "StringsUpgradeable": [ + 27855 + ] + }, + "nodeType": "SourceUnit", + "src": "100:3663:64", + "nodes": [ + { + "id": 34024, + "nodeType": "PragmaDirective", + "src": "100:23:64", + "nodes": [], + "literals": [ + "solidity", + "0.8", + ".15" + ] + }, + { + "id": 34025, + "nodeType": "ImportDirective", + "src": "125:51:64", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/access/Ownable.sol", + "file": "openzeppelin-contracts/access/Ownable.sol", + "nameLocation": "-1:-1:-1", + "scope": 34292, + "sourceUnit": 28928, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 34026, + "nodeType": "ImportDirective", + "src": "177:49:64", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/proxy/Clones.sol", + "file": "openzeppelin-contracts/proxy/Clones.sol", + "nameLocation": "-1:-1:-1", + "scope": 34292, + "sourceUnit": 29008, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 34027, + "nodeType": "ImportDirective", + "src": "227:32:64", + "nodes": [], + "absolutePath": "src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol", + "file": "./LazySovereignNFT.sol", + "nameLocation": "-1:-1:-1", + "scope": 34292, + "sourceUnit": 34023, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 34028, + "nodeType": "ImportDirective", + "src": "260:55:64", + "nodes": [], + "absolutePath": "src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol", + "file": "./extensions/LazySovereignNFTRoyaltyGuard.sol", + "nameLocation": "-1:-1:-1", + "scope": 34292, + "sourceUnit": 34378, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 34029, + "nodeType": "ImportDirective", + "src": "316:69:64", + "nodes": [], + "absolutePath": "src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol", + "file": "./extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol", + "nameLocation": "-1:-1:-1", + "scope": 34292, + "sourceUnit": 34466, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 34291, + "nodeType": "ContractDefinition", + "src": "387:3375:64", + "nodes": [ + { + "id": 34036, + "nodeType": "VariableDeclaration", + "src": "438:76:64", + "nodes": [], + "constant": true, + "functionSelector": "637944f5", + "mutability": "constant", + "name": "LAZY_SOVEREIGN_NFT", + "nameLocation": "462:18:64", + "scope": 34291, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34032, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "438:7:64", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4c415a595f534f5645524549474e5f4e4654", + "id": 34034, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "493:20:64", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd68", + "typeString": "literal_string \"LAZY_SOVEREIGN_NFT\"" + }, + "value": "LAZY_SOVEREIGN_NFT" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd68", + "typeString": "literal_string \"LAZY_SOVEREIGN_NFT\"" + } + ], + "id": 34033, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "483:9:64", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 34035, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "483:31:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 34041, + "nodeType": "VariableDeclaration", + "src": "520:76:64", + "nodes": [], + "constant": true, + "functionSelector": "00e8ece6", + "mutability": "constant", + "name": "LAZY_ROYALTY_GUARD", + "nameLocation": "544:18:64", + "scope": 34291, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34037, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "520:7:64", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4c415a595f524f59414c54595f4755415244", + "id": 34039, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "575:20:64", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c5", + "typeString": "literal_string \"LAZY_ROYALTY_GUARD\"" + }, + "value": "LAZY_ROYALTY_GUARD" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c5", + "typeString": "literal_string \"LAZY_ROYALTY_GUARD\"" + } + ], + "id": 34038, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "565:9:64", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 34040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "565:31:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 34046, + "nodeType": "VariableDeclaration", + "src": "602:92:64", + "nodes": [], + "constant": true, + "functionSelector": "740adf31", + "mutability": "constant", + "name": "LAZY_ROYALTY_GUARD_DEADMAN", + "nameLocation": "626:26:64", + "scope": 34291, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34042, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "602:7:64", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4c415a595f524f59414c54595f47554152445f444541444d414e", + "id": 34044, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "665:28:64", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c6625170", + "typeString": "literal_string \"LAZY_ROYALTY_GUARD_DEADMAN\"" + }, + "value": "LAZY_ROYALTY_GUARD_DEADMAN" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c6625170", + "typeString": "literal_string \"LAZY_ROYALTY_GUARD_DEADMAN\"" + } + ], + "id": 34043, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "655:9:64", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 34045, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "655:39:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 34048, + "nodeType": "VariableDeclaration", + "src": "701:31:64", + "nodes": [], + "constant": false, + "functionSelector": "f5e0e6df", + "mutability": "mutable", + "name": "lazySovereignNFT", + "nameLocation": "716:16:64", + "scope": 34291, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 34047, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "701:7:64", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "id": 34050, + "nodeType": "VariableDeclaration", + "src": "738:43:64", + "nodes": [], + "constant": false, + "functionSelector": "22d60fcb", + "mutability": "mutable", + "name": "lazySovereignNFTRoyaltyGuard", + "nameLocation": "753:28:64", + "scope": 34291, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 34049, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "738:7:64", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "id": 34052, + "nodeType": "VariableDeclaration", + "src": "787:57:64", + "nodes": [], + "constant": false, + "functionSelector": "c4dca7ab", + "mutability": "mutable", + "name": "lazySovereignNFTRoyaltyGuardDeadmanTrigger", + "nameLocation": "802:42:64", + "scope": 34291, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 34051, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "787:7:64", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "id": 34058, + "nodeType": "EventDefinition", + "src": "851:112:64", + "nodes": [], + "anonymous": false, + "eventSelector": "46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec", + "name": "SovereignNFTContractCreated", + "nameLocation": "857:27:64", + "parameters": { + "id": 34057, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 34054, + "indexed": true, + "mutability": "mutable", + "name": "contractAddress", + "nameLocation": "910:15:64", + "nodeType": "VariableDeclaration", + "scope": 34058, + "src": "894:31:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 34053, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "894:7:64", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 34056, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "951:5:64", + "nodeType": "VariableDeclaration", + "scope": 34058, + "src": "935:21:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 34055, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "935:7:64", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "884:78:64" + } + }, + { + "id": 34066, + "nodeType": "EventDefinition", + "src": "969:150:64", + "nodes": [], + "anonymous": false, + "eventSelector": "eec8a411955d10f84b6b0e3110b206d0888593b71381b8ca931e8f131f7eb365", + "name": "SovereignNFTContractCreated", + "nameLocation": "975:27:64", + "parameters": { + "id": 34065, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 34060, + "indexed": true, + "mutability": "mutable", + "name": "contractAddress", + "nameLocation": "1028:15:64", + "nodeType": "VariableDeclaration", + "scope": 34066, + "src": "1012:31:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 34059, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1012:7:64", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 34062, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1069:5:64", + "nodeType": "VariableDeclaration", + "scope": 34066, + "src": "1053:21:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 34061, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1053:7:64", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 34064, + "indexed": true, + "mutability": "mutable", + "name": "contractType", + "nameLocation": "1100:12:64", + "nodeType": "VariableDeclaration", + "scope": 34066, + "src": "1084:28:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34063, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1084:7:64", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1002:116:64" + } + }, + { + "id": 34115, + "nodeType": "FunctionDefinition", + "src": "1125:461:64", + "nodes": [], + "body": { + "id": 34114, + "nodeType": "Block", + "src": "1139:447:64", + "nodes": [], + "statements": [ + { + "assignments": [ + 34071 + ], + "declarations": [ + { + "constant": false, + "id": 34071, + "mutability": "mutable", + "name": "lsovNFT", + "nameLocation": "1166:7:64", + "nodeType": "VariableDeclaration", + "scope": 34114, + "src": "1149:24:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LazySovereignNFT_$34022", + "typeString": "contract LazySovereignNFT" + }, + "typeName": { + "id": 34070, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34069, + "name": "LazySovereignNFT", + "nodeType": "IdentifierPath", + "referencedDeclaration": 34022, + "src": "1149:16:64" + }, + "referencedDeclaration": 34022, + "src": "1149:16:64", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LazySovereignNFT_$34022", + "typeString": "contract LazySovereignNFT" + } + }, + "visibility": "internal" + } + ], + "id": 34076, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1176:20:64", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_LazySovereignNFT_$34022_$", + "typeString": "function () returns (contract LazySovereignNFT)" + }, + "typeName": { + "id": 34073, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34072, + "name": "LazySovereignNFT", + "nodeType": "IdentifierPath", + "referencedDeclaration": 34022, + "src": "1180:16:64" + }, + "referencedDeclaration": 34022, + "src": "1180:16:64", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LazySovereignNFT_$34022", + "typeString": "contract LazySovereignNFT" + } + } + }, + "id": 34075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1176:22:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_LazySovereignNFT_$34022", + "typeString": "contract LazySovereignNFT" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1149:49:64" + }, + { + "expression": { + "id": 34082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 34077, + "name": "lazySovereignNFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34048, + "src": "1208:16:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 34080, + "name": "lsovNFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34071, + "src": "1235:7:64", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LazySovereignNFT_$34022", + "typeString": "contract LazySovereignNFT" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_LazySovereignNFT_$34022", + "typeString": "contract LazySovereignNFT" + } + ], + "id": 34079, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1227:7:64", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 34078, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1227:7:64", + "typeDescriptions": {} + } + }, + "id": 34081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1227:16:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1208:35:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 34083, + "nodeType": "ExpressionStatement", + "src": "1208:35:64" + }, + { + "assignments": [ + 34086 + ], + "declarations": [ + { + "constant": false, + "id": 34086, + "mutability": "mutable", + "name": "lsovNFTRG", + "nameLocation": "1283:9:64", + "nodeType": "VariableDeclaration", + "scope": 34114, + "src": "1254:38:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LazySovereignNFTRoyaltyGuard_$34377", + "typeString": "contract LazySovereignNFTRoyaltyGuard" + }, + "typeName": { + "id": 34085, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34084, + "name": "LazySovereignNFTRoyaltyGuard", + "nodeType": "IdentifierPath", + "referencedDeclaration": 34377, + "src": "1254:28:64" + }, + "referencedDeclaration": 34377, + "src": "1254:28:64", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LazySovereignNFTRoyaltyGuard_$34377", + "typeString": "contract LazySovereignNFTRoyaltyGuard" + } + }, + "visibility": "internal" + } + ], + "id": 34091, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1295:32:64", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_LazySovereignNFTRoyaltyGuard_$34377_$", + "typeString": "function () returns (contract LazySovereignNFTRoyaltyGuard)" + }, + "typeName": { + "id": 34088, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34087, + "name": "LazySovereignNFTRoyaltyGuard", + "nodeType": "IdentifierPath", + "referencedDeclaration": 34377, + "src": "1299:28:64" + }, + "referencedDeclaration": 34377, + "src": "1299:28:64", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LazySovereignNFTRoyaltyGuard_$34377", + "typeString": "contract LazySovereignNFTRoyaltyGuard" + } + } + }, + "id": 34090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1295:34:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_LazySovereignNFTRoyaltyGuard_$34377", + "typeString": "contract LazySovereignNFTRoyaltyGuard" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1254:75:64" + }, + { + "expression": { + "id": 34097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 34092, + "name": "lazySovereignNFTRoyaltyGuard", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34050, + "src": "1339:28:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 34095, + "name": "lsovNFTRG", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34086, + "src": "1378:9:64", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LazySovereignNFTRoyaltyGuard_$34377", + "typeString": "contract LazySovereignNFTRoyaltyGuard" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_LazySovereignNFTRoyaltyGuard_$34377", + "typeString": "contract LazySovereignNFTRoyaltyGuard" + } + ], + "id": 34094, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1370:7:64", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 34093, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1370:7:64", + "typeDescriptions": {} + } + }, + "id": 34096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1370:18:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1339:49:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 34098, + "nodeType": "ExpressionStatement", + "src": "1339:49:64" + }, + { + "assignments": [ + 34101 + ], + "declarations": [ + { + "constant": false, + "id": 34101, + "mutability": "mutable", + "name": "lsovNFTRGDT", + "nameLocation": "1442:11:64", + "nodeType": "VariableDeclaration", + "scope": 34114, + "src": "1399:54:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LazySovereignNFTRoyaltyGuardDeadmanTrigger_$34465", + "typeString": "contract LazySovereignNFTRoyaltyGuardDeadmanTrigger" + }, + "typeName": { + "id": 34100, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34099, + "name": "LazySovereignNFTRoyaltyGuardDeadmanTrigger", + "nodeType": "IdentifierPath", + "referencedDeclaration": 34465, + "src": "1399:42:64" + }, + "referencedDeclaration": 34465, + "src": "1399:42:64", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LazySovereignNFTRoyaltyGuardDeadmanTrigger_$34465", + "typeString": "contract LazySovereignNFTRoyaltyGuardDeadmanTrigger" + } + }, + "visibility": "internal" + } + ], + "id": 34106, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1456:46:64", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_LazySovereignNFTRoyaltyGuardDeadmanTrigger_$34465_$", + "typeString": "function () returns (contract LazySovereignNFTRoyaltyGuardDeadmanTrigger)" + }, + "typeName": { + "id": 34103, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 34102, + "name": "LazySovereignNFTRoyaltyGuardDeadmanTrigger", + "nodeType": "IdentifierPath", + "referencedDeclaration": 34465, + "src": "1460:42:64" + }, + "referencedDeclaration": 34465, + "src": "1460:42:64", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LazySovereignNFTRoyaltyGuardDeadmanTrigger_$34465", + "typeString": "contract LazySovereignNFTRoyaltyGuardDeadmanTrigger" + } + } + }, + "id": 34105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1456:48:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_LazySovereignNFTRoyaltyGuardDeadmanTrigger_$34465", + "typeString": "contract LazySovereignNFTRoyaltyGuardDeadmanTrigger" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1399:105:64" + }, + { + "expression": { + "id": 34112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 34107, + "name": "lazySovereignNFTRoyaltyGuardDeadmanTrigger", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34052, + "src": "1514:42:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 34110, + "name": "lsovNFTRGDT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34101, + "src": "1567:11:64", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LazySovereignNFTRoyaltyGuardDeadmanTrigger_$34465", + "typeString": "contract LazySovereignNFTRoyaltyGuardDeadmanTrigger" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_LazySovereignNFTRoyaltyGuardDeadmanTrigger_$34465", + "typeString": "contract LazySovereignNFTRoyaltyGuardDeadmanTrigger" + } + ], + "id": 34109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1559:7:64", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 34108, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1559:7:64", + "typeDescriptions": {} + } + }, + "id": 34111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1559:20:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1514:65:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 34113, + "nodeType": "ExpressionStatement", + "src": "1514:65:64" + } + ] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 34067, + "nodeType": "ParameterList", + "parameters": [], + "src": "1136:2:64" + }, + "returnParameters": { + "id": 34068, + "nodeType": "ParameterList", + "parameters": [], + "src": "1139:0:64" + }, + "scope": 34291, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 34169, + "nodeType": "FunctionDefinition", + "src": "1592:661:64", + "nodes": [], + "body": { + "id": 34168, + "nodeType": "Block", + "src": "1702:551:64", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 34130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 34125, + "name": "_sovereignNFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34117, + "src": "1720:13:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 34128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1745:1:64", + "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": 34127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1737:7:64", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 34126, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1737:7:64", + "typeDescriptions": {} + } + }, + "id": 34129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1737:10:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1720:27:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 34124, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1712:7:64", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 34131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1712:36:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34132, + "nodeType": "ExpressionStatement", + "src": "1712:36:64" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 34135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 34133, + "name": "_contractType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34119, + "src": "1762:13:64", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 34134, + "name": "LAZY_SOVEREIGN_NFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34036, + "src": "1779:18:64", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1762:35:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 34142, + "nodeType": "IfStatement", + "src": "1758:118:64", + "trueBody": { + "id": 34141, + "nodeType": "Block", + "src": "1799:77:64", + "statements": [ + { + "expression": { + "id": 34138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 34136, + "name": "lazySovereignNFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34048, + "src": "1813:16:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 34137, + "name": "_sovereignNFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34117, + "src": "1832:13:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1813:32:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 34139, + "nodeType": "ExpressionStatement", + "src": "1813:32:64" + }, + { + "functionReturnParameters": 34123, + "id": 34140, + "nodeType": "Return", + "src": "1859:7:64" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 34145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 34143, + "name": "_contractType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34119, + "src": "1889:13:64", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 34144, + "name": "LAZY_ROYALTY_GUARD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34041, + "src": "1906:18:64", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1889:35:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 34152, + "nodeType": "IfStatement", + "src": "1885:130:64", + "trueBody": { + "id": 34151, + "nodeType": "Block", + "src": "1926:89:64", + "statements": [ + { + "expression": { + "id": 34148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 34146, + "name": "lazySovereignNFTRoyaltyGuard", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34050, + "src": "1940:28:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 34147, + "name": "_sovereignNFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34117, + "src": "1971:13:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1940:44:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 34149, + "nodeType": "ExpressionStatement", + "src": "1940:44:64" + }, + { + "functionReturnParameters": 34123, + "id": 34150, + "nodeType": "Return", + "src": "1998:7:64" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 34155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 34153, + "name": "_contractType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34119, + "src": "2028:13:64", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 34154, + "name": "LAZY_ROYALTY_GUARD_DEADMAN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34046, + "src": "2045:26:64", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2028:43:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 34162, + "nodeType": "IfStatement", + "src": "2024:152:64", + "trueBody": { + "id": 34161, + "nodeType": "Block", + "src": "2073:103:64", + "statements": [ + { + "expression": { + "id": 34158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 34156, + "name": "lazySovereignNFTRoyaltyGuardDeadmanTrigger", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34052, + "src": "2087:42:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 34157, + "name": "_sovereignNFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34117, + "src": "2132:13:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2087:58:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 34159, + "nodeType": "ExpressionStatement", + "src": "2087:58:64" + }, + { + "functionReturnParameters": 34123, + "id": 34160, + "nodeType": "Return", + "src": "2159:7:64" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "hexValue": "66616c7365", + "id": 34164, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2193:5:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "hexValue": "736574536f7665726569676e4e46543a3a556e737570706f72746564205f636f6e7472616374547970652e", + "id": 34165, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2200:45:64", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_365f6c67456e1ce84bc4ef8e31e19e1062eacf868ad456d3be3bc47bb66c957e", + "typeString": "literal_string \"setSovereignNFT::Unsupported _contractType.\"" + }, + "value": "setSovereignNFT::Unsupported _contractType." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_365f6c67456e1ce84bc4ef8e31e19e1062eacf868ad456d3be3bc47bb66c957e", + "typeString": "literal_string \"setSovereignNFT::Unsupported _contractType.\"" + } + ], + "id": 34163, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2185:7:64", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 34166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2185:61:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34167, + "nodeType": "ExpressionStatement", + "src": "2185:61:64" + } + ] + }, + "functionSelector": "a55b1c25", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 34122, + "kind": "modifierInvocation", + "modifierName": { + "id": 34121, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 28869, + "src": "1688:9:64" + }, + "nodeType": "ModifierInvocation", + "src": "1688:9:64" + } + ], + "name": "setSovereignNFT", + "nameLocation": "1601:15:64", + "parameters": { + "id": 34120, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 34117, + "mutability": "mutable", + "name": "_sovereignNFT", + "nameLocation": "1625:13:64", + "nodeType": "VariableDeclaration", + "scope": 34169, + "src": "1617:21:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 34116, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1617:7:64", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 34119, + "mutability": "mutable", + "name": "_contractType", + "nameLocation": "1648:13:64", + "nodeType": "VariableDeclaration", + "scope": 34169, + "src": "1640:21:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34118, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1640:7:64", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1616:46:64" + }, + "returnParameters": { + "id": 34123, + "nodeType": "ParameterList", + "parameters": [], + "src": "1702:0:64" + }, + "scope": 34291, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 34290, + "nodeType": "FunctionDefinition", + "src": "2260:1500:64", + "nodes": [], + "body": { + "id": 34289, + "nodeType": "Block", + "src": "2446:1314:64", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 34185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 34183, + "name": "_maxTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "2477:10:64", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 34184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2491:1:64", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2477:15:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "637265617465536f7665726569676e4e4654436f6e74726163743a3a5f6d6178546f6b656e732063616e74206265207a65726f", + "id": 34186, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2506:53:64", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6a88a19143de23347e5503714575555c74233b2ddf44ce438aef8481b84e220c", + "typeString": "literal_string \"createSovereignNFTContract::_maxTokens cant be zero\"" + }, + "value": "createSovereignNFTContract::_maxTokens cant be zero" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6a88a19143de23347e5503714575555c74233b2ddf44ce438aef8481b84e220c", + "typeString": "literal_string \"createSovereignNFTContract::_maxTokens cant be zero\"" + } + ], + "id": 34182, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2456:7:64", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 34187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2456:113:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34188, + "nodeType": "ExpressionStatement", + "src": "2456:113:64" + }, + { + "assignments": [ + 34190 + ], + "declarations": [ + { + "constant": false, + "id": 34190, + "mutability": "mutable", + "name": "sovAddr", + "nameLocation": "2588:7:64", + "nodeType": "VariableDeclaration", + "scope": 34289, + "src": "2580:15:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 34189, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2580:7:64", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 34191, + "nodeType": "VariableDeclarationStatement", + "src": "2580:15:64" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 34194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 34192, + "name": "_contractType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34177, + "src": "2609:13:64", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 34193, + "name": "LAZY_SOVEREIGN_NFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34036, + "src": "2626:18:64", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2609:35:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 34214, + "nodeType": "IfStatement", + "src": "2605:190:64", + "trueBody": { + "id": 34213, + "nodeType": "Block", + "src": "2646:149:64", + "statements": [ + { + "expression": { + "id": 34200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 34195, + "name": "sovAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34190, + "src": "2660:7:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 34198, + "name": "lazySovereignNFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34048, + "src": "2683:16:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 34196, + "name": "Clones", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29007, + "src": "2670:6:64", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Clones_$29007_$", + "typeString": "type(library Clones)" + } + }, + "id": 34197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "clone", + "nodeType": "MemberAccess", + "referencedDeclaration": 28950, + "src": "2670:12:64", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_address_$", + "typeString": "function (address) returns (address)" + } + }, + "id": 34199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2670:30:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2660:40:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 34201, + "nodeType": "ExpressionStatement", + "src": "2660:40:64" + }, + { + "expression": { + "arguments": [ + { + "id": 34206, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34171, + "src": "2745:5:64", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 34207, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34173, + "src": "2752:7:64", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 34208, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2761:3:64", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 34209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2761:10:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 34210, + "name": "_maxTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "2773:10:64", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 34203, + "name": "sovAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34190, + "src": "2731:7:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34202, + "name": "LazySovereignNFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34022, + "src": "2714:16:64", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LazySovereignNFT_$34022_$", + "typeString": "type(contract LazySovereignNFT)" + } + }, + "id": 34204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2714:25:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_LazySovereignNFT_$34022", + "typeString": "contract LazySovereignNFT" + } + }, + "id": 34205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "init", + "nodeType": "MemberAccess", + "referencedDeclaration": 33608, + "src": "2714:30:64", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (string memory,string memory,address,uint256) external" + } + }, + "id": 34211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2714:70:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34212, + "nodeType": "ExpressionStatement", + "src": "2714:70:64" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 34217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 34215, + "name": "_contractType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34177, + "src": "2808:13:64", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 34216, + "name": "LAZY_ROYALTY_GUARD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34041, + "src": "2825:18:64", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2808:35:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 34237, + "nodeType": "IfStatement", + "src": "2804:292:64", + "trueBody": { + "id": 34236, + "nodeType": "Block", + "src": "2845:251:64", + "statements": [ + { + "expression": { + "id": 34223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 34218, + "name": "sovAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34190, + "src": "2859:7:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 34221, + "name": "lazySovereignNFTRoyaltyGuard", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34050, + "src": "2882:28:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 34219, + "name": "Clones", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29007, + "src": "2869:6:64", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Clones_$29007_$", + "typeString": "type(library Clones)" + } + }, + "id": 34220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "clone", + "nodeType": "MemberAccess", + "referencedDeclaration": 28950, + "src": "2869:12:64", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_address_$", + "typeString": "function (address) returns (address)" + } + }, + "id": 34222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2869:42:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2859:52:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 34224, + "nodeType": "ExpressionStatement", + "src": "2859:52:64" + }, + { + "expression": { + "arguments": [ + { + "id": 34229, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34171, + "src": "2985:5:64", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 34230, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34173, + "src": "3008:7:64", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 34231, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3033:3:64", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 34232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3033:10:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 34233, + "name": "_maxTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "3061:10:64", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 34226, + "name": "sovAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34190, + "src": "2954:7:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34225, + "name": "LazySovereignNFTRoyaltyGuard", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34377, + "src": "2925:28:64", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LazySovereignNFTRoyaltyGuard_$34377_$", + "typeString": "type(contract LazySovereignNFTRoyaltyGuard)" + } + }, + "id": 34227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2925:37:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_LazySovereignNFTRoyaltyGuard_$34377", + "typeString": "contract LazySovereignNFTRoyaltyGuard" + } + }, + "id": 34228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "init", + "nodeType": "MemberAccess", + "referencedDeclaration": 33608, + "src": "2925:42:64", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (string memory,string memory,address,uint256) external" + } + }, + "id": 34234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2925:160:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34235, + "nodeType": "ExpressionStatement", + "src": "2925:160:64" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 34240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 34238, + "name": "_contractType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34177, + "src": "3109:13:64", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 34239, + "name": "LAZY_ROYALTY_GUARD_DEADMAN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34046, + "src": "3126:26:64", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3109:43:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 34260, + "nodeType": "IfStatement", + "src": "3105:328:64", + "trueBody": { + "id": 34259, + "nodeType": "Block", + "src": "3154:279:64", + "statements": [ + { + "expression": { + "id": 34246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 34241, + "name": "sovAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34190, + "src": "3168:7:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 34244, + "name": "lazySovereignNFTRoyaltyGuardDeadmanTrigger", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34052, + "src": "3191:42:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 34242, + "name": "Clones", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29007, + "src": "3178:6:64", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Clones_$29007_$", + "typeString": "type(library Clones)" + } + }, + "id": 34243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "clone", + "nodeType": "MemberAccess", + "referencedDeclaration": 28950, + "src": "3178:12:64", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_address_$", + "typeString": "function (address) returns (address)" + } + }, + "id": 34245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3178:56:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3168:66:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 34247, + "nodeType": "ExpressionStatement", + "src": "3168:66:64" + }, + { + "expression": { + "arguments": [ + { + "id": 34252, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34171, + "src": "3322:5:64", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 34253, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34173, + "src": "3345:7:64", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 34254, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3370:3:64", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 34255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3370:10:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 34256, + "name": "_maxTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34175, + "src": "3398:10:64", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 34249, + "name": "sovAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34190, + "src": "3291:7:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34248, + "name": "LazySovereignNFTRoyaltyGuardDeadmanTrigger", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34465, + "src": "3248:42:64", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LazySovereignNFTRoyaltyGuardDeadmanTrigger_$34465_$", + "typeString": "type(contract LazySovereignNFTRoyaltyGuardDeadmanTrigger)" + } + }, + "id": 34250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3248:51:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_LazySovereignNFTRoyaltyGuardDeadmanTrigger_$34465", + "typeString": "contract LazySovereignNFTRoyaltyGuardDeadmanTrigger" + } + }, + "id": 34251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "init", + "nodeType": "MemberAccess", + "referencedDeclaration": 33608, + "src": "3248:56:64", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (string memory,string memory,address,uint256) external" + } + }, + "id": 34257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3248:174:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34258, + "nodeType": "ExpressionStatement", + "src": "3248:174:64" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 34267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 34262, + "name": "sovAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34190, + "src": "3463:7:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 34265, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3482:1:64", + "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": 34264, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3474:7:64", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 34263, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3474:7:64", + "typeDescriptions": {} + } + }, + "id": 34266, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3474:10:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3463:21:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "637265617465536f7665726569676e4e4654436f6e74726163743a3a5f636f6e74726163745479706520756e737570706f7274656420636f6e747261637420747970652e", + "id": 34268, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3498:70:64", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3eab0f979779b9cd12341483ba5acf5eb957019b5ca9193e80cf37fb3991d37e", + "typeString": "literal_string \"createSovereignNFTContract::_contractType unsupported contract type.\"" + }, + "value": "createSovereignNFTContract::_contractType unsupported contract type." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3eab0f979779b9cd12341483ba5acf5eb957019b5ca9193e80cf37fb3991d37e", + "typeString": "literal_string \"createSovereignNFTContract::_contractType unsupported contract type.\"" + } + ], + "id": 34261, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3442:7:64", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 34269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3442:136:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34270, + "nodeType": "ExpressionStatement", + "src": "3442:136:64" + }, + { + "eventCall": { + "arguments": [ + { + "id": 34272, + "name": "sovAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34190, + "src": "3621:7:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 34273, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3630:3:64", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 34274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3630:10:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34271, + "name": "SovereignNFTContractCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 34058, + 34066 + ], + "referencedDeclaration": 34058, + "src": "3593:27:64", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 34275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3593:48:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34276, + "nodeType": "EmitStatement", + "src": "3588:53:64" + }, + { + "eventCall": { + "arguments": [ + { + "id": 34278, + "name": "sovAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34190, + "src": "3684:7:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 34279, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3693:3:64", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 34280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3693:10:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 34281, + "name": "_contractType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34177, + "src": "3705:13:64", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 34277, + "name": "SovereignNFTContractCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 34058, + 34066 + ], + "referencedDeclaration": 34066, + "src": "3656:27:64", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,bytes32)" + } + }, + "id": 34282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3656:63:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 34283, + "nodeType": "EmitStatement", + "src": "3651:68:64" + }, + { + "expression": { + "arguments": [ + { + "id": 34286, + "name": "sovAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34190, + "src": "3745:7:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 34285, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3737:7:64", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 34284, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3737:7:64", + "typeDescriptions": {} + } + }, + "id": 34287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3737:16:64", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 34181, + "id": 34288, + "nodeType": "Return", + "src": "3730:23:64" + } + ] + }, + "functionSelector": "877ebf51", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "createSovereignNFTContract", + "nameLocation": "2269:26:64", + "parameters": { + "id": 34178, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 34171, + "mutability": "mutable", + "name": "_name", + "nameLocation": "2319:5:64", + "nodeType": "VariableDeclaration", + "scope": 34290, + "src": "2305:19:64", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 34170, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2305:6:64", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 34173, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "2348:7:64", + "nodeType": "VariableDeclaration", + "scope": 34290, + "src": "2334:21:64", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 34172, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2334:6:64", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 34175, + "mutability": "mutable", + "name": "_maxTokens", + "nameLocation": "2373:10:64", + "nodeType": "VariableDeclaration", + "scope": 34290, + "src": "2365:18:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 34174, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2365:7:64", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 34177, + "mutability": "mutable", + "name": "_contractType", + "nameLocation": "2401:13:64", + "nodeType": "VariableDeclaration", + "scope": 34290, + "src": "2393:21:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 34176, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2393:7:64", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2295:125:64" + }, + "returnParameters": { + "id": 34181, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 34180, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 34290, + "src": "2437:7:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 34179, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2437:7:64", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2436:9:64" + }, + "scope": 34291, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 34030, + "name": "Ownable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 28927, + "src": "423:7:64" + }, + "id": 34031, + "nodeType": "InheritanceSpecifier", + "src": "423:7:64" + } + ], + "canonicalName": "LazySovereignNFTFactory", + "contractDependencies": [ + 34022, + 34377, + 34465 + ], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 34291, + 28927, + 30351 + ], + "name": "LazySovereignNFTFactory", + "nameLocation": "396:23:64", + "scope": 34292, + "usedErrors": [] + } + ], + "license": "MIT" + }, + "id": 64 +} \ No newline at end of file diff --git a/abis/LazySovereignNFTRoyaltyGuard.json b/abis/LazySovereignNFTRoyaltyGuard.json new file mode 100644 index 0000000..e920413 --- /dev/null +++ b/abis/LazySovereignNFTRoyaltyGuard.json @@ -0,0 +1,3804 @@ +{ + "abi": [ + { + "inputs": [], + "name": "CantAddToOFFList", + "type": "error" + }, + { + "inputs": [], + "name": "MustBeAdmin", + "type": "error" + }, + { + "inputs": [], + "name": "Unauthorized", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_updater", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_addedAddr", + "type": "address" + }, + { + "indexed": true, + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_ListType", + "type": "uint8" + } + ], + "name": "AddressAddedToList", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_updater", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_removedAddr", + "type": "address" + }, + { + "indexed": true, + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_ListType", + "type": "uint8" + } + ], + "name": "AddressRemovedList", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "ContractDisabled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_updater", + "type": "address" + }, + { + "indexed": false, + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8" + } + ], + "name": "ListCleared", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_updater", + "type": "address" + }, + { + "indexed": true, + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_oldListType", + "type": "uint8" + }, + { + "indexed": true, + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_newListType", + "type": "uint8" + } + ], + "name": "ListTypeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "baseURI", + "type": "string" + } + ], + "name": "MetadataLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "baseURI", + "type": "string" + } + ], + "name": "MetadataUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "numberOfTokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "baseURI", + "type": "string" + } + ], + "name": "PrepareMint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "name": "TokenURIUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8" + }, + { + "internalType": "address[]", + "name": "_addrs", + "type": "address[]" + } + ], + "name": "batchAddAddressToRoyaltyList", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8" + }, + { + "internalType": "address[]", + "name": "_addrs", + "type": "address[]" + } + ], + "name": "batchRemoveAddressToRoyaltyList", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8" + } + ], + "name": "clearList", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "deleteToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "disableContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "disabled", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDefaultRoyaltyPercentage", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDefaultRoyaltyReceiver", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getInUseList", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8" + } + ], + "name": "getList", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getListType", + "outputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMintConfig", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "numberOfTokens", + "type": "uint256" + }, + { + "internalType": "string", + "name": "baseURI", + "type": "string" + }, + { + "internalType": "bool", + "name": "lockedMetadata", + "type": "bool" + } + ], + "internalType": "struct LazySovereignNFT.MintConfig", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "hasAdminPermission", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_creator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxTokens", + "type": "uint256" + } + ], + "name": "init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "isApprovedMinter", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + } + ], + "name": "isOperatorInList", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lockBaseURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "maxTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "mintTo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_numberOfTokens", + "type": "uint256" + } + ], + "name": "prepareMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_numberOfTokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_minter", + "type": "address" + } + ], + "name": "prepareMintWithMinter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_salePrice", + "type": "uint256" + } + ], + "name": "royaltyInfo", + "outputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "royaltyAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "setDefaultRoyaltyReceiver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_minter", + "type": "address" + }, + { + "internalType": "bool", + "name": "_isMinter", + "type": "bool" + } + ], + "name": "setMinterApproval", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "setRoyaltyReceiverForToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "_interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_newListType", + "type": "uint8" + } + ], + "name": "toggleListType", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "tokenCreator", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "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": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + } + ], + "name": "updateBaseURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_metadataUri", + "type": "string" + } + ], + "name": "updateTokenURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": { + "object": "0x608060405234801561001057600080fd5b50613840806100206000396000f3fe608060405234801561001057600080fd5b50600436106102955760003560e01c806370a0823111610167578063b390ac25116100ce578063e985e9c511610087578063e985e9c5146105d7578063eab85118146105ea578063ee070805146105fd578063efc32cd414610609578063f2fde38b1461061c578063ff6e8c8f1461062f57600080fd5b8063b390ac251461056e578063b88d4fde14610581578063b9fbd25c14610594578063bc719455146105a7578063c87b56dd146105ba578063e8315742146105cd57600080fd5b8063931688cb11610120578063931688cb146105105780639338bb5d1461052357806395d89b41146105385780639e860f2a14610540578063a22cb46514610553578063ab69607a1461056657600080fd5b806370a08231146104b5578063715018a6146104c8578063755edd17146104d057806387bc793f146104e3578063894ba833146104f75780638da5cb5b146104ff57600080fd5b80632ce878da1161020b57806342966c68116101c457806342966c681461044e578063472a66381461046157806353df5c7c146104745780635edc7c191461047c5780636297c16c1461048f5780636352211e146104a257600080fd5b80632ce878da146103cf5780633403c4e9146103d75780633a3d146f146103e85780633ebc82c51461041557806340c1a0641461042857806342842e0e1461043b57600080fd5b80630de54ba01161025d5780630de54ba01461033b57806318160ddd1461034e57806318e97fd114610364578063204274861461037757806323b872dd1461038a5780632a55205a1461039d57600080fd5b8063012cf1e81461029a57806301ffc9a7146102c357806306fdde03146102e6578063081812fc146102fb578063095ea7b314610326575b600080fd5b6102ad6102a8366004612b7c565b610642565b6040516102ba9190612b97565b60405180910390f35b6102d66102d1366004612bfa565b610688565b60405190151581526020016102ba565b6102ee6106a2565b6040516102ba9190612c6f565b61030e610309366004612c82565b610734565b6040516001600160a01b0390911681526020016102ba565b610339610334366004612cb2565b6107ce565b005b610339610349366004612cdc565b6108a3565b61035661091b565b6040519081526020016102ba565b610339610372366004612d61565b61092c565b6102d6610385366004612dad565b610a0f565b610339610398366004612dc8565b610a3e565b6103b06103ab366004612e04565b610a70565b604080516001600160a01b0390931683526020830191909152016102ba565b6102ad610b0b565b60fb546001600160a01b031661030e565b6102d66103f6366004612dad565b6001600160a01b03166000908152610102602052604090205460ff1690565b610339610423366004612dad565b610b31565b61030e610436366004612c82565b610b67565b610339610449366004612dc8565b610b7b565b61033961045c366004612c82565b610b96565b61033961046f366004612b7c565b610c0d565b610339610c3c565b61033961048a366004612e26565b610cb0565b61033961049d366004612c82565b610e30565b61030e6104b0366004612c82565b610e99565b6103566104c3366004612dad565b610f10565b610339610f96565b6103566104de366004612dad565b610fcc565b6101095460ff166040516102ba9190612ec5565b6103396110a2565b6033546001600160a01b031661030e565b61033961051e366004612eed565b611106565b61052b6111da565b6040516102ba9190612f2f565b6102ee6112be565b61033961054e366004612f6d565b6112cd565b610339610561366004612cdc565b611330565b60fc54610356565b61033961057c366004612ff3565b6113d7565b61033961058f366004613055565b61142e565b6103396105a2366004613131565b611466565b6103396105b5366004612b7c565b6114e5565b6102ee6105c8366004612c82565b61159a565b6103566101005481565b6102d66105e536600461318e565b611693565b6102d66105f8366004612dad565b6116c1565b60ff80546102d6911681565b610339610617366004612cb2565b6116e8565b61033961062a366004612dad565b611740565b61033961063d366004612f6d565b6117d8565b6060610682610108600084600281111561065e5761065e612eaf565b600281111561066f5761066f612eaf565b8152602001908152602001600020611870565b92915050565b600061069382611884565b806106825750610682826118a9565b6060609780546106b1906131b8565b80601f01602080910402602001604051908101604052809291908181526020018280546106dd906131b8565b801561072a5780601f106106ff5761010080835404028352916020019161072a565b820191906000526020600020905b81548152906001019060200180831161070d57829003601f168201915b5050505050905090565b6000818152609960205260408120546001600160a01b03166107b25760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152609b60205260409020546001600160a01b031690565b8160016101095460ff1660028111156107e9576107e9612eaf565b036108485761082781610108600060015b600281111561080b5761080b612eaf565b81526020019081526020016000206118ec90919063ffffffff16565b610843576040516282b42960e81b815260040160405180910390fd5b610894565b60026101095460ff16600281111561086257610862612eaf565b036108945761087781610108600060026107fa565b15610894576040516282b42960e81b815260040160405180910390fd5b61089e838361190e565b505050565b6033546001600160a01b031633146108cd5760405162461bcd60e51b81526004016107a9906131f2565b60ff805416156108ef5760405162461bcd60e51b81526004016107a990613227565b6001600160a01b0391909116600090815261010260205260409020805460ff1916911515919091179055565b60006109276101045490565b905090565b6033546001600160a01b031633146109565760405162461bcd60e51b81526004016107a9906131f2565b6101075460ff16156109b55760405162461bcd60e51b815260206004820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b60648201526084016107a9565b6000838152610103602052604090206109cf8284836132ac565b50827f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd8383604051610a0292919061336d565b60405180910390a2505050565b6000610a236033546001600160a01b031690565b6001600160a01b0316826001600160a01b0316149050919050565b610a49335b82611a1e565b610a655760405162461bcd60e51b81526004016107a99061339c565b61089e838383611af5565b600082815260fd602052604081205481906001600160a01b0316610a9f5760fb546001600160a01b0316610ab8565b600084815260fd60205260409020546001600160a01b03165b9150610b026064610afc60fe600088815260200190815260200160002054600003610ae55760fc54610af5565b600087815260fe60205260409020545b8690611c91565b90611c9d565b90509250929050565b61010954606090610927906101089060009060ff16600281111561065e5761065e612eaf565b6033546001600160a01b03163314610b5b5760405162461bcd60e51b81526004016107a9906131f2565b610b6481611ca9565b50565b60006106826033546001600160a01b031690565b61089e8383836040518060200160405280600081525061142e565b610b9f33610a43565b610c045760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b60648201526084016107a9565b610b6481611ccb565b610c1633610a0f565b610c3357604051635c510c8360e11b815260040160405180910390fd5b610b6481611d67565b6033546001600160a01b03163314610c665760405162461bcd60e51b81526004016107a9906131f2565b6040517fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e90610c9890610106906133ed565b60405180910390a1610107805460ff19166001179055565b6000610cbc6001611de4565b90508015610cd4576000805461ff0019166101001790555b6001600160a01b038316610d2a5760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c2061646472657373000060448201526064016107a9565b610d34600a60fc55565b60ff805460ff19169055610100829055610d4c611e6c565b610dbf87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611e9b92505050565b610dc7611ecc565b610dcf611ef3565b610dd883611ca9565b610de183611740565b8015610e27576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b33610e3a82610e99565b6001600160a01b031614610e905760405162461bcd60e51b815260206004820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e0060448201526064016107a9565b610b6481610b96565b6000818152609960205260408120546001600160a01b0316806106825760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016107a9565b60006001600160a01b038216610f7a5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016107a9565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610fc05760405162461bcd60e51b81526004016107a9906131f2565b610fca6000611f22565b565b60ff80546000911615610ff15760405162461bcd60e51b81526004016107a990613227565b6033546001600160a01b031633148061101a5750336000908152610102602052604090205460ff165b61107f5760405162461bcd60e51b815260206004820152603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b60648201526084016107a9565b6106828261108c60fc5490565b60fb546001600160a01b0316611f74565b919050565b6033546001600160a01b031633146110cc5760405162461bcd60e51b81526004016107a9906131f2565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b6033546001600160a01b031633146111305760405162461bcd60e51b81526004016107a9906131f2565b6101075460ff161561118e5760405162461bcd60e51b815260206004820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b60648201526084016107a9565b61010661119c8284836132ac565b507f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e82826040516111ce92919061336d565b60405180910390a15050565b611200604051806060016040528060008152602001606081526020016000151581525090565b6040805160608101909152610105805482526101068054602084019190611226906131b8565b80601f0160208091040260200160405190810160405280929190818152602001828054611252906131b8565b801561129f5780601f106112745761010080835404028352916020019161129f565b820191906000526020600020905b81548152906001019060200180831161128257829003601f168201915b50505091835250506002919091015460ff161515602090910152919050565b6060609880546106b1906131b8565b6112d633610a0f565b6112f357604051635c510c8360e11b815260040160405180910390fd5b61089e8383838080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509250612030915050565b8160016101095460ff16600281111561134b5761134b612eaf565b036113815761136081610108600060016107fa565b61137c576040516282b42960e81b815260040160405180910390fd5b6113cd565b60026101095460ff16600281111561139b5761139b612eaf565b036113cd576113b081610108600060026107fa565b156113cd576040516282b42960e81b815260040160405180910390fd5b61089e838361220d565b6033546001600160a01b031633146114015760405162461bcd60e51b81526004016107a9906131f2565b60ff805416156114235760405162461bcd60e51b81526004016107a990613227565b61089e838383612218565b6114383383611a1e565b6114545760405162461bcd60e51b81526004016107a99061339c565b6114608484848461238d565b50505050565b6033546001600160a01b031633146114905760405162461bcd60e51b81526004016107a9906131f2565b60ff805416156114b25760405162461bcd60e51b81526004016107a990613227565b6114bd848484612218565b6001600160a01b0316600090815261010260205260409020805460ff19166001179055505050565b6114ee33610a0f565b61150b57604051635c510c8360e11b815260040160405180910390fd5b610108600082600281111561152257611522612eaf565b600281111561153357611533612eaf565b8152602081019190915260400160009081209081816115528282612b3b565b50505050336001600160a01b03167f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da248260405161158f9190612ec5565b60405180910390a250565b600081815261010360205260408120805460609291906115b9906131b8565b905011156116605760008281526101036020526040902080546115db906131b8565b80601f0160208091040260200160405190810160405280929190818152602001828054611607906131b8565b80156116545780601f1061162957610100808354040283529160200191611654565b820191906000526020600020905b81548152906001019060200180831161163757829003601f168201915b50505050509050919050565b61010661166c836123c0565b60405160200161167d929190613478565b6040516020818303038152906040529050919050565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b6101095460009061068290839061010890849060ff1660028111156107fa576107fa612eaf565b6033546001600160a01b031633146117125760405162461bcd60e51b81526004016107a9906131f2565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461176a5760405162461bcd60e51b81526004016107a9906131f2565b6001600160a01b0381166117cf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107a9565b610b6481611f22565b6117e133610a0f565b6117fe57604051635c510c8360e11b815260040160405180910390fd5b600083600281111561181257611812612eaf565b0361183057604051632de777a160e11b815260040160405180910390fd5b61089e8383838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525060019250612030915050565b6060600061187d836124c1565b9392505050565b60006001600160e01b0319821663fa31a45b60e01b148061068257506106828261251c565b60006001600160e01b03198216631030681960e21b14806118ce57506118ce8261251c565b806118dd57506118dd82612532565b80610682575061068282612553565b6001600160a01b0381166000908152600183016020526040812054151561187d565b600061191982610e99565b9050806001600160a01b0316836001600160a01b0316036119865760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016107a9565b336001600160a01b03821614806119a257506119a28133611693565b611a145760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016107a9565b61089e8383612593565b6000818152609960205260408120546001600160a01b0316611a975760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016107a9565b6000611aa283610e99565b9050806001600160a01b0316846001600160a01b03161480611ac95750611ac98185611693565b80611aed5750836001600160a01b0316611ae284610734565b6001600160a01b0316145b949350505050565b826001600160a01b0316611b0882610e99565b6001600160a01b031614611b6c5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016107a9565b6001600160a01b038216611bce5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016107a9565b611bd9600082612593565b6001600160a01b0383166000908152609a60205260408120805460019290611c02908490613534565b90915550506001600160a01b0382166000908152609a60205260408120805460019290611c3090849061354b565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600061187d8284613563565b600061187d8284613598565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b6000611cd682610e99565b9050611ce3600083612593565b6001600160a01b0381166000908152609a60205260408120805460019290611d0c908490613534565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45b5050565b806002811115611d7957611d79612eaf565b6101095460ff166002811115611d9157611d91612eaf565b60405133907f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f90600090a4610109805482919060ff19166001836002811115611ddc57611ddc612eaf565b021790555050565b60008054610100900460ff1615611e2b578160ff166001148015611e075750303b155b611e235760405162461bcd60e51b81526004016107a9906135ac565b506000919050565b60005460ff808416911610611e525760405162461bcd60e51b81526004016107a9906135ac565b506000805460ff191660ff92909216919091179055600190565b600054610100900460ff16611e935760405162461bcd60e51b81526004016107a9906135fa565b610fca612601565b600054610100900460ff16611ec25760405162461bcd60e51b81526004016107a9906135fa565b611d638282612631565b600054610100900460ff16610fca5760405162461bcd60e51b81526004016107a9906135fa565b600054610100900460ff16611f1a5760405162461bcd60e51b81526004016107a9906135fa565b610fca611ecc565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611f8561010480546001019055565b6000611f916101045490565b905061010054811115611fe65760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e7360448201526064016107a9565b611ff08582612671565b600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b038516179055949350505050565b600083600281111561204457612044612eaf565b1461089e5760005b825181101561146057811561212d576120bc83828151811061207057612070613645565b6020026020010151610108600087600281111561208f5761208f612eaf565b60028111156120a0576120a0612eaf565b815260200190815260200160002061268b90919063ffffffff16565b508360028111156120cf576120cf612eaf565b8382815181106120e1576120e1613645565b60200260200101516001600160a01b0316336001600160a01b03167f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba153660405160405180910390a46121fb565b61218e83828151811061214257612142613645565b6020026020010151610108600087600281111561216157612161612eaf565b600281111561217257612172612eaf565b81526020019081526020016000206126a090919063ffffffff16565b508360028111156121a1576121a1612eaf565b8382815181106121b3576121b3613645565b60200260200101516001600160a01b0316336001600160a01b03167fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed9560405160405180910390a45b806122058161365b565b91505061204c565b611d633383836126b5565b6101005481111561226b5760405162461bcd60e51b815260206004820181905260248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e7360448201526064016107a9565b61010454156122d65760405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b60648201526084016107a9565b604051806060016040528082815260200184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509385525050506020918201528151610105908155908201516101069061233f9082613674565b50604091820151600291909101805460ff19169115159190911790555181907f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1990610a02908690869061336d565b612398848484611af5565b6123a484848484612783565b6114605760405162461bcd60e51b81526004016107a990613734565b6060816000036123e75750506040805180820190915260018152600360fc1b602082015290565b8160005b811561241157806123fb8161365b565b915061240a9050600a83613598565b91506123eb565b60008167ffffffffffffffff81111561242c5761242c61303f565b6040519080825280601f01601f191660200182016040528015612456576020820181803683370190505b5090505b8415611aed5761246b600183613534565b9150612478600a86613786565b61248390603061354b565b60f81b81838151811061249857612498613645565b60200101906001600160f81b031916908160001a9053506124ba600a86613598565b945061245a565b60608160000180548060200260200160405190810160405280929190818152602001828054801561165457602002820191906000526020600020905b8154815260200190600101908083116124fd5750505050509050919050565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b14806106825750610682825b60006001600160e01b031982166380ac58cd60e01b148061258457506001600160e01b03198216635b5e139f60e01b145b8061068257506106828261251c565b6000818152609b6020526040902080546001600160a01b0319166001600160a01b03841690811790915581906125c882610e99565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600054610100900460ff166126285760405162461bcd60e51b81526004016107a9906135fa565b610fca33611f22565b600054610100900460ff166126585760405162461bcd60e51b81526004016107a9906135fa565b60976126648382613674565b50609861089e8282613674565b611d63828260405180602001604052806000815250612884565b600061187d836001600160a01b0384166128b7565b600061187d836001600160a01b038416612906565b816001600160a01b0316836001600160a01b0316036127165760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016107a9565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60006001600160a01b0384163b1561287957604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906127c790339089908890889060040161379a565b6020604051808303816000875af1925050508015612802575060408051601f3d908101601f191682019092526127ff918101906137d7565b60015b61285f573d808015612830576040519150601f19603f3d011682016040523d82523d6000602084013e612835565b606091505b5080516000036128575760405162461bcd60e51b81526004016107a990613734565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611aed565b506001949350505050565b61288e83836129f9565b61289b6000848484612783565b61089e5760405162461bcd60e51b81526004016107a990613734565b60008181526001830160205260408120546128fe57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610682565b506000610682565b600081815260018301602052604081205480156129ef57600061292a600183613534565b855490915060009061293e90600190613534565b90508181146129a357600086600001828154811061295e5761295e613645565b906000526020600020015490508087600001848154811061298157612981613645565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806129b4576129b46137f4565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610682565b6000915050610682565b6001600160a01b038216612a4f5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016107a9565b6000818152609960205260409020546001600160a01b031615612ab45760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107a9565b6001600160a01b0382166000908152609a60205260408120805460019290612add90849061354b565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b5080546000825590600052602060002090810190610b6491905b80821115612b695760008155600101612b55565b5090565b80356003811061109d57600080fd5b600060208284031215612b8e57600080fd5b61187d82612b6d565b6020808252825182820181905260009190848201906040850190845b81811015612bd85783516001600160a01b031683529284019291840191600101612bb3565b50909695505050505050565b6001600160e01b031981168114610b6457600080fd5b600060208284031215612c0c57600080fd5b813561187d81612be4565b60005b83811015612c32578181015183820152602001612c1a565b838111156114605750506000910152565b60008151808452612c5b816020860160208601612c17565b601f01601f19169290920160200192915050565b60208152600061187d6020830184612c43565b600060208284031215612c9457600080fd5b5035919050565b80356001600160a01b038116811461109d57600080fd5b60008060408385031215612cc557600080fd5b612cce83612c9b565b946020939093013593505050565b60008060408385031215612cef57600080fd5b612cf883612c9b565b915060208301358015158114612d0d57600080fd5b809150509250929050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b600080600060408486031215612d7657600080fd5b83359250602084013567ffffffffffffffff811115612d9457600080fd5b612da086828701612d18565b9497909650939450505050565b600060208284031215612dbf57600080fd5b61187d82612c9b565b600080600060608486031215612ddd57600080fd5b612de684612c9b565b9250612df460208501612c9b565b9150604084013590509250925092565b60008060408385031215612e1757600080fd5b50508035926020909101359150565b60008060008060008060808789031215612e3f57600080fd5b863567ffffffffffffffff80821115612e5757600080fd5b612e638a838b01612d18565b90985096506020890135915080821115612e7c57600080fd5b50612e8989828a01612d18565b9095509350612e9c905060408801612c9b565b9150606087013590509295509295509295565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612ee757634e487b7160e01b600052602160045260246000fd5b91905290565b60008060208385031215612f0057600080fd5b823567ffffffffffffffff811115612f1757600080fd5b612f2385828601612d18565b90969095509350505050565b60208152815160208201526000602083015160606040840152612f556080840182612c43565b90506040840151151560608401528091505092915050565b600080600060408486031215612f8257600080fd5b612f8b84612b6d565b9250602084013567ffffffffffffffff80821115612fa857600080fd5b818601915086601f830112612fbc57600080fd5b813581811115612fcb57600080fd5b8760208260051b8501011115612fe057600080fd5b6020830194508093505050509250925092565b60008060006040848603121561300857600080fd5b833567ffffffffffffffff81111561301f57600080fd5b61302b86828701612d18565b909790965060209590950135949350505050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561306b57600080fd5b61307485612c9b565b935061308260208601612c9b565b925060408501359150606085013567ffffffffffffffff808211156130a657600080fd5b818701915087601f8301126130ba57600080fd5b8135818111156130cc576130cc61303f565b604051601f8201601f19908116603f011681019083821181831017156130f4576130f461303f565b816040528281528a602084870101111561310d57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806000806060858703121561314757600080fd5b843567ffffffffffffffff81111561315e57600080fd5b61316a87828801612d18565b9095509350506020850135915061318360408601612c9b565b905092959194509250565b600080604083850312156131a157600080fd5b6131aa83612c9b565b9150610b0260208401612c9b565b600181811c908216806131cc57607f821691505b6020821081036131ec57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b601f82111561089e57600081815260208120601f850160051c810160208610156132855750805b601f850160051c820191505b818110156132a457828155600101613291565b505050505050565b67ffffffffffffffff8311156132c4576132c461303f565b6132d8836132d283546131b8565b8361325e565b6000601f84116001811461330c57600085156132f45750838201355b600019600387901b1c1916600186901b178355613366565b600083815260209020601f19861690835b8281101561333d578685013582556020948501946001909201910161331d565b508682101561335a5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6000602080835260008454613401816131b8565b80848701526040600180841660008114613422576001811461343c5761346a565b60ff1985168984015283151560051b89018301955061346a565b896000528660002060005b858110156134625781548b8201860152908301908801613447565b8a0184019650505b509398975050505050505050565b6000808454613486816131b8565b6001828116801561349e57600181146134b3576134e2565b60ff19841687528215158302870194506134e2565b8860005260208060002060005b858110156134d95781548a8201529084019082016134c0565b50505082870194505b50602f60f81b8452865192506134fe8382860160208a01612c17565b64173539b7b760d91b939092019182019290925260060195945050505050565b634e487b7160e01b600052601160045260246000fd5b6000828210156135465761354661351e565b500390565b6000821982111561355e5761355e61351e565b500190565b600081600019048311821515161561357d5761357d61351e565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826135a7576135a7613582565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60006001820161366d5761366d61351e565b5060010190565b815167ffffffffffffffff81111561368e5761368e61303f565b6136a28161369c84546131b8565b8461325e565b602080601f8311600181146136d757600084156136bf5750858301515b600019600386901b1c1916600185901b1785556132a4565b600085815260208120601f198616915b82811015613706578886015182559484019460019091019084016136e7565b50858210156137245787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008261379557613795613582565b500690565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906137cd90830184612c43565b9695505050505050565b6000602082840312156137e957600080fd5b815161187d81612be4565b634e487b7160e01b600052603160045260246000fdfea26469706673582212205370b00cd33099bb7db34d5dcd47472641d39a154db4f6e3ad68922ff6aec39a64736f6c634300080f0033", + "sourceMap": "187:1659:39:-:0;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b50600436106102955760003560e01c806370a0823111610167578063b390ac25116100ce578063e985e9c511610087578063e985e9c5146105d7578063eab85118146105ea578063ee070805146105fd578063efc32cd414610609578063f2fde38b1461061c578063ff6e8c8f1461062f57600080fd5b8063b390ac251461056e578063b88d4fde14610581578063b9fbd25c14610594578063bc719455146105a7578063c87b56dd146105ba578063e8315742146105cd57600080fd5b8063931688cb11610120578063931688cb146105105780639338bb5d1461052357806395d89b41146105385780639e860f2a14610540578063a22cb46514610553578063ab69607a1461056657600080fd5b806370a08231146104b5578063715018a6146104c8578063755edd17146104d057806387bc793f146104e3578063894ba833146104f75780638da5cb5b146104ff57600080fd5b80632ce878da1161020b57806342966c68116101c457806342966c681461044e578063472a66381461046157806353df5c7c146104745780635edc7c191461047c5780636297c16c1461048f5780636352211e146104a257600080fd5b80632ce878da146103cf5780633403c4e9146103d75780633a3d146f146103e85780633ebc82c51461041557806340c1a0641461042857806342842e0e1461043b57600080fd5b80630de54ba01161025d5780630de54ba01461033b57806318160ddd1461034e57806318e97fd114610364578063204274861461037757806323b872dd1461038a5780632a55205a1461039d57600080fd5b8063012cf1e81461029a57806301ffc9a7146102c357806306fdde03146102e6578063081812fc146102fb578063095ea7b314610326575b600080fd5b6102ad6102a8366004612b7c565b610642565b6040516102ba9190612b97565b60405180910390f35b6102d66102d1366004612bfa565b610688565b60405190151581526020016102ba565b6102ee6106a2565b6040516102ba9190612c6f565b61030e610309366004612c82565b610734565b6040516001600160a01b0390911681526020016102ba565b610339610334366004612cb2565b6107ce565b005b610339610349366004612cdc565b6108a3565b61035661091b565b6040519081526020016102ba565b610339610372366004612d61565b61092c565b6102d6610385366004612dad565b610a0f565b610339610398366004612dc8565b610a3e565b6103b06103ab366004612e04565b610a70565b604080516001600160a01b0390931683526020830191909152016102ba565b6102ad610b0b565b60fb546001600160a01b031661030e565b6102d66103f6366004612dad565b6001600160a01b03166000908152610102602052604090205460ff1690565b610339610423366004612dad565b610b31565b61030e610436366004612c82565b610b67565b610339610449366004612dc8565b610b7b565b61033961045c366004612c82565b610b96565b61033961046f366004612b7c565b610c0d565b610339610c3c565b61033961048a366004612e26565b610cb0565b61033961049d366004612c82565b610e30565b61030e6104b0366004612c82565b610e99565b6103566104c3366004612dad565b610f10565b610339610f96565b6103566104de366004612dad565b610fcc565b6101095460ff166040516102ba9190612ec5565b6103396110a2565b6033546001600160a01b031661030e565b61033961051e366004612eed565b611106565b61052b6111da565b6040516102ba9190612f2f565b6102ee6112be565b61033961054e366004612f6d565b6112cd565b610339610561366004612cdc565b611330565b60fc54610356565b61033961057c366004612ff3565b6113d7565b61033961058f366004613055565b61142e565b6103396105a2366004613131565b611466565b6103396105b5366004612b7c565b6114e5565b6102ee6105c8366004612c82565b61159a565b6103566101005481565b6102d66105e536600461318e565b611693565b6102d66105f8366004612dad565b6116c1565b60ff80546102d6911681565b610339610617366004612cb2565b6116e8565b61033961062a366004612dad565b611740565b61033961063d366004612f6d565b6117d8565b6060610682610108600084600281111561065e5761065e612eaf565b600281111561066f5761066f612eaf565b8152602001908152602001600020611870565b92915050565b600061069382611884565b806106825750610682826118a9565b6060609780546106b1906131b8565b80601f01602080910402602001604051908101604052809291908181526020018280546106dd906131b8565b801561072a5780601f106106ff5761010080835404028352916020019161072a565b820191906000526020600020905b81548152906001019060200180831161070d57829003601f168201915b5050505050905090565b6000818152609960205260408120546001600160a01b03166107b25760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152609b60205260409020546001600160a01b031690565b8160016101095460ff1660028111156107e9576107e9612eaf565b036108485761082781610108600060015b600281111561080b5761080b612eaf565b81526020019081526020016000206118ec90919063ffffffff16565b610843576040516282b42960e81b815260040160405180910390fd5b610894565b60026101095460ff16600281111561086257610862612eaf565b036108945761087781610108600060026107fa565b15610894576040516282b42960e81b815260040160405180910390fd5b61089e838361190e565b505050565b6033546001600160a01b031633146108cd5760405162461bcd60e51b81526004016107a9906131f2565b60ff805416156108ef5760405162461bcd60e51b81526004016107a990613227565b6001600160a01b0391909116600090815261010260205260409020805460ff1916911515919091179055565b60006109276101045490565b905090565b6033546001600160a01b031633146109565760405162461bcd60e51b81526004016107a9906131f2565b6101075460ff16156109b55760405162461bcd60e51b815260206004820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b60648201526084016107a9565b6000838152610103602052604090206109cf8284836132ac565b50827f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd8383604051610a0292919061336d565b60405180910390a2505050565b6000610a236033546001600160a01b031690565b6001600160a01b0316826001600160a01b0316149050919050565b610a49335b82611a1e565b610a655760405162461bcd60e51b81526004016107a99061339c565b61089e838383611af5565b600082815260fd602052604081205481906001600160a01b0316610a9f5760fb546001600160a01b0316610ab8565b600084815260fd60205260409020546001600160a01b03165b9150610b026064610afc60fe600088815260200190815260200160002054600003610ae55760fc54610af5565b600087815260fe60205260409020545b8690611c91565b90611c9d565b90509250929050565b61010954606090610927906101089060009060ff16600281111561065e5761065e612eaf565b6033546001600160a01b03163314610b5b5760405162461bcd60e51b81526004016107a9906131f2565b610b6481611ca9565b50565b60006106826033546001600160a01b031690565b61089e8383836040518060200160405280600081525061142e565b610b9f33610a43565b610c045760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b60648201526084016107a9565b610b6481611ccb565b610c1633610a0f565b610c3357604051635c510c8360e11b815260040160405180910390fd5b610b6481611d67565b6033546001600160a01b03163314610c665760405162461bcd60e51b81526004016107a9906131f2565b6040517fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e90610c9890610106906133ed565b60405180910390a1610107805460ff19166001179055565b6000610cbc6001611de4565b90508015610cd4576000805461ff0019166101001790555b6001600160a01b038316610d2a5760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c2061646472657373000060448201526064016107a9565b610d34600a60fc55565b60ff805460ff19169055610100829055610d4c611e6c565b610dbf87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611e9b92505050565b610dc7611ecc565b610dcf611ef3565b610dd883611ca9565b610de183611740565b8015610e27576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b33610e3a82610e99565b6001600160a01b031614610e905760405162461bcd60e51b815260206004820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e0060448201526064016107a9565b610b6481610b96565b6000818152609960205260408120546001600160a01b0316806106825760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016107a9565b60006001600160a01b038216610f7a5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016107a9565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610fc05760405162461bcd60e51b81526004016107a9906131f2565b610fca6000611f22565b565b60ff80546000911615610ff15760405162461bcd60e51b81526004016107a990613227565b6033546001600160a01b031633148061101a5750336000908152610102602052604090205460ff165b61107f5760405162461bcd60e51b815260206004820152603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b60648201526084016107a9565b6106828261108c60fc5490565b60fb546001600160a01b0316611f74565b919050565b6033546001600160a01b031633146110cc5760405162461bcd60e51b81526004016107a9906131f2565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b6033546001600160a01b031633146111305760405162461bcd60e51b81526004016107a9906131f2565b6101075460ff161561118e5760405162461bcd60e51b815260206004820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b60648201526084016107a9565b61010661119c8284836132ac565b507f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e82826040516111ce92919061336d565b60405180910390a15050565b611200604051806060016040528060008152602001606081526020016000151581525090565b6040805160608101909152610105805482526101068054602084019190611226906131b8565b80601f0160208091040260200160405190810160405280929190818152602001828054611252906131b8565b801561129f5780601f106112745761010080835404028352916020019161129f565b820191906000526020600020905b81548152906001019060200180831161128257829003601f168201915b50505091835250506002919091015460ff161515602090910152919050565b6060609880546106b1906131b8565b6112d633610a0f565b6112f357604051635c510c8360e11b815260040160405180910390fd5b61089e8383838080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509250612030915050565b8160016101095460ff16600281111561134b5761134b612eaf565b036113815761136081610108600060016107fa565b61137c576040516282b42960e81b815260040160405180910390fd5b6113cd565b60026101095460ff16600281111561139b5761139b612eaf565b036113cd576113b081610108600060026107fa565b156113cd576040516282b42960e81b815260040160405180910390fd5b61089e838361220d565b6033546001600160a01b031633146114015760405162461bcd60e51b81526004016107a9906131f2565b60ff805416156114235760405162461bcd60e51b81526004016107a990613227565b61089e838383612218565b6114383383611a1e565b6114545760405162461bcd60e51b81526004016107a99061339c565b6114608484848461238d565b50505050565b6033546001600160a01b031633146114905760405162461bcd60e51b81526004016107a9906131f2565b60ff805416156114b25760405162461bcd60e51b81526004016107a990613227565b6114bd848484612218565b6001600160a01b0316600090815261010260205260409020805460ff19166001179055505050565b6114ee33610a0f565b61150b57604051635c510c8360e11b815260040160405180910390fd5b610108600082600281111561152257611522612eaf565b600281111561153357611533612eaf565b8152602081019190915260400160009081209081816115528282612b3b565b50505050336001600160a01b03167f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da248260405161158f9190612ec5565b60405180910390a250565b600081815261010360205260408120805460609291906115b9906131b8565b905011156116605760008281526101036020526040902080546115db906131b8565b80601f0160208091040260200160405190810160405280929190818152602001828054611607906131b8565b80156116545780601f1061162957610100808354040283529160200191611654565b820191906000526020600020905b81548152906001019060200180831161163757829003601f168201915b50505050509050919050565b61010661166c836123c0565b60405160200161167d929190613478565b6040516020818303038152906040529050919050565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b6101095460009061068290839061010890849060ff1660028111156107fa576107fa612eaf565b6033546001600160a01b031633146117125760405162461bcd60e51b81526004016107a9906131f2565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461176a5760405162461bcd60e51b81526004016107a9906131f2565b6001600160a01b0381166117cf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107a9565b610b6481611f22565b6117e133610a0f565b6117fe57604051635c510c8360e11b815260040160405180910390fd5b600083600281111561181257611812612eaf565b0361183057604051632de777a160e11b815260040160405180910390fd5b61089e8383838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525060019250612030915050565b6060600061187d836124c1565b9392505050565b60006001600160e01b0319821663fa31a45b60e01b148061068257506106828261251c565b60006001600160e01b03198216631030681960e21b14806118ce57506118ce8261251c565b806118dd57506118dd82612532565b80610682575061068282612553565b6001600160a01b0381166000908152600183016020526040812054151561187d565b600061191982610e99565b9050806001600160a01b0316836001600160a01b0316036119865760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016107a9565b336001600160a01b03821614806119a257506119a28133611693565b611a145760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016107a9565b61089e8383612593565b6000818152609960205260408120546001600160a01b0316611a975760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016107a9565b6000611aa283610e99565b9050806001600160a01b0316846001600160a01b03161480611ac95750611ac98185611693565b80611aed5750836001600160a01b0316611ae284610734565b6001600160a01b0316145b949350505050565b826001600160a01b0316611b0882610e99565b6001600160a01b031614611b6c5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016107a9565b6001600160a01b038216611bce5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016107a9565b611bd9600082612593565b6001600160a01b0383166000908152609a60205260408120805460019290611c02908490613534565b90915550506001600160a01b0382166000908152609a60205260408120805460019290611c3090849061354b565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600061187d8284613563565b600061187d8284613598565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b6000611cd682610e99565b9050611ce3600083612593565b6001600160a01b0381166000908152609a60205260408120805460019290611d0c908490613534565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45b5050565b806002811115611d7957611d79612eaf565b6101095460ff166002811115611d9157611d91612eaf565b60405133907f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f90600090a4610109805482919060ff19166001836002811115611ddc57611ddc612eaf565b021790555050565b60008054610100900460ff1615611e2b578160ff166001148015611e075750303b155b611e235760405162461bcd60e51b81526004016107a9906135ac565b506000919050565b60005460ff808416911610611e525760405162461bcd60e51b81526004016107a9906135ac565b506000805460ff191660ff92909216919091179055600190565b600054610100900460ff16611e935760405162461bcd60e51b81526004016107a9906135fa565b610fca612601565b600054610100900460ff16611ec25760405162461bcd60e51b81526004016107a9906135fa565b611d638282612631565b600054610100900460ff16610fca5760405162461bcd60e51b81526004016107a9906135fa565b600054610100900460ff16611f1a5760405162461bcd60e51b81526004016107a9906135fa565b610fca611ecc565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611f8561010480546001019055565b6000611f916101045490565b905061010054811115611fe65760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e7360448201526064016107a9565b611ff08582612671565b600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b038516179055949350505050565b600083600281111561204457612044612eaf565b1461089e5760005b825181101561146057811561212d576120bc83828151811061207057612070613645565b6020026020010151610108600087600281111561208f5761208f612eaf565b60028111156120a0576120a0612eaf565b815260200190815260200160002061268b90919063ffffffff16565b508360028111156120cf576120cf612eaf565b8382815181106120e1576120e1613645565b60200260200101516001600160a01b0316336001600160a01b03167f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba153660405160405180910390a46121fb565b61218e83828151811061214257612142613645565b6020026020010151610108600087600281111561216157612161612eaf565b600281111561217257612172612eaf565b81526020019081526020016000206126a090919063ffffffff16565b508360028111156121a1576121a1612eaf565b8382815181106121b3576121b3613645565b60200260200101516001600160a01b0316336001600160a01b03167fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed9560405160405180910390a45b806122058161365b565b91505061204c565b611d633383836126b5565b6101005481111561226b5760405162461bcd60e51b815260206004820181905260248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e7360448201526064016107a9565b61010454156122d65760405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b60648201526084016107a9565b604051806060016040528082815260200184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509385525050506020918201528151610105908155908201516101069061233f9082613674565b50604091820151600291909101805460ff19169115159190911790555181907f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1990610a02908690869061336d565b612398848484611af5565b6123a484848484612783565b6114605760405162461bcd60e51b81526004016107a990613734565b6060816000036123e75750506040805180820190915260018152600360fc1b602082015290565b8160005b811561241157806123fb8161365b565b915061240a9050600a83613598565b91506123eb565b60008167ffffffffffffffff81111561242c5761242c61303f565b6040519080825280601f01601f191660200182016040528015612456576020820181803683370190505b5090505b8415611aed5761246b600183613534565b9150612478600a86613786565b61248390603061354b565b60f81b81838151811061249857612498613645565b60200101906001600160f81b031916908160001a9053506124ba600a86613598565b945061245a565b60608160000180548060200260200160405190810160405280929190818152602001828054801561165457602002820191906000526020600020905b8154815260200190600101908083116124fd5750505050509050919050565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b14806106825750610682825b60006001600160e01b031982166380ac58cd60e01b148061258457506001600160e01b03198216635b5e139f60e01b145b8061068257506106828261251c565b6000818152609b6020526040902080546001600160a01b0319166001600160a01b03841690811790915581906125c882610e99565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600054610100900460ff166126285760405162461bcd60e51b81526004016107a9906135fa565b610fca33611f22565b600054610100900460ff166126585760405162461bcd60e51b81526004016107a9906135fa565b60976126648382613674565b50609861089e8282613674565b611d63828260405180602001604052806000815250612884565b600061187d836001600160a01b0384166128b7565b600061187d836001600160a01b038416612906565b816001600160a01b0316836001600160a01b0316036127165760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016107a9565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60006001600160a01b0384163b1561287957604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906127c790339089908890889060040161379a565b6020604051808303816000875af1925050508015612802575060408051601f3d908101601f191682019092526127ff918101906137d7565b60015b61285f573d808015612830576040519150601f19603f3d011682016040523d82523d6000602084013e612835565b606091505b5080516000036128575760405162461bcd60e51b81526004016107a990613734565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611aed565b506001949350505050565b61288e83836129f9565b61289b6000848484612783565b61089e5760405162461bcd60e51b81526004016107a990613734565b60008181526001830160205260408120546128fe57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610682565b506000610682565b600081815260018301602052604081205480156129ef57600061292a600183613534565b855490915060009061293e90600190613534565b90508181146129a357600086600001828154811061295e5761295e613645565b906000526020600020015490508087600001848154811061298157612981613645565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806129b4576129b46137f4565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610682565b6000915050610682565b6001600160a01b038216612a4f5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016107a9565b6000818152609960205260409020546001600160a01b031615612ab45760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107a9565b6001600160a01b0382166000908152609a60205260408120805460019290612add90849061354b565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b5080546000825590600052602060002090810190610b6491905b80821115612b695760008155600101612b55565b5090565b80356003811061109d57600080fd5b600060208284031215612b8e57600080fd5b61187d82612b6d565b6020808252825182820181905260009190848201906040850190845b81811015612bd85783516001600160a01b031683529284019291840191600101612bb3565b50909695505050505050565b6001600160e01b031981168114610b6457600080fd5b600060208284031215612c0c57600080fd5b813561187d81612be4565b60005b83811015612c32578181015183820152602001612c1a565b838111156114605750506000910152565b60008151808452612c5b816020860160208601612c17565b601f01601f19169290920160200192915050565b60208152600061187d6020830184612c43565b600060208284031215612c9457600080fd5b5035919050565b80356001600160a01b038116811461109d57600080fd5b60008060408385031215612cc557600080fd5b612cce83612c9b565b946020939093013593505050565b60008060408385031215612cef57600080fd5b612cf883612c9b565b915060208301358015158114612d0d57600080fd5b809150509250929050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b600080600060408486031215612d7657600080fd5b83359250602084013567ffffffffffffffff811115612d9457600080fd5b612da086828701612d18565b9497909650939450505050565b600060208284031215612dbf57600080fd5b61187d82612c9b565b600080600060608486031215612ddd57600080fd5b612de684612c9b565b9250612df460208501612c9b565b9150604084013590509250925092565b60008060408385031215612e1757600080fd5b50508035926020909101359150565b60008060008060008060808789031215612e3f57600080fd5b863567ffffffffffffffff80821115612e5757600080fd5b612e638a838b01612d18565b90985096506020890135915080821115612e7c57600080fd5b50612e8989828a01612d18565b9095509350612e9c905060408801612c9b565b9150606087013590509295509295509295565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612ee757634e487b7160e01b600052602160045260246000fd5b91905290565b60008060208385031215612f0057600080fd5b823567ffffffffffffffff811115612f1757600080fd5b612f2385828601612d18565b90969095509350505050565b60208152815160208201526000602083015160606040840152612f556080840182612c43565b90506040840151151560608401528091505092915050565b600080600060408486031215612f8257600080fd5b612f8b84612b6d565b9250602084013567ffffffffffffffff80821115612fa857600080fd5b818601915086601f830112612fbc57600080fd5b813581811115612fcb57600080fd5b8760208260051b8501011115612fe057600080fd5b6020830194508093505050509250925092565b60008060006040848603121561300857600080fd5b833567ffffffffffffffff81111561301f57600080fd5b61302b86828701612d18565b909790965060209590950135949350505050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561306b57600080fd5b61307485612c9b565b935061308260208601612c9b565b925060408501359150606085013567ffffffffffffffff808211156130a657600080fd5b818701915087601f8301126130ba57600080fd5b8135818111156130cc576130cc61303f565b604051601f8201601f19908116603f011681019083821181831017156130f4576130f461303f565b816040528281528a602084870101111561310d57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806000806060858703121561314757600080fd5b843567ffffffffffffffff81111561315e57600080fd5b61316a87828801612d18565b9095509350506020850135915061318360408601612c9b565b905092959194509250565b600080604083850312156131a157600080fd5b6131aa83612c9b565b9150610b0260208401612c9b565b600181811c908216806131cc57607f821691505b6020821081036131ec57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b601f82111561089e57600081815260208120601f850160051c810160208610156132855750805b601f850160051c820191505b818110156132a457828155600101613291565b505050505050565b67ffffffffffffffff8311156132c4576132c461303f565b6132d8836132d283546131b8565b8361325e565b6000601f84116001811461330c57600085156132f45750838201355b600019600387901b1c1916600186901b178355613366565b600083815260209020601f19861690835b8281101561333d578685013582556020948501946001909201910161331d565b508682101561335a5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6000602080835260008454613401816131b8565b80848701526040600180841660008114613422576001811461343c5761346a565b60ff1985168984015283151560051b89018301955061346a565b896000528660002060005b858110156134625781548b8201860152908301908801613447565b8a0184019650505b509398975050505050505050565b6000808454613486816131b8565b6001828116801561349e57600181146134b3576134e2565b60ff19841687528215158302870194506134e2565b8860005260208060002060005b858110156134d95781548a8201529084019082016134c0565b50505082870194505b50602f60f81b8452865192506134fe8382860160208a01612c17565b64173539b7b760d91b939092019182019290925260060195945050505050565b634e487b7160e01b600052601160045260246000fd5b6000828210156135465761354661351e565b500390565b6000821982111561355e5761355e61351e565b500190565b600081600019048311821515161561357d5761357d61351e565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826135a7576135a7613582565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60006001820161366d5761366d61351e565b5060010190565b815167ffffffffffffffff81111561368e5761368e61303f565b6136a28161369c84546131b8565b8461325e565b602080601f8311600181146136d757600084156136bf5750858301515b600019600386901b1c1916600185901b1785556132a4565b600085815260208120601f198616915b82811015613706578886015182559484019460019091019084016136e7565b50858210156137245787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008261379557613795613582565b500690565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906137cd90830184612c43565b9695505050505050565b6000602082840312156137e957600080fd5b815161187d81612be4565b634e487b7160e01b600052603160045260246000fdfea26469706673582212205370b00cd33099bb7db34d5dcd47472641d39a154db4f6e3ad68922ff6aec39a64736f6c634300080f0033", + "sourceMap": "187:1659:39:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3744:142:33;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;515:312:39;;;;;;:::i;:::-;;:::i;:::-;;;1593:14:44;;1586:22;1568:41;;1556:2;1541:18;515:312:39;1428:187:44;2948:98:14;;;:::i;:::-;;;;;;;:::i;4471:217::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2720:32:44;;;2702:51;;2690:2;2675:18;4471:217:14;2556:203:44;1349:173:39;;;;;;:::i;:::-;;:::i;:::-;;4926:166:37;;;;;;:::i;:::-;;:::i;10790:109::-;;;:::i;:::-;;;3699:25:44;;;3687:2;3672:18;10790:109:37;3553:177:44;8332:337:37;;;;;;:::i;:::-;;:::i;1072:171:39:-;;;;;;:::i;:::-;;:::i;5198:330:14:-;;;;;;:::i;:::-;;:::i;846:566:41:-;;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;5541:32:44;;;5523:51;;5605:2;5590:18;;5583:34;;;;5496:18;846:566:41;5349:274:44;3922:114:33;;;:::i;2248:113:41:-;2332:22;;-1:-1:-1;;;;;2332:22:41;2248:113;;9281:120:37;;;;;;:::i;:::-;-1:-1:-1;;;;;9369:25:37;9346:4;9369:25;;;:15;:25;;;;;;;;;9281:120;7363:127;;;;;;:::i;:::-;;:::i;9583:141::-;;;;;;:::i;:::-;;:::i;5594:179:14:-;;;;;;:::i;:::-;;:::i;801:241:17:-;;;;;;:::i;:::-;;:::i;2445:125:33:-;;;;;;:::i;:::-;;:::i;8750:140:37:-;;;:::i;3645:548::-;;;;;;:::i;:::-;;:::i;6819:196::-;;;;;;:::i;:::-;;:::i;2651:235:14:-;;;;;;:::i;:::-;;:::i;2390:204::-;;;;;;:::i;:::-;;:::i;1908:101:12:-;;;:::i;6269:428:37:-;;;;;;:::i;:::-;;:::i;4242:104:33:-;4333:8;;;;4242:104;;;;;;:::i;7099:119:37:-;;;:::i;1276:85:12:-;1348:6;;-1:-1:-1;;;;;1348:6:12;1276:85;;7947:271:37;;;;;;:::i;:::-;;:::i;9840:99::-;;;:::i;:::-;;;;;;;:::i;3110:102:14:-;;;:::i;3066:182:33:-;;;;;;:::i;:::-;;:::i;1639:205:39:-;;;;;;:::i;:::-;;:::i;2367:117:41:-;2453:24;;2367:117;;5329:181:37;;;;;;:::i;:::-;;:::i;5839:320:14:-;;;;;;:::i;:::-;;:::i;5825:257:37:-;;;;;;:::i;:::-;;:::i;3343:158:33:-;;;;;;:::i;:::-;;:::i;10217:451:37:-;;;;;;:::i;:::-;;:::i;1857:24::-;;;;;;4974:162:14;;;;;;:::i;:::-;;:::i;4072:134:33:-;;;;;;:::i;:::-;;:::i;1779:20:37:-;;;;;;;;;7682:169;;;;;;:::i;:::-;;:::i;2158:198:12:-;;;;;;:::i;:::-;;:::i;2703:268:33:-;;;;;;:::i;:::-;;:::i;3744:142::-;3826:16;3857:24;:4;:15;3862:9;3857:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:22;:24::i;:::-;3850:31;3744:142;-1:-1:-1;;3744:142:33:o;515:312:39:-;673:4;712:44;743:12;712:30;:44::i;:::-;:108;;;;772:48;807:12;772:34;:48::i;2948:98:14:-;3002:13;3034:5;3027:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2948:98;:::o;4471:217::-;4547:7;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:14;4566:73;;;;-1:-1:-1;;;4566:73:14;;12017:2:44;4566:73:14;;;11999:21:44;12056:2;12036:18;;;12029:30;12095:34;12075:18;;;12068:62;-1:-1:-1;;;12146:18:44;;;12139:42;12198:19;;4566:73:14;;;;;;;;;-1:-1:-1;4657:24:14;;;;:15;:24;;;;;;-1:-1:-1;;;;;4657:24:14;;4471:217::o;1349:173:39:-;1463:8;1472:28:33;1460:8;;;;:40;;;;;;;;:::i;:::-;;1456:309;;1515:50;1559:5;1515:4;:34;1520:28;1515:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;:43;;:50;;;;:::i;:::-;1510:92;;1574:28;;-1:-1:-1;;;1574:28:33;;;;;;;;;;;1510:92;1456:309;;;1631:27;1619:8;;;;:39;;;;;;;;:::i;:::-;;1615:150;;1672:49;1715:5;1672:4;:33;1677:27;1672:33;;:49;1668:90;;;1730:28;;-1:-1:-1;;;1730:28:33;;;;;;;;;;;1668:90;1487:28:39::1;1501:8;1511:3;1487:13;:28::i;:::-;1349:173:::0;;;:::o;4926:166:37:-;1348:6:12;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;4503:8:37::1;::::0;;::::1;4502:9;4494:52;;;;-1:-1:-1::0;;;4494:52:37::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5049:24:37;;;::::2;;::::0;;;:15:::2;:24;::::0;;;;:36;;-1:-1:-1;;5049:36:37::2;::::0;::::2;;::::0;;;::::2;::::0;;4926:166::o;10790:109::-;10842:7;10868:24;:14;929::21;;838:112;10868:24:37;10861:31;;10790:109;:::o;8332:337::-;1348:6:12;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;8477:25:37;;::::1;;8476:26;8455:107;;;::::0;-1:-1:-1;;;8455:107:37;;13150:2:44;8455:107:37::1;::::0;::::1;13132:21:44::0;13189:2;13169:18;;;13162:30;13228:34;13208:18;;;13201:62;-1:-1:-1;;;13279:18:44;;;13272:32;13321:19;;8455:107:37::1;12948:398:44::0;8455:107:37::1;8573:20;::::0;;;:10:::1;:20;::::0;;;;:35:::1;8596:12:::0;;8573:20;:35:::1;:::i;:::-;;8639:8;8623:39;8649:12;;8623:39;;;;;;;:::i;:::-;;;;;;;;8332:337:::0;;;:::o;1072:171:39:-;1193:4;1229:7;1348:6:12;;-1:-1:-1;;;;;1348:6:12;;1276:85;1229:7:39;-1:-1:-1;;;;;1220:16:39;:5;-1:-1:-1;;;;;1220:16:39;;1213:23;;1072:171;;;:::o;5198:330:14:-;5387:41;929:10:20;5406:12:14;5420:7;5387:18;:41::i;:::-;5379:103;;;;-1:-1:-1;;;5379:103:14;;;;;;;:::i;:::-;5493:28;5503:4;5509:2;5513:7;5493:9;:28::i;846:566:41:-;983:16;1049:26;;;:16;:26;;;;;;983:16;;-1:-1:-1;;;;;1049:26:41;:118;;1145:22;;-1:-1:-1;;;;;1145:22:41;1049:118;;;1104:26;;;;:16;:26;;;;;;-1:-1:-1;;;;;1104:26:41;1049:118;1038:129;;1193:212;1401:3;1193:190;1238:18;:28;1257:8;1238:28;;;;;;;;;;;;1270:1;1238:33;:131;;1345:24;;1238:131;;;1294:28;;;;:18;:28;;;;;;1238:131;1193:10;;:27;:190::i;:::-;:207;;:212::i;:::-;1177:228;;846:566;;;;;:::o;3922:114:33:-;4013:8;;3977:16;;4008:23;;:4;;:14;;4013:8;;4008:14;;;;;;;;:::i;7363:127:37:-;1348:6:12;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;7446:37:37::1;7473:9;7446:26;:37::i;:::-;7363:127:::0;:::o;9583:141::-;9667:15;9709:7;1348:6:12;;-1:-1:-1;;;;;1348:6:12;;1276:85;5594:179:14;5727:39;5744:4;5750:2;5754:7;5727:39;;;;;;;;;;;;:16;:39::i;801:241:17:-;917:41;929:10:20;936:12:17;850:96:20;917:41:17;909:102;;;;-1:-1:-1;;;909:102:17;;16424:2:44;909:102:17;;;16406:21:44;16463:2;16443:18;;;16436:30;16502:34;16482:18;;;16475:62;-1:-1:-1;;;16553:18:44;;;16546:46;16609:19;;909:102:17;16222:412:44;909:102:17;1021:14;1027:7;1021:5;:14::i;2445:125:33:-;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:33;;;;;;;;;;;2064:71;2539:26:::1;2552:12;2539;:26::i;8750:140:37:-:0;1348:6:12;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;8807:34:37::1;::::0;::::1;::::0;::::1;::::0;8822:18;;8807:34:::1;:::i;:::-;;;;;;;;8851:25:::0;:32;;-1:-1:-1;;8851:32:37::1;8879:4;8851:32;::::0;;8750:140::o;3645:548::-;3111:19:13;3133:25;3156:1;3133:22;:25::i;:::-;3111:47;;3172:14;3168:65;;;3202:13;:20;;-1:-1:-1;;3202:20:13;;;;;3168:65;-1:-1:-1;;;;;3820:22:37;::::1;3812:65;;;::::0;-1:-1:-1;;;3812:65:37;;17809:2:44;3812:65:37::1;::::0;::::1;17791:21:44::0;17848:2;17828:18;;;17821:30;17887:32;17867:18;;;17860:60;17937:18;;3812:65:37::1;17607:354:44::0;3812:65:37::1;3887:32;3916:2;2197:24:41::0;:38;2119:123;3887:32:37::1;3929:8;:16:::0;;-1:-1:-1;;3929:16:37::1;::::0;;::::1;3955:22:::0;;;3988:16:::1;:14;:16::i;:::-;4014:29;4028:5;;4014:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;4014:29:37::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;4035:7:37;;-1:-1:-1;4035:7:37;;;;4014:29;::::1;4035:7:::0;;;;4014:29;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;4014:13:37::1;::::0;-1:-1:-1;;;4014:29:37:i:1;:::-;4053:15;:13;:15::i;:::-;4078:17;:15;:17::i;:::-;4106:36;4133:8;4106:26;:36::i;:::-;4153:33;4177:8;4153:23;:33::i;:::-;3257:14:13::0;3253:99;;;3303:5;3287:21;;-1:-1:-1;;3287:21:13;;;3327:14;;-1:-1:-1;18118:36:44;;3327:14:13;;18106:2:44;18091:18;3327:14:13;;;;;;;3253:99;3101:257;3645:548:37;;;;;;:::o;6819:196::-;6917:10;6896:17;6904:8;6896:7;:17::i;:::-;-1:-1:-1;;;;;6896:31:37;;6875:109;;;;-1:-1:-1;;;6875:109:37;;18367:2:44;6875:109:37;;;18349:21:44;18406:2;18386:18;;;18379:30;18445:33;18425:18;;;18418:61;18496:18;;6875:109:37;18165:355:44;6875:109:37;6994:14;6999:8;6994:4;:14::i;2651:235:14:-;2723:7;2758:16;;;:7;:16;;;;;;-1:-1:-1;;;;;2758:16:14;;2784:73;;;;-1:-1:-1;;;2784:73:14;;18727:2:44;2784:73:14;;;18709:21:44;18766:2;18746:18;;;18739:30;18805:34;18785:18;;;18778:62;-1:-1:-1;;;18856:18:44;;;18849:39;18905:19;;2784:73:14;18525:405:44;2390:204:14;2462:7;-1:-1:-1;;;;;2489:19:14;;2481:73;;;;-1:-1:-1;;;2481:73:14;;19137:2:44;2481:73:14;;;19119:21:44;19176:2;19156:18;;;19149:30;19215:34;19195:18;;;19188:62;-1:-1:-1;;;19266:18:44;;;19259:39;19315:19;;2481:73:14;18935:405:44;2481:73:14;-1:-1:-1;;;;;;2571:16:14;;;;;:9;:16;;;;;;;2390:204::o;1908:101:12:-;1348:6;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;1972:30:::1;1999:1;1972:18;:30::i;:::-;1908:101::o:0;6269:428:37:-;4503:8;;;6350:7;;4503:8;4502:9;4494:52;;;;-1:-1:-1;;;4494:52:37;;;;;;;:::i;:::-;1348:6:12;;-1:-1:-1;;;;;1348:6:12;6390:10:37::1;:21;::::0;:52:::1;;-1:-1:-1::0;6431:10:37::1;6415:27;::::0;;;:15:::1;:27;::::0;;;;;::::1;;6390:52;6369:147;;;::::0;-1:-1:-1;;;6369:147:37;;19547:2:44;6369:147:37::1;::::0;::::1;19529:21:44::0;19586:2;19566:18;;;19559:30;19625:34;19605:18;;;19598:62;-1:-1:-1;;;19676:18:44;;;19669:46;19732:19;;6369:147:37::1;19345:412:44::0;6369:147:37::1;6545:145;6575:9;6602:29;2453:24:41::0;;;2367:117;6602:29:37::1;2332:22:41::0;;-1:-1:-1;;;;;2332:22:41;6545:12:37::1;:145::i;4556:1::-;6269:428:::0;;;:::o;7099:119::-;1348:6:12;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;7153:8:37::1;:15:::0;;-1:-1:-1;;7153:15:37::1;7164:4;7153:15;::::0;;7183:28:::1;::::0;7200:10:::1;::::0;7183:28:::1;::::0;7153:8:::1;::::0;7183:28:::1;7099:119::o:0;7947:271::-;1348:6:12;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;8047:25:37;;::::1;;8046:26;8025:106;;;::::0;-1:-1:-1;;;8025:106:37;;19964:2:44;8025:106:37::1;::::0;::::1;19946:21:44::0;20003:2;19983:18;;;19976:30;20042:34;20022:18;;;20015:62;-1:-1:-1;;;20093:18:44;;;20086:31;20134:19;;8025:106:37::1;19762:397:44::0;8025:106:37::1;8142:18:::0;:29:::1;8163:8:::0;;8142:18;:29:::1;:::i;:::-;;8186:25;8202:8;;8186:25;;;;;;;:::i;:::-;;;;;;;;7947:271:::0;;:::o;9840:99::-;9886:17;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;9886:17:37;9915;;;;;;;;;9922:10;9915:17;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9915:17:37;;;-1:-1:-1;;9915:17:37;;;;;;;;;;;;;;;;9840:99;-1:-1:-1;9840:99:37:o;3110:102:14:-;3166:13;3198:7;3191:14;;;;;:::i;3066:182:33:-;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:33;;;;;;;;;;;2064:71;3201:42:::1;3218:9;3229:6;;3201:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;3201:42:33;-1:-1:-1;3201:16:33::1;::::0;-1:-1:-1;;3201:42:33:i:1;1639:205:39:-:0;1767:9;1472:28:33;1460:8;;;;:40;;;;;;;;:::i;:::-;;1456:309;;1515:50;1559:5;1515:4;:34;1520:28;1515:34;;:50;1510:92;;1574:28;;-1:-1:-1;;;1574:28:33;;;;;;;;;;;1510:92;1456:309;;;1631:27;1619:8;;;;:39;;;;;;;;:::i;:::-;;1615:150;;1672:49;1715:5;1672:4;:33;1677:27;1672:33;;:49;1668:90;;;1730:28;;-1:-1:-1;;;1730:28:33;;;;;;;;;;;1668:90;1792:45:39::1;1816:9;1827;1792:23;:45::i;5329:181:37:-:0;1348:6:12;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;4503:8:37::1;::::0;;::::1;4502:9;4494:52;;;;-1:-1:-1::0;;;4494:52:37::1;;;;;;;:::i;:::-;5464:39:::2;5477:8;;5487:15;5464:12;:39::i;5839:320:14:-:0;6008:41;929:10:20;6041:7:14;6008:18;:41::i;:::-;6000:103;;;;-1:-1:-1;;;6000:103:14;;;;;;;:::i;:::-;6113:39;6127:4;6133:2;6137:7;6146:5;6113:13;:39::i;:::-;5839:320;;;;:::o;5825:257:37:-;1348:6:12;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;4503:8:37::1;::::0;;::::1;4502:9;4494:52;;;;-1:-1:-1::0;;;4494:52:37::1;;;;;;;:::i;:::-;5995:39:::2;6008:8;;6018:15;5995:12;:39::i;:::-;-1:-1:-1::0;;;;;6044:24:37::2;;::::0;;;:15:::2;:24;::::0;;;;:31;;-1:-1:-1;;6044:31:37::2;6071:4;6044:31;::::0;;-1:-1:-1;;;5825:257:37:o;3343:158:33:-;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:33;;;;;;;;;;;2064:71;3436:4:::1;:15;3441:9;3436:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;3436:15:33;;;;;-1:-1:-1;3429:22:33::1;3436:15:::0;-1:-1:-1;3429:22:33::1;:::i;:::-;;;;;3474:10;-1:-1:-1::0;;;;;3462:34:33::1;;3486:9;3462:34;;;;;;:::i;:::-;;;;;;;;3343:158:::0;:::o;10217:451:37:-;10371:1;10340:20;;;:10;:20;;;;;10334:34;;10305:13;;10371:1;10340:20;10334:34;;;:::i;:::-;;;:38;10330:96;;;10395:20;;;;:10;:20;;;;;10388:27;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10217:451;;;:::o;10330:96::-;10516:18;10581:19;:8;:17;:19::i;:::-;10478:169;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10435:226;;10217:451;;;:::o;4974:162:14:-;-1:-1:-1;;;;;5094:25:14;;;5071:4;5094:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4974:162::o;4072:134:33:-;4172:8;;4148:4;;4167:34;;4191:9;;4167:4;;4148;;4172:8;;4167:14;;;;;;;;:::i;7682:169:37:-;1348:6:12;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;7806:26:37::1;::::0;;;:16:::1;:26;::::0;;;;:38;;-1:-1:-1;;;;;;7806:38:37::1;-1:-1:-1::0;;;;;7806:38:37;;;::::1;::::0;;;::::1;::::0;;7682:169::o;2158:198:12:-;1348:6;;-1:-1:-1;;;;;1348:6:12;929:10:20;1488:23:12;1480:68;;;;-1:-1:-1;;;1480:68:12;;;;;;;:::i;:::-;-1:-1:-1;;;;;2246:22:12;::::1;2238:73;;;::::0;-1:-1:-1;;;2238:73:12;;21680:2:44;2238:73:12::1;::::0;::::1;21662:21:44::0;21719:2;21699:18;;;21692:30;21758:34;21738:18;;;21731:62;-1:-1:-1;;;21809:18:44;;;21802:36;21855:19;;2238:73:12::1;21478:402:44::0;2238:73:12::1;2321:28;2340:8;2321:18;:28::i;2703:268:33:-:0;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:33;;;;;;;;;;;2064:71;2852:26:::1;2839:9;:39;;;;;;;;:::i;:::-;::::0;2835:84:::1;;2887:32;;-1:-1:-1::0;;;2887:32:33::1;;;;;;;;;;;2835:84;2925:41;2942:9;2953:6;;2925:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2961:4:33::1;::::0;-1:-1:-1;2925:16:33::1;::::0;-1:-1:-1;;2925:41:33:i:1;9581:257:31:-:0;9644:16;9672:22;9697:19;9705:3;9697:7;:19::i;:::-;9672:44;9581:257;-1:-1:-1;;;9581:257:31:o;4735:204:33:-;4821:4;-1:-1:-1;;;;;;4844:47:33;;-1:-1:-1;;;4844:47:33;;:88;;;4895:37;4919:12;4895:23;:37::i;10966:482:37:-;11163:4;-1:-1:-1;;;;;;11202:46:37;;-1:-1:-1;;;11202:46:37;;:110;;;11264:48;11300:11;11264:35;:48::i;:::-;11202:175;;;;11328:49;11365:11;11328:36;:49::i;:::-;11202:239;;;;11393:48;11429:11;11393:35;:48::i;8182:165:31:-;-1:-1:-1;;;;;8315:23:31;;8262:4;3849:19;;;:12;;;:19;;;;;;:24;;8285:55;3753:127;3998:412:14;4078:13;4094:34;4120:7;4094:25;:34::i;:::-;4078:50;;4152:5;-1:-1:-1;;;;;4146:11:14;:2;-1:-1:-1;;;;;4146:11:14;;4138:57;;;;-1:-1:-1;;;4138:57:14;;22087:2:44;4138:57:14;;;22069:21:44;22126:2;22106:18;;;22099:30;22165:34;22145:18;;;22138:62;-1:-1:-1;;;22216:18:44;;;22209:31;22257:19;;4138:57:14;21885:397:44;4138:57:14;929:10:20;-1:-1:-1;;;;;4227:21:14;;;;:62;;-1:-1:-1;4252:37:14;4269:5;929:10:20;4974:162:14;:::i;4252:37::-;4206:165;;;;-1:-1:-1;;;4206:165:14;;22489:2:44;4206:165:14;;;22471:21:44;22528:2;22508:18;;;22501:30;22567:34;22547:18;;;22540:62;22638:26;22618:18;;;22611:54;22682:19;;4206:165:14;22287:420:44;4206:165:14;4382:21;4391:2;4395:7;4382:8;:21::i;7914:355::-;8007:4;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:14;8023:73;;;;-1:-1:-1;;;8023:73:14;;22914:2:44;8023:73:14;;;22896:21:44;22953:2;22933:18;;;22926:30;22992:34;22972:18;;;22965:62;-1:-1:-1;;;23043:18:44;;;23036:42;23095:19;;8023:73:14;22712:408:44;8023:73:14;8106:13;8122:34;8148:7;8122:25;:34::i;:::-;8106:50;;8185:5;-1:-1:-1;;;;;8174:16:14;:7;-1:-1:-1;;;;;8174:16:14;;:52;;;;8194:32;8211:5;8218:7;8194:16;:32::i;:::-;8174:87;;;;8254:7;-1:-1:-1;;;;;8230:31:14;:20;8242:7;8230:11;:20::i;:::-;-1:-1:-1;;;;;8230:31:14;;8174:87;8166:96;7914:355;-1:-1:-1;;;;7914:355:14:o;10946:616::-;11111:4;-1:-1:-1;;;;;11073:42:14;:34;11099:7;11073:25;:34::i;:::-;-1:-1:-1;;;;;11073:42:14;;11065:92;;;;-1:-1:-1;;;11065:92:14;;23327:2:44;11065:92:14;;;23309:21:44;23366:2;23346:18;;;23339:30;23405:34;23385:18;;;23378:62;-1:-1:-1;;;23456:18:44;;;23449:35;23501:19;;11065:92:14;23125:401:44;11065:92:14;-1:-1:-1;;;;;11175:16:14;;11167:65;;;;-1:-1:-1;;;11167:65:14;;23733:2:44;11167:65:14;;;23715:21:44;23772:2;23752:18;;;23745:30;23811:34;23791:18;;;23784:62;-1:-1:-1;;;23862:18:44;;;23855:34;23906:19;;11167:65:14;23531:400:44;11167:65:14;11344:29;11361:1;11365:7;11344:8;:29::i;:::-;-1:-1:-1;;;;;11384:15:14;;;;;;:9;:15;;;;;:20;;11403:1;;11384:15;:20;;11403:1;;11384:20;:::i;:::-;;;;-1:-1:-1;;;;;;;11414:13:14;;;;;;:9;:13;;;;;:18;;11431:1;;11414:13;:18;;11431:1;;11414:18;:::i;:::-;;;;-1:-1:-1;;11442:16:14;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;11442:21:14;-1:-1:-1;;;;;11442:21:14;;;;;;;;;11479:27;;11442:16;;11479:27;;;;;;;1349:173:39;;;:::o;3461:96:25:-;3519:7;3545:5;3549:1;3545;:5;:::i;3846:96::-;3904:7;3930:5;3934:1;3930;:5;:::i;1418:115:41:-;1492:22;:34;;-1:-1:-1;;;;;;1492:34:41;-1:-1:-1;;;;;1492:34:41;;;;;;;;;;1418:115::o;10205:417:14:-;10264:13;10280:34;10306:7;10280:25;:34::i;:::-;10264:50;;10411:29;10428:1;10432:7;10411:8;:29::i;:::-;-1:-1:-1;;;;;10451:16:14;;;;;;:9;:16;;;;;:21;;10471:1;;10451:16;:21;;10471:1;;10451:21;:::i;:::-;;;;-1:-1:-1;;10489:16:14;;;;:7;:16;;;;;;10482:23;;-1:-1:-1;;;;;;10482:23:14;;;10521:36;10497:7;;10489:16;-1:-1:-1;;;;;10521:36:14;;;;;10489:16;;10521:36;10568:47;10254:368;10205:417;:::o;5223:164:33:-;5340:12;5302:51;;;;;;;;:::i;:::-;5330:8;;;;5302:51;;;;;;;;:::i;:::-;;;5318:10;;5302:51;;;;;5359:8;:23;;5370:12;;5359:8;-1:-1:-1;;5359:23:33;;5370:12;5359:23;;;;;;;;:::i;:::-;;;;;;5223:164;:::o;5287:808:13:-;5351:4;5684:13;;;;;;;5680:409;;;5738:7;:12;;5749:1;5738:12;:61;;;;-1:-1:-1;5793:4:13;1476:19:19;:23;5738:61:13;5713:166;;;;-1:-1:-1;;;5713:166:13;;;;;;;:::i;:::-;-1:-1:-1;5900:5:13;;5287:808;-1:-1:-1;5287:808:13:o;5680:409::-;5944:12;;:22;;;;:12;;:22;5936:81;;;;-1:-1:-1;;;5936:81:13;;;;;;;:::i;:::-;-1:-1:-1;6031:12:13;:22;;-1:-1:-1;;6031:22:13;;;;;;;;;;;;-1:-1:-1;;5287:808:13:o;988:95:12:-;4698:13:13;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:13;;;;;;;:::i;:::-;1050:26:12::1;:24;:26::i;1605:149:14:-:0;4698:13:13;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:13;;;;;;;:::i;:::-;1708:39:14::1;1732:5;1739:7;1708:23;:39::i;862:58:23:-:0;4698:13:13;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:13;;;;;;;:::i;755:85:41:-;4698:13:13;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:13;;;;;;;:::i;:::-;818:15:41::1;:13;:15::i;2510:187:12:-:0;2602:6;;;-1:-1:-1;;;;;2618:17:12;;;-1:-1:-1;;;;;;2618:17:12;;;;;;;2650:40;;2602:6;;;2618:17;2602:6;;2650:40;;2583:16;;2650:40;2573:124;2510:187;:::o;11990:489:37:-;12127:7;12146:26;:14;1043:19:21;;1061:1;1043:19;;;956:123;12146:26:37;12182:15;12200:24;:14;929::21;;838:112;12200:24:37;12182:42;;12253:9;;12242:7;:20;;12234:65;;;;-1:-1:-1;;;12234:65:37;;25790:2:44;12234:65:37;;;25772:21:44;;;25809:18;;;25802:30;25868:34;25848:18;;;25841:62;25920:18;;12234:65:37;25588:356:44;12234:65:37;12309:23;12319:3;12324:7;12309:9;:23::i;:::-;1794:28:41;;;;:18;:28;;;;;:42;;;1639:26;;;;:16;:26;;;;;:41;;-1:-1:-1;;;;;;1639:41:41;-1:-1:-1;;;;;1639:41:41;;;;;12465:7:37;11990:489;-1:-1:-1;;;;11990:489:37:o;5471:505:33:-;5602:26;5589:9;:39;;;;;;;;:::i;:::-;;5585:387;;5643:9;5638:328;5662:6;:13;5658:1;:17;5638:328;;;5696:7;5692:266;;;5717:30;5737:6;5744:1;5737:9;;;;;;;;:::i;:::-;;;;;;;5717:4;:15;5722:9;5717:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:19;;:30;;;;:::i;:::-;;5806:9;5764:52;;;;;;;;:::i;:::-;5795:6;5802:1;5795:9;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;5764:52:33;5783:10;-1:-1:-1;;;;;5764:52:33;;;;;;;;;;;5692:266;;;5845:33;5868:6;5875:1;5868:9;;;;;;;;:::i;:::-;;;;;;;5845:4;:15;5850:9;5845:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:22;;:33;;;;:::i;:::-;;5937:9;5895:52;;;;;;;;:::i;:::-;5926:6;5933:1;5926:9;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;5895:52:33;5914:10;-1:-1:-1;;;;;5895:52:33;;;;;;;;;;;5692:266;5677:3;;;;:::i;:::-;;;;5638:328;;4755:153:14;4849:52;929:10:20;4882:8:14;4892;4849:18;:52::i;12716:483:37:-;12870:9;;12851:15;:28;;12830:107;;;;-1:-1:-1;;;12830:107:37;;26423:2:44;12830:107:37;;;26405:21:44;;;26442:18;;;26435:30;26501:34;26481:18;;;26474:62;26553:18;;12830:107:37;26221:356:44;12830:107:37;12968:14;929::21;12968:29:37;12947:125;;;;-1:-1:-1;;;12947:125:37;;26784:2:44;12947:125:37;;;26766:21:44;26823:2;26803:18;;;26796:30;26862:34;26842:18;;;26835:62;-1:-1:-1;;;26913:18:44;;;26906:47;26970:19;;12947:125:37;26582:413:44;12947:125:37;13095:44;;;;;;;;13106:15;13095:44;;;;13123:8;;13095:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13095:44:37;;;-1:-1:-1;;;13095:44:37;;;;;13082:57;;:10;:57;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;13082:57:37;;;;;;;;;;;;-1:-1:-1;;13082:57:37;;;;;;;;;;13154:38;13166:15;;13154:38;;;;13183:8;;;;13154:38;:::i;7021:307:14:-;7172:28;7182:4;7188:2;7192:7;7172:9;:28::i;:::-;7218:48;7241:4;7247:2;7251:7;7260:5;7218:22;:48::i;:::-;7210:111;;;;-1:-1:-1;;;7210:111:14;;;;;;;:::i;339:703:22:-;395:13;612:5;621:1;612:10;608:51;;-1:-1:-1;;638:10:22;;;;;;;;;;;;-1:-1:-1;;;638:10:22;;;;;339:703::o;608:51::-;683:5;668:12;722:75;729:9;;722:75;;754:8;;;;:::i;:::-;;-1:-1:-1;776:10:22;;-1:-1:-1;784:2:22;776:10;;:::i;:::-;;;722:75;;;806:19;838:6;828:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;828:17:22;;806:39;;855:150;862:10;;855:150;;888:11;898:1;888:11;;:::i;:::-;;-1:-1:-1;956:10:22;964:2;956:5;:10;:::i;:::-;943:24;;:2;:24;:::i;:::-;930:39;;913:6;920;913:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;913:56:22;;;;;;;;-1:-1:-1;983:11:22;992:2;983:11;;:::i;:::-;;;855:150;;5068:109:31;5124:16;5159:3;:11;;5152:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5068:109;;;:::o;829:155:29:-;-1:-1:-1;;;;;;937:40:29;-1:-1:-1;;;937:40:29;;829:155::o;1849:264:41:-;1974:4;-1:-1:-1;;;;;;2013:41:41;;-1:-1:-1;;;2013:41:41;;:93;;;2070:36;2094:11;1987:344:14;2111:4;-1:-1:-1;;;;;;2146:51:14;;-1:-1:-1;;;2146:51:14;;:126;;-1:-1:-1;;;;;;;2213:59:14;;-1:-1:-1;;;2213:59:14;2146:126;:178;;;;2288:36;2312:11;2288:23;:36::i;11673:182::-;11747:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;11747:29:14;-1:-1:-1;;;;;11747:29:14;;;;;;;;:24;;11800:34;11747:24;11800:25;:34::i;:::-;-1:-1:-1;;;;;11791:57:14;;;;;;;;;;;11673:182;;:::o;1089:111:12:-;4698:13:13;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:13;;;;;;;:::i;:::-;1161:32:12::1;929:10:20::0;1161:18:12::1;:32::i;1760:160:14:-:0;4698:13:13;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:13;;;;;;;:::i;:::-;1873:5:14::1;:13;1881:5:::0;1873;:13:::1;:::i;:::-;-1:-1:-1::0;1896:7:14::1;:17;1906:7:::0;1896;:17:::1;:::i;8599:108::-:0;8674:26;8684:2;8688:7;8674:26;;;;;;;;;;;;:9;:26::i;7627:150:31:-;7697:4;7720:50;7725:3;-1:-1:-1;;;;;7745:23:31;;7720:4;:50::i;7945:156::-;8018:4;8041:53;8049:3;-1:-1:-1;;;;;8069:23:31;;8041:7;:53::i;11990:307:14:-;12140:8;-1:-1:-1;;;;;12131:17:14;:5;-1:-1:-1;;;;;12131:17:14;;12123:55;;;;-1:-1:-1;;;12123:55:14;;29095:2:44;12123:55:14;;;29077:21:44;29134:2;29114:18;;;29107:30;29173:27;29153:18;;;29146:55;29218:18;;12123:55:14;28893:349:44;12123:55:14;-1:-1:-1;;;;;12188:25:14;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;12188:46:14;;;;;;;;;;12249:41;;1568::44;;;12249::14;;1541:18:44;12249:41:14;;;;;;;11990:307;;;:::o;12850:800::-;13000:4;-1:-1:-1;;;;;13020:13:14;;1476:19:19;:23;13016:628:14;;13055:83;;-1:-1:-1;;;13055:83:14;;-1:-1:-1;;;;;13055:47:14;;;;;:83;;929:10:20;;13117:4:14;;13123:7;;13132:5;;13055:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13055:83:14;;;;;;;;-1:-1:-1;;13055:83:14;;;;;;;;;;;;:::i;:::-;;;13051:541;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13316:6;:13;13333:1;13316:18;13312:266;;13358:60;;-1:-1:-1;;;13358:60:14;;;;;;;:::i;13312:266::-;13530:6;13524:13;13515:6;13511:2;13507:15;13500:38;13051:541;-1:-1:-1;;;;;;13188:62:14;-1:-1:-1;;;13188:62:14;;-1:-1:-1;13181:69:14;;13016:628;-1:-1:-1;13629:4:14;12850:800;;;;;;:::o;8928:311::-;9053:18;9059:2;9063:7;9053:5;:18::i;:::-;9102:54;9133:1;9137:2;9141:7;9150:5;9102:22;:54::i;:::-;9081:151;;;;-1:-1:-1;;;9081:151:14;;;;;;;:::i;1712:404:31:-;1775:4;3849:19;;;:12;;;:19;;;;;;1791:319;;-1:-1:-1;1833:23:31;;;;;;;;:11;:23;;;;;;;;;;;;;2013:18;;1991:19;;;:12;;;:19;;;;;;:40;;;;2045:11;;1791:319;-1:-1:-1;2094:5:31;2087:12;;2284:1388;2350:4;2487:19;;;:12;;;:19;;;;;;2521:15;;2517:1149;;2890:21;2914:14;2927:1;2914:10;:14;:::i;:::-;2962:18;;2890:38;;-1:-1:-1;2942:17:31;;2962:22;;2983:1;;2962:22;:::i;:::-;2942:42;;3016:13;3003:9;:26;2999:398;;3049:17;3069:3;:11;;3081:9;3069:22;;;;;;;;:::i;:::-;;;;;;;;;3049:42;;3220:9;3191:3;:11;;3203:13;3191:26;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;;3303:23;;;:12;;;:23;;;;;:36;;;2999:398;3475:17;;:3;;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3567:3;:12;;:19;3580:5;3567:19;;;;;;;;;;;3560:26;;;3608:4;3601:11;;;;;;;2517:1149;3650:5;3643:12;;;;;9561:427:14;-1:-1:-1;;;;;9640:16:14;;9632:61;;;;-1:-1:-1;;;9632:61:14;;30329:2:44;9632:61:14;;;30311:21:44;;;30348:18;;;30341:30;30407:34;30387:18;;;30380:62;30459:18;;9632:61:14;30127:356:44;9632:61:14;7696:4;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:14;:30;9703:58;;;;-1:-1:-1;;;9703:58:14;;30690:2:44;9703:58:14;;;30672:21:44;30729:2;30709:18;;;30702:30;30768;30748:18;;;30741:58;30816:18;;9703:58:14;30488:352:44;9703:58:14;-1:-1:-1;;;;;9828:13:14;;;;;;:9;:13;;;;;:18;;9845:1;;9828:13;:18;;9845:1;;9828:18;:::i;:::-;;;;-1:-1:-1;;9856:16:14;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9856:21:14;-1:-1:-1;;;;;9856:21:14;;;;;;;;9893:33;;9856:16;;;9893:33;;9856:16;;9893:33;10254:368;10205:417;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:149:44:-;88:20;;137:1;127:12;;117:40;;153:1;150;143:12;168:206;241:6;294:2;282:9;273:7;269:23;265:32;262:52;;;310:1;307;300:12;262:52;333:35;358:9;333:35;:::i;379:658::-;550:2;602:21;;;672:13;;575:18;;;694:22;;;521:4;;550:2;773:15;;;;747:2;732:18;;;521:4;816:195;830:6;827:1;824:13;816:195;;;895:13;;-1:-1:-1;;;;;891:39:44;879:52;;986:15;;;;951:12;;;;927:1;845:9;816:195;;;-1:-1:-1;1028:3:44;;379:658;-1:-1:-1;;;;;;379:658:44:o;1042:131::-;-1:-1:-1;;;;;;1116:32:44;;1106:43;;1096:71;;1163:1;1160;1153:12;1178:245;1236:6;1289:2;1277:9;1268:7;1264:23;1260:32;1257:52;;;1305:1;1302;1295:12;1257:52;1344:9;1331:23;1363:30;1387:5;1363:30;:::i;1620:258::-;1692:1;1702:113;1716:6;1713:1;1710:13;1702:113;;;1792:11;;;1786:18;1773:11;;;1766:39;1738:2;1731:10;1702:113;;;1833:6;1830:1;1827:13;1824:48;;;-1:-1:-1;;1868:1:44;1850:16;;1843:27;1620:258::o;1883:::-;1925:3;1963:5;1957:12;1990:6;1985:3;1978:19;2006:63;2062:6;2055:4;2050:3;2046:14;2039:4;2032:5;2028:16;2006:63;:::i;:::-;2123:2;2102:15;-1:-1:-1;;2098:29:44;2089:39;;;;2130:4;2085:50;;1883:258;-1:-1:-1;;1883:258:44:o;2146:220::-;2295:2;2284:9;2277:21;2258:4;2315:45;2356:2;2345:9;2341:18;2333:6;2315:45;:::i;2371:180::-;2430:6;2483:2;2471:9;2462:7;2458:23;2454:32;2451:52;;;2499:1;2496;2489:12;2451:52;-1:-1:-1;2522:23:44;;2371:180;-1:-1:-1;2371:180:44:o;2764:173::-;2832:20;;-1:-1:-1;;;;;2881:31:44;;2871:42;;2861:70;;2927:1;2924;2917:12;2942:254;3010:6;3018;3071:2;3059:9;3050:7;3046:23;3042:32;3039:52;;;3087:1;3084;3077:12;3039:52;3110:29;3129:9;3110:29;:::i;:::-;3100:39;3186:2;3171:18;;;;3158:32;;-1:-1:-1;;;2942:254:44:o;3201:347::-;3266:6;3274;3327:2;3315:9;3306:7;3302:23;3298:32;3295:52;;;3343:1;3340;3333:12;3295:52;3366:29;3385:9;3366:29;:::i;:::-;3356:39;;3445:2;3434:9;3430:18;3417:32;3492:5;3485:13;3478:21;3471:5;3468:32;3458:60;;3514:1;3511;3504:12;3458:60;3537:5;3527:15;;;3201:347;;;;;:::o;3735:348::-;3787:8;3797:6;3851:3;3844:4;3836:6;3832:17;3828:27;3818:55;;3869:1;3866;3859:12;3818:55;-1:-1:-1;3892:20:44;;3935:18;3924:30;;3921:50;;;3967:1;3964;3957:12;3921:50;4004:4;3996:6;3992:17;3980:29;;4056:3;4049:4;4040:6;4032;4028:19;4024:30;4021:39;4018:59;;;4073:1;4070;4063:12;4018:59;3735:348;;;;;:::o;4088:479::-;4168:6;4176;4184;4237:2;4225:9;4216:7;4212:23;4208:32;4205:52;;;4253:1;4250;4243:12;4205:52;4289:9;4276:23;4266:33;;4350:2;4339:9;4335:18;4322:32;4377:18;4369:6;4366:30;4363:50;;;4409:1;4406;4399:12;4363:50;4448:59;4499:7;4490:6;4479:9;4475:22;4448:59;:::i;:::-;4088:479;;4526:8;;-1:-1:-1;4422:85:44;;-1:-1:-1;;;;4088:479:44:o;4572:186::-;4631:6;4684:2;4672:9;4663:7;4659:23;4655:32;4652:52;;;4700:1;4697;4690:12;4652:52;4723:29;4742:9;4723:29;:::i;4763:328::-;4840:6;4848;4856;4909:2;4897:9;4888:7;4884:23;4880:32;4877:52;;;4925:1;4922;4915:12;4877:52;4948:29;4967:9;4948:29;:::i;:::-;4938:39;;4996:38;5030:2;5019:9;5015:18;4996:38;:::i;:::-;4986:48;;5081:2;5070:9;5066:18;5053:32;5043:42;;4763:328;;;;;:::o;5096:248::-;5164:6;5172;5225:2;5213:9;5204:7;5200:23;5196:32;5193:52;;;5241:1;5238;5231:12;5193:52;-1:-1:-1;;5264:23:44;;;5334:2;5319:18;;;5306:32;;-1:-1:-1;5096:248:44:o;5852:864::-;5962:6;5970;5978;5986;5994;6002;6055:3;6043:9;6034:7;6030:23;6026:33;6023:53;;;6072:1;6069;6062:12;6023:53;6112:9;6099:23;6141:18;6182:2;6174:6;6171:14;6168:34;;;6198:1;6195;6188:12;6168:34;6237:59;6288:7;6279:6;6268:9;6264:22;6237:59;:::i;:::-;6315:8;;-1:-1:-1;6211:85:44;-1:-1:-1;6403:2:44;6388:18;;6375:32;;-1:-1:-1;6419:16:44;;;6416:36;;;6448:1;6445;6438:12;6416:36;;6487:61;6540:7;6529:8;6518:9;6514:24;6487:61;:::i;:::-;6567:8;;-1:-1:-1;6461:87:44;-1:-1:-1;6621:38:44;;-1:-1:-1;6655:2:44;6640:18;;6621:38;:::i;:::-;6611:48;;6706:2;6695:9;6691:18;6678:32;6668:42;;5852:864;;;;;;;;:::o;6721:127::-;6782:10;6777:3;6773:20;6770:1;6763:31;6813:4;6810:1;6803:15;6837:4;6834:1;6827:15;6853:342;6999:2;6984:18;;7032:1;7021:13;;7011:144;;7077:10;7072:3;7068:20;7065:1;7058:31;7112:4;7109:1;7102:15;7140:4;7137:1;7130:15;7011:144;7164:25;;;6853:342;:::o;7200:411::-;7271:6;7279;7332:2;7320:9;7311:7;7307:23;7303:32;7300:52;;;7348:1;7345;7338:12;7300:52;7388:9;7375:23;7421:18;7413:6;7410:30;7407:50;;;7453:1;7450;7443:12;7407:50;7492:59;7543:7;7534:6;7523:9;7519:22;7492:59;:::i;:::-;7570:8;;7466:85;;-1:-1:-1;7200:411:44;-1:-1:-1;;;;7200:411:44:o;7616:513::-;7803:2;7792:9;7785:21;7848:6;7842:13;7837:2;7826:9;7822:18;7815:41;7766:4;7903:2;7895:6;7891:15;7885:22;7943:4;7938:2;7927:9;7923:18;7916:32;7971:52;8018:3;8007:9;8003:19;7989:12;7971:52;:::i;:::-;7957:66;;8093:2;8085:6;8081:15;8075:22;8068:30;8061:38;8054:4;8043:9;8039:20;8032:68;8117:6;8109:14;;;7616:513;;;;:::o;8134:709::-;8243:6;8251;8259;8312:2;8300:9;8291:7;8287:23;8283:32;8280:52;;;8328:1;8325;8318:12;8280:52;8351:35;8376:9;8351:35;:::i;:::-;8341:45;;8437:2;8426:9;8422:18;8409:32;8460:18;8501:2;8493:6;8490:14;8487:34;;;8517:1;8514;8507:12;8487:34;8555:6;8544:9;8540:22;8530:32;;8600:7;8593:4;8589:2;8585:13;8581:27;8571:55;;8622:1;8619;8612:12;8571:55;8662:2;8649:16;8688:2;8680:6;8677:14;8674:34;;;8704:1;8701;8694:12;8674:34;8757:7;8752:2;8742:6;8739:1;8735:14;8731:2;8727:23;8723:32;8720:45;8717:65;;;8778:1;8775;8768:12;8717:65;8809:2;8805;8801:11;8791:21;;8831:6;8821:16;;;;;8134:709;;;;;:::o;8848:479::-;8928:6;8936;8944;8997:2;8985:9;8976:7;8972:23;8968:32;8965:52;;;9013:1;9010;9003:12;8965:52;9053:9;9040:23;9086:18;9078:6;9075:30;9072:50;;;9118:1;9115;9108:12;9072:50;9157:59;9208:7;9199:6;9188:9;9184:22;9157:59;:::i;:::-;9235:8;;9131:85;;-1:-1:-1;9317:2:44;9302:18;;;;9289:32;;8848:479;-1:-1:-1;;;;8848:479:44:o;9332:127::-;9393:10;9388:3;9384:20;9381:1;9374:31;9424:4;9421:1;9414:15;9448:4;9445:1;9438:15;9464:1138;9559:6;9567;9575;9583;9636:3;9624:9;9615:7;9611:23;9607:33;9604:53;;;9653:1;9650;9643:12;9604:53;9676:29;9695:9;9676:29;:::i;:::-;9666:39;;9724:38;9758:2;9747:9;9743:18;9724:38;:::i;:::-;9714:48;;9809:2;9798:9;9794:18;9781:32;9771:42;;9864:2;9853:9;9849:18;9836:32;9887:18;9928:2;9920:6;9917:14;9914:34;;;9944:1;9941;9934:12;9914:34;9982:6;9971:9;9967:22;9957:32;;10027:7;10020:4;10016:2;10012:13;10008:27;9998:55;;10049:1;10046;10039:12;9998:55;10085:2;10072:16;10107:2;10103;10100:10;10097:36;;;10113:18;;:::i;:::-;10188:2;10182:9;10156:2;10242:13;;-1:-1:-1;;10238:22:44;;;10262:2;10234:31;10230:40;10218:53;;;10286:18;;;10306:22;;;10283:46;10280:72;;;10332:18;;:::i;:::-;10372:10;10368:2;10361:22;10407:2;10399:6;10392:18;10447:7;10442:2;10437;10433;10429:11;10425:20;10422:33;10419:53;;;10468:1;10465;10458:12;10419:53;10524:2;10519;10515;10511:11;10506:2;10498:6;10494:15;10481:46;10569:1;10564:2;10559;10551:6;10547:15;10543:24;10536:35;10590:6;10580:16;;;;;;;9464:1138;;;;;;;:::o;10607:553::-;10696:6;10704;10712;10720;10773:2;10761:9;10752:7;10748:23;10744:32;10741:52;;;10789:1;10786;10779:12;10741:52;10829:9;10816:23;10862:18;10854:6;10851:30;10848:50;;;10894:1;10891;10884:12;10848:50;10933:59;10984:7;10975:6;10964:9;10960:22;10933:59;:::i;:::-;11011:8;;-1:-1:-1;10907:85:44;-1:-1:-1;;11093:2:44;11078:18;;11065:32;;-1:-1:-1;11116:38:44;11150:2;11135:18;;11116:38;:::i;:::-;11106:48;;10607:553;;;;;;;:::o;11165:260::-;11233:6;11241;11294:2;11282:9;11273:7;11269:23;11265:32;11262:52;;;11310:1;11307;11300:12;11262:52;11333:29;11352:9;11333:29;:::i;:::-;11323:39;;11381:38;11415:2;11404:9;11400:18;11381:38;:::i;11430:380::-;11509:1;11505:12;;;;11552;;;11573:61;;11627:4;11619:6;11615:17;11605:27;;11573:61;11680:2;11672:6;11669:14;11649:18;11646:38;11643:161;;11726:10;11721:3;11717:20;11714:1;11707:31;11761:4;11758:1;11751:15;11789:4;11786:1;11779:15;11643:161;;11430:380;;;:::o;12228:356::-;12430:2;12412:21;;;12449:18;;;12442:30;12508:34;12503:2;12488:18;;12481:62;12575:2;12560:18;;12228:356::o;12589:354::-;12791:2;12773:21;;;12830:2;12810:18;;;12803:30;12869:32;12864:2;12849:18;;12842:60;12934:2;12919:18;;12589:354::o;13477:545::-;13579:2;13574:3;13571:11;13568:448;;;13615:1;13640:5;13636:2;13629:17;13685:4;13681:2;13671:19;13755:2;13743:10;13739:19;13736:1;13732:27;13726:4;13722:38;13791:4;13779:10;13776:20;13773:47;;;-1:-1:-1;13814:4:44;13773:47;13869:2;13864:3;13860:12;13857:1;13853:20;13847:4;13843:31;13833:41;;13924:82;13942:2;13935:5;13932:13;13924:82;;;13987:17;;;13968:1;13957:13;13924:82;;;13928:3;;;13477:545;;;:::o;14198:1206::-;14322:18;14317:3;14314:27;14311:53;;;14344:18;;:::i;:::-;14373:94;14463:3;14423:38;14455:4;14449:11;14423:38;:::i;:::-;14417:4;14373:94;:::i;:::-;14493:1;14518:2;14513:3;14510:11;14535:1;14530:616;;;;15190:1;15207:3;15204:93;;;-1:-1:-1;15263:19:44;;;15250:33;15204:93;-1:-1:-1;;14155:1:44;14151:11;;;14147:24;14143:29;14133:40;14179:1;14175:11;;;14130:57;15310:78;;14503:895;;14530:616;13424:1;13417:14;;;13461:4;13448:18;;-1:-1:-1;;14566:17:44;;;14667:9;14689:229;14703:7;14700:1;14697:14;14689:229;;;14792:19;;;14779:33;14764:49;;14899:4;14884:20;;;;14852:1;14840:14;;;;14719:12;14689:229;;;14693:3;14946;14937:7;14934:16;14931:159;;;15070:1;15066:6;15060:3;15054;15051:1;15047:11;15043:21;15039:34;15035:39;15022:9;15017:3;15013:19;15000:33;14996:79;14988:6;14981:95;14931:159;;;15133:1;15127:3;15124:1;15120:11;15116:19;15110:4;15103:33;14503:895;;;14198:1206;;;:::o;15409:390::-;15568:2;15557:9;15550:21;15607:6;15602:2;15591:9;15587:18;15580:34;15664:6;15656;15651:2;15640:9;15636:18;15623:48;15720:1;15691:22;;;15715:2;15687:31;;;15680:42;;;;15783:2;15762:15;;;-1:-1:-1;;15758:29:44;15743:45;15739:54;;15409:390;-1:-1:-1;15409:390:44:o;15804:413::-;16006:2;15988:21;;;16045:2;16025:18;;;16018:30;16084:34;16079:2;16064:18;;16057:62;-1:-1:-1;;;16150:2:44;16135:18;;16128:47;16207:3;16192:19;;15804:413::o;16639:963::-;16748:4;16777:2;16806;16795:9;16788:21;16829:1;16862:6;16856:13;16892:36;16918:9;16892:36;:::i;:::-;16964:6;16959:2;16948:9;16944:18;16937:34;16990:2;17011:1;17043:2;17032:9;17028:18;17060:1;17055:158;;;;17227:1;17222:354;;;;17021:555;;17055:158;-1:-1:-1;;17103:24:44;;17083:18;;;17076:52;17181:14;;17174:22;17171:1;17167:30;17152:46;;17148:55;;;-1:-1:-1;17055:158:44;;17222:354;17253:6;17250:1;17243:17;17301:2;17298:1;17288:16;17326:1;17340:180;17354:6;17351:1;17348:13;17340:180;;;17447:14;;17423:17;;;17419:26;;17412:50;17490:16;;;;17369:10;;17340:180;;;17544:17;;17540:26;;;-1:-1:-1;;17021:555:44;-1:-1:-1;17593:3:44;;16639:963;-1:-1:-1;;;;;;;;16639:963:44:o;20164:1309::-;20542:3;20571:1;20604:6;20598:13;20634:36;20660:9;20634:36;:::i;:::-;20689:1;20706:18;;;20733:133;;;;20880:1;20875:356;;;;20699:532;;20733:133;-1:-1:-1;;20766:24:44;;20754:37;;20839:14;;20832:22;20820:35;;20811:45;;;-1:-1:-1;20733:133:44;;20875:356;20906:6;20903:1;20896:17;20936:4;20981:2;20978:1;20968:16;21006:1;21020:165;21034:6;21031:1;21028:13;21020:165;;;21112:14;;21099:11;;;21092:35;21155:16;;;;21049:10;;21020:165;;;21024:3;;;21214:6;21209:3;21205:16;21198:23;;20699:532;;-1:-1:-1;;;21247:3:44;21240:16;21287:6;21281:13;21265:29;;21303:64;21358:8;21353:2;21348:3;21344:12;21337:4;21329:6;21325:17;21303:64;:::i;:::-;-1:-1:-1;;;21386:18:44;;;;21420:11;;;21413:28;;;;21465:1;21457:10;;20164:1309;-1:-1:-1;;;;;20164:1309:44:o;23936:127::-;23997:10;23992:3;23988:20;23985:1;23978:31;24028:4;24025:1;24018:15;24052:4;24049:1;24042:15;24068:125;24108:4;24136:1;24133;24130:8;24127:34;;;24141:18;;:::i;:::-;-1:-1:-1;24178:9:44;;24068:125::o;24198:128::-;24238:3;24269:1;24265:6;24262:1;24259:13;24256:39;;;24275:18;;:::i;:::-;-1:-1:-1;24311:9:44;;24198:128::o;24331:168::-;24371:7;24437:1;24433;24429:6;24425:14;24422:1;24419:21;24414:1;24407:9;24400:17;24396:45;24393:71;;;24444:18;;:::i;:::-;-1:-1:-1;24484:9:44;;24331:168::o;24504:127::-;24565:10;24560:3;24556:20;24553:1;24546:31;24596:4;24593:1;24586:15;24620:4;24617:1;24610:15;24636:120;24676:1;24702;24692:35;;24707:18;;:::i;:::-;-1:-1:-1;24741:9:44;;24636:120::o;24761:410::-;24963:2;24945:21;;;25002:2;24982:18;;;24975:30;25041:34;25036:2;25021:18;;25014:62;-1:-1:-1;;;25107:2:44;25092:18;;25085:44;25161:3;25146:19;;24761:410::o;25176:407::-;25378:2;25360:21;;;25417:2;25397:18;;;25390:30;25456:34;25451:2;25436:18;;25429:62;-1:-1:-1;;;25522:2:44;25507:18;;25500:41;25573:3;25558:19;;25176:407::o;25949:127::-;26010:10;26005:3;26001:20;25998:1;25991:31;26041:4;26038:1;26031:15;26065:4;26062:1;26055:15;26081:135;26120:3;26141:17;;;26138:43;;26161:18;;:::i;:::-;-1:-1:-1;26208:1:44;26197:13;;26081:135::o;27000:1352::-;27126:3;27120:10;27153:18;27145:6;27142:30;27139:56;;;27175:18;;:::i;:::-;27204:97;27294:6;27254:38;27286:4;27280:11;27254:38;:::i;:::-;27248:4;27204:97;:::i;:::-;27356:4;;27420:2;27409:14;;27437:1;27432:663;;;;28139:1;28156:6;28153:89;;;-1:-1:-1;28208:19:44;;;28202:26;28153:89;-1:-1:-1;;14155:1:44;14151:11;;;14147:24;14143:29;14133:40;14179:1;14175:11;;;14130:57;28255:81;;27402:944;;27432:663;13424:1;13417:14;;;13461:4;13448:18;;-1:-1:-1;;27468:20:44;;;27586:236;27600:7;27597:1;27594:14;27586:236;;;27689:19;;;27683:26;27668:42;;27781:27;;;;27749:1;27737:14;;;;27616:19;;27586:236;;;27590:3;27850:6;27841:7;27838:19;27835:201;;;27911:19;;;27905:26;-1:-1:-1;;27994:1:44;27990:14;;;28006:3;27986:24;27982:37;27978:42;27963:58;27948:74;;27835:201;-1:-1:-1;;;;;28082:1:44;28066:14;;;28062:22;28049:36;;-1:-1:-1;27000:1352:44:o;28357:414::-;28559:2;28541:21;;;28598:2;28578:18;;;28571:30;28637:34;28632:2;28617:18;;28610:62;-1:-1:-1;;;28703:2:44;28688:18;;28681:48;28761:3;28746:19;;28357:414::o;28776:112::-;28808:1;28834;28824:35;;28839:18;;:::i;:::-;-1:-1:-1;28873:9:44;;28776:112::o;29247:489::-;-1:-1:-1;;;;;29516:15:44;;;29498:34;;29568:15;;29563:2;29548:18;;29541:43;29615:2;29600:18;;29593:34;;;29663:3;29658:2;29643:18;;29636:31;;;29441:4;;29684:46;;29710:19;;29702:6;29684:46;:::i;:::-;29676:54;29247:489;-1:-1:-1;;;;;;29247:489:44:o;29741:249::-;29810:6;29863:2;29851:9;29842:7;29838:23;29834:32;29831:52;;;29879:1;29876;29869:12;29831:52;29911:9;29905:16;29930:30;29954:5;29930:30;:::i;29995:127::-;30056:10;30051:3;30047:20;30044:1;30037:31;30087:4;30084:1;30077:15;30111:4;30108:1;30101:15", + "linkReferences": {} + }, + "methodIdentifiers": { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "batchAddAddressToRoyaltyList(uint8,address[])": "ff6e8c8f", + "batchRemoveAddressToRoyaltyList(uint8,address[])": "9e860f2a", + "burn(uint256)": "42966c68", + "clearList(uint8)": "bc719455", + "deleteToken(uint256)": "6297c16c", + "disableContract()": "894ba833", + "disabled()": "ee070805", + "getApproved(uint256)": "081812fc", + "getDefaultRoyaltyPercentage()": "ab69607a", + "getDefaultRoyaltyReceiver()": "3403c4e9", + "getInUseList()": "2ce878da", + "getList(uint8)": "012cf1e8", + "getListType()": "87bc793f", + "getMintConfig()": "9338bb5d", + "hasAdminPermission(address)": "20427486", + "init(string,string,address,uint256)": "5edc7c19", + "isApprovedForAll(address,address)": "e985e9c5", + "isApprovedMinter(address)": "3a3d146f", + "isOperatorInList(address)": "eab85118", + "lockBaseURI()": "53df5c7c", + "maxTokens()": "e8315742", + "mintTo(address)": "755edd17", + "name()": "06fdde03", + "owner()": "8da5cb5b", + "ownerOf(uint256)": "6352211e", + "prepareMint(string,uint256)": "b390ac25", + "prepareMintWithMinter(string,uint256,address)": "b9fbd25c", + "renounceOwnership()": "715018a6", + "royaltyInfo(uint256,uint256)": "2a55205a", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "setDefaultRoyaltyReceiver(address)": "3ebc82c5", + "setMinterApproval(address,bool)": "0de54ba0", + "setRoyaltyReceiverForToken(address,uint256)": "efc32cd4", + "supportsInterface(bytes4)": "01ffc9a7", + "symbol()": "95d89b41", + "toggleListType(uint8)": "472a6638", + "tokenCreator(uint256)": "40c1a064", + "tokenURI(uint256)": "c87b56dd", + "totalSupply()": "18160ddd", + "transferFrom(address,address,uint256)": "23b872dd", + "transferOwnership(address)": "f2fde38b", + "updateBaseURI(string)": "931688cb", + "updateTokenURI(uint256,string)": "18e97fd1" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CantAddToOFFList\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustBeAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_addedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressAddedToList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_removedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressRemovedList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"ListCleared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_oldListType\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"ListTypeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"MetadataLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"MetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"numberOfTokens\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"PrepareMint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"metadataUri\",\"type\":\"string\"}],\"name\":\"TokenURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchAddAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchRemoveAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"clearList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getInUseList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"getList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getListType\",\"outputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMintConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"numberOfTokens\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"lockedMetadata\",\"type\":\"bool\"}],\"internalType\":\"struct LazySovereignNFT.MintConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"hasAdminPermission\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isApprovedMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isOperatorInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"}],\"name\":\"prepareMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_minter\",\"type\":\"address\"}],\"name\":\"prepareMintWithMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setDefaultRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_minter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isMinter\",\"type\":\"bool\"}],\"name\":\"setMinterApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"toggleListType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"}],\"name\":\"updateBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_metadataUri\",\"type\":\"string\"}],\"name\":\"updateTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Guards {approve} based on the type of list and depending if {_spender} is on the list.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.Cannot add to the OFF list\",\"params\":{\"_addrs\":\"being added to the designated list\",\"_listType\":\"that addresses are being added to\"}},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_addrs\":\"being removed from the designated list\",\"_listType\":\"that addresses are being removed from\"}},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"clearList(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_listType\":\"of list being cleared.\"}},\"deleteToken(uint256)\":{\"details\":\"Delete a token with the given ID.\",\"params\":{\"_tokenId\":\"The ID of the token to delete.\"}},\"disableContract()\":{\"details\":\"Disable the contract, preventing further minting.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getInUseList()\":{\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getList(uint8)\":{\"params\":{\"_listType\":\"of list being retrieved.\"},\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getListType()\":{\"returns\":{\"_0\":\"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"getMintConfig()\":{\"details\":\"Get the current minting configuration.\",\"returns\":{\"_0\":\"mintConfig the mint config.\"}},\"hasAdminPermission(address)\":{\"details\":\"used in the {onlyAdmin} modifier\",\"returns\":{\"_0\":\"bool denoting if _addr has admin permission.\"}},\"init(string,string,address,uint256)\":{\"details\":\"Contract initialization function.\",\"params\":{\"_creator\":\"The address of the contract creator.\",\"_maxTokens\":\"The maximum number of tokens that can be minted.\",\"_name\":\"The name of the NFT contract.\",\"_symbol\":\"The symbol of the NFT contract.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isApprovedMinter(address)\":{\"details\":\"Checks if the supplied address is approved for minting\",\"params\":{\"_address\":\"The address of the minter.\"},\"returns\":{\"_0\":\"bool, whether the address is approved for minting.\"}},\"isOperatorInList(address)\":{\"params\":{\"_operator\":\"address being checked.\"},\"returns\":{\"_0\":\"bool relating to if the operator is on the list.\"}},\"lockBaseURI()\":{\"details\":\"Lock the metadata to prevent further updates.\"},\"mintTo(address)\":{\"details\":\"Mint a new token to the specified receiver.\",\"params\":{\"_receiver\":\"The address of the token receiver.\"},\"returns\":{\"_0\":\"uint256 Token Id of the new token.\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"prepareMint(string,uint256)\":{\"details\":\"Prepare a minting batch with a specified base URI and number of tokens.\",\"params\":{\"_baseURI\":\"The base URI for token metadata.\",\"_numberOfTokens\":\"The number of tokens to prepare for minting.\"}},\"prepareMintWithMinter(string,uint256,address)\":{\"details\":\"Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address.\",\"params\":{\"_baseURI\":\"The base URI for token metadata.\",\"_minter\":\"The address of the minter.\",\"_numberOfTokens\":\"The number of tokens to prepare for minting.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list.\"},\"setDefaultRoyaltyReceiver(address)\":{\"details\":\"Set the default royalty receiver address.\",\"params\":{\"_receiver\":\"The address of the default royalty receiver.\"}},\"setMinterApproval(address,bool)\":{\"details\":\"Set a minter for the contract\",\"params\":{\"_isMinter\":\"bool of whether the address is a minter.\",\"_minter\":\"address of the minter.\"}},\"setRoyaltyReceiverForToken(address,uint256)\":{\"details\":\"Set a specific royalty receiver address for a token.\",\"params\":{\"_receiver\":\"The address of the royalty receiver.\",\"_tokenId\":\"The ID of the token.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"toggleListType(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_newListType\":\"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"tokenCreator(uint256)\":{\"details\":\"Get the address of the token creator for a given token ID.\",\"params\":{\"_tokenId\":\"The ID of the token.\"},\"returns\":{\"_0\":\"address of the token creator.\"}},\"tokenURI(uint256)\":{\"details\":\"Get the token URI for a specific token. If a token has a set URI, it will return that, otherwise it will return the token URI computed from the base URI.\",\"params\":{\"_tokenId\":\"The ID of the token.\"},\"returns\":{\"_0\":\"The token's URI.\"}},\"totalSupply()\":{\"details\":\"Get the total supply of tokens in existence.\",\"returns\":{\"_0\":\"The total supply of tokens.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"updateBaseURI(string)\":{\"details\":\"Update the base URI.\",\"params\":{\"_baseURI\":\"The new base URI.\"}},\"updateTokenURI(uint256,string)\":{\"details\":\"Update the token metadata URI.\",\"params\":{\"_metadataUri\":\"The new metadata URI.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"CantAddToOFFList()\":[{\"notice\":\"Emitted when trying to add an address to a list with type OFF.\"}],\"MustBeAdmin()\":[{\"notice\":\"Emitted when an admin only function tries to be called by a non-admin.\"}],\"Unauthorized()\":[{\"notice\":\"Emitted when an unauthorized party tries to call a specific function.\"}]},\"events\":{\"AddressAddedToList(address,address,uint8)\":{\"notice\":\"Emitted when an address is added to a list.\"},\"AddressRemovedList(address,address,uint8)\":{\"notice\":\"Emitted when an address is removed from a list.\"},\"ListCleared(address,uint8)\":{\"notice\":\"Emitted when a list is cleared.\"},\"ListTypeUpdated(address,uint8,uint8)\":{\"notice\":\"Emitted when the list type is updated.\"}},\"kind\":\"user\",\"methods\":{\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Adds a list of addresses to the specified list.\"},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Removes a list of addresses to the specified list.\"},\"clearList(uint8)\":{\"notice\":\"Clears an entire list.\"},\"getInUseList()\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getList(uint8)\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getListType()\":{\"notice\":\"Returns the ListType currently being used;\"},\"hasAdminPermission(address)\":{\"notice\":\"States whether or not an address has admin permission.\"},\"isOperatorInList(address)\":{\"notice\":\"Returns if the supplied operator address in part of the current in use list.\"},\"toggleListType(uint8)\":{\"notice\":\"Toggles the list type between ALLOW, DENY, or OFF\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol\":\"LazySovereignNFTRoyaltyGuard\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":aux/=lib/aux/\",\":ds-test/=lib/ds-test/src/\",\":erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/\",\":rareprotocol/aux/=lib/aux/src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":solmate/=lib/royalty-guard/lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x652fee292f698d8dba81bf287cb71f1682f6483b67ebe601a5f7387dcfc30b34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98c7bba29bcab7240cdaada7dd7cbe3529fec83314801270c46239e72a9e84d7\",\"dweb:/ipfs/QmfHCc1KMygjXchXVwafWTkFjhbb2SQ3Cu5GzRTdV4CCCh\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xb5239b505e918cb7427b939ff15da7bf7c4bb68ccb109caef246a3f58b19ba5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5f2ea070e870eea699ee433245459f08020a4752df4f5d391de87a529fc2bad\",\"dweb:/ipfs/QmWUcKCKzqQtB6sfJHxGzNj7QRogPmUsW3QQZPAcD3kLSB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0xf7f866b810ddf2508a9cba461906617a1ff561e33835d81a1be9bff9bbfb7ff9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21142ed30406e8f3dc9d42907aaef8bd34dfee63101d011fc3e1a3a198b9c740\",\"dweb:/ipfs/QmW7EkuJFzsejU5keEjULPFFDe8gBEiNYdQ6Z1LrgWnHst\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0x6c4dd0c916c4d69014b1a430f5803d3ea1f35c1a8021aefafde55ca4c2d20c2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93fd17a1502ac391fd929e9c585032efed0b2ed1fb6fe6026dbc44621538b84d\",\"dweb:/ipfs/Qmd3S9HaNGe83wctpj7Bvn6p2veG5P6QH1nPcRuKNJfUqN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xd16dc04b4bf357ae9d04e02d9fd05cc320bbc89720e0ad8efc2386e476f0b921\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d9c9054ada43073f83e6e36761a5e428da1a0ec0f1b238995deddcac2c21b8c\",\"dweb:/ipfs/QmS3pcaWW4uwaQqJ3iQ56fpNcf6NtWZTHeYL4fvPa3gQYz\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x417a6f201d6b0e3872979beca22f173ca518ef826fafb23b8d5b93bf7e42192d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ccc2bdaacf5e5cd18d3d5424e9eb118ff9e59485011595381869af89665c579\",\"dweb:/ipfs/QmdPps2gVGqktfANjoxyU93ridF86vpppp7HNoiJkDzksm\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x55cf2bd9fc76704ddcdc19834cd288b7de00fc0f298a40ea16a954ae8991db2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37e4df53c8d2e3c1062c1c7b2c17366db7de03bfd2559d340ca95c588aa49c2f\",\"dweb:/ipfs/QmQ9vsG3o4wED3FRogiSUhdzJvZSjjYFtydzXvFEJtgZk4\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0x398d3323c1932a5986bf36be7c57593e121e69d5db5b6574b4ee0d031443de37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b268304e03daf22c349abe3c318bc6a6badd6542d62311716ab401eec745f78\",\"dweb:/ipfs/QmNYy2sc2RoTjDhyT6HAibmeDGqfhDiDpsWRbHFHoGVHLr\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0x2033e349d606483684968f190b814bbc853774c8d82305e179d094c5042fb512\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa9b82acfb4493894b4123b4ab44f5ace697e743631642a8e0bc60aafca2bac5\",\"dweb:/ipfs/QmePLecHQuCPTErGNPH7C2zdXod9RZncAZ2cJoYBaUaPQp\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacac2065b3ed1facff1163435890d4a6bcdc474e857e8e2c91ae5fb50418f723\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acd44ec097dd623f40870ca848c31deb02dca032ec9c56bd2e52ee103d35ce6d\",\"dweb:/ipfs/Qme3CuA45xCft72RjE6s4bmhffpe2NHvHULH9fh5oPbzBv\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x1fd7933ef0875db5bb8f32053e6ca36ab5544268c69cb04de9575609052a3fde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e70aba58a73da37b33e8c7f6e04cbf957530afd3f463d4010e2a671773f5d82\",\"dweb:/ipfs/QmVitut8wbt64G3vpg4SmtbkPYGyqYCoBAFBqfv2KybE11\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0xe06d80490ce50e16b7e631d6183cb3dac8b25482748814f394590f0de3c2e4a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d07b9e7985fd8a09150c8e69178bfb05eb5e86d90fd3d91f17f1a57289e805f\",\"dweb:/ipfs/QmczFpxjLYsaWndsDj2NFLa4cfoCYi3g8jHMVNfUCzN9xF\"]},\"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol\":{\"keccak256\":\"0x0e26cc39d2b9045ae517ae9d7768b2d19b6aa671d0bcb63c9bfd7a1441393d47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://110ba8840b852c2299a73d43e335be49e27aa9c81263fdcca72b2ffa9722ad5e\",\"dweb:/ipfs/QmaTcaPuDsjuouw8ZrqWw2i6Ui87wtEJQKeHoEXUop4id9\"]},\"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol\":{\"keccak256\":\"0x16f6e92c4bb69769c06fb0e5a13a74f735cdee23f8a6e4082244685022694ea7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7512c6d328a4a73a22e8d051d25dbfba01f3af7b0284dd3b161a0e19fcf201df\",\"dweb:/ipfs/QmSSk5mnspvQEX9YpRFQVLzcYEjEVbUnGzGEY7mwjAn1xR\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.15+commit.e14f2714" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [], + "type": "error", + "name": "CantAddToOFFList" + }, + { + "inputs": [], + "type": "error", + "name": "MustBeAdmin" + }, + { + "inputs": [], + "type": "error", + "name": "Unauthorized" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_updater", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "_addedAddr", + "type": "address", + "indexed": true + }, + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_ListType", + "type": "uint8", + "indexed": true + } + ], + "type": "event", + "name": "AddressAddedToList", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_updater", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "_removedAddr", + "type": "address", + "indexed": true + }, + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_ListType", + "type": "uint8", + "indexed": true + } + ], + "type": "event", + "name": "AddressRemovedList", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "approved", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + "indexed": true + } + ], + "type": "event", + "name": "Approval", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "operator", + "type": "address", + "indexed": true + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool", + "indexed": false + } + ], + "type": "event", + "name": "ApprovalForAll", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address", + "indexed": true + } + ], + "type": "event", + "name": "ContractDisabled", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "version", + "type": "uint8", + "indexed": false + } + ], + "type": "event", + "name": "Initialized", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_updater", + "type": "address", + "indexed": true + }, + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8", + "indexed": false + } + ], + "type": "event", + "name": "ListCleared", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_updater", + "type": "address", + "indexed": true + }, + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_oldListType", + "type": "uint8", + "indexed": true + }, + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_newListType", + "type": "uint8", + "indexed": true + } + ], + "type": "event", + "name": "ListTypeUpdated", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "string", + "name": "baseURI", + "type": "string", + "indexed": false + } + ], + "type": "event", + "name": "MetadataLocked", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "string", + "name": "baseURI", + "type": "string", + "indexed": false + } + ], + "type": "event", + "name": "MetadataUpdated", + "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": [ + { + "internalType": "uint256", + "name": "numberOfTokens", + "type": "uint256", + "indexed": true + }, + { + "internalType": "string", + "name": "baseURI", + "type": "string", + "indexed": false + } + ], + "type": "event", + "name": "PrepareMint", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + "indexed": true + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string", + "indexed": false + } + ], + "type": "event", + "name": "TokenURIUpdated", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "to", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + "indexed": true + } + ], + "type": "event", + "name": "Transfer", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "approve" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8" + }, + { + "internalType": "address[]", + "name": "_addrs", + "type": "address[]" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "batchAddAddressToRoyaltyList" + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8" + }, + { + "internalType": "address[]", + "name": "_addrs", + "type": "address[]" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "batchRemoveAddressToRoyaltyList" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "burn" + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "clearList" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "deleteToken" + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "disableContract" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "disabled", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getDefaultRoyaltyPercentage", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getDefaultRoyaltyReceiver", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getInUseList", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ] + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getList", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getListType", + "outputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "", + "type": "uint8" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getMintConfig", + "outputs": [ + { + "internalType": "struct LazySovereignNFT.MintConfig", + "name": "", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "numberOfTokens", + "type": "uint256" + }, + { + "internalType": "string", + "name": "baseURI", + "type": "string" + }, + { + "internalType": "bool", + "name": "lockedMetadata", + "type": "bool" + } + ] + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "hasAdminPermission", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_creator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxTokens", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "init" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "isApprovedMinter", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "isOperatorInList", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "lockBaseURI" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "maxTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "mintTo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_numberOfTokens", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "prepareMint" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_numberOfTokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_minter", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "prepareMintWithMinter" + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "renounceOwnership" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_salePrice", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "royaltyInfo", + "outputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "royaltyAmount", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "safeTransferFrom" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "safeTransferFrom" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_approved", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setApprovalForAll" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setDefaultRoyaltyReceiver" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_minter", + "type": "address" + }, + { + "internalType": "bool", + "name": "_isMinter", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setMinterApproval" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setRoyaltyReceiverForToken" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "_interfaceId", + "type": "bytes4" + } + ], + "stateMutability": "view", + "type": "function", + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_newListType", + "type": "uint8" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "toggleListType" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "tokenCreator", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transferFrom" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transferOwnership" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "updateBaseURI" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_metadataUri", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "updateTokenURI" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "Guards {approve} based on the type of list and depending if {_spender} is on the list." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "batchAddAddressToRoyaltyList(uint8,address[])": { + "details": "Only the contract owner can call this function.Cannot add to the OFF list", + "params": { + "_addrs": "being added to the designated list", + "_listType": "that addresses are being added to" + } + }, + "batchRemoveAddressToRoyaltyList(uint8,address[])": { + "details": "Only the contract owner can call this function.", + "params": { + "_addrs": "being removed from the designated list", + "_listType": "that addresses are being removed from" + } + }, + "burn(uint256)": { + "details": "Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator." + }, + "clearList(uint8)": { + "details": "Only the contract owner can call this function.", + "params": { + "_listType": "of list being cleared." + } + }, + "deleteToken(uint256)": { + "details": "Delete a token with the given ID.", + "params": { + "_tokenId": "The ID of the token to delete." + } + }, + "disableContract()": { + "details": "Disable the contract, preventing further minting." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "getInUseList()": { + "returns": { + "_0": "list of addresses on a given list." + } + }, + "getList(uint8)": { + "params": { + "_listType": "of list being retrieved." + }, + "returns": { + "_0": "list of addresses on a given list." + } + }, + "getListType()": { + "returns": { + "_0": "ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)" + } + }, + "getMintConfig()": { + "details": "Get the current minting configuration.", + "returns": { + "_0": "mintConfig the mint config." + } + }, + "hasAdminPermission(address)": { + "details": "used in the {onlyAdmin} modifier", + "returns": { + "_0": "bool denoting if _addr has admin permission." + } + }, + "init(string,string,address,uint256)": { + "details": "Contract initialization function.", + "params": { + "_creator": "The address of the contract creator.", + "_maxTokens": "The maximum number of tokens that can be minted.", + "_name": "The name of the NFT contract.", + "_symbol": "The symbol of the NFT contract." + } + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "isApprovedMinter(address)": { + "details": "Checks if the supplied address is approved for minting", + "params": { + "_address": "The address of the minter." + }, + "returns": { + "_0": "bool, whether the address is approved for minting." + } + }, + "isOperatorInList(address)": { + "params": { + "_operator": "address being checked." + }, + "returns": { + "_0": "bool relating to if the operator is on the list." + } + }, + "lockBaseURI()": { + "details": "Lock the metadata to prevent further updates." + }, + "mintTo(address)": { + "details": "Mint a new token to the specified receiver.", + "params": { + "_receiver": "The address of the token receiver." + }, + "returns": { + "_0": "uint256 Token Id of the new token." + } + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "prepareMint(string,uint256)": { + "details": "Prepare a minting batch with a specified base URI and number of tokens.", + "params": { + "_baseURI": "The base URI for token metadata.", + "_numberOfTokens": "The number of tokens to prepare for minting." + } + }, + "prepareMintWithMinter(string,uint256,address)": { + "details": "Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address.", + "params": { + "_baseURI": "The base URI for token metadata.", + "_minter": "The address of the minter.", + "_numberOfTokens": "The number of tokens to prepare for minting." + } + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "royaltyInfo(uint256,uint256)": { + "params": { + "_salePrice": "- the sale price of the NFT asset specified by _tokenId", + "_tokenId": "- the NFT asset queried for royalty information" + }, + "returns": { + "receiver": "- address of who should be sent the royalty payment", + "royaltyAmount": "- the royalty payment amount for _salePrice" + } + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list." + }, + "setDefaultRoyaltyReceiver(address)": { + "details": "Set the default royalty receiver address.", + "params": { + "_receiver": "The address of the default royalty receiver." + } + }, + "setMinterApproval(address,bool)": { + "details": "Set a minter for the contract", + "params": { + "_isMinter": "bool of whether the address is a minter.", + "_minter": "address of the minter." + } + }, + "setRoyaltyReceiverForToken(address,uint256)": { + "details": "Set a specific royalty receiver address for a token.", + "params": { + "_receiver": "The address of the royalty receiver.", + "_tokenId": "The ID of the token." + } + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "toggleListType(uint8)": { + "details": "Only the contract owner can call this function.", + "params": { + "_newListType": "to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)" + } + }, + "tokenCreator(uint256)": { + "details": "Get the address of the token creator for a given token ID.", + "params": { + "_tokenId": "The ID of the token." + }, + "returns": { + "_0": "address of the token creator." + } + }, + "tokenURI(uint256)": { + "details": "Get the token URI for a specific token. If a token has a set URI, it will return that, otherwise it will return the token URI computed from the base URI.", + "params": { + "_tokenId": "The ID of the token." + }, + "returns": { + "_0": "The token's URI." + } + }, + "totalSupply()": { + "details": "Get the total supply of tokens in existence.", + "returns": { + "_0": "The total supply of tokens." + } + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + }, + "updateBaseURI(string)": { + "details": "Update the base URI.", + "params": { + "_baseURI": "The new base URI." + } + }, + "updateTokenURI(uint256,string)": { + "details": "Update the token metadata URI.", + "params": { + "_metadataUri": "The new metadata URI." + } + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "batchAddAddressToRoyaltyList(uint8,address[])": { + "notice": "Adds a list of addresses to the specified list." + }, + "batchRemoveAddressToRoyaltyList(uint8,address[])": { + "notice": "Removes a list of addresses to the specified list." + }, + "clearList(uint8)": { + "notice": "Clears an entire list." + }, + "getInUseList()": { + "notice": "Returns the set of addresses on a list." + }, + "getList(uint8)": { + "notice": "Returns the set of addresses on a list." + }, + "getListType()": { + "notice": "Returns the ListType currently being used;" + }, + "hasAdminPermission(address)": { + "notice": "States whether or not an address has admin permission." + }, + "isOperatorInList(address)": { + "notice": "Returns if the supplied operator address in part of the current in use list." + }, + "toggleListType(uint8)": { + "notice": "Toggles the list type between ALLOW, DENY, or OFF" + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + "aux/=lib/aux/", + "ds-test/=lib/ds-test/src/", + "erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", + "openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", + "rareprotocol/aux/=lib/aux/src/", + "royalty-guard/=lib/royalty-guard/src/royalty-guard/", + "solmate/=lib/royalty-guard/lib/solmate/src/" + ], + "optimizer": { + "enabled": true, + "runs": 200 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol": "LazySovereignNFTRoyaltyGuard" + }, + "libraries": {} + }, + "sources": { + "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol": { + "keccak256": "0x652fee292f698d8dba81bf287cb71f1682f6483b67ebe601a5f7387dcfc30b34", + "urls": [ + "bzz-raw://98c7bba29bcab7240cdaada7dd7cbe3529fec83314801270c46239e72a9e84d7", + "dweb:/ipfs/QmfHCc1KMygjXchXVwafWTkFjhbb2SQ3Cu5GzRTdV4CCCh" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol": { + "keccak256": "0xb5239b505e918cb7427b939ff15da7bf7c4bb68ccb109caef246a3f58b19ba5e", + "urls": [ + "bzz-raw://e5f2ea070e870eea699ee433245459f08020a4752df4f5d391de87a529fc2bad", + "dweb:/ipfs/QmWUcKCKzqQtB6sfJHxGzNj7QRogPmUsW3QQZPAcD3kLSB" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol": { + "keccak256": "0xf7f866b810ddf2508a9cba461906617a1ff561e33835d81a1be9bff9bbfb7ff9", + "urls": [ + "bzz-raw://21142ed30406e8f3dc9d42907aaef8bd34dfee63101d011fc3e1a3a198b9c740", + "dweb:/ipfs/QmW7EkuJFzsejU5keEjULPFFDe8gBEiNYdQ6Z1LrgWnHst" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol": { + "keccak256": "0x6c4dd0c916c4d69014b1a430f5803d3ea1f35c1a8021aefafde55ca4c2d20c2a", + "urls": [ + "bzz-raw://93fd17a1502ac391fd929e9c585032efed0b2ed1fb6fe6026dbc44621538b84d", + "dweb:/ipfs/Qmd3S9HaNGe83wctpj7Bvn6p2veG5P6QH1nPcRuKNJfUqN" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol": { + "keccak256": "0xd16dc04b4bf357ae9d04e02d9fd05cc320bbc89720e0ad8efc2386e476f0b921", + "urls": [ + "bzz-raw://4d9c9054ada43073f83e6e36761a5e428da1a0ec0f1b238995deddcac2c21b8c", + "dweb:/ipfs/QmS3pcaWW4uwaQqJ3iQ56fpNcf6NtWZTHeYL4fvPa3gQYz" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol": { + "keccak256": "0x417a6f201d6b0e3872979beca22f173ca518ef826fafb23b8d5b93bf7e42192d", + "urls": [ + "bzz-raw://3ccc2bdaacf5e5cd18d3d5424e9eb118ff9e59485011595381869af89665c579", + "dweb:/ipfs/QmdPps2gVGqktfANjoxyU93ridF86vpppp7HNoiJkDzksm" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol": { + "keccak256": "0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70", + "urls": [ + "bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3", + "dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol": { + "keccak256": "0x55cf2bd9fc76704ddcdc19834cd288b7de00fc0f298a40ea16a954ae8991db2d", + "urls": [ + "bzz-raw://37e4df53c8d2e3c1062c1c7b2c17366db7de03bfd2559d340ca95c588aa49c2f", + "dweb:/ipfs/QmQ9vsG3o4wED3FRogiSUhdzJvZSjjYFtydzXvFEJtgZk4" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol": { + "keccak256": "0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149", + "urls": [ + "bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c", + "dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol": { + "keccak256": "0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d", + "urls": [ + "bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912", + "dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol": { + "keccak256": "0x398d3323c1932a5986bf36be7c57593e121e69d5db5b6574b4ee0d031443de37", + "urls": [ + "bzz-raw://8b268304e03daf22c349abe3c318bc6a6badd6542d62311716ab401eec745f78", + "dweb:/ipfs/QmNYy2sc2RoTjDhyT6HAibmeDGqfhDiDpsWRbHFHoGVHLr" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol": { + "keccak256": "0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a", + "urls": [ + "bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7", + "dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol": { + "keccak256": "0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09", + "urls": [ + "bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758", + "dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol": { + "keccak256": "0x2033e349d606483684968f190b814bbc853774c8d82305e179d094c5042fb512", + "urls": [ + "bzz-raw://aa9b82acfb4493894b4123b4ab44f5ace697e743631642a8e0bc60aafca2bac5", + "dweb:/ipfs/QmePLecHQuCPTErGNPH7C2zdXod9RZncAZ2cJoYBaUaPQp" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol": { + "keccak256": "0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b", + "urls": [ + "bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d", + "dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { + "keccak256": "0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1", + "urls": [ + "bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f", + "dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol": { + "keccak256": "0xacac2065b3ed1facff1163435890d4a6bcdc474e857e8e2c91ae5fb50418f723", + "urls": [ + "bzz-raw://acd44ec097dd623f40870ca848c31deb02dca032ec9c56bd2e52ee103d35ce6d", + "dweb:/ipfs/Qme3CuA45xCft72RjE6s4bmhffpe2NHvHULH9fh5oPbzBv" + ], + "license": "MIT" + }, + "lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol": { + "keccak256": "0x1fd7933ef0875db5bb8f32053e6ca36ab5544268c69cb04de9575609052a3fde", + "urls": [ + "bzz-raw://4e70aba58a73da37b33e8c7f6e04cbf957530afd3f463d4010e2a671773f5d82", + "dweb:/ipfs/QmVitut8wbt64G3vpg4SmtbkPYGyqYCoBAFBqfv2KybE11" + ], + "license": "MIT" + }, + "lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol": { + "keccak256": "0xe06d80490ce50e16b7e631d6183cb3dac8b25482748814f394590f0de3c2e4a5", + "urls": [ + "bzz-raw://6d07b9e7985fd8a09150c8e69178bfb05eb5e86d90fd3d91f17f1a57289e805f", + "dweb:/ipfs/QmczFpxjLYsaWndsDj2NFLa4cfoCYi3g8jHMVNfUCzN9xF" + ], + "license": "MIT" + }, + "src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol": { + "keccak256": "0x0e26cc39d2b9045ae517ae9d7768b2d19b6aa671d0bcb63c9bfd7a1441393d47", + "urls": [ + "bzz-raw://110ba8840b852c2299a73d43e335be49e27aa9c81263fdcca72b2ffa9722ad5e", + "dweb:/ipfs/QmaTcaPuDsjuouw8ZrqWw2i6Ui87wtEJQKeHoEXUop4id9" + ], + "license": "MIT" + }, + "src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol": { + "keccak256": "0x16f6e92c4bb69769c06fb0e5a13a74f735cdee23f8a6e4082244685022694ea7", + "urls": [ + "bzz-raw://7512c6d328a4a73a22e8d051d25dbfba01f3af7b0284dd3b161a0e19fcf201df", + "dweb:/ipfs/QmSSk5mnspvQEX9YpRFQVLzcYEjEVbUnGzGEY7mwjAn1xR" + ], + "license": "MIT" + }, + "src/token/extensions/ERC2981Upgradeable.sol": { + "keccak256": "0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d", + "urls": [ + "bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465", + "dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA" + ], + "license": "MIT" + }, + "src/token/extensions/IERC2981.sol": { + "keccak256": "0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd", + "urls": [ + "bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b", + "dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w" + ], + "license": "MIT" + }, + "src/token/extensions/ITokenCreator.sol": { + "keccak256": "0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6", + "urls": [ + "bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42", + "dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol", + "id": 28862, + "exportedSymbols": { + "AddressUpgradeable": [ + 25717 + ], + "ContextUpgradeable": [ + 25759 + ], + "CountersUpgradeable": [ + 25833 + ], + "ERC165": [ + 26635 + ], + "ERC165Upgradeable": [ + 26080 + ], + "ERC2981Upgradeable": [ + 29123 + ], + "ERC721BurnableUpgradeable": [ + 25447 + ], + "ERC721Upgradeable": [ + 25263 + ], + "EnumerableSet": [ + 27246 + ], + "IERC165Upgradeable": [ + 26092 + ], + "IERC2981": [ + 29139 + ], + "IERC721MetadataUpgradeable": [ + 25474 + ], + "IERC721ReceiverUpgradeable": [ + 25281 + ], + "IERC721Upgradeable": [ + 25397 + ], + "IRoyaltyGuard": [ + 27376 + ], + "ITokenCreator": [ + 29149 + ], + "Initializable": [ + 24372 + ], + "LazySovereignNFT": [ + 28506 + ], + "LazySovereignNFTRoyaltyGuard": [ + 28861 + ], + "OwnableUpgradeable": [ + 24230 + ], + "RoyaltyGuard": [ + 27732 + ], + "SafeMathUpgradeable": [ + 26404 + ], + "StringsUpgradeable": [ + 26036 + ] + }, + "nodeType": "SourceUnit", + "src": "85:1762:39", + "nodes": [ + { + "id": 28777, + "nodeType": "PragmaDirective", + "src": "85:23:39", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ] + }, + { + "id": 28778, + "nodeType": "ImportDirective", + "src": "110:40:39", + "nodes": [], + "absolutePath": "lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol", + "file": "royalty-guard/RoyaltyGuard.sol", + "nameLocation": "-1:-1:-1", + "scope": 28862, + "sourceUnit": 27733, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 28779, + "nodeType": "ImportDirective", + "src": "152:33:39", + "nodes": [], + "absolutePath": "src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol", + "file": "../LazySovereignNFT.sol", + "nameLocation": "-1:-1:-1", + "scope": 28862, + "sourceUnit": 28507, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 28861, + "nodeType": "ContractDefinition", + "src": "187:1659:39", + "nodes": [ + { + "id": 28805, + "nodeType": "FunctionDefinition", + "src": "515:312:39", + "nodes": [], + "body": { + "id": 28804, + "nodeType": "Block", + "src": "683:144:39", + "nodes": [], + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 28802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 28796, + "name": "_interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28786, + "src": "743:12:39", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 28794, + "name": "RoyaltyGuard", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27732, + "src": "712:12:39", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_RoyaltyGuard_$27732_$", + "typeString": "type(contract RoyaltyGuard)" + } + }, + "id": 28795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 27639, + "src": "712:30:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 28797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "712:44:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 28800, + "name": "_interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28786, + "src": "807:12:39", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 28798, + "name": "LazySovereignNFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28506, + "src": "772:16:39", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LazySovereignNFT_$28506_$", + "typeString": "type(contract LazySovereignNFT)" + } + }, + "id": 28799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 28419, + "src": "772:34:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 28801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "772:48:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "712:108:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 28793, + "id": 28803, + "nodeType": "Return", + "src": "693:127:39" + } + ] + }, + "baseFunctions": [ + 27639, + 28419 + ], + "documentation": { + "id": 28784, + "nodeType": "StructuredDocumentation", + "src": "469:41:39", + "text": "@dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "524:17:39", + "overrides": { + "id": 28790, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "id": 28788, + "name": "LazySovereignNFT", + "nodeType": "IdentifierPath", + "referencedDeclaration": 28506, + "src": "624:16:39" + }, + { + "id": 28789, + "name": "RoyaltyGuard", + "nodeType": "IdentifierPath", + "referencedDeclaration": 27732, + "src": "642:12:39" + } + ], + "src": "615:40:39" + }, + "parameters": { + "id": 28787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28786, + "mutability": "mutable", + "name": "_interfaceId", + "nameLocation": "549:12:39", + "nodeType": "VariableDeclaration", + "scope": 28805, + "src": "542:19:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 28785, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "542:6:39", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "541:21:39" + }, + "returnParameters": { + "id": 28793, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28792, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28805, + "src": "673:4:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 28791, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "673:4:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "672:6:39" + }, + "scope": 28861, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 28820, + "nodeType": "FunctionDefinition", + "src": "1072:171:39", + "nodes": [], + "body": { + "id": 28819, + "nodeType": "Block", + "src": "1203:40:39", + "nodes": [], + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 28817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 28814, + "name": "_addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28808, + "src": "1220:5:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 28815, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24153, + "src": "1229:5:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 28816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1229:7:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1220:16:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 28813, + "id": 28818, + "nodeType": "Return", + "src": "1213:23:39" + } + ] + }, + "baseFunctions": [ + 27617 + ], + "documentation": { + "id": 28806, + "nodeType": "StructuredDocumentation", + "src": "1039:28:39", + "text": "@inheritdoc RoyaltyGuard" + }, + "functionSelector": "20427486", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasAdminPermission", + "nameLocation": "1081:18:39", + "overrides": { + "id": 28810, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1167:8:39" + }, + "parameters": { + "id": 28809, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28808, + "mutability": "mutable", + "name": "_addr", + "nameLocation": "1108:5:39", + "nodeType": "VariableDeclaration", + "scope": 28820, + "src": "1100:13:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28807, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1100:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1099:15:39" + }, + "returnParameters": { + "id": 28813, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28812, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 28820, + "src": "1193:4:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 28811, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1193:4:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1192:6:39" + }, + "scope": 28861, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 28840, + "nodeType": "FunctionDefinition", + "src": "1349:173:39", + "nodes": [], + "body": { + "id": 28839, + "nodeType": "Block", + "src": "1477:45:39", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 28835, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28823, + "src": "1501:8:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 28836, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28825, + "src": "1511:3:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 28832, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "1487:5:39", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_LazySovereignNFTRoyaltyGuard_$28861_$", + "typeString": "type(contract super LazySovereignNFTRoyaltyGuard)" + } + }, + "id": 28834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "approve", + "nodeType": "MemberAccess", + "referencedDeclaration": 24652, + "src": "1487:13:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 28837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1487:28:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28838, + "nodeType": "ExpressionStatement", + "src": "1487:28:39" + } + ] + }, + "baseFunctions": [ + 24652 + ], + "documentation": { + "id": 28821, + "nodeType": "StructuredDocumentation", + "src": "1249:95:39", + "text": "@dev Guards {approve} based on the type of list and depending if {_spender} is on the list." + }, + "functionSelector": "095ea7b3", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 28829, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28823, + "src": "1463:8:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 28830, + "kind": "modifierInvocation", + "modifierName": { + "id": 28828, + "name": "checkList", + "nodeType": "IdentifierPath", + "referencedDeclaration": 27452, + "src": "1453:9:39" + }, + "nodeType": "ModifierInvocation", + "src": "1453:19:39" + } + ], + "name": "approve", + "nameLocation": "1358:7:39", + "overrides": { + "id": 28827, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1436:8:39" + }, + "parameters": { + "id": 28826, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28823, + "mutability": "mutable", + "name": "_spender", + "nameLocation": "1374:8:39", + "nodeType": "VariableDeclaration", + "scope": 28840, + "src": "1366:16:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28822, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1366:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28825, + "mutability": "mutable", + "name": "_id", + "nameLocation": "1392:3:39", + "nodeType": "VariableDeclaration", + "scope": 28840, + "src": "1384:11:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28824, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1384:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1365:31:39" + }, + "returnParameters": { + "id": 28831, + "nodeType": "ParameterList", + "parameters": [], + "src": "1477:0:39" + }, + "scope": 28861, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "id": 28860, + "nodeType": "FunctionDefinition", + "src": "1639:205:39", + "nodes": [], + "body": { + "id": 28859, + "nodeType": "Block", + "src": "1782:62:39", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 28855, + "name": "_operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28843, + "src": "1816:9:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 28856, + "name": "_approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28845, + "src": "1827:9:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 28852, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "1792:5:39", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_LazySovereignNFTRoyaltyGuard_$28861_$", + "typeString": "type(contract super LazySovereignNFTRoyaltyGuard)" + } + }, + "id": 28854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setApprovalForAll", + "nodeType": "MemberAccess", + "referencedDeclaration": 24690, + "src": "1792:23:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bool_$returns$__$", + "typeString": "function (address,bool)" + } + }, + "id": 28857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1792:45:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28858, + "nodeType": "ExpressionStatement", + "src": "1792:45:39" + } + ] + }, + "baseFunctions": [ + 24690 + ], + "documentation": { + "id": 28841, + "nodeType": "StructuredDocumentation", + "src": "1528:106:39", + "text": "@dev Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list." + }, + "functionSelector": "a22cb465", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 28849, + "name": "_operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28843, + "src": "1767:9:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 28850, + "kind": "modifierInvocation", + "modifierName": { + "id": 28848, + "name": "checkList", + "nodeType": "IdentifierPath", + "referencedDeclaration": 27452, + "src": "1757:9:39" + }, + "nodeType": "ModifierInvocation", + "src": "1757:20:39" + } + ], + "name": "setApprovalForAll", + "nameLocation": "1648:17:39", + "overrides": { + "id": 28847, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1740:8:39" + }, + "parameters": { + "id": 28846, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28843, + "mutability": "mutable", + "name": "_operator", + "nameLocation": "1674:9:39", + "nodeType": "VariableDeclaration", + "scope": 28860, + "src": "1666:17:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28842, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1666:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28845, + "mutability": "mutable", + "name": "_approved", + "nameLocation": "1690:9:39", + "nodeType": "VariableDeclaration", + "scope": 28860, + "src": "1685:14:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 28844, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1685:4:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1665:35:39" + }, + "returnParameters": { + "id": 28851, + "nodeType": "ParameterList", + "parameters": [], + "src": "1782:0:39" + }, + "scope": 28861, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 28780, + "name": "LazySovereignNFT", + "nodeType": "IdentifierPath", + "referencedDeclaration": 28506, + "src": "228:16:39" + }, + "id": 28781, + "nodeType": "InheritanceSpecifier", + "src": "228:16:39" + }, + { + "baseName": { + "id": 28782, + "name": "RoyaltyGuard", + "nodeType": "IdentifierPath", + "referencedDeclaration": 27732, + "src": "246:12:39" + }, + "id": 28783, + "nodeType": "InheritanceSpecifier", + "src": "246:12:39" + } + ], + "canonicalName": "LazySovereignNFTRoyaltyGuard", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 28861, + 27732, + 26635, + 26647, + 27376, + 28506, + 29123, + 25447, + 29149, + 25263, + 25474, + 25397, + 26080, + 26092, + 24230, + 25759, + 24372, + 29139 + ], + "name": "LazySovereignNFTRoyaltyGuard", + "nameLocation": "196:28:39", + "scope": 28862, + "usedErrors": [ + 27295, + 27298, + 27301 + ] + } + ], + "license": "MIT" + }, + "id": 39 +} \ No newline at end of file diff --git a/abis/LazySovereignNFTRoyaltyGuardDeadmanTrigger.json b/abis/LazySovereignNFTRoyaltyGuardDeadmanTrigger.json new file mode 100644 index 0000000..b984511 --- /dev/null +++ b/abis/LazySovereignNFTRoyaltyGuardDeadmanTrigger.json @@ -0,0 +1,3898 @@ +{ + "abi": [ + { + "inputs": [], + "name": "CantAddToOFFList", + "type": "error" + }, + { + "inputs": [], + "name": "DeadmanTriggerStillActive", + "type": "error" + }, + { + "inputs": [], + "name": "MustBeAdmin", + "type": "error" + }, + { + "inputs": [], + "name": "Unauthorized", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_updater", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_addedAddr", + "type": "address" + }, + { + "indexed": true, + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_ListType", + "type": "uint8" + } + ], + "name": "AddressAddedToList", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_updater", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_removedAddr", + "type": "address" + }, + { + "indexed": true, + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_ListType", + "type": "uint8" + } + ], + "name": "AddressRemovedList", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "ContractDisabled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_activator", + "type": "address" + } + ], + "name": "DeadmanTriggerActivated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_updater", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_oldDatetime", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_newDatetime", + "type": "uint256" + } + ], + "name": "DeadmanTriggerDatetimeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_updater", + "type": "address" + }, + { + "indexed": false, + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8" + } + ], + "name": "ListCleared", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_updater", + "type": "address" + }, + { + "indexed": true, + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_oldListType", + "type": "uint8" + }, + { + "indexed": true, + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_newListType", + "type": "uint8" + } + ], + "name": "ListTypeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "baseURI", + "type": "string" + } + ], + "name": "MetadataLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "baseURI", + "type": "string" + } + ], + "name": "MetadataUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "numberOfTokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "baseURI", + "type": "string" + } + ], + "name": "PrepareMint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "activateDeadmanListTrigger", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8" + }, + { + "internalType": "address[]", + "name": "_addrs", + "type": "address[]" + } + ], + "name": "batchAddAddressToRoyaltyList", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8" + }, + { + "internalType": "address[]", + "name": "_addrs", + "type": "address[]" + } + ], + "name": "batchRemoveAddressToRoyaltyList", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8" + } + ], + "name": "clearList", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "deleteToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "disableContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "disabled", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDeadmanTriggerAvailableDatetime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDefaultRoyaltyPercentage", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDefaultRoyaltyReceiver", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getInUseList", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8" + } + ], + "name": "getList", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getListType", + "outputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMintConfig", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "numberOfTokens", + "type": "uint256" + }, + { + "internalType": "string", + "name": "baseURI", + "type": "string" + }, + { + "internalType": "bool", + "name": "lockedMetadata", + "type": "bool" + } + ], + "internalType": "struct LazySovereignNFT.MintConfig", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "hasAdminPermission", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_creator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxTokens", + "type": "uint256" + } + ], + "name": "init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "isApprovedMinter", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + } + ], + "name": "isOperatorInList", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lockBaseURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "maxTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "mintTo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_numberOfTokens", + "type": "uint256" + } + ], + "name": "prepareMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_numberOfTokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_minter", + "type": "address" + } + ], + "name": "prepareMintWithMinter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_salePrice", + "type": "uint256" + } + ], + "name": "royaltyInfo", + "outputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "royaltyAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_numYears", + "type": "uint256" + } + ], + "name": "setDeadmanListTriggerRenewalDuration", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "setDefaultRoyaltyReceiver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "setRoyaltyReceiverForToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "_interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_newListType", + "type": "uint8" + } + ], + "name": "toggleListType", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "tokenCreator", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "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": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + } + ], + "name": "updateBaseURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": { + "object": "0x608060405234801561001057600080fd5b506136d9806100206000396000f3fe608060405234801561001057600080fd5b50600436106102a05760003560e01c8063715018a611610167578063b390ac25116100ce578063e985e9c511610087578063e985e9c5146105e0578063eab85118146105f3578063ee07080514610606578063efc32cd414610612578063f2fde38b14610625578063ff6e8c8f1461063857600080fd5b8063b390ac2514610577578063b88d4fde1461058a578063b9fbd25c1461059d578063bc719455146105b0578063c87b56dd146105c3578063e8315742146105d657600080fd5b8063931688cb11610120578063931688cb146105195780639338bb5d1461052c57806395d89b41146105415780639e860f2a14610549578063a22cb4651461055c578063ab69607a1461056f57600080fd5b8063715018a6146104c8578063717392ed146104d0578063755edd17146104d957806387bc793f146104ec578063894ba833146105005780638da5cb5b1461050857600080fd5b80633a3d146f1161020b57806353df5c7c116101c457806353df5c7c1461046c5780635aec8d62146104745780635edc7c191461047c5780636297c16c1461048f5780636352211e146104a257806370a08231146104b557600080fd5b80633a3d146f146103e05780633ebc82c51461040d57806340c1a0641461042057806342842e0e1461043357806342966c6814610446578063472a66381461045957600080fd5b8063204274861161025d578063204274861461035c57806321c4a5d81461036f57806323b872dd146103825780632a55205a146103955780632ce878da146103c75780633403c4e9146103cf57600080fd5b8063012cf1e8146102a557806301ffc9a7146102ce57806306fdde03146102f1578063081812fc14610306578063095ea7b31461033157806318160ddd14610346575b600080fd5b6102b86102b3366004612a61565b61064b565b6040516102c59190612a7c565b60405180910390f35b6102e16102dc366004612adf565b610691565b60405190151581526020016102c5565b6102f96106ab565b6040516102c59190612b54565b610319610314366004612b67565b61073d565b6040516001600160a01b0390911681526020016102c5565b61034461033f366004612b97565b6107d7565b005b61034e6108ac565b6040519081526020016102c5565b6102e161036a366004612bc1565b6108bd565b61034461037d366004612b67565b6108ec565b610344610390366004612bdc565b61091e565b6103a86103a3366004612c18565b610950565b604080516001600160a01b0390931683526020830191909152016102c5565b6102b86109eb565b60fb546001600160a01b0316610319565b6102e16103ee366004612bc1565b6001600160a01b03166000908152610102602052604090205460ff1690565b61034461041b366004612bc1565b610a11565b61031961042e366004612b67565b610a44565b610344610441366004612bdc565b610a58565b610344610454366004612b67565b610a73565b610344610467366004612a61565b610aea565b610344610b19565b610344610b8d565b61034461048a366004612c83565b610be8565b61034461049d366004612b67565b610d68565b6103196104b0366004612b67565b610dd1565b61034e6104c3366004612bc1565b610e48565b610344610ece565b6101095461034e565b61034e6104e7366004612bc1565b610f04565b6101085460ff166040516102c59190612d22565b610344610fda565b6033546001600160a01b0316610319565b610344610527366004612d4a565b61103e565b610534611112565b6040516102c59190612d8c565b6102f96111f6565b610344610557366004612dca565b611205565b61034461056a366004612e50565b611268565b60fc5461034e565b610344610585366004612e8c565b61130f565b610344610598366004612eee565b611366565b6103446105ab366004612fca565b61139e565b6103446105be366004612a61565b61141d565b6102f96105d1366004612b67565b6114d2565b61034e6101005481565b6102e16105ee366004613027565b611507565b6102e1610601366004612bc1565b611535565b60ff80546102e1911681565b610344610620366004612b97565b61155c565b610344610633366004612bc1565b6115b4565b610344610646366004612dca565b61164c565b606061068b610107600084600281111561066757610667612d0c565b600281111561067857610678612d0c565b81526020019081526020016000206116e4565b92915050565b600061069c826116f8565b8061068b575061068b8261171d565b6060609780546106ba90613051565b80601f01602080910402602001604051908101604052809291908181526020018280546106e690613051565b80156107335780601f1061070857610100808354040283529160200191610733565b820191906000526020600020905b81548152906001019060200180831161071657829003601f168201915b5050505050905090565b6000818152609960205260408120546001600160a01b03166107bb5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152609b60205260409020546001600160a01b031690565b8160016101085460ff1660028111156107f2576107f2612d0c565b036108515761083081610107600060015b600281111561081457610814612d0c565b815260200190815260200160002061176090919063ffffffff16565b61084c576040516282b42960e81b815260040160405180910390fd5b61089d565b60026101085460ff16600281111561086b5761086b612d0c565b0361089d576108808161010760006002610803565b1561089d576040516282b42960e81b815260040160405180910390fd5b6108a78383611782565b505050565b60006108b86101035490565b905090565b60006108d16033546001600160a01b031690565b6001600160a01b0316826001600160a01b0316149050919050565b6108f5336108bd565b61091257604051635c510c8360e11b815260040160405180910390fd5b61091b81611892565b50565b610929335b826118f5565b6109455760405162461bcd60e51b81526004016107b29061308b565b6108a78383836119cc565b600082815260fd602052604081205481906001600160a01b031661097f5760fb546001600160a01b0316610998565b600084815260fd60205260409020546001600160a01b03165b91506109e260646109dc60fe6000888152602001908152602001600020546000036109c55760fc546109d5565b600087815260fe60205260409020545b8690611b68565b90611b74565b90509250929050565b610108546060906108b8906101079060009060ff16600281111561066757610667612d0c565b6033546001600160a01b03163314610a3b5760405162461bcd60e51b81526004016107b2906130dc565b61091b81611b80565b600061068b6033546001600160a01b031690565b6108a783838360405180602001604052806000815250611366565b610a7c33610923565b610ae15760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b60648201526084016107b2565b61091b81611ba2565b610af3336108bd565b610b1057604051635c510c8360e11b815260040160405180910390fd5b61091b81611c3e565b6033546001600160a01b03163314610b435760405162461bcd60e51b81526004016107b2906130dc565b6040517fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e90610b759061010590613111565b60405180910390a1610106805460ff19166001179055565b42610109541115610bb15760405163807a684760e01b815260040160405180910390fd5b610bbb6000611c3e565b60405133907f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a4690600090a2565b6000610bf46001611cbb565b90508015610c0c576000805461ff0019166101001790555b6001600160a01b038316610c625760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c2061646472657373000060448201526064016107b2565b610c6c600a60fc55565b60ff805460ff19169055610100829055610c84611d43565b610cf787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611d7292505050565b610cff611da3565b610d07611dca565b610d1083611b80565b610d19836115b4565b8015610d5f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b33610d7282610dd1565b6001600160a01b031614610dc85760405162461bcd60e51b815260206004820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e0060448201526064016107b2565b61091b81610a73565b6000818152609960205260408120546001600160a01b03168061068b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016107b2565b60006001600160a01b038216610eb25760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016107b2565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610ef85760405162461bcd60e51b81526004016107b2906130dc565b610f026000611df9565b565b60ff80546000911615610f295760405162461bcd60e51b81526004016107b29061319c565b6033546001600160a01b0316331480610f525750336000908152610102602052604090205460ff165b610fb75760405162461bcd60e51b815260206004820152603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b60648201526084016107b2565b61068b82610fc460fc5490565b60fb546001600160a01b0316611e4b565b919050565b6033546001600160a01b031633146110045760405162461bcd60e51b81526004016107b2906130dc565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b6033546001600160a01b031633146110685760405162461bcd60e51b81526004016107b2906130dc565b6101065460ff16156110c65760405162461bcd60e51b815260206004820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b60648201526084016107b2565b6101056110d4828483613221565b507f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e82826040516111069291906132e2565b60405180910390a15050565b611138604051806060016040528060008152602001606081526020016000151581525090565b604080516060810190915261010480548252610105805460208401919061115e90613051565b80601f016020809104026020016040519081016040528092919081815260200182805461118a90613051565b80156111d75780601f106111ac576101008083540402835291602001916111d7565b820191906000526020600020905b8154815290600101906020018083116111ba57829003601f168201915b50505091835250506002919091015460ff161515602090910152919050565b6060609880546106ba90613051565b61120e336108bd565b61122b57604051635c510c8360e11b815260040160405180910390fd5b6108a78383838080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509250611f07915050565b8160016101085460ff16600281111561128357611283612d0c565b036112b9576112988161010760006001610803565b6112b4576040516282b42960e81b815260040160405180910390fd5b611305565b60026101085460ff1660028111156112d3576112d3612d0c565b03611305576112e88161010760006002610803565b15611305576040516282b42960e81b815260040160405180910390fd5b6108a783836120e4565b6033546001600160a01b031633146113395760405162461bcd60e51b81526004016107b2906130dc565b60ff8054161561135b5760405162461bcd60e51b81526004016107b29061319c565b6108a78383836120ef565b61137033836118f5565b61138c5760405162461bcd60e51b81526004016107b29061308b565b61139884848484612271565b50505050565b6033546001600160a01b031633146113c85760405162461bcd60e51b81526004016107b2906130dc565b60ff805416156113ea5760405162461bcd60e51b81526004016107b29061319c565b6113f58484846120ef565b6001600160a01b0316600090815261010260205260409020805460ff19166001179055505050565b611426336108bd565b61144357604051635c510c8360e11b815260040160405180910390fd5b610107600082600281111561145a5761145a612d0c565b600281111561146b5761146b612d0c565b81526020810191909152604001600090812090818161148a8282612a20565b50505050336001600160a01b03167f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da24826040516114c79190612d22565b60405180910390a250565b60606101056114e0836122a4565b6040516020016114f1929190613311565b6040516020818303038152906040529050919050565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b6101085460009061068b90839061010790849060ff16600281111561080357610803612d0c565b6033546001600160a01b031633146115865760405162461bcd60e51b81526004016107b2906130dc565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b031633146115de5760405162461bcd60e51b81526004016107b2906130dc565b6001600160a01b0381166116435760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107b2565b61091b81611df9565b611655336108bd565b61167257604051635c510c8360e11b815260040160405180910390fd5b600083600281111561168657611686612d0c565b036116a457604051632de777a160e11b815260040160405180910390fd5b6108a78383838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525060019250611f07915050565b606060006116f1836123a5565b9392505050565b60006001600160e01b0319821663fa31a45b60e01b148061068b575061068b82612401565b60006001600160e01b03198216631030681960e21b1480611742575061174282612401565b80611751575061175182612417565b8061068b575061068b82612438565b6001600160a01b038116600090815260018301602052604081205415156116f1565b600061178d82610dd1565b9050806001600160a01b0316836001600160a01b0316036117fa5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016107b2565b336001600160a01b038216148061181657506118168133611507565b6118885760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016107b2565b6108a78383612478565b60006118a2826301e133806133cd565b6118ac90426133ec565b61010954604080519182526020820183905291925033917f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc9910160405180910390a26101095550565b6000818152609960205260408120546001600160a01b031661196e5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016107b2565b600061197983610dd1565b9050806001600160a01b0316846001600160a01b031614806119a057506119a08185611507565b806119c45750836001600160a01b03166119b98461073d565b6001600160a01b0316145b949350505050565b826001600160a01b03166119df82610dd1565b6001600160a01b031614611a435760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016107b2565b6001600160a01b038216611aa55760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016107b2565b611ab0600082612478565b6001600160a01b0383166000908152609a60205260408120805460019290611ad9908490613404565b90915550506001600160a01b0382166000908152609a60205260408120805460019290611b079084906133ec565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006116f182846133cd565b60006116f18284613431565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b6000611bad82610dd1565b9050611bba600083612478565b6001600160a01b0381166000908152609a60205260408120805460019290611be3908490613404565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45b5050565b806002811115611c5057611c50612d0c565b6101085460ff166002811115611c6857611c68612d0c565b60405133907f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f90600090a4610108805482919060ff19166001836002811115611cb357611cb3612d0c565b021790555050565b60008054610100900460ff1615611d02578160ff166001148015611cde5750303b155b611cfa5760405162461bcd60e51b81526004016107b290613445565b506000919050565b60005460ff808416911610611d295760405162461bcd60e51b81526004016107b290613445565b506000805460ff191660ff92909216919091179055600190565b600054610100900460ff16611d6a5760405162461bcd60e51b81526004016107b290613493565b610f026124e6565b600054610100900460ff16611d995760405162461bcd60e51b81526004016107b290613493565b611c3a8282612516565b600054610100900460ff16610f025760405162461bcd60e51b81526004016107b290613493565b600054610100900460ff16611df15760405162461bcd60e51b81526004016107b290613493565b610f02611da3565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611e5c61010380546001019055565b6000611e686101035490565b905061010054811115611ebd5760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e7360448201526064016107b2565b611ec78582612556565b600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b038516179055949350505050565b6000836002811115611f1b57611f1b612d0c565b146108a75760005b825181101561139857811561200457611f93838281518110611f4757611f476134de565b60200260200101516101076000876002811115611f6657611f66612d0c565b6002811115611f7757611f77612d0c565b815260200190815260200160002061257090919063ffffffff16565b50836002811115611fa657611fa6612d0c565b838281518110611fb857611fb86134de565b60200260200101516001600160a01b0316336001600160a01b03167f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba153660405160405180910390a46120d2565b612065838281518110612019576120196134de565b6020026020010151610107600087600281111561203857612038612d0c565b600281111561204957612049612d0c565b815260200190815260200160002061258590919063ffffffff16565b5083600281111561207857612078612d0c565b83828151811061208a5761208a6134de565b60200260200101516001600160a01b0316336001600160a01b03167fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed9560405160405180910390a45b806120dc816134f4565b915050611f23565b611c3a33838361259a565b610100548111156121425760405162461bcd60e51b815260206004820181905260248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e7360448201526064016107b2565b61010354156121ad5760405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b60648201526084016107b2565b604051806060016040528082815260200184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060209182015281516101049081559082015161010590612216908261350d565b50604091820151600291909101805460ff19169115159190911790555181907f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199061226490869086906132e2565b60405180910390a2505050565b61227c8484846119cc565b61228884848484612668565b6113985760405162461bcd60e51b81526004016107b2906135cd565b6060816000036122cb5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156122f557806122df816134f4565b91506122ee9050600a83613431565b91506122cf565b60008167ffffffffffffffff81111561231057612310612ed8565b6040519080825280601f01601f19166020018201604052801561233a576020820181803683370190505b5090505b84156119c45761234f600183613404565b915061235c600a8661361f565b6123679060306133ec565b60f81b81838151811061237c5761237c6134de565b60200101906001600160f81b031916908160001a90535061239e600a86613431565b945061233e565b6060816000018054806020026020016040519081016040528092919081815260200182805480156123f557602002820191906000526020600020905b8154815260200190600101908083116123e1575b50505050509050919050565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b148061068b575061068b825b60006001600160e01b031982166380ac58cd60e01b148061246957506001600160e01b03198216635b5e139f60e01b145b8061068b575061068b82612401565b6000818152609b6020526040902080546001600160a01b0319166001600160a01b03841690811790915581906124ad82610dd1565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600054610100900460ff1661250d5760405162461bcd60e51b81526004016107b290613493565b610f0233611df9565b600054610100900460ff1661253d5760405162461bcd60e51b81526004016107b290613493565b6097612549838261350d565b5060986108a7828261350d565b611c3a828260405180602001604052806000815250612769565b60006116f1836001600160a01b03841661279c565b60006116f1836001600160a01b0384166127eb565b816001600160a01b0316836001600160a01b0316036125fb5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016107b2565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60006001600160a01b0384163b1561275e57604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906126ac903390899088908890600401613633565b6020604051808303816000875af19250505080156126e7575060408051601f3d908101601f191682019092526126e491810190613670565b60015b612744573d808015612715576040519150601f19603f3d011682016040523d82523d6000602084013e61271a565b606091505b50805160000361273c5760405162461bcd60e51b81526004016107b2906135cd565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506119c4565b506001949350505050565b61277383836128de565b6127806000848484612668565b6108a75760405162461bcd60e51b81526004016107b2906135cd565b60008181526001830160205260408120546127e35750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561068b565b50600061068b565b600081815260018301602052604081205480156128d457600061280f600183613404565b855490915060009061282390600190613404565b9050818114612888576000866000018281548110612843576128436134de565b9060005260206000200154905080876000018481548110612866576128666134de565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806128995761289961368d565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061068b565b600091505061068b565b6001600160a01b0382166129345760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016107b2565b6000818152609960205260409020546001600160a01b0316156129995760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107b2565b6001600160a01b0382166000908152609a602052604081208054600192906129c29084906133ec565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b508054600082559060005260206000209081019061091b91905b80821115612a4e5760008155600101612a3a565b5090565b803560038110610fd557600080fd5b600060208284031215612a7357600080fd5b6116f182612a52565b6020808252825182820181905260009190848201906040850190845b81811015612abd5783516001600160a01b031683529284019291840191600101612a98565b50909695505050505050565b6001600160e01b03198116811461091b57600080fd5b600060208284031215612af157600080fd5b81356116f181612ac9565b60005b83811015612b17578181015183820152602001612aff565b838111156113985750506000910152565b60008151808452612b40816020860160208601612afc565b601f01601f19169290920160200192915050565b6020815260006116f16020830184612b28565b600060208284031215612b7957600080fd5b5035919050565b80356001600160a01b0381168114610fd557600080fd5b60008060408385031215612baa57600080fd5b612bb383612b80565b946020939093013593505050565b600060208284031215612bd357600080fd5b6116f182612b80565b600080600060608486031215612bf157600080fd5b612bfa84612b80565b9250612c0860208501612b80565b9150604084013590509250925092565b60008060408385031215612c2b57600080fd5b50508035926020909101359150565b60008083601f840112612c4c57600080fd5b50813567ffffffffffffffff811115612c6457600080fd5b602083019150836020828501011115612c7c57600080fd5b9250929050565b60008060008060008060808789031215612c9c57600080fd5b863567ffffffffffffffff80821115612cb457600080fd5b612cc08a838b01612c3a565b90985096506020890135915080821115612cd957600080fd5b50612ce689828a01612c3a565b9095509350612cf9905060408801612b80565b9150606087013590509295509295509295565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612d4457634e487b7160e01b600052602160045260246000fd5b91905290565b60008060208385031215612d5d57600080fd5b823567ffffffffffffffff811115612d7457600080fd5b612d8085828601612c3a565b90969095509350505050565b60208152815160208201526000602083015160606040840152612db26080840182612b28565b90506040840151151560608401528091505092915050565b600080600060408486031215612ddf57600080fd5b612de884612a52565b9250602084013567ffffffffffffffff80821115612e0557600080fd5b818601915086601f830112612e1957600080fd5b813581811115612e2857600080fd5b8760208260051b8501011115612e3d57600080fd5b6020830194508093505050509250925092565b60008060408385031215612e6357600080fd5b612e6c83612b80565b915060208301358015158114612e8157600080fd5b809150509250929050565b600080600060408486031215612ea157600080fd5b833567ffffffffffffffff811115612eb857600080fd5b612ec486828701612c3a565b909790965060209590950135949350505050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215612f0457600080fd5b612f0d85612b80565b9350612f1b60208601612b80565b925060408501359150606085013567ffffffffffffffff80821115612f3f57600080fd5b818701915087601f830112612f5357600080fd5b813581811115612f6557612f65612ed8565b604051601f8201601f19908116603f01168101908382118183101715612f8d57612f8d612ed8565b816040528281528a6020848701011115612fa657600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060008060608587031215612fe057600080fd5b843567ffffffffffffffff811115612ff757600080fd5b61300387828801612c3a565b9095509350506020850135915061301c60408601612b80565b905092959194509250565b6000806040838503121561303a57600080fd5b61304383612b80565b91506109e260208401612b80565b600181811c9082168061306557607f821691505b60208210810361308557634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208083526000845461312581613051565b8084870152604060018084166000811461314657600181146131605761318e565b60ff1985168984015283151560051b89018301955061318e565b896000528660002060005b858110156131865781548b820186015290830190880161316b565b8a0184019650505b509398975050505050505050565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b601f8211156108a757600081815260208120601f850160051c810160208610156131fa5750805b601f850160051c820191505b8181101561321957828155600101613206565b505050505050565b67ffffffffffffffff83111561323957613239612ed8565b61324d836132478354613051565b836131d3565b6000601f84116001811461328157600085156132695750838201355b600019600387901b1c1916600186901b1783556132db565b600083815260209020601f19861690835b828110156132b25786850135825560209485019460019092019101613292565b50868210156132cf5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b600080845461331f81613051565b60018281168015613337576001811461334c5761337b565b60ff198416875282151583028701945061337b565b8860005260208060002060005b858110156133725781548a820152908401908201613359565b50505082870194505b50602f60f81b8452865192506133978382860160208a01612afc565b64173539b7b760d91b939092019182019290925260060195945050505050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156133e7576133e76133b7565b500290565b600082198211156133ff576133ff6133b7565b500190565b600082821015613416576134166133b7565b500390565b634e487b7160e01b600052601260045260246000fd5b6000826134405761344061341b565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060018201613506576135066133b7565b5060010190565b815167ffffffffffffffff81111561352757613527612ed8565b61353b816135358454613051565b846131d3565b602080601f83116001811461357057600084156135585750858301515b600019600386901b1c1916600185901b178555613219565b600085815260208120601f198616915b8281101561359f57888601518255948401946001909101908401613580565b50858210156135bd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008261362e5761362e61341b565b500690565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061366690830184612b28565b9695505050505050565b60006020828403121561368257600080fd5b81516116f181612ac9565b634e487b7160e01b600052603160045260246000fdfea26469706673582212201578cb92f9d0b849d9a39fac543b36e3ac45105b744972da831f814a5e9dbdaf64736f6c634300080f0033", + "sourceMap": "212:1724:27:-:0;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b50600436106102a05760003560e01c8063715018a611610167578063b390ac25116100ce578063e985e9c511610087578063e985e9c5146105e0578063eab85118146105f3578063ee07080514610606578063efc32cd414610612578063f2fde38b14610625578063ff6e8c8f1461063857600080fd5b8063b390ac2514610577578063b88d4fde1461058a578063b9fbd25c1461059d578063bc719455146105b0578063c87b56dd146105c3578063e8315742146105d657600080fd5b8063931688cb11610120578063931688cb146105195780639338bb5d1461052c57806395d89b41146105415780639e860f2a14610549578063a22cb4651461055c578063ab69607a1461056f57600080fd5b8063715018a6146104c8578063717392ed146104d0578063755edd17146104d957806387bc793f146104ec578063894ba833146105005780638da5cb5b1461050857600080fd5b80633a3d146f1161020b57806353df5c7c116101c457806353df5c7c1461046c5780635aec8d62146104745780635edc7c191461047c5780636297c16c1461048f5780636352211e146104a257806370a08231146104b557600080fd5b80633a3d146f146103e05780633ebc82c51461040d57806340c1a0641461042057806342842e0e1461043357806342966c6814610446578063472a66381461045957600080fd5b8063204274861161025d578063204274861461035c57806321c4a5d81461036f57806323b872dd146103825780632a55205a146103955780632ce878da146103c75780633403c4e9146103cf57600080fd5b8063012cf1e8146102a557806301ffc9a7146102ce57806306fdde03146102f1578063081812fc14610306578063095ea7b31461033157806318160ddd14610346575b600080fd5b6102b86102b3366004612a61565b61064b565b6040516102c59190612a7c565b60405180910390f35b6102e16102dc366004612adf565b610691565b60405190151581526020016102c5565b6102f96106ab565b6040516102c59190612b54565b610319610314366004612b67565b61073d565b6040516001600160a01b0390911681526020016102c5565b61034461033f366004612b97565b6107d7565b005b61034e6108ac565b6040519081526020016102c5565b6102e161036a366004612bc1565b6108bd565b61034461037d366004612b67565b6108ec565b610344610390366004612bdc565b61091e565b6103a86103a3366004612c18565b610950565b604080516001600160a01b0390931683526020830191909152016102c5565b6102b86109eb565b60fb546001600160a01b0316610319565b6102e16103ee366004612bc1565b6001600160a01b03166000908152610102602052604090205460ff1690565b61034461041b366004612bc1565b610a11565b61031961042e366004612b67565b610a44565b610344610441366004612bdc565b610a58565b610344610454366004612b67565b610a73565b610344610467366004612a61565b610aea565b610344610b19565b610344610b8d565b61034461048a366004612c83565b610be8565b61034461049d366004612b67565b610d68565b6103196104b0366004612b67565b610dd1565b61034e6104c3366004612bc1565b610e48565b610344610ece565b6101095461034e565b61034e6104e7366004612bc1565b610f04565b6101085460ff166040516102c59190612d22565b610344610fda565b6033546001600160a01b0316610319565b610344610527366004612d4a565b61103e565b610534611112565b6040516102c59190612d8c565b6102f96111f6565b610344610557366004612dca565b611205565b61034461056a366004612e50565b611268565b60fc5461034e565b610344610585366004612e8c565b61130f565b610344610598366004612eee565b611366565b6103446105ab366004612fca565b61139e565b6103446105be366004612a61565b61141d565b6102f96105d1366004612b67565b6114d2565b61034e6101005481565b6102e16105ee366004613027565b611507565b6102e1610601366004612bc1565b611535565b60ff80546102e1911681565b610344610620366004612b97565b61155c565b610344610633366004612bc1565b6115b4565b610344610646366004612dca565b61164c565b606061068b610107600084600281111561066757610667612d0c565b600281111561067857610678612d0c565b81526020019081526020016000206116e4565b92915050565b600061069c826116f8565b8061068b575061068b8261171d565b6060609780546106ba90613051565b80601f01602080910402602001604051908101604052809291908181526020018280546106e690613051565b80156107335780601f1061070857610100808354040283529160200191610733565b820191906000526020600020905b81548152906001019060200180831161071657829003601f168201915b5050505050905090565b6000818152609960205260408120546001600160a01b03166107bb5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152609b60205260409020546001600160a01b031690565b8160016101085460ff1660028111156107f2576107f2612d0c565b036108515761083081610107600060015b600281111561081457610814612d0c565b815260200190815260200160002061176090919063ffffffff16565b61084c576040516282b42960e81b815260040160405180910390fd5b61089d565b60026101085460ff16600281111561086b5761086b612d0c565b0361089d576108808161010760006002610803565b1561089d576040516282b42960e81b815260040160405180910390fd5b6108a78383611782565b505050565b60006108b86101035490565b905090565b60006108d16033546001600160a01b031690565b6001600160a01b0316826001600160a01b0316149050919050565b6108f5336108bd565b61091257604051635c510c8360e11b815260040160405180910390fd5b61091b81611892565b50565b610929335b826118f5565b6109455760405162461bcd60e51b81526004016107b29061308b565b6108a78383836119cc565b600082815260fd602052604081205481906001600160a01b031661097f5760fb546001600160a01b0316610998565b600084815260fd60205260409020546001600160a01b03165b91506109e260646109dc60fe6000888152602001908152602001600020546000036109c55760fc546109d5565b600087815260fe60205260409020545b8690611b68565b90611b74565b90509250929050565b610108546060906108b8906101079060009060ff16600281111561066757610667612d0c565b6033546001600160a01b03163314610a3b5760405162461bcd60e51b81526004016107b2906130dc565b61091b81611b80565b600061068b6033546001600160a01b031690565b6108a783838360405180602001604052806000815250611366565b610a7c33610923565b610ae15760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b60648201526084016107b2565b61091b81611ba2565b610af3336108bd565b610b1057604051635c510c8360e11b815260040160405180910390fd5b61091b81611c3e565b6033546001600160a01b03163314610b435760405162461bcd60e51b81526004016107b2906130dc565b6040517fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e90610b759061010590613111565b60405180910390a1610106805460ff19166001179055565b42610109541115610bb15760405163807a684760e01b815260040160405180910390fd5b610bbb6000611c3e565b60405133907f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a4690600090a2565b6000610bf46001611cbb565b90508015610c0c576000805461ff0019166101001790555b6001600160a01b038316610c625760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c2061646472657373000060448201526064016107b2565b610c6c600a60fc55565b60ff805460ff19169055610100829055610c84611d43565b610cf787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611d7292505050565b610cff611da3565b610d07611dca565b610d1083611b80565b610d19836115b4565b8015610d5f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b33610d7282610dd1565b6001600160a01b031614610dc85760405162461bcd60e51b815260206004820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e0060448201526064016107b2565b61091b81610a73565b6000818152609960205260408120546001600160a01b03168061068b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016107b2565b60006001600160a01b038216610eb25760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016107b2565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610ef85760405162461bcd60e51b81526004016107b2906130dc565b610f026000611df9565b565b60ff80546000911615610f295760405162461bcd60e51b81526004016107b29061319c565b6033546001600160a01b0316331480610f525750336000908152610102602052604090205460ff165b610fb75760405162461bcd60e51b815260206004820152603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b60648201526084016107b2565b61068b82610fc460fc5490565b60fb546001600160a01b0316611e4b565b919050565b6033546001600160a01b031633146110045760405162461bcd60e51b81526004016107b2906130dc565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b6033546001600160a01b031633146110685760405162461bcd60e51b81526004016107b2906130dc565b6101065460ff16156110c65760405162461bcd60e51b815260206004820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b60648201526084016107b2565b6101056110d4828483613221565b507f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e82826040516111069291906132e2565b60405180910390a15050565b611138604051806060016040528060008152602001606081526020016000151581525090565b604080516060810190915261010480548252610105805460208401919061115e90613051565b80601f016020809104026020016040519081016040528092919081815260200182805461118a90613051565b80156111d75780601f106111ac576101008083540402835291602001916111d7565b820191906000526020600020905b8154815290600101906020018083116111ba57829003601f168201915b50505091835250506002919091015460ff161515602090910152919050565b6060609880546106ba90613051565b61120e336108bd565b61122b57604051635c510c8360e11b815260040160405180910390fd5b6108a78383838080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509250611f07915050565b8160016101085460ff16600281111561128357611283612d0c565b036112b9576112988161010760006001610803565b6112b4576040516282b42960e81b815260040160405180910390fd5b611305565b60026101085460ff1660028111156112d3576112d3612d0c565b03611305576112e88161010760006002610803565b15611305576040516282b42960e81b815260040160405180910390fd5b6108a783836120e4565b6033546001600160a01b031633146113395760405162461bcd60e51b81526004016107b2906130dc565b60ff8054161561135b5760405162461bcd60e51b81526004016107b29061319c565b6108a78383836120ef565b61137033836118f5565b61138c5760405162461bcd60e51b81526004016107b29061308b565b61139884848484612271565b50505050565b6033546001600160a01b031633146113c85760405162461bcd60e51b81526004016107b2906130dc565b60ff805416156113ea5760405162461bcd60e51b81526004016107b29061319c565b6113f58484846120ef565b6001600160a01b0316600090815261010260205260409020805460ff19166001179055505050565b611426336108bd565b61144357604051635c510c8360e11b815260040160405180910390fd5b610107600082600281111561145a5761145a612d0c565b600281111561146b5761146b612d0c565b81526020810191909152604001600090812090818161148a8282612a20565b50505050336001600160a01b03167f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da24826040516114c79190612d22565b60405180910390a250565b60606101056114e0836122a4565b6040516020016114f1929190613311565b6040516020818303038152906040529050919050565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b6101085460009061068b90839061010790849060ff16600281111561080357610803612d0c565b6033546001600160a01b031633146115865760405162461bcd60e51b81526004016107b2906130dc565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b031633146115de5760405162461bcd60e51b81526004016107b2906130dc565b6001600160a01b0381166116435760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107b2565b61091b81611df9565b611655336108bd565b61167257604051635c510c8360e11b815260040160405180910390fd5b600083600281111561168657611686612d0c565b036116a457604051632de777a160e11b815260040160405180910390fd5b6108a78383838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525060019250611f07915050565b606060006116f1836123a5565b9392505050565b60006001600160e01b0319821663fa31a45b60e01b148061068b575061068b82612401565b60006001600160e01b03198216631030681960e21b1480611742575061174282612401565b80611751575061175182612417565b8061068b575061068b82612438565b6001600160a01b038116600090815260018301602052604081205415156116f1565b600061178d82610dd1565b9050806001600160a01b0316836001600160a01b0316036117fa5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016107b2565b336001600160a01b038216148061181657506118168133611507565b6118885760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016107b2565b6108a78383612478565b60006118a2826301e133806133cd565b6118ac90426133ec565b61010954604080519182526020820183905291925033917f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc9910160405180910390a26101095550565b6000818152609960205260408120546001600160a01b031661196e5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016107b2565b600061197983610dd1565b9050806001600160a01b0316846001600160a01b031614806119a057506119a08185611507565b806119c45750836001600160a01b03166119b98461073d565b6001600160a01b0316145b949350505050565b826001600160a01b03166119df82610dd1565b6001600160a01b031614611a435760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016107b2565b6001600160a01b038216611aa55760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016107b2565b611ab0600082612478565b6001600160a01b0383166000908152609a60205260408120805460019290611ad9908490613404565b90915550506001600160a01b0382166000908152609a60205260408120805460019290611b079084906133ec565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006116f182846133cd565b60006116f18284613431565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b6000611bad82610dd1565b9050611bba600083612478565b6001600160a01b0381166000908152609a60205260408120805460019290611be3908490613404565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45b5050565b806002811115611c5057611c50612d0c565b6101085460ff166002811115611c6857611c68612d0c565b60405133907f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f90600090a4610108805482919060ff19166001836002811115611cb357611cb3612d0c565b021790555050565b60008054610100900460ff1615611d02578160ff166001148015611cde5750303b155b611cfa5760405162461bcd60e51b81526004016107b290613445565b506000919050565b60005460ff808416911610611d295760405162461bcd60e51b81526004016107b290613445565b506000805460ff191660ff92909216919091179055600190565b600054610100900460ff16611d6a5760405162461bcd60e51b81526004016107b290613493565b610f026124e6565b600054610100900460ff16611d995760405162461bcd60e51b81526004016107b290613493565b611c3a8282612516565b600054610100900460ff16610f025760405162461bcd60e51b81526004016107b290613493565b600054610100900460ff16611df15760405162461bcd60e51b81526004016107b290613493565b610f02611da3565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611e5c61010380546001019055565b6000611e686101035490565b905061010054811115611ebd5760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e7360448201526064016107b2565b611ec78582612556565b600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b038516179055949350505050565b6000836002811115611f1b57611f1b612d0c565b146108a75760005b825181101561139857811561200457611f93838281518110611f4757611f476134de565b60200260200101516101076000876002811115611f6657611f66612d0c565b6002811115611f7757611f77612d0c565b815260200190815260200160002061257090919063ffffffff16565b50836002811115611fa657611fa6612d0c565b838281518110611fb857611fb86134de565b60200260200101516001600160a01b0316336001600160a01b03167f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba153660405160405180910390a46120d2565b612065838281518110612019576120196134de565b6020026020010151610107600087600281111561203857612038612d0c565b600281111561204957612049612d0c565b815260200190815260200160002061258590919063ffffffff16565b5083600281111561207857612078612d0c565b83828151811061208a5761208a6134de565b60200260200101516001600160a01b0316336001600160a01b03167fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed9560405160405180910390a45b806120dc816134f4565b915050611f23565b611c3a33838361259a565b610100548111156121425760405162461bcd60e51b815260206004820181905260248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e7360448201526064016107b2565b61010354156121ad5760405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b60648201526084016107b2565b604051806060016040528082815260200184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060209182015281516101049081559082015161010590612216908261350d565b50604091820151600291909101805460ff19169115159190911790555181907f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199061226490869086906132e2565b60405180910390a2505050565b61227c8484846119cc565b61228884848484612668565b6113985760405162461bcd60e51b81526004016107b2906135cd565b6060816000036122cb5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156122f557806122df816134f4565b91506122ee9050600a83613431565b91506122cf565b60008167ffffffffffffffff81111561231057612310612ed8565b6040519080825280601f01601f19166020018201604052801561233a576020820181803683370190505b5090505b84156119c45761234f600183613404565b915061235c600a8661361f565b6123679060306133ec565b60f81b81838151811061237c5761237c6134de565b60200101906001600160f81b031916908160001a90535061239e600a86613431565b945061233e565b6060816000018054806020026020016040519081016040528092919081815260200182805480156123f557602002820191906000526020600020905b8154815260200190600101908083116123e1575b50505050509050919050565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b148061068b575061068b825b60006001600160e01b031982166380ac58cd60e01b148061246957506001600160e01b03198216635b5e139f60e01b145b8061068b575061068b82612401565b6000818152609b6020526040902080546001600160a01b0319166001600160a01b03841690811790915581906124ad82610dd1565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600054610100900460ff1661250d5760405162461bcd60e51b81526004016107b290613493565b610f0233611df9565b600054610100900460ff1661253d5760405162461bcd60e51b81526004016107b290613493565b6097612549838261350d565b5060986108a7828261350d565b611c3a828260405180602001604052806000815250612769565b60006116f1836001600160a01b03841661279c565b60006116f1836001600160a01b0384166127eb565b816001600160a01b0316836001600160a01b0316036125fb5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016107b2565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60006001600160a01b0384163b1561275e57604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906126ac903390899088908890600401613633565b6020604051808303816000875af19250505080156126e7575060408051601f3d908101601f191682019092526126e491810190613670565b60015b612744573d808015612715576040519150601f19603f3d011682016040523d82523d6000602084013e61271a565b606091505b50805160000361273c5760405162461bcd60e51b81526004016107b2906135cd565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506119c4565b506001949350505050565b61277383836128de565b6127806000848484612668565b6108a75760405162461bcd60e51b81526004016107b2906135cd565b60008181526001830160205260408120546127e35750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561068b565b50600061068b565b600081815260018301602052604081205480156128d457600061280f600183613404565b855490915060009061282390600190613404565b9050818114612888576000866000018281548110612843576128436134de565b9060005260206000200154905080876000018481548110612866576128666134de565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806128995761289961368d565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061068b565b600091505061068b565b6001600160a01b0382166129345760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016107b2565b6000818152609960205260409020546001600160a01b0316156129995760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107b2565b6001600160a01b0382166000908152609a602052604081208054600192906129c29084906133ec565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b508054600082559060005260206000209081019061091b91905b80821115612a4e5760008155600101612a3a565b5090565b803560038110610fd557600080fd5b600060208284031215612a7357600080fd5b6116f182612a52565b6020808252825182820181905260009190848201906040850190845b81811015612abd5783516001600160a01b031683529284019291840191600101612a98565b50909695505050505050565b6001600160e01b03198116811461091b57600080fd5b600060208284031215612af157600080fd5b81356116f181612ac9565b60005b83811015612b17578181015183820152602001612aff565b838111156113985750506000910152565b60008151808452612b40816020860160208601612afc565b601f01601f19169290920160200192915050565b6020815260006116f16020830184612b28565b600060208284031215612b7957600080fd5b5035919050565b80356001600160a01b0381168114610fd557600080fd5b60008060408385031215612baa57600080fd5b612bb383612b80565b946020939093013593505050565b600060208284031215612bd357600080fd5b6116f182612b80565b600080600060608486031215612bf157600080fd5b612bfa84612b80565b9250612c0860208501612b80565b9150604084013590509250925092565b60008060408385031215612c2b57600080fd5b50508035926020909101359150565b60008083601f840112612c4c57600080fd5b50813567ffffffffffffffff811115612c6457600080fd5b602083019150836020828501011115612c7c57600080fd5b9250929050565b60008060008060008060808789031215612c9c57600080fd5b863567ffffffffffffffff80821115612cb457600080fd5b612cc08a838b01612c3a565b90985096506020890135915080821115612cd957600080fd5b50612ce689828a01612c3a565b9095509350612cf9905060408801612b80565b9150606087013590509295509295509295565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612d4457634e487b7160e01b600052602160045260246000fd5b91905290565b60008060208385031215612d5d57600080fd5b823567ffffffffffffffff811115612d7457600080fd5b612d8085828601612c3a565b90969095509350505050565b60208152815160208201526000602083015160606040840152612db26080840182612b28565b90506040840151151560608401528091505092915050565b600080600060408486031215612ddf57600080fd5b612de884612a52565b9250602084013567ffffffffffffffff80821115612e0557600080fd5b818601915086601f830112612e1957600080fd5b813581811115612e2857600080fd5b8760208260051b8501011115612e3d57600080fd5b6020830194508093505050509250925092565b60008060408385031215612e6357600080fd5b612e6c83612b80565b915060208301358015158114612e8157600080fd5b809150509250929050565b600080600060408486031215612ea157600080fd5b833567ffffffffffffffff811115612eb857600080fd5b612ec486828701612c3a565b909790965060209590950135949350505050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215612f0457600080fd5b612f0d85612b80565b9350612f1b60208601612b80565b925060408501359150606085013567ffffffffffffffff80821115612f3f57600080fd5b818701915087601f830112612f5357600080fd5b813581811115612f6557612f65612ed8565b604051601f8201601f19908116603f01168101908382118183101715612f8d57612f8d612ed8565b816040528281528a6020848701011115612fa657600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060008060608587031215612fe057600080fd5b843567ffffffffffffffff811115612ff757600080fd5b61300387828801612c3a565b9095509350506020850135915061301c60408601612b80565b905092959194509250565b6000806040838503121561303a57600080fd5b61304383612b80565b91506109e260208401612b80565b600181811c9082168061306557607f821691505b60208210810361308557634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208083526000845461312581613051565b8084870152604060018084166000811461314657600181146131605761318e565b60ff1985168984015283151560051b89018301955061318e565b896000528660002060005b858110156131865781548b820186015290830190880161316b565b8a0184019650505b509398975050505050505050565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b601f8211156108a757600081815260208120601f850160051c810160208610156131fa5750805b601f850160051c820191505b8181101561321957828155600101613206565b505050505050565b67ffffffffffffffff83111561323957613239612ed8565b61324d836132478354613051565b836131d3565b6000601f84116001811461328157600085156132695750838201355b600019600387901b1c1916600186901b1783556132db565b600083815260209020601f19861690835b828110156132b25786850135825560209485019460019092019101613292565b50868210156132cf5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b600080845461331f81613051565b60018281168015613337576001811461334c5761337b565b60ff198416875282151583028701945061337b565b8860005260208060002060005b858110156133725781548a820152908401908201613359565b50505082870194505b50602f60f81b8452865192506133978382860160208a01612afc565b64173539b7b760d91b939092019182019290925260060195945050505050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156133e7576133e76133b7565b500290565b600082198211156133ff576133ff6133b7565b500190565b600082821015613416576134166133b7565b500390565b634e487b7160e01b600052601260045260246000fd5b6000826134405761344061341b565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060018201613506576135066133b7565b5060010190565b815167ffffffffffffffff81111561352757613527612ed8565b61353b816135358454613051565b846131d3565b602080601f83116001811461357057600084156135585750858301515b600019600386901b1c1916600185901b178555613219565b600085815260208120601f198616915b8281101561359f57888601518255948401946001909101908401613580565b50858210156135bd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008261362e5761362e61341b565b500690565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061366690830184612b28565b9695505050505050565b60006020828403121561368257600080fd5b81516116f181612ac9565b634e487b7160e01b600052603160045260246000fdfea26469706673582212201578cb92f9d0b849d9a39fac543b36e3ac45105b744972da831f814a5e9dbdaf64736f6c634300080f0033", + "sourceMap": "212:1724:27:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3744:142:21;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;576:312:27;;;;;;:::i;:::-;;:::i;:::-;;;1592:14:31;;1585:22;1567:41;;1555:2;1540:18;576:312:27;1427:187:31;2948:98:2;;;:::i;:::-;;;;;;;:::i;4471:217::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2719:32:31;;;2701:51;;2689:2;2674:18;4471:217:2;2555:203:31;1439:173:27;;;;;;:::i;:::-;;:::i;:::-;;9562:109:24;;;:::i;:::-;;;3346:25:31;;;3334:2;3319:18;9562:109:24;3200:177:31;1133:200:27;;;;;;:::i;:::-;;:::i;1366:146:23:-;;;;;;:::i;:::-;;:::i;5198:330:2:-;;;;;;:::i;:::-;;:::i;846:566:28:-;;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;4351:32:31;;;4333:51;;4415:2;4400:18;;4393:34;;;;4306:18;846:566:28;4159:274:31;3922:114:21;;;:::i;2248:113:28:-;2332:22;;-1:-1:-1;;;;;2332:22:28;2248:113;;8243:135:24;;;;;;:::i;:::-;-1:-1:-1;;;;;8346:25:24;8323:4;8346:25;;;:15;:25;;;;;;;;;8243:135;6776:127;;;;;;:::i;:::-;;:::i;8560:141::-;;;;;;:::i;:::-;;:::i;5594:179:2:-;;;;;;:::i;:::-;;:::i;801:241:5:-;;;;;;:::i;:::-;;:::i;2445:125:21:-;;;;;;:::i;:::-;;:::i;7712:140:24:-;;;:::i;1851:275:23:-;;;:::i;3441:548:24:-;;;;;;:::i;:::-;;:::i;6232:196::-;;;;;;:::i;:::-;;:::i;2651:235:2:-;;;;;;:::i;:::-;;:::i;2390:204::-;;;;;;:::i;:::-;;:::i;1908:101:0:-;;;:::i;2383:135:23:-;2482:31;;2383:135;;5724:386:24;;;;;;:::i;:::-;;:::i;4242:104:21:-;4333:8;;;;4242:104;;;;;;:::i;6512:119:24:-;;;:::i;1276:85:0:-;1348:6;;-1:-1:-1;;;;;1348:6:0;1276:85;;7360:271:24;;;;;;:::i;:::-;;:::i;8817:127::-;;;:::i;:::-;;;;;;;:::i;3110:102:2:-;;;:::i;3066:182:21:-;;;;;;:::i;:::-;;:::i;1729:205:27:-;;;;;;:::i;:::-;;:::i;2367:117:28:-;2453:24;;2367:117;;4784:181:24;;;;;;:::i;:::-;;:::i;5839:320:2:-;;;;;;:::i;:::-;;:::i;5280:257:24:-;;;;;;:::i;:::-;;:::i;3343:158:21:-;;;;;;:::i;:::-;;:::i;9094:346:24:-;;;;;;:::i;:::-;;:::i;1857:24::-;;;;;;4974:162:2;;;;;;:::i;:::-;;:::i;4072:134:21:-;;;;;;:::i;:::-;;:::i;1779:20:24:-;;;;;;;;;7095:169;;;;;;:::i;:::-;;:::i;2158:198:0:-;;;;;;:::i;:::-;;:::i;2703:268:21:-;;;;;;:::i;:::-;;:::i;3744:142::-;3826:16;3857:24;:4;:15;3862:9;3857:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:22;:24::i;:::-;3850:31;3744:142;-1:-1:-1;;3744:142:21:o;576:312:27:-;734:4;773:44;804:12;773:30;:44::i;:::-;:108;;;;833:48;868:12;833:34;:48::i;2948:98:2:-;3002:13;3034:5;3027:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2948:98;:::o;4471:217::-;4547:7;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:2;4566:73;;;;-1:-1:-1;;;4566:73:2;;11528:2:31;4566:73:2;;;11510:21:31;11567:2;11547:18;;;11540:30;11606:34;11586:18;;;11579:62;-1:-1:-1;;;11657:18:31;;;11650:42;11709:19;;4566:73:2;;;;;;;;;-1:-1:-1;4657:24:2;;;;:15;:24;;;;;;-1:-1:-1;;;;;4657:24:2;;4471:217::o;1439:173:27:-;1553:8;1472:28:21;1460:8;;;;:40;;;;;;;;:::i;:::-;;1456:309;;1515:50;1559:5;1515:4;:34;1520:28;1515:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;:43;;:50;;;;:::i;:::-;1510:92;;1574:28;;-1:-1:-1;;;1574:28:21;;;;;;;;;;;1510:92;1456:309;;;1631:27;1619:8;;;;:39;;;;;;;;:::i;:::-;;1615:150;;1672:49;1715:5;1672:4;:33;1677:27;1672:33;;:49;1668:90;;;1730:28;;-1:-1:-1;;;1730:28:21;;;;;;;;;;;1668:90;1577:28:27::1;1591:8;1601:3;1577:13;:28::i;:::-;1439:173:::0;;;:::o;9562:109:24:-;9614:7;9640:24;:14;929::9;;838:112;9640:24:24;9633:31;;9562:109;:::o;1133:200:27:-;1283:4;1319:7;1348:6:0;;-1:-1:-1;;;;;1348:6:0;;1276:85;1319:7:27;-1:-1:-1;;;;;1310:16:27;:5;-1:-1:-1;;;;;1310:16:27;;1303:23;;1133:200;;;:::o;1366:146:23:-;2069:30:21;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:21;;;;;;;;;;;2064:71;1464:43:23::1;1497:9;1464:32;:43::i;:::-;1366:146:::0;:::o;5198:330:2:-;5387:41;929:10:8;5406:12:2;5420:7;5387:18;:41::i;:::-;5379:103;;;;-1:-1:-1;;;5379:103:2;;;;;;;:::i;:::-;5493:28;5503:4;5509:2;5513:7;5493:9;:28::i;846:566:28:-;983:16;1049:26;;;:16;:26;;;;;;983:16;;-1:-1:-1;;;;;1049:26:28;:118;;1145:22;;-1:-1:-1;;;;;1145:22:28;1049:118;;;1104:26;;;;:16;:26;;;;;;-1:-1:-1;;;;;1104:26:28;1049:118;1038:129;;1193:212;1401:3;1193:190;1238:18;:28;1257:8;1238:28;;;;;;;;;;;;1270:1;1238:33;:131;;1345:24;;1238:131;;;1294:28;;;;:18;:28;;;;;;1238:131;1193:10;;:27;:190::i;:::-;:207;;:212::i;:::-;1177:228;;846:566;;;;;:::o;3922:114:21:-;4013:8;;3977:16;;4008:23;;:4;;:14;;4013:8;;4008:14;;;;;;;;:::i;6776:127:24:-;1348:6:0;;-1:-1:-1;;;;;1348:6:0;929:10:8;1488:23:0;1480:68;;;;-1:-1:-1;;;1480:68:0;;;;;;;:::i;:::-;6859:37:24::1;6886:9;6859:26;:37::i;8560:141::-:0;8644:15;8686:7;1348:6:0;;-1:-1:-1;;;;;1348:6:0;;1276:85;5594:179:2;5727:39;5744:4;5750:2;5754:7;5727:39;;;;;;;;;;;;:16;:39::i;801:241:5:-;917:41;929:10:8;936:12:5;850:96:8;917:41:5;909:102;;;;-1:-1:-1;;;909:102:5;;12720:2:31;909:102:5;;;12702:21:31;12759:2;12739:18;;;12732:30;12798:34;12778:18;;;12771:62;-1:-1:-1;;;12849:18:31;;;12842:46;12905:19;;909:102:5;12518:412:31;909:102:5;1021:14;1027:7;1021:5;:14::i;2445:125:21:-;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:21;;;;;;;;;;;2064:71;2539:26:::1;2552:12;2539;:26::i;7712:140:24:-:0;1348:6:0;;-1:-1:-1;;;;;1348:6:0;929:10:8;1488:23:0;1480:68;;;;-1:-1:-1;;;1480:68:0;;;;;;;:::i;:::-;7769:34:24::1;::::0;::::1;::::0;::::1;::::0;7784:18;;7769:34:::1;:::i;:::-;;;;;;;;7813:25:::0;:32;;-1:-1:-1;;7813:32:24::1;7841:4;7813:32;::::0;;7712:140::o;1851:275:23:-;1950:15;1916:31;;:49;1912:117;;;1974:55;;-1:-1:-1;;;1974:55:23;;;;;;;;;;;1912:117;2035:40;2048:26;2035:12;:40::i;:::-;2086:35;;2110:10;;2086:35;;;;;1851:275::o;3441:548:24:-;3111:19:1;3133:25;3156:1;3133:22;:25::i;:::-;3111:47;;3172:14;3168:65;;;3202:13;:20;;-1:-1:-1;;3202:20:1;;;;;3168:65;-1:-1:-1;;;;;3616:22:24;::::1;3608:65;;;::::0;-1:-1:-1;;;3608:65:24;;14231:2:31;3608:65:24::1;::::0;::::1;14213:21:31::0;14270:2;14250:18;;;14243:30;14309:32;14289:18;;;14282:60;14359:18;;3608:65:24::1;14029:354:31::0;3608:65:24::1;3683:32;3712:2;2197:24:28::0;:38;2119:123;3683:32:24::1;3725:8;:16:::0;;-1:-1:-1;;3725:16:24::1;::::0;;::::1;3751:22:::0;;;3784:16:::1;:14;:16::i;:::-;3810:29;3824:5;;3810:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;3810:29:24::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;3831:7:24;;-1:-1:-1;3831:7:24;;;;3810:29;::::1;3831:7:::0;;;;3810:29;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;3810:13:24::1;::::0;-1:-1:-1;;;3810:29:24:i:1;:::-;3849:15;:13;:15::i;:::-;3874:17;:15;:17::i;:::-;3902:36;3929:8;3902:26;:36::i;:::-;3949:33;3973:8;3949:23;:33::i;:::-;3257:14:1::0;3253:99;;;3303:5;3287:21;;-1:-1:-1;;3287:21:1;;;3327:14;;-1:-1:-1;14540:36:31;;3327:14:1;;14528:2:31;14513:18;3327:14:1;;;;;;;3253:99;3101:257;3441:548:24;;;;;;:::o;6232:196::-;6330:10;6309:17;6317:8;6309:7;:17::i;:::-;-1:-1:-1;;;;;6309:31:24;;6288:109;;;;-1:-1:-1;;;6288:109:24;;14789:2:31;6288:109:24;;;14771:21:31;14828:2;14808:18;;;14801:30;14867:33;14847:18;;;14840:61;14918:18;;6288:109:24;14587:355:31;6288:109:24;6407:14;6412:8;6407:4;:14::i;2651:235:2:-;2723:7;2758:16;;;:7;:16;;;;;;-1:-1:-1;;;;;2758:16:2;;2784:73;;;;-1:-1:-1;;;2784:73:2;;15149:2:31;2784:73:2;;;15131:21:31;15188:2;15168:18;;;15161:30;15227:34;15207:18;;;15200:62;-1:-1:-1;;;15278:18:31;;;15271:39;15327:19;;2784:73:2;14947:405:31;2390:204:2;2462:7;-1:-1:-1;;;;;2489:19:2;;2481:73;;;;-1:-1:-1;;;2481:73:2;;15559:2:31;2481:73:2;;;15541:21:31;15598:2;15578:18;;;15571:30;15637:34;15617:18;;;15610:62;-1:-1:-1;;;15688:18:31;;;15681:39;15737:19;;2481:73:2;15357:405:31;2481:73:2;-1:-1:-1;;;;;;2571:16:2;;;;;:9;:16;;;;;;;2390:204::o;1908:101:0:-;1348:6;;-1:-1:-1;;;;;1348:6:0;929:10:8;1488:23:0;1480:68;;;;-1:-1:-1;;;1480:68:0;;;;;;;:::i;:::-;1972:30:::1;1999:1;1972:18;:30::i;:::-;1908:101::o:0;5724:386:24:-;4299:8;;;5791:7;;4299:8;4298:9;4290:52;;;;-1:-1:-1;;;4290:52:24;;;;;;;:::i;:::-;1348:6:0;;-1:-1:-1;;;;;1348:6:0;5831:10:24::1;:21;::::0;:52:::1;;-1:-1:-1::0;5872:10:24::1;5856:27;::::0;;;:15:::1;:27;::::0;;;;;::::1;;5831:52;5810:147;;;::::0;-1:-1:-1;;;5810:147:24;;16328:2:31;5810:147:24::1;::::0;::::1;16310:21:31::0;16367:2;16347:18;;;16340:30;16406:34;16386:18;;;16379:62;-1:-1:-1;;;16457:18:31;;;16450:46;16513:19;;5810:147:24::1;16126:412:31::0;5810:147:24::1;5974:129;6000:9;6023:29;2453:24:28::0;;;2367:117;6023:29:24::1;2332:22:28::0;;-1:-1:-1;;;;;2332:22:28;5974:12:24::1;:129::i;4352:1::-;5724:386:::0;;;:::o;6512:119::-;1348:6:0;;-1:-1:-1;;;;;1348:6:0;929:10:8;1488:23:0;1480:68;;;;-1:-1:-1;;;1480:68:0;;;;;;;:::i;:::-;6566:8:24::1;:15:::0;;-1:-1:-1;;6566:15:24::1;6577:4;6566:15;::::0;;6596:28:::1;::::0;6613:10:::1;::::0;6596:28:::1;::::0;6566:8:::1;::::0;6596:28:::1;6512:119::o:0;7360:271::-;1348:6:0;;-1:-1:-1;;;;;1348:6:0;929:10:8;1488:23:0;1480:68;;;;-1:-1:-1;;;1480:68:0;;;;;;;:::i;:::-;7460:25:24;;::::1;;7459:26;7438:106;;;::::0;-1:-1:-1;;;7438:106:24;;16745:2:31;7438:106:24::1;::::0;::::1;16727:21:31::0;16784:2;16764:18;;;16757:30;16823:34;16803:18;;;16796:62;-1:-1:-1;;;16874:18:31;;;16867:31;16915:19;;7438:106:24::1;16543:397:31::0;7438:106:24::1;7555:18:::0;:29:::1;7576:8:::0;;7555:18;:29:::1;:::i;:::-;;7599:25;7615:8;;7599:25;;;;;;;:::i;:::-;;;;;;;;7360:271:::0;;:::o;8817:127::-;8887:17;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;8887:17:24;8920;;;;;;;;;8927:10;8920:17;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8920:17:24;;;-1:-1:-1;;8920:17:24;;;;;;;;;;;;;;;;8817:127;-1:-1:-1;8817:127:24:o;3110:102:2:-;3166:13;3198:7;3191:14;;;;;:::i;3066:182:21:-;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:21;;;;;;;;;;;2064:71;3201:42:::1;3218:9;3229:6;;3201:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;3201:42:21;-1:-1:-1;3201:16:21::1;::::0;-1:-1:-1;;3201:42:21:i:1;1729:205:27:-:0;1857:9;1472:28:21;1460:8;;;;:40;;;;;;;;:::i;:::-;;1456:309;;1515:50;1559:5;1515:4;:34;1520:28;1515:34;;:50;1510:92;;1574:28;;-1:-1:-1;;;1574:28:21;;;;;;;;;;;1510:92;1456:309;;;1631:27;1619:8;;;;:39;;;;;;;;:::i;:::-;;1615:150;;1672:49;1715:5;1672:4;:33;1677:27;1672:33;;:49;1668:90;;;1730:28;;-1:-1:-1;;;1730:28:21;;;;;;;;;;;1668:90;1882:45:27::1;1906:9;1917;1882:23;:45::i;4784:181:24:-:0;1348:6:0;;-1:-1:-1;;;;;1348:6:0;929:10:8;1488:23:0;1480:68;;;;-1:-1:-1;;;1480:68:0;;;;;;;:::i;:::-;4299:8:24::1;::::0;;::::1;4298:9;4290:52;;;;-1:-1:-1::0;;;4290:52:24::1;;;;;;;:::i;:::-;4919:39:::2;4932:8;;4942:15;4919:12;:39::i;5839:320:2:-:0;6008:41;929:10:8;6041:7:2;6008:18;:41::i;:::-;6000:103;;;;-1:-1:-1;;;6000:103:2;;;;;;;:::i;:::-;6113:39;6127:4;6133:2;6137:7;6146:5;6113:13;:39::i;:::-;5839:320;;;;:::o;5280:257:24:-;1348:6:0;;-1:-1:-1;;;;;1348:6:0;929:10:8;1488:23:0;1480:68;;;;-1:-1:-1;;;1480:68:0;;;;;;;:::i;:::-;4299:8:24::1;::::0;;::::1;4298:9;4290:52;;;;-1:-1:-1::0;;;4290:52:24::1;;;;;;;:::i;:::-;5450:39:::2;5463:8;;5473:15;5450:12;:39::i;:::-;-1:-1:-1::0;;;;;5499:24:24::2;;::::0;;;:15:::2;:24;::::0;;;;:31;;-1:-1:-1;;5499:31:24::2;5526:4;5499:31;::::0;;-1:-1:-1;;;5280:257:24:o;3343:158:21:-;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:21;;;;;;;;;;;2064:71;3436:4:::1;:15;3441:9;3436:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;3436:15:21;;;;;-1:-1:-1;3429:22:21::1;3436:15:::0;-1:-1:-1;3429:22:21::1;:::i;:::-;;;;;3474:10;-1:-1:-1::0;;;;;3462:34:21::1;;3486:9;3462:34;;;;;;:::i;:::-;;;;;;;;3343:158:::0;:::o;9094:346:24:-;9182:13;9288:18;9353:19;:8;:17;:19::i;:::-;9250:169;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9207:226;;9094:346;;;:::o;4974:162:2:-;-1:-1:-1;;;;;5094:25:2;;;5071:4;5094:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4974:162::o;4072:134:21:-;4172:8;;4148:4;;4167:34;;4191:9;;4167:4;;4148;;4172:8;;4167:14;;;;;;;;:::i;7095:169:24:-;1348:6:0;;-1:-1:-1;;;;;1348:6:0;929:10:8;1488:23:0;1480:68;;;;-1:-1:-1;;;1480:68:0;;;;;;;:::i;:::-;7219:26:24::1;::::0;;;:16:::1;:26;::::0;;;;:38;;-1:-1:-1;;;;;;7219:38:24::1;-1:-1:-1::0;;;;;7219:38:24;;;::::1;::::0;;;::::1;::::0;;7095:169::o;2158:198:0:-;1348:6;;-1:-1:-1;;;;;1348:6:0;929:10:8;1488:23:0;1480:68;;;;-1:-1:-1;;;1480:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2246:22:0;::::1;2238:73;;;::::0;-1:-1:-1;;;2238:73:0;;20788:2:31;2238:73:0::1;::::0;::::1;20770:21:31::0;20827:2;20807:18;;;20800:30;20866:34;20846:18;;;20839:62;-1:-1:-1;;;20917:18:31;;;20910:36;20963:19;;2238:73:0::1;20586:402:31::0;2238:73:0::1;2321:28;2340:8;2321:18;:28::i;2703:268:21:-:0;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:21;;;;;;;;;;;2064:71;2852:26:::1;2839:9;:39;;;;;;;;:::i;:::-;::::0;2835:84:::1;;2887:32;;-1:-1:-1::0;;;2887:32:21::1;;;;;;;;;;;2835:84;2925:41;2942:9;2953:6;;2925:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2961:4:21::1;::::0;-1:-1:-1;2925:16:21::1;::::0;-1:-1:-1;;2925:41:21:i:1;9581:257:19:-:0;9644:16;9672:22;9697:19;9705:3;9697:7;:19::i;:::-;9672:44;9581:257;-1:-1:-1;;;9581:257:19:o;4735:204:21:-;4821:4;-1:-1:-1;;;;;;4844:47:21;;-1:-1:-1;;;4844:47:21;;:88;;;4895:37;4919:12;4895:23;:37::i;9738:482:24:-;9935:4;-1:-1:-1;;;;;;9974:46:24;;-1:-1:-1;;;9974:46:24;;:110;;;10036:48;10072:11;10036:35;:48::i;:::-;9974:175;;;;10100:49;10137:11;10100:36;:49::i;:::-;9974:239;;;;10165:48;10201:11;10165:35;:48::i;8182:165:19:-;-1:-1:-1;;;;;8315:23:19;;8262:4;3849:19;;;:12;;;:19;;;;;;:24;;8285:55;3753:127;3998:412:2;4078:13;4094:34;4120:7;4094:25;:34::i;:::-;4078:50;;4152:5;-1:-1:-1;;;;;4146:11:2;:2;-1:-1:-1;;;;;4146:11:2;;4138:57;;;;-1:-1:-1;;;4138:57:2;;21195:2:31;4138:57:2;;;21177:21:31;21234:2;21214:18;;;21207:30;21273:34;21253:18;;;21246:62;-1:-1:-1;;;21324:18:31;;;21317:31;21365:19;;4138:57:2;20993:397:31;4138:57:2;929:10:8;-1:-1:-1;;;;;4227:21:2;;;;:62;;-1:-1:-1;4252:37:2;4269:5;929:10:8;4974:162:2;:::i;4252:37::-;4206:165;;;;-1:-1:-1;;;4206:165:2;;21597:2:31;4206:165:2;;;21579:21:31;21636:2;21616:18;;;21609:30;21675:34;21655:18;;;21648:62;21746:26;21726:18;;;21719:54;21790:19;;4206:165:2;21395:420:31;4206:165:2;4382:21;4391:2;4395:7;4382:8;:21::i;2815:290:23:-;2891:19;2931:20;:9;2943:8;2931:20;:::i;:::-;2913:38;;:15;:38;:::i;:::-;3004:31;;2962:87;;;22432:25:31;;;22488:2;22473:18;;22466:34;;;2891:60:23;;-1:-1:-1;2992:10:23;;2962:87;;22405:18:31;2962:87:23;;;;;;;3055:31;:45;-1:-1:-1;2815:290:23:o;7914:355:2:-;8007:4;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:2;8023:73;;;;-1:-1:-1;;;8023:73:2;;22713:2:31;8023:73:2;;;22695:21:31;22752:2;22732:18;;;22725:30;22791:34;22771:18;;;22764:62;-1:-1:-1;;;22842:18:31;;;22835:42;22894:19;;8023:73:2;22511:408:31;8023:73:2;8106:13;8122:34;8148:7;8122:25;:34::i;:::-;8106:50;;8185:5;-1:-1:-1;;;;;8174:16:2;:7;-1:-1:-1;;;;;8174:16:2;;:52;;;;8194:32;8211:5;8218:7;8194:16;:32::i;:::-;8174:87;;;;8254:7;-1:-1:-1;;;;;8230:31:2;:20;8242:7;8230:11;:20::i;:::-;-1:-1:-1;;;;;8230:31:2;;8174:87;8166:96;7914:355;-1:-1:-1;;;;7914:355:2:o;10946:616::-;11111:4;-1:-1:-1;;;;;11073:42:2;:34;11099:7;11073:25;:34::i;:::-;-1:-1:-1;;;;;11073:42:2;;11065:92;;;;-1:-1:-1;;;11065:92:2;;23126:2:31;11065:92:2;;;23108:21:31;23165:2;23145:18;;;23138:30;23204:34;23184:18;;;23177:62;-1:-1:-1;;;23255:18:31;;;23248:35;23300:19;;11065:92:2;22924:401:31;11065:92:2;-1:-1:-1;;;;;11175:16:2;;11167:65;;;;-1:-1:-1;;;11167:65:2;;23532:2:31;11167:65:2;;;23514:21:31;23571:2;23551:18;;;23544:30;23610:34;23590:18;;;23583:62;-1:-1:-1;;;23661:18:31;;;23654:34;23705:19;;11167:65:2;23330:400:31;11167:65:2;11344:29;11361:1;11365:7;11344:8;:29::i;:::-;-1:-1:-1;;;;;11384:15:2;;;;;;:9;:15;;;;;:20;;11403:1;;11384:15;:20;;11403:1;;11384:20;:::i;:::-;;;;-1:-1:-1;;;;;;;11414:13:2;;;;;;:9;:13;;;;;:18;;11431:1;;11414:13;:18;;11431:1;;11414:18;:::i;:::-;;;;-1:-1:-1;;11442:16:2;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;11442:21:2;-1:-1:-1;;;;;11442:21:2;;;;;;;;;11479:27;;11442:16;;11479:27;;;;;;;1439:173:27;;;:::o;3461:96:13:-;3519:7;3545:5;3549:1;3545;:5;:::i;3846:96::-;3904:7;3930:5;3934:1;3930;:5;:::i;1418:115:28:-;1492:22;:34;;-1:-1:-1;;;;;;1492:34:28;-1:-1:-1;;;;;1492:34:28;;;;;;;;;;1418:115::o;10205:417:2:-;10264:13;10280:34;10306:7;10280:25;:34::i;:::-;10264:50;;10411:29;10428:1;10432:7;10411:8;:29::i;:::-;-1:-1:-1;;;;;10451:16:2;;;;;;:9;:16;;;;;:21;;10471:1;;10451:16;:21;;10471:1;;10451:21;:::i;:::-;;;;-1:-1:-1;;10489:16:2;;;;:7;:16;;;;;;10482:23;;-1:-1:-1;;;;;;10482:23:2;;;10521:36;10497:7;;10489:16;-1:-1:-1;;;;;10521:36:2;;;;;10489:16;;10521:36;10568:47;10254:368;10205:417;:::o;5223:164:21:-;5340:12;5302:51;;;;;;;;:::i;:::-;5330:8;;;;5302:51;;;;;;;;:::i;:::-;;;5318:10;;5302:51;;;;;5359:8;:23;;5370:12;;5359:8;-1:-1:-1;;5359:23:21;;5370:12;5359:23;;;;;;;;:::i;:::-;;;;;;5223:164;:::o;5287:808:1:-;5351:4;5684:13;;;;;;;5680:409;;;5738:7;:12;;5749:1;5738:12;:61;;;;-1:-1:-1;5793:4:1;1476:19:7;:23;5738:61:1;5713:166;;;;-1:-1:-1;;;5713:166:1;;;;;;;:::i;:::-;-1:-1:-1;5900:5:1;;5287:808;-1:-1:-1;5287:808:1:o;5680:409::-;5944:12;;:22;;;;:12;;:22;5936:81;;;;-1:-1:-1;;;5936:81:1;;;;;;;:::i;:::-;-1:-1:-1;6031:12:1;:22;;-1:-1:-1;;6031:22:1;;;;;;;;;;;;-1:-1:-1;;5287:808:1:o;988:95:0:-;4698:13:1;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:1;;;;;;;:::i;:::-;1050:26:0::1;:24;:26::i;1605:149:2:-:0;4698:13:1;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:1;;;;;;;:::i;:::-;1708:39:2::1;1732:5;1739:7;1708:23;:39::i;862:58:11:-:0;4698:13:1;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:1;;;;;;;:::i;755:85:28:-;4698:13:1;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:1;;;;;;;:::i;:::-;818:15:28::1;:13;:15::i;2510:187:0:-:0;2602:6;;;-1:-1:-1;;;;;2618:17:0;;;-1:-1:-1;;;;;;2618:17:0;;;;;;;2650:40;;2602:6;;;2618:17;2602:6;;2650:40;;2583:16;;2650:40;2573:124;2510:187;:::o;10762:489:24:-;10899:7;10918:26;:14;1043:19:9;;1061:1;1043:19;;;956:123;10918:26:24;10954:15;10972:24;:14;929::9;;838:112;10972:24:24;10954:42;;11025:9;;11014:7;:20;;11006:65;;;;-1:-1:-1;;;11006:65:24;;25151:2:31;11006:65:24;;;25133:21:31;;;25170:18;;;25163:30;25229:34;25209:18;;;25202:62;25281:18;;11006:65:24;24949:356:31;11006:65:24;11081:23;11091:3;11096:7;11081:9;:23::i;:::-;1794:28:28;;;;:18;:28;;;;;:42;;;1639:26;;;;:16;:26;;;;;:41;;-1:-1:-1;;;;;;1639:41:28;-1:-1:-1;;;;;1639:41:28;;;;;11237:7:24;10762:489;-1:-1:-1;;;;10762:489:24:o;5471:505:21:-;5602:26;5589:9;:39;;;;;;;;:::i;:::-;;5585:387;;5643:9;5638:328;5662:6;:13;5658:1;:17;5638:328;;;5696:7;5692:266;;;5717:30;5737:6;5744:1;5737:9;;;;;;;;:::i;:::-;;;;;;;5717:4;:15;5722:9;5717:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:19;;:30;;;;:::i;:::-;;5806:9;5764:52;;;;;;;;:::i;:::-;5795:6;5802:1;5795:9;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;5764:52:21;5783:10;-1:-1:-1;;;;;5764:52:21;;;;;;;;;;;5692:266;;;5845:33;5868:6;5875:1;5868:9;;;;;;;;:::i;:::-;;;;;;;5845:4;:15;5850:9;5845:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:22;;:33;;;;:::i;:::-;;5937:9;5895:52;;;;;;;;:::i;:::-;5926:6;5933:1;5926:9;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;5895:52:21;5914:10;-1:-1:-1;;;;;5895:52:21;;;;;;;;;;;5692:266;5677:3;;;;:::i;:::-;;;;5638:328;;4755:153:2;4849:52;929:10:8;4882:8:2;4892;4849:18;:52::i;11488:483:24:-;11642:9;;11623:15;:28;;11602:107;;;;-1:-1:-1;;;11602:107:24;;25784:2:31;11602:107:24;;;25766:21:31;;;25803:18;;;25796:30;25862:34;25842:18;;;25835:62;25914:18;;11602:107:24;25582:356:31;11602:107:24;11740:14;929::9;11740:29:24;11719:125;;;;-1:-1:-1;;;11719:125:24;;26145:2:31;11719:125:24;;;26127:21:31;26184:2;26164:18;;;26157:30;26223:34;26203:18;;;26196:62;-1:-1:-1;;;26274:18:31;;;26267:47;26331:19;;11719:125:24;25943:413:31;11719:125:24;11867:44;;;;;;;;11878:15;11867:44;;;;11895:8;;11867:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11867:44:24;;;-1:-1:-1;;;11867:44:24;;;;;11854:57;;:10;:57;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11854:57:24;;;;;;;;;;;;-1:-1:-1;;11854:57:24;;;;;;;;;;11926:38;11938:15;;11926:38;;;;11955:8;;;;11926:38;:::i;:::-;;;;;;;;11488:483;;;:::o;7021:307:2:-;7172:28;7182:4;7188:2;7192:7;7172:9;:28::i;:::-;7218:48;7241:4;7247:2;7251:7;7260:5;7218:22;:48::i;:::-;7210:111;;;;-1:-1:-1;;;7210:111:2;;;;;;;:::i;339:703:10:-;395:13;612:5;621:1;612:10;608:51;;-1:-1:-1;;638:10:10;;;;;;;;;;;;-1:-1:-1;;;638:10:10;;;;;339:703::o;608:51::-;683:5;668:12;722:75;729:9;;722:75;;754:8;;;;:::i;:::-;;-1:-1:-1;776:10:10;;-1:-1:-1;784:2:10;776:10;;:::i;:::-;;;722:75;;;806:19;838:6;828:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;828:17:10;;806:39;;855:150;862:10;;855:150;;888:11;898:1;888:11;;:::i;:::-;;-1:-1:-1;956:10:10;964:2;956:5;:10;:::i;:::-;943:24;;:2;:24;:::i;:::-;930:39;;913:6;920;913:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;913:56:10;;;;;;;;-1:-1:-1;983:11:10;992:2;983:11;;:::i;:::-;;;855:150;;5068:109:19;5124:16;5159:3;:11;;5152:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5068:109;;;:::o;829:155:17:-;-1:-1:-1;;;;;;937:40:17;-1:-1:-1;;;937:40:17;;829:155::o;1849:264:28:-;1974:4;-1:-1:-1;;;;;;2013:41:28;;-1:-1:-1;;;2013:41:28;;:93;;;2070:36;2094:11;1987:344:2;2111:4;-1:-1:-1;;;;;;2146:51:2;;-1:-1:-1;;;2146:51:2;;:126;;-1:-1:-1;;;;;;;2213:59:2;;-1:-1:-1;;;2213:59:2;2146:126;:178;;;;2288:36;2312:11;2288:23;:36::i;11673:182::-;11747:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;11747:29:2;-1:-1:-1;;;;;11747:29:2;;;;;;;;:24;;11800:34;11747:24;11800:25;:34::i;:::-;-1:-1:-1;;;;;11791:57:2;;;;;;;;;;;11673:182;;:::o;1089:111:0:-;4698:13:1;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:1;;;;;;;:::i;:::-;1161:32:0::1;929:10:8::0;1161:18:0::1;:32::i;1760:160:2:-:0;4698:13:1;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:1;;;;;;;:::i;:::-;1873:5:2::1;:13;1881:5:::0;1873;:13:::1;:::i;:::-;-1:-1:-1::0;1896:7:2::1;:17;1906:7:::0;1896;:17:::1;:::i;8599:108::-:0;8674:26;8684:2;8688:7;8674:26;;;;;;;;;;;;:9;:26::i;7627:150:19:-;7697:4;7720:50;7725:3;-1:-1:-1;;;;;7745:23:19;;7720:4;:50::i;7945:156::-;8018:4;8041:53;8049:3;-1:-1:-1;;;;;8069:23:19;;8041:7;:53::i;11990:307:2:-;12140:8;-1:-1:-1;;;;;12131:17:2;:5;-1:-1:-1;;;;;12131:17:2;;12123:55;;;;-1:-1:-1;;;12123:55:2;;28456:2:31;12123:55:2;;;28438:21:31;28495:2;28475:18;;;28468:30;28534:27;28514:18;;;28507:55;28579:18;;12123:55:2;28254:349:31;12123:55:2;-1:-1:-1;;;;;12188:25:2;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;12188:46:2;;;;;;;;;;12249:41;;1567::31;;;12249::2;;1540:18:31;12249:41:2;;;;;;;11990:307;;;:::o;12850:800::-;13000:4;-1:-1:-1;;;;;13020:13:2;;1476:19:7;:23;13016:628:2;;13055:83;;-1:-1:-1;;;13055:83:2;;-1:-1:-1;;;;;13055:47:2;;;;;:83;;929:10:8;;13117:4:2;;13123:7;;13132:5;;13055:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13055:83:2;;;;;;;;-1:-1:-1;;13055:83:2;;;;;;;;;;;;:::i;:::-;;;13051:541;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13316:6;:13;13333:1;13316:18;13312:266;;13358:60;;-1:-1:-1;;;13358:60:2;;;;;;;:::i;13312:266::-;13530:6;13524:13;13515:6;13511:2;13507:15;13500:38;13051:541;-1:-1:-1;;;;;;13188:62:2;-1:-1:-1;;;13188:62:2;;-1:-1:-1;13181:69:2;;13016:628;-1:-1:-1;13629:4:2;12850:800;;;;;;:::o;8928:311::-;9053:18;9059:2;9063:7;9053:5;:18::i;:::-;9102:54;9133:1;9137:2;9141:7;9150:5;9102:22;:54::i;:::-;9081:151;;;;-1:-1:-1;;;9081:151:2;;;;;;;:::i;1712:404:19:-;1775:4;3849:19;;;:12;;;:19;;;;;;1791:319;;-1:-1:-1;1833:23:19;;;;;;;;:11;:23;;;;;;;;;;;;;2013:18;;1991:19;;;:12;;;:19;;;;;;:40;;;;2045:11;;1791:319;-1:-1:-1;2094:5:19;2087:12;;2284:1388;2350:4;2487:19;;;:12;;;:19;;;;;;2521:15;;2517:1149;;2890:21;2914:14;2927:1;2914:10;:14;:::i;:::-;2962:18;;2890:38;;-1:-1:-1;2942:17:19;;2962:22;;2983:1;;2962:22;:::i;:::-;2942:42;;3016:13;3003:9;:26;2999:398;;3049:17;3069:3;:11;;3081:9;3069:22;;;;;;;;:::i;:::-;;;;;;;;;3049:42;;3220:9;3191:3;:11;;3203:13;3191:26;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;;3303:23;;;:12;;;:23;;;;;:36;;;2999:398;3475:17;;:3;;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3567:3;:12;;:19;3580:5;3567:19;;;;;;;;;;;3560:26;;;3608:4;3601:11;;;;;;;2517:1149;3650:5;3643:12;;;;;9561:427:2;-1:-1:-1;;;;;9640:16:2;;9632:61;;;;-1:-1:-1;;;9632:61:2;;29690:2:31;9632:61:2;;;29672:21:31;;;29709:18;;;29702:30;29768:34;29748:18;;;29741:62;29820:18;;9632:61:2;29488:356:31;9632:61:2;7696:4;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:2;:30;9703:58;;;;-1:-1:-1;;;9703:58:2;;30051:2:31;9703:58:2;;;30033:21:31;30090:2;30070:18;;;30063:30;30129;30109:18;;;30102:58;30177:18;;9703:58:2;29849:352:31;9703:58:2;-1:-1:-1;;;;;9828:13:2;;;;;;:9;:13;;;;;:18;;9845:1;;9828:13;:18;;9845:1;;9828:18;:::i;:::-;;;;-1:-1:-1;;9856:16:2;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9856:21:2;-1:-1:-1;;;;;9856:21:2;;;;;;;;9893:33;;9856:16;;;9893:33;;9856:16;;9893:33;10254:368;10205:417;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:149:31:-;88:20;;137:1;127:12;;117:40;;153:1;150;143:12;168:205;240:6;293:2;281:9;272:7;268:23;264:32;261:52;;;309:1;306;299:12;261:52;332:35;357:9;332:35;:::i;378:658::-;549:2;601:21;;;671:13;;574:18;;;693:22;;;520:4;;549:2;772:15;;;;746:2;731:18;;;520:4;815:195;829:6;826:1;823:13;815:195;;;894:13;;-1:-1:-1;;;;;890:39:31;878:52;;985:15;;;;950:12;;;;926:1;844:9;815:195;;;-1:-1:-1;1027:3:31;;378:658;-1:-1:-1;;;;;;378:658:31:o;1041:131::-;-1:-1:-1;;;;;;1115:32:31;;1105:43;;1095:71;;1162:1;1159;1152:12;1177:245;1235:6;1288:2;1276:9;1267:7;1263:23;1259:32;1256:52;;;1304:1;1301;1294:12;1256:52;1343:9;1330:23;1362:30;1386:5;1362:30;:::i;1619:258::-;1691:1;1701:113;1715:6;1712:1;1709:13;1701:113;;;1791:11;;;1785:18;1772:11;;;1765:39;1737:2;1730:10;1701:113;;;1832:6;1829:1;1826:13;1823:48;;;-1:-1:-1;;1867:1:31;1849:16;;1842:27;1619:258::o;1882:::-;1924:3;1962:5;1956:12;1989:6;1984:3;1977:19;2005:63;2061:6;2054:4;2049:3;2045:14;2038:4;2031:5;2027:16;2005:63;:::i;:::-;2122:2;2101:15;-1:-1:-1;;2097:29:31;2088:39;;;;2129:4;2084:50;;1882:258;-1:-1:-1;;1882:258:31:o;2145:220::-;2294:2;2283:9;2276:21;2257:4;2314:45;2355:2;2344:9;2340:18;2332:6;2314:45;:::i;2370:180::-;2429:6;2482:2;2470:9;2461:7;2457:23;2453:32;2450:52;;;2498:1;2495;2488:12;2450:52;-1:-1:-1;2521:23:31;;2370:180;-1:-1:-1;2370:180:31:o;2763:173::-;2831:20;;-1:-1:-1;;;;;2880:31:31;;2870:42;;2860:70;;2926:1;2923;2916:12;2941:254;3009:6;3017;3070:2;3058:9;3049:7;3045:23;3041:32;3038:52;;;3086:1;3083;3076:12;3038:52;3109:29;3128:9;3109:29;:::i;:::-;3099:39;3185:2;3170:18;;;;3157:32;;-1:-1:-1;;;2941:254:31:o;3382:186::-;3441:6;3494:2;3482:9;3473:7;3469:23;3465:32;3462:52;;;3510:1;3507;3500:12;3462:52;3533:29;3552:9;3533:29;:::i;3573:328::-;3650:6;3658;3666;3719:2;3707:9;3698:7;3694:23;3690:32;3687:52;;;3735:1;3732;3725:12;3687:52;3758:29;3777:9;3758:29;:::i;:::-;3748:39;;3806:38;3840:2;3829:9;3825:18;3806:38;:::i;:::-;3796:48;;3891:2;3880:9;3876:18;3863:32;3853:42;;3573:328;;;;;:::o;3906:248::-;3974:6;3982;4035:2;4023:9;4014:7;4010:23;4006:32;4003:52;;;4051:1;4048;4041:12;4003:52;-1:-1:-1;;4074:23:31;;;4144:2;4129:18;;;4116:32;;-1:-1:-1;3906:248:31:o;4662:348::-;4714:8;4724:6;4778:3;4771:4;4763:6;4759:17;4755:27;4745:55;;4796:1;4793;4786:12;4745:55;-1:-1:-1;4819:20:31;;4862:18;4851:30;;4848:50;;;4894:1;4891;4884:12;4848:50;4931:4;4923:6;4919:17;4907:29;;4983:3;4976:4;4967:6;4959;4955:19;4951:30;4948:39;4945:59;;;5000:1;4997;4990:12;4945:59;4662:348;;;;;:::o;5015:864::-;5125:6;5133;5141;5149;5157;5165;5218:3;5206:9;5197:7;5193:23;5189:33;5186:53;;;5235:1;5232;5225:12;5186:53;5275:9;5262:23;5304:18;5345:2;5337:6;5334:14;5331:34;;;5361:1;5358;5351:12;5331:34;5400:59;5451:7;5442:6;5431:9;5427:22;5400:59;:::i;:::-;5478:8;;-1:-1:-1;5374:85:31;-1:-1:-1;5566:2:31;5551:18;;5538:32;;-1:-1:-1;5582:16:31;;;5579:36;;;5611:1;5608;5601:12;5579:36;;5650:61;5703:7;5692:8;5681:9;5677:24;5650:61;:::i;:::-;5730:8;;-1:-1:-1;5624:87:31;-1:-1:-1;5784:38:31;;-1:-1:-1;5818:2:31;5803:18;;5784:38;:::i;:::-;5774:48;;5869:2;5858:9;5854:18;5841:32;5831:42;;5015:864;;;;;;;;:::o;5884:127::-;5945:10;5940:3;5936:20;5933:1;5926:31;5976:4;5973:1;5966:15;6000:4;5997:1;5990:15;6016:341;6161:2;6146:18;;6194:1;6183:13;;6173:144;;6239:10;6234:3;6230:20;6227:1;6220:31;6274:4;6271:1;6264:15;6302:4;6299:1;6292:15;6173:144;6326:25;;;6016:341;:::o;6362:411::-;6433:6;6441;6494:2;6482:9;6473:7;6469:23;6465:32;6462:52;;;6510:1;6507;6500:12;6462:52;6550:9;6537:23;6583:18;6575:6;6572:30;6569:50;;;6615:1;6612;6605:12;6569:50;6654:59;6705:7;6696:6;6685:9;6681:22;6654:59;:::i;:::-;6732:8;;6628:85;;-1:-1:-1;6362:411:31;-1:-1:-1;;;;6362:411:31:o;6778:511::-;6963:2;6952:9;6945:21;7008:6;7002:13;6997:2;6986:9;6982:18;6975:41;6926:4;7063:2;7055:6;7051:15;7045:22;7103:4;7098:2;7087:9;7083:18;7076:32;7131:52;7178:3;7167:9;7163:19;7149:12;7131:52;:::i;:::-;7117:66;;7253:2;7245:6;7241:15;7235:22;7228:30;7221:38;7214:4;7203:9;7199:20;7192:68;7277:6;7269:14;;;6778:511;;;;:::o;7294:708::-;7402:6;7410;7418;7471:2;7459:9;7450:7;7446:23;7442:32;7439:52;;;7487:1;7484;7477:12;7439:52;7510:35;7535:9;7510:35;:::i;:::-;7500:45;;7596:2;7585:9;7581:18;7568:32;7619:18;7660:2;7652:6;7649:14;7646:34;;;7676:1;7673;7666:12;7646:34;7714:6;7703:9;7699:22;7689:32;;7759:7;7752:4;7748:2;7744:13;7740:27;7730:55;;7781:1;7778;7771:12;7730:55;7821:2;7808:16;7847:2;7839:6;7836:14;7833:34;;;7863:1;7860;7853:12;7833:34;7916:7;7911:2;7901:6;7898:1;7894:14;7890:2;7886:23;7882:32;7879:45;7876:65;;;7937:1;7934;7927:12;7876:65;7968:2;7964;7960:11;7950:21;;7990:6;7980:16;;;;;7294:708;;;;;:::o;8007:347::-;8072:6;8080;8133:2;8121:9;8112:7;8108:23;8104:32;8101:52;;;8149:1;8146;8139:12;8101:52;8172:29;8191:9;8172:29;:::i;:::-;8162:39;;8251:2;8240:9;8236:18;8223:32;8298:5;8291:13;8284:21;8277:5;8274:32;8264:60;;8320:1;8317;8310:12;8264:60;8343:5;8333:15;;;8007:347;;;;;:::o;8359:479::-;8439:6;8447;8455;8508:2;8496:9;8487:7;8483:23;8479:32;8476:52;;;8524:1;8521;8514:12;8476:52;8564:9;8551:23;8597:18;8589:6;8586:30;8583:50;;;8629:1;8626;8619:12;8583:50;8668:59;8719:7;8710:6;8699:9;8695:22;8668:59;:::i;:::-;8746:8;;8642:85;;-1:-1:-1;8828:2:31;8813:18;;;;8800:32;;8359:479;-1:-1:-1;;;;8359:479:31:o;8843:127::-;8904:10;8899:3;8895:20;8892:1;8885:31;8935:4;8932:1;8925:15;8959:4;8956:1;8949:15;8975:1138;9070:6;9078;9086;9094;9147:3;9135:9;9126:7;9122:23;9118:33;9115:53;;;9164:1;9161;9154:12;9115:53;9187:29;9206:9;9187:29;:::i;:::-;9177:39;;9235:38;9269:2;9258:9;9254:18;9235:38;:::i;:::-;9225:48;;9320:2;9309:9;9305:18;9292:32;9282:42;;9375:2;9364:9;9360:18;9347:32;9398:18;9439:2;9431:6;9428:14;9425:34;;;9455:1;9452;9445:12;9425:34;9493:6;9482:9;9478:22;9468:32;;9538:7;9531:4;9527:2;9523:13;9519:27;9509:55;;9560:1;9557;9550:12;9509:55;9596:2;9583:16;9618:2;9614;9611:10;9608:36;;;9624:18;;:::i;:::-;9699:2;9693:9;9667:2;9753:13;;-1:-1:-1;;9749:22:31;;;9773:2;9745:31;9741:40;9729:53;;;9797:18;;;9817:22;;;9794:46;9791:72;;;9843:18;;:::i;:::-;9883:10;9879:2;9872:22;9918:2;9910:6;9903:18;9958:7;9953:2;9948;9944;9940:11;9936:20;9933:33;9930:53;;;9979:1;9976;9969:12;9930:53;10035:2;10030;10026;10022:11;10017:2;10009:6;10005:15;9992:46;10080:1;10075:2;10070;10062:6;10058:15;10054:24;10047:35;10101:6;10091:16;;;;;;;8975:1138;;;;;;;:::o;10118:553::-;10207:6;10215;10223;10231;10284:2;10272:9;10263:7;10259:23;10255:32;10252:52;;;10300:1;10297;10290:12;10252:52;10340:9;10327:23;10373:18;10365:6;10362:30;10359:50;;;10405:1;10402;10395:12;10359:50;10444:59;10495:7;10486:6;10475:9;10471:22;10444:59;:::i;:::-;10522:8;;-1:-1:-1;10418:85:31;-1:-1:-1;;10604:2:31;10589:18;;10576:32;;-1:-1:-1;10627:38:31;10661:2;10646:18;;10627:38;:::i;:::-;10617:48;;10118:553;;;;;;;:::o;10676:260::-;10744:6;10752;10805:2;10793:9;10784:7;10780:23;10776:32;10773:52;;;10821:1;10818;10811:12;10773:52;10844:29;10863:9;10844:29;:::i;:::-;10834:39;;10892:38;10926:2;10915:9;10911:18;10892:38;:::i;10941:380::-;11020:1;11016:12;;;;11063;;;11084:61;;11138:4;11130:6;11126:17;11116:27;;11084:61;11191:2;11183:6;11180:14;11160:18;11157:38;11154:161;;11237:10;11232:3;11228:20;11225:1;11218:31;11272:4;11269:1;11262:15;11300:4;11297:1;11290:15;11154:161;;10941:380;;;:::o;11739:413::-;11941:2;11923:21;;;11980:2;11960:18;;;11953:30;12019:34;12014:2;11999:18;;11992:62;-1:-1:-1;;;12085:2:31;12070:18;;12063:47;12142:3;12127:19;;11739:413::o;12157:356::-;12359:2;12341:21;;;12378:18;;;12371:30;12437:34;12432:2;12417:18;;12410:62;12504:2;12489:18;;12157:356::o;13061:963::-;13170:4;13199:2;13228;13217:9;13210:21;13251:1;13284:6;13278:13;13314:36;13340:9;13314:36;:::i;:::-;13386:6;13381:2;13370:9;13366:18;13359:34;13412:2;13433:1;13465:2;13454:9;13450:18;13482:1;13477:158;;;;13649:1;13644:354;;;;13443:555;;13477:158;-1:-1:-1;;13525:24:31;;13505:18;;;13498:52;13603:14;;13596:22;13593:1;13589:30;13574:46;;13570:55;;;-1:-1:-1;13477:158:31;;13644:354;13675:6;13672:1;13665:17;13723:2;13720:1;13710:16;13748:1;13762:180;13776:6;13773:1;13770:13;13762:180;;;13869:14;;13845:17;;;13841:26;;13834:50;13912:16;;;;13791:10;;13762:180;;;13966:17;;13962:26;;;-1:-1:-1;;13443:555:31;-1:-1:-1;14015:3:31;;13061:963;-1:-1:-1;;;;;;;;13061:963:31:o;15767:354::-;15969:2;15951:21;;;16008:2;15988:18;;;15981:30;16047:32;16042:2;16027:18;;16020:60;16112:2;16097:18;;15767:354::o;16945:545::-;17047:2;17042:3;17039:11;17036:448;;;17083:1;17108:5;17104:2;17097:17;17153:4;17149:2;17139:19;17223:2;17211:10;17207:19;17204:1;17200:27;17194:4;17190:38;17259:4;17247:10;17244:20;17241:47;;;-1:-1:-1;17282:4:31;17241:47;17337:2;17332:3;17328:12;17325:1;17321:20;17315:4;17311:31;17301:41;;17392:82;17410:2;17403:5;17400:13;17392:82;;;17455:17;;;17436:1;17425:13;17392:82;;;17396:3;;;16945:545;;;:::o;17666:1206::-;17790:18;17785:3;17782:27;17779:53;;;17812:18;;:::i;:::-;17841:94;17931:3;17891:38;17923:4;17917:11;17891:38;:::i;:::-;17885:4;17841:94;:::i;:::-;17961:1;17986:2;17981:3;17978:11;18003:1;17998:616;;;;18658:1;18675:3;18672:93;;;-1:-1:-1;18731:19:31;;;18718:33;18672:93;-1:-1:-1;;17623:1:31;17619:11;;;17615:24;17611:29;17601:40;17647:1;17643:11;;;17598:57;18778:78;;17971:895;;17998:616;13008:1;13001:14;;;13045:4;13032:18;;-1:-1:-1;;18034:17:31;;;18135:9;18157:229;18171:7;18168:1;18165:14;18157:229;;;18260:19;;;18247:33;18232:49;;18367:4;18352:20;;;;18320:1;18308:14;;;;18187:12;18157:229;;;18161:3;18414;18405:7;18402:16;18399:159;;;18538:1;18534:6;18528:3;18522;18519:1;18515:11;18511:21;18507:34;18503:39;18490:9;18485:3;18481:19;18468:33;18464:79;18456:6;18449:95;18399:159;;;18601:1;18595:3;18592:1;18588:11;18584:19;18578:4;18571:33;17971:895;;;17666:1206;;;:::o;18877:390::-;19036:2;19025:9;19018:21;19075:6;19070:2;19059:9;19055:18;19048:34;19132:6;19124;19119:2;19108:9;19104:18;19091:48;19188:1;19159:22;;;19183:2;19155:31;;;19148:42;;;;19251:2;19230:15;;;-1:-1:-1;;19226:29:31;19211:45;19207:54;;18877:390;-1:-1:-1;18877:390:31:o;19272:1309::-;19650:3;19679:1;19712:6;19706:13;19742:36;19768:9;19742:36;:::i;:::-;19797:1;19814:18;;;19841:133;;;;19988:1;19983:356;;;;19807:532;;19841:133;-1:-1:-1;;19874:24:31;;19862:37;;19947:14;;19940:22;19928:35;;19919:45;;;-1:-1:-1;19841:133:31;;19983:356;20014:6;20011:1;20004:17;20044:4;20089:2;20086:1;20076:16;20114:1;20128:165;20142:6;20139:1;20136:13;20128:165;;;20220:14;;20207:11;;;20200:35;20263:16;;;;20157:10;;20128:165;;;20132:3;;;20322:6;20317:3;20313:16;20306:23;;19807:532;;-1:-1:-1;;;20355:3:31;20348:16;20395:6;20389:13;20373:29;;20411:64;20466:8;20461:2;20456:3;20452:12;20445:4;20437:6;20433:17;20411:64;:::i;:::-;-1:-1:-1;;;20494:18:31;;;;20528:11;;;20521:28;;;;20573:1;20565:10;;19272:1309;-1:-1:-1;;;;;19272:1309:31:o;21820:127::-;21881:10;21876:3;21872:20;21869:1;21862:31;21912:4;21909:1;21902:15;21936:4;21933:1;21926:15;21952:168;21992:7;22058:1;22054;22050:6;22046:14;22043:1;22040:21;22035:1;22028:9;22021:17;22017:45;22014:71;;;22065:18;;:::i;:::-;-1:-1:-1;22105:9:31;;21952:168::o;22125:128::-;22165:3;22196:1;22192:6;22189:1;22186:13;22183:39;;;22202:18;;:::i;:::-;-1:-1:-1;22238:9:31;;22125:128::o;23735:125::-;23775:4;23803:1;23800;23797:8;23794:34;;;23808:18;;:::i;:::-;-1:-1:-1;23845:9:31;;23735:125::o;23865:127::-;23926:10;23921:3;23917:20;23914:1;23907:31;23957:4;23954:1;23947:15;23981:4;23978:1;23971:15;23997:120;24037:1;24063;24053:35;;24068:18;;:::i;:::-;-1:-1:-1;24102:9:31;;23997:120::o;24122:410::-;24324:2;24306:21;;;24363:2;24343:18;;;24336:30;24402:34;24397:2;24382:18;;24375:62;-1:-1:-1;;;24468:2:31;24453:18;;24446:44;24522:3;24507:19;;24122:410::o;24537:407::-;24739:2;24721:21;;;24778:2;24758:18;;;24751:30;24817:34;24812:2;24797:18;;24790:62;-1:-1:-1;;;24883:2:31;24868:18;;24861:41;24934:3;24919:19;;24537:407::o;25310:127::-;25371:10;25366:3;25362:20;25359:1;25352:31;25402:4;25399:1;25392:15;25426:4;25423:1;25416:15;25442:135;25481:3;25502:17;;;25499:43;;25522:18;;:::i;:::-;-1:-1:-1;25569:1:31;25558:13;;25442:135::o;26361:1352::-;26487:3;26481:10;26514:18;26506:6;26503:30;26500:56;;;26536:18;;:::i;:::-;26565:97;26655:6;26615:38;26647:4;26641:11;26615:38;:::i;:::-;26609:4;26565:97;:::i;:::-;26717:4;;26781:2;26770:14;;26798:1;26793:663;;;;27500:1;27517:6;27514:89;;;-1:-1:-1;27569:19:31;;;27563:26;27514:89;-1:-1:-1;;17623:1:31;17619:11;;;17615:24;17611:29;17601:40;17647:1;17643:11;;;17598:57;27616:81;;26763:944;;26793:663;13008:1;13001:14;;;13045:4;13032:18;;-1:-1:-1;;26829:20:31;;;26947:236;26961:7;26958:1;26955:14;26947:236;;;27050:19;;;27044:26;27029:42;;27142:27;;;;27110:1;27098:14;;;;26977:19;;26947:236;;;26951:3;27211:6;27202:7;27199:19;27196:201;;;27272:19;;;27266:26;-1:-1:-1;;27355:1:31;27351:14;;;27367:3;27347:24;27343:37;27339:42;27324:58;27309:74;;27196:201;-1:-1:-1;;;;;27443:1:31;27427:14;;;27423:22;27410:36;;-1:-1:-1;26361:1352:31:o;27718:414::-;27920:2;27902:21;;;27959:2;27939:18;;;27932:30;27998:34;27993:2;27978:18;;27971:62;-1:-1:-1;;;28064:2:31;28049:18;;28042:48;28122:3;28107:19;;27718:414::o;28137:112::-;28169:1;28195;28185:35;;28200:18;;:::i;:::-;-1:-1:-1;28234:9:31;;28137:112::o;28608:489::-;-1:-1:-1;;;;;28877:15:31;;;28859:34;;28929:15;;28924:2;28909:18;;28902:43;28976:2;28961:18;;28954:34;;;29024:3;29019:2;29004:18;;28997:31;;;28802:4;;29045:46;;29071:19;;29063:6;29045:46;:::i;:::-;29037:54;28608:489;-1:-1:-1;;;;;;28608:489:31:o;29102:249::-;29171:6;29224:2;29212:9;29203:7;29199:23;29195:32;29192:52;;;29240:1;29237;29230:12;29192:52;29272:9;29266:16;29291:30;29315:5;29291:30;:::i;29356:127::-;29417:10;29412:3;29408:20;29405:1;29398:31;29448:4;29445:1;29438:15;29472:4;29469:1;29462:15", + "linkReferences": {} + }, + "methodIdentifiers": { + "activateDeadmanListTrigger()": "5aec8d62", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "batchAddAddressToRoyaltyList(uint8,address[])": "ff6e8c8f", + "batchRemoveAddressToRoyaltyList(uint8,address[])": "9e860f2a", + "burn(uint256)": "42966c68", + "clearList(uint8)": "bc719455", + "deleteToken(uint256)": "6297c16c", + "disableContract()": "894ba833", + "disabled()": "ee070805", + "getApproved(uint256)": "081812fc", + "getDeadmanTriggerAvailableDatetime()": "717392ed", + "getDefaultRoyaltyPercentage()": "ab69607a", + "getDefaultRoyaltyReceiver()": "3403c4e9", + "getInUseList()": "2ce878da", + "getList(uint8)": "012cf1e8", + "getListType()": "87bc793f", + "getMintConfig()": "9338bb5d", + "hasAdminPermission(address)": "20427486", + "init(string,string,address,uint256)": "5edc7c19", + "isApprovedForAll(address,address)": "e985e9c5", + "isApprovedMinter(address)": "3a3d146f", + "isOperatorInList(address)": "eab85118", + "lockBaseURI()": "53df5c7c", + "maxTokens()": "e8315742", + "mintTo(address)": "755edd17", + "name()": "06fdde03", + "owner()": "8da5cb5b", + "ownerOf(uint256)": "6352211e", + "prepareMint(string,uint256)": "b390ac25", + "prepareMintWithMinter(string,uint256,address)": "b9fbd25c", + "renounceOwnership()": "715018a6", + "royaltyInfo(uint256,uint256)": "2a55205a", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "setDeadmanListTriggerRenewalDuration(uint256)": "21c4a5d8", + "setDefaultRoyaltyReceiver(address)": "3ebc82c5", + "setRoyaltyReceiverForToken(address,uint256)": "efc32cd4", + "supportsInterface(bytes4)": "01ffc9a7", + "symbol()": "95d89b41", + "toggleListType(uint8)": "472a6638", + "tokenCreator(uint256)": "40c1a064", + "tokenURI(uint256)": "c87b56dd", + "totalSupply()": "18160ddd", + "transferFrom(address,address,uint256)": "23b872dd", + "transferOwnership(address)": "f2fde38b", + "updateBaseURI(string)": "931688cb" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CantAddToOFFList\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DeadmanTriggerStillActive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustBeAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_addedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressAddedToList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_removedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressRemovedList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_activator\",\"type\":\"address\"}],\"name\":\"DeadmanTriggerActivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_oldDatetime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newDatetime\",\"type\":\"uint256\"}],\"name\":\"DeadmanTriggerDatetimeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"ListCleared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_oldListType\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"ListTypeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"MetadataLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"MetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"numberOfTokens\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"PrepareMint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"activateDeadmanListTrigger\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchAddAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchRemoveAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"clearList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDeadmanTriggerAvailableDatetime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getInUseList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"getList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getListType\",\"outputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMintConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"numberOfTokens\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"lockedMetadata\",\"type\":\"bool\"}],\"internalType\":\"struct LazySovereignNFT.MintConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"hasAdminPermission\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isApprovedMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isOperatorInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"}],\"name\":\"prepareMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_minter\",\"type\":\"address\"}],\"name\":\"prepareMintWithMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numYears\",\"type\":\"uint256\"}],\"name\":\"setDeadmanListTriggerRenewalDuration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setDefaultRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"toggleListType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"}],\"name\":\"updateBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"activateDeadmanListTrigger()\":{\"details\":\"Can only be called if deadmanListTriggerAfterDatetime is in the past.\"},\"approve(address,uint256)\":{\"details\":\"Guards {approve} based on the type of list and depending if {_spender} is on the list.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.Cannot add to the OFF list\",\"params\":{\"_addrs\":\"being added to the designated list\",\"_listType\":\"that addresses are being added to\"}},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_addrs\":\"being removed from the designated list\",\"_listType\":\"that addresses are being removed from\"}},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"clearList(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_listType\":\"of list being cleared.\"}},\"deleteToken(uint256)\":{\"details\":\"Delete a token with the given ID.\",\"params\":{\"_tokenId\":\"The ID of the token to delete.\"}},\"disableContract()\":{\"details\":\"Disable the contract, preventing further minting.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getDeadmanTriggerAvailableDatetime()\":{\"returns\":{\"_0\":\"uint256 denoting unix epoch time after which the deadman trigger can be activated.\"}},\"getInUseList()\":{\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getList(uint8)\":{\"params\":{\"_listType\":\"of list being retrieved.\"},\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getListType()\":{\"returns\":{\"_0\":\"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"getMintConfig()\":{\"details\":\"Get the current minting configuration.\",\"returns\":{\"_0\":\"mintConfig the mint config.\"}},\"hasAdminPermission(address)\":{\"details\":\"used in the {onlyAdmin} modifier\",\"returns\":{\"_0\":\"bool denoting if _addr has admin permission.\"}},\"init(string,string,address,uint256)\":{\"details\":\"Contract initialization function.\",\"params\":{\"_creator\":\"The address of the contract creator.\",\"_maxTokens\":\"The maximum number of tokens that can be minted.\",\"_name\":\"The name of the NFT contract.\",\"_symbol\":\"The symbol of the NFT contract.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isApprovedMinter(address)\":{\"details\":\"Checks if the supplied address is approved for minting\",\"params\":{\"_address\":\"The address of the minter.\"},\"returns\":{\"_0\":\"bool, whether the address is approved for minting.\"}},\"isOperatorInList(address)\":{\"params\":{\"_operator\":\"address being checked.\"},\"returns\":{\"_0\":\"bool relating to if the operator is on the list.\"}},\"lockBaseURI()\":{\"details\":\"Lock the metadata to prevent further updates.\"},\"mintTo(address)\":{\"details\":\"Mint a new token to the specified receiver.\",\"params\":{\"_receiver\":\"The address of the token receiver.\"},\"returns\":{\"_0\":\"uint256 Token Id of the new token.\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"prepareMint(string,uint256)\":{\"details\":\"Prepare a minting batch with a specified base URI and number of tokens.\",\"params\":{\"_baseURI\":\"The base URI for token metadata.\",\"_numberOfTokens\":\"The number of tokens to prepare for minting.\"}},\"prepareMintWithMinter(string,uint256,address)\":{\"details\":\"Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address.\",\"params\":{\"_baseURI\":\"The base URI for token metadata.\",\"_minter\":\"The address of the minter.\",\"_numberOfTokens\":\"The number of tokens to prepare for minting.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list.\"},\"setDeadmanListTriggerRenewalDuration(uint256)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_numYears\":\"to renew the trigger for.\"}},\"setDefaultRoyaltyReceiver(address)\":{\"details\":\"Set the default royalty receiver address.\",\"params\":{\"_receiver\":\"The address of the default royalty receiver.\"}},\"setRoyaltyReceiverForToken(address,uint256)\":{\"details\":\"Set a specific royalty receiver address for a token.\",\"params\":{\"_receiver\":\"The address of the royalty receiver.\",\"_tokenId\":\"The ID of the token.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"toggleListType(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_newListType\":\"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"tokenCreator(uint256)\":{\"details\":\"Get the address of the token creator for a given token ID.\",\"params\":{\"_tokenId\":\"The ID of the token.\"},\"returns\":{\"_0\":\"address of the token creator.\"}},\"tokenURI(uint256)\":{\"details\":\"Get the token URI for a specific token.\",\"params\":{\"_tokenId\":\"The ID of the token.\"},\"returns\":{\"_0\":\"The token's URI.\"}},\"totalSupply()\":{\"details\":\"Get the total supply of tokens in existence.\",\"returns\":{\"_0\":\"The total supply of tokens.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"updateBaseURI(string)\":{\"details\":\"Update the base URI.\",\"params\":{\"_baseURI\":\"The new base URI.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"CantAddToOFFList()\":[{\"notice\":\"Emitted when trying to add an address to a list with type OFF.\"}],\"DeadmanTriggerStillActive()\":[{\"notice\":\"Emitted when the deadman trigger datetime threshold hasnt passed but tries to get called.\"}],\"MustBeAdmin()\":[{\"notice\":\"Emitted when an admin only function tries to be called by a non-admin.\"}],\"Unauthorized()\":[{\"notice\":\"Emitted when an unauthorized party tries to call a specific function.\"}]},\"events\":{\"AddressAddedToList(address,address,uint8)\":{\"notice\":\"Emitted when an address is added to a list.\"},\"AddressRemovedList(address,address,uint8)\":{\"notice\":\"Emitted when an address is removed from a list.\"},\"DeadmanTriggerActivated(address)\":{\"notice\":\"Emitted when the deadman switch is activated.\"},\"DeadmanTriggerDatetimeUpdated(address,uint256,uint256)\":{\"notice\":\"Emitted when deadman trigger datetime has been updated.\"},\"ListCleared(address,uint8)\":{\"notice\":\"Emitted when a list is cleared.\"},\"ListTypeUpdated(address,uint8,uint8)\":{\"notice\":\"Emitted when the list type is updated.\"}},\"kind\":\"user\",\"methods\":{\"activateDeadmanListTrigger()\":{\"notice\":\"Triggers the deadman switch for the list\"},\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Adds a list of addresses to the specified list.\"},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Removes a list of addresses to the specified list.\"},\"clearList(uint8)\":{\"notice\":\"Clears an entire list.\"},\"getDeadmanTriggerAvailableDatetime()\":{\"notice\":\"The datetime threshold after which the deadman trigger can be called by anyone.\"},\"getInUseList()\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getList(uint8)\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getListType()\":{\"notice\":\"Returns the ListType currently being used;\"},\"hasAdminPermission(address)\":{\"notice\":\"States whether or not an address has admin permission.\"},\"isOperatorInList(address)\":{\"notice\":\"Returns if the supplied operator address in part of the current in use list.\"},\"setDeadmanListTriggerRenewalDuration(uint256)\":{\"notice\":\"Sets the deadman list trigger for the specified number of years from current block timestamp\"},\"toggleListType(uint8)\":{\"notice\":\"Toggles the list type between ALLOW, DENY, or OFF\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol\":\"LazySovereignNFTRoyaltyGuardDeadmanTrigger\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":aux/=lib/aux/\",\":ds-test/=lib/ds-test/src/\",\":erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/\",\":rareprotocol/aux/=lib/aux/src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":solmate/=lib/royalty-guard/lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x652fee292f698d8dba81bf287cb71f1682f6483b67ebe601a5f7387dcfc30b34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98c7bba29bcab7240cdaada7dd7cbe3529fec83314801270c46239e72a9e84d7\",\"dweb:/ipfs/QmfHCc1KMygjXchXVwafWTkFjhbb2SQ3Cu5GzRTdV4CCCh\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xb5239b505e918cb7427b939ff15da7bf7c4bb68ccb109caef246a3f58b19ba5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5f2ea070e870eea699ee433245459f08020a4752df4f5d391de87a529fc2bad\",\"dweb:/ipfs/QmWUcKCKzqQtB6sfJHxGzNj7QRogPmUsW3QQZPAcD3kLSB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0xf7f866b810ddf2508a9cba461906617a1ff561e33835d81a1be9bff9bbfb7ff9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21142ed30406e8f3dc9d42907aaef8bd34dfee63101d011fc3e1a3a198b9c740\",\"dweb:/ipfs/QmW7EkuJFzsejU5keEjULPFFDe8gBEiNYdQ6Z1LrgWnHst\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0x6c4dd0c916c4d69014b1a430f5803d3ea1f35c1a8021aefafde55ca4c2d20c2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93fd17a1502ac391fd929e9c585032efed0b2ed1fb6fe6026dbc44621538b84d\",\"dweb:/ipfs/Qmd3S9HaNGe83wctpj7Bvn6p2veG5P6QH1nPcRuKNJfUqN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xd16dc04b4bf357ae9d04e02d9fd05cc320bbc89720e0ad8efc2386e476f0b921\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d9c9054ada43073f83e6e36761a5e428da1a0ec0f1b238995deddcac2c21b8c\",\"dweb:/ipfs/QmS3pcaWW4uwaQqJ3iQ56fpNcf6NtWZTHeYL4fvPa3gQYz\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x417a6f201d6b0e3872979beca22f173ca518ef826fafb23b8d5b93bf7e42192d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ccc2bdaacf5e5cd18d3d5424e9eb118ff9e59485011595381869af89665c579\",\"dweb:/ipfs/QmdPps2gVGqktfANjoxyU93ridF86vpppp7HNoiJkDzksm\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x55cf2bd9fc76704ddcdc19834cd288b7de00fc0f298a40ea16a954ae8991db2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37e4df53c8d2e3c1062c1c7b2c17366db7de03bfd2559d340ca95c588aa49c2f\",\"dweb:/ipfs/QmQ9vsG3o4wED3FRogiSUhdzJvZSjjYFtydzXvFEJtgZk4\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0x398d3323c1932a5986bf36be7c57593e121e69d5db5b6574b4ee0d031443de37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b268304e03daf22c349abe3c318bc6a6badd6542d62311716ab401eec745f78\",\"dweb:/ipfs/QmNYy2sc2RoTjDhyT6HAibmeDGqfhDiDpsWRbHFHoGVHLr\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0x2033e349d606483684968f190b814bbc853774c8d82305e179d094c5042fb512\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa9b82acfb4493894b4123b4ab44f5ace697e743631642a8e0bc60aafca2bac5\",\"dweb:/ipfs/QmePLecHQuCPTErGNPH7C2zdXod9RZncAZ2cJoYBaUaPQp\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacac2065b3ed1facff1163435890d4a6bcdc474e857e8e2c91ae5fb50418f723\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acd44ec097dd623f40870ca848c31deb02dca032ec9c56bd2e52ee103d35ce6d\",\"dweb:/ipfs/Qme3CuA45xCft72RjE6s4bmhffpe2NHvHULH9fh5oPbzBv\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x1fd7933ef0875db5bb8f32053e6ca36ab5544268c69cb04de9575609052a3fde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e70aba58a73da37b33e8c7f6e04cbf957530afd3f463d4010e2a671773f5d82\",\"dweb:/ipfs/QmVitut8wbt64G3vpg4SmtbkPYGyqYCoBAFBqfv2KybE11\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0xe06d80490ce50e16b7e631d6183cb3dac8b25482748814f394590f0de3c2e4a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d07b9e7985fd8a09150c8e69178bfb05eb5e86d90fd3d91f17f1a57289e805f\",\"dweb:/ipfs/QmczFpxjLYsaWndsDj2NFLa4cfoCYi3g8jHMVNfUCzN9xF\"]},\"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xe68316395a79ca1b88a356d821c3abb44dcf342cc5633914198d395f5e6fb255\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4849b485458869816863dca773fe26d4520046adfd1f017cc54a9480cdf0b81e\",\"dweb:/ipfs/QmPgdjLvhEW6ArWWy6eU5fPGVtb12ecQrhBHApFLCN2nQo\"]},\"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xcf9bb8bff70abfed58cf76ebb24db355677b70de14bb335dcf95bccf3e657f5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e283a8161fa7f163c2db9a0d45ad5c7d5890e531134838b6914e512cbb1fdbfb\",\"dweb:/ipfs/QmTkfaaQPCdVGCn2QG38NHe7auaUbDa8HwLcCSuZd5UFvT\"]},\"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol\":{\"keccak256\":\"0x2bf5b28a66285526edbbe6296821d9d670e10f555fbd3db09e5dd0e52502aa9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8f31b26145a827a2f695baa3715811d1ed3db8f098d5339e64867585d2a43f\",\"dweb:/ipfs/QmbcEaJUrSyF1QXNn9dK7HoRNsEqjAJG9fesdgoKQrTPYg\"]},\"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xe6ccd5e1671c64bbb2cbe9aff65617bbeef899d879cbe712bfb69f6fa490f29c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c1f6984f179fefe7ebbb3fb36d880484d59f3595c76537cf6d63333b2c6aa79\",\"dweb:/ipfs/QmNzGPY1AhpAJvduFDLFv3rSgMiHgrQugQ8VCXWwq5XdLK\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.15+commit.e14f2714" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [], + "type": "error", + "name": "CantAddToOFFList" + }, + { + "inputs": [], + "type": "error", + "name": "DeadmanTriggerStillActive" + }, + { + "inputs": [], + "type": "error", + "name": "MustBeAdmin" + }, + { + "inputs": [], + "type": "error", + "name": "Unauthorized" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_updater", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "_addedAddr", + "type": "address", + "indexed": true + }, + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_ListType", + "type": "uint8", + "indexed": true + } + ], + "type": "event", + "name": "AddressAddedToList", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_updater", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "_removedAddr", + "type": "address", + "indexed": true + }, + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_ListType", + "type": "uint8", + "indexed": true + } + ], + "type": "event", + "name": "AddressRemovedList", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "approved", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + "indexed": true + } + ], + "type": "event", + "name": "Approval", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "operator", + "type": "address", + "indexed": true + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool", + "indexed": false + } + ], + "type": "event", + "name": "ApprovalForAll", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address", + "indexed": true + } + ], + "type": "event", + "name": "ContractDisabled", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_activator", + "type": "address", + "indexed": true + } + ], + "type": "event", + "name": "DeadmanTriggerActivated", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_updater", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "_oldDatetime", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "_newDatetime", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "DeadmanTriggerDatetimeUpdated", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "version", + "type": "uint8", + "indexed": false + } + ], + "type": "event", + "name": "Initialized", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_updater", + "type": "address", + "indexed": true + }, + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8", + "indexed": false + } + ], + "type": "event", + "name": "ListCleared", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_updater", + "type": "address", + "indexed": true + }, + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_oldListType", + "type": "uint8", + "indexed": true + }, + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_newListType", + "type": "uint8", + "indexed": true + } + ], + "type": "event", + "name": "ListTypeUpdated", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "string", + "name": "baseURI", + "type": "string", + "indexed": false + } + ], + "type": "event", + "name": "MetadataLocked", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "string", + "name": "baseURI", + "type": "string", + "indexed": false + } + ], + "type": "event", + "name": "MetadataUpdated", + "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": [ + { + "internalType": "uint256", + "name": "numberOfTokens", + "type": "uint256", + "indexed": true + }, + { + "internalType": "string", + "name": "baseURI", + "type": "string", + "indexed": false + } + ], + "type": "event", + "name": "PrepareMint", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "to", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + "indexed": true + } + ], + "type": "event", + "name": "Transfer", + "anonymous": false + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "activateDeadmanListTrigger" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "approve" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8" + }, + { + "internalType": "address[]", + "name": "_addrs", + "type": "address[]" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "batchAddAddressToRoyaltyList" + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8" + }, + { + "internalType": "address[]", + "name": "_addrs", + "type": "address[]" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "batchRemoveAddressToRoyaltyList" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "burn" + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "clearList" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "deleteToken" + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "disableContract" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "disabled", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getDeadmanTriggerAvailableDatetime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getDefaultRoyaltyPercentage", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getDefaultRoyaltyReceiver", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getInUseList", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ] + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_listType", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getList", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getListType", + "outputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "", + "type": "uint8" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getMintConfig", + "outputs": [ + { + "internalType": "struct LazySovereignNFT.MintConfig", + "name": "", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "numberOfTokens", + "type": "uint256" + }, + { + "internalType": "string", + "name": "baseURI", + "type": "string" + }, + { + "internalType": "bool", + "name": "lockedMetadata", + "type": "bool" + } + ] + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "hasAdminPermission", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_creator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxTokens", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "init" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "isApprovedMinter", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "isOperatorInList", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "lockBaseURI" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "maxTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "mintTo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_numberOfTokens", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "prepareMint" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_numberOfTokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_minter", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "prepareMintWithMinter" + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "renounceOwnership" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_salePrice", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "royaltyInfo", + "outputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "royaltyAmount", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "safeTransferFrom" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "safeTransferFrom" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_approved", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setApprovalForAll" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_numYears", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setDeadmanListTriggerRenewalDuration" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setDefaultRoyaltyReceiver" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setRoyaltyReceiverForToken" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "_interfaceId", + "type": "bytes4" + } + ], + "stateMutability": "view", + "type": "function", + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [ + { + "internalType": "enum IRoyaltyGuard.ListType", + "name": "_newListType", + "type": "uint8" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "toggleListType" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "tokenCreator", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transferFrom" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transferOwnership" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "updateBaseURI" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "activateDeadmanListTrigger()": { + "details": "Can only be called if deadmanListTriggerAfterDatetime is in the past." + }, + "approve(address,uint256)": { + "details": "Guards {approve} based on the type of list and depending if {_spender} is on the list." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "batchAddAddressToRoyaltyList(uint8,address[])": { + "details": "Only the contract owner can call this function.Cannot add to the OFF list", + "params": { + "_addrs": "being added to the designated list", + "_listType": "that addresses are being added to" + } + }, + "batchRemoveAddressToRoyaltyList(uint8,address[])": { + "details": "Only the contract owner can call this function.", + "params": { + "_addrs": "being removed from the designated list", + "_listType": "that addresses are being removed from" + } + }, + "burn(uint256)": { + "details": "Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator." + }, + "clearList(uint8)": { + "details": "Only the contract owner can call this function.", + "params": { + "_listType": "of list being cleared." + } + }, + "deleteToken(uint256)": { + "details": "Delete a token with the given ID.", + "params": { + "_tokenId": "The ID of the token to delete." + } + }, + "disableContract()": { + "details": "Disable the contract, preventing further minting." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "getDeadmanTriggerAvailableDatetime()": { + "returns": { + "_0": "uint256 denoting unix epoch time after which the deadman trigger can be activated." + } + }, + "getInUseList()": { + "returns": { + "_0": "list of addresses on a given list." + } + }, + "getList(uint8)": { + "params": { + "_listType": "of list being retrieved." + }, + "returns": { + "_0": "list of addresses on a given list." + } + }, + "getListType()": { + "returns": { + "_0": "ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)" + } + }, + "getMintConfig()": { + "details": "Get the current minting configuration.", + "returns": { + "_0": "mintConfig the mint config." + } + }, + "hasAdminPermission(address)": { + "details": "used in the {onlyAdmin} modifier", + "returns": { + "_0": "bool denoting if _addr has admin permission." + } + }, + "init(string,string,address,uint256)": { + "details": "Contract initialization function.", + "params": { + "_creator": "The address of the contract creator.", + "_maxTokens": "The maximum number of tokens that can be minted.", + "_name": "The name of the NFT contract.", + "_symbol": "The symbol of the NFT contract." + } + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "isApprovedMinter(address)": { + "details": "Checks if the supplied address is approved for minting", + "params": { + "_address": "The address of the minter." + }, + "returns": { + "_0": "bool, whether the address is approved for minting." + } + }, + "isOperatorInList(address)": { + "params": { + "_operator": "address being checked." + }, + "returns": { + "_0": "bool relating to if the operator is on the list." + } + }, + "lockBaseURI()": { + "details": "Lock the metadata to prevent further updates." + }, + "mintTo(address)": { + "details": "Mint a new token to the specified receiver.", + "params": { + "_receiver": "The address of the token receiver." + }, + "returns": { + "_0": "uint256 Token Id of the new token." + } + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "prepareMint(string,uint256)": { + "details": "Prepare a minting batch with a specified base URI and number of tokens.", + "params": { + "_baseURI": "The base URI for token metadata.", + "_numberOfTokens": "The number of tokens to prepare for minting." + } + }, + "prepareMintWithMinter(string,uint256,address)": { + "details": "Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address.", + "params": { + "_baseURI": "The base URI for token metadata.", + "_minter": "The address of the minter.", + "_numberOfTokens": "The number of tokens to prepare for minting." + } + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "royaltyInfo(uint256,uint256)": { + "params": { + "_salePrice": "- the sale price of the NFT asset specified by _tokenId", + "_tokenId": "- the NFT asset queried for royalty information" + }, + "returns": { + "receiver": "- address of who should be sent the royalty payment", + "royaltyAmount": "- the royalty payment amount for _salePrice" + } + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list." + }, + "setDeadmanListTriggerRenewalDuration(uint256)": { + "details": "Only the contract owner can call this function.", + "params": { + "_numYears": "to renew the trigger for." + } + }, + "setDefaultRoyaltyReceiver(address)": { + "details": "Set the default royalty receiver address.", + "params": { + "_receiver": "The address of the default royalty receiver." + } + }, + "setRoyaltyReceiverForToken(address,uint256)": { + "details": "Set a specific royalty receiver address for a token.", + "params": { + "_receiver": "The address of the royalty receiver.", + "_tokenId": "The ID of the token." + } + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "toggleListType(uint8)": { + "details": "Only the contract owner can call this function.", + "params": { + "_newListType": "to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)" + } + }, + "tokenCreator(uint256)": { + "details": "Get the address of the token creator for a given token ID.", + "params": { + "_tokenId": "The ID of the token." + }, + "returns": { + "_0": "address of the token creator." + } + }, + "tokenURI(uint256)": { + "details": "Get the token URI for a specific token.", + "params": { + "_tokenId": "The ID of the token." + }, + "returns": { + "_0": "The token's URI." + } + }, + "totalSupply()": { + "details": "Get the total supply of tokens in existence.", + "returns": { + "_0": "The total supply of tokens." + } + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + }, + "updateBaseURI(string)": { + "details": "Update the base URI.", + "params": { + "_baseURI": "The new base URI." + } + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "activateDeadmanListTrigger()": { + "notice": "Triggers the deadman switch for the list" + }, + "batchAddAddressToRoyaltyList(uint8,address[])": { + "notice": "Adds a list of addresses to the specified list." + }, + "batchRemoveAddressToRoyaltyList(uint8,address[])": { + "notice": "Removes a list of addresses to the specified list." + }, + "clearList(uint8)": { + "notice": "Clears an entire list." + }, + "getDeadmanTriggerAvailableDatetime()": { + "notice": "The datetime threshold after which the deadman trigger can be called by anyone." + }, + "getInUseList()": { + "notice": "Returns the set of addresses on a list." + }, + "getList(uint8)": { + "notice": "Returns the set of addresses on a list." + }, + "getListType()": { + "notice": "Returns the ListType currently being used;" + }, + "hasAdminPermission(address)": { + "notice": "States whether or not an address has admin permission." + }, + "isOperatorInList(address)": { + "notice": "Returns if the supplied operator address in part of the current in use list." + }, + "setDeadmanListTriggerRenewalDuration(uint256)": { + "notice": "Sets the deadman list trigger for the specified number of years from current block timestamp" + }, + "toggleListType(uint8)": { + "notice": "Toggles the list type between ALLOW, DENY, or OFF" + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + "aux/=lib/aux/", + "ds-test/=lib/ds-test/src/", + "erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", + "openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", + "rareprotocol/aux/=lib/aux/src/", + "royalty-guard/=lib/royalty-guard/src/royalty-guard/", + "solmate/=lib/royalty-guard/lib/solmate/src/" + ], + "optimizer": { + "enabled": true, + "runs": 200 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol": "LazySovereignNFTRoyaltyGuardDeadmanTrigger" + }, + "libraries": {} + }, + "sources": { + "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol": { + "keccak256": "0x652fee292f698d8dba81bf287cb71f1682f6483b67ebe601a5f7387dcfc30b34", + "urls": [ + "bzz-raw://98c7bba29bcab7240cdaada7dd7cbe3529fec83314801270c46239e72a9e84d7", + "dweb:/ipfs/QmfHCc1KMygjXchXVwafWTkFjhbb2SQ3Cu5GzRTdV4CCCh" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol": { + "keccak256": "0xb5239b505e918cb7427b939ff15da7bf7c4bb68ccb109caef246a3f58b19ba5e", + "urls": [ + "bzz-raw://e5f2ea070e870eea699ee433245459f08020a4752df4f5d391de87a529fc2bad", + "dweb:/ipfs/QmWUcKCKzqQtB6sfJHxGzNj7QRogPmUsW3QQZPAcD3kLSB" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol": { + "keccak256": "0xf7f866b810ddf2508a9cba461906617a1ff561e33835d81a1be9bff9bbfb7ff9", + "urls": [ + "bzz-raw://21142ed30406e8f3dc9d42907aaef8bd34dfee63101d011fc3e1a3a198b9c740", + "dweb:/ipfs/QmW7EkuJFzsejU5keEjULPFFDe8gBEiNYdQ6Z1LrgWnHst" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol": { + "keccak256": "0x6c4dd0c916c4d69014b1a430f5803d3ea1f35c1a8021aefafde55ca4c2d20c2a", + "urls": [ + "bzz-raw://93fd17a1502ac391fd929e9c585032efed0b2ed1fb6fe6026dbc44621538b84d", + "dweb:/ipfs/Qmd3S9HaNGe83wctpj7Bvn6p2veG5P6QH1nPcRuKNJfUqN" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol": { + "keccak256": "0xd16dc04b4bf357ae9d04e02d9fd05cc320bbc89720e0ad8efc2386e476f0b921", + "urls": [ + "bzz-raw://4d9c9054ada43073f83e6e36761a5e428da1a0ec0f1b238995deddcac2c21b8c", + "dweb:/ipfs/QmS3pcaWW4uwaQqJ3iQ56fpNcf6NtWZTHeYL4fvPa3gQYz" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol": { + "keccak256": "0x417a6f201d6b0e3872979beca22f173ca518ef826fafb23b8d5b93bf7e42192d", + "urls": [ + "bzz-raw://3ccc2bdaacf5e5cd18d3d5424e9eb118ff9e59485011595381869af89665c579", + "dweb:/ipfs/QmdPps2gVGqktfANjoxyU93ridF86vpppp7HNoiJkDzksm" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol": { + "keccak256": "0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70", + "urls": [ + "bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3", + "dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol": { + "keccak256": "0x55cf2bd9fc76704ddcdc19834cd288b7de00fc0f298a40ea16a954ae8991db2d", + "urls": [ + "bzz-raw://37e4df53c8d2e3c1062c1c7b2c17366db7de03bfd2559d340ca95c588aa49c2f", + "dweb:/ipfs/QmQ9vsG3o4wED3FRogiSUhdzJvZSjjYFtydzXvFEJtgZk4" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol": { + "keccak256": "0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149", + "urls": [ + "bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c", + "dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol": { + "keccak256": "0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d", + "urls": [ + "bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912", + "dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol": { + "keccak256": "0x398d3323c1932a5986bf36be7c57593e121e69d5db5b6574b4ee0d031443de37", + "urls": [ + "bzz-raw://8b268304e03daf22c349abe3c318bc6a6badd6542d62311716ab401eec745f78", + "dweb:/ipfs/QmNYy2sc2RoTjDhyT6HAibmeDGqfhDiDpsWRbHFHoGVHLr" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol": { + "keccak256": "0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a", + "urls": [ + "bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7", + "dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol": { + "keccak256": "0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09", + "urls": [ + "bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758", + "dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol": { + "keccak256": "0x2033e349d606483684968f190b814bbc853774c8d82305e179d094c5042fb512", + "urls": [ + "bzz-raw://aa9b82acfb4493894b4123b4ab44f5ace697e743631642a8e0bc60aafca2bac5", + "dweb:/ipfs/QmePLecHQuCPTErGNPH7C2zdXod9RZncAZ2cJoYBaUaPQp" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol": { + "keccak256": "0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b", + "urls": [ + "bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d", + "dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { + "keccak256": "0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1", + "urls": [ + "bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f", + "dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol": { + "keccak256": "0xacac2065b3ed1facff1163435890d4a6bcdc474e857e8e2c91ae5fb50418f723", + "urls": [ + "bzz-raw://acd44ec097dd623f40870ca848c31deb02dca032ec9c56bd2e52ee103d35ce6d", + "dweb:/ipfs/Qme3CuA45xCft72RjE6s4bmhffpe2NHvHULH9fh5oPbzBv" + ], + "license": "MIT" + }, + "lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol": { + "keccak256": "0x1fd7933ef0875db5bb8f32053e6ca36ab5544268c69cb04de9575609052a3fde", + "urls": [ + "bzz-raw://4e70aba58a73da37b33e8c7f6e04cbf957530afd3f463d4010e2a671773f5d82", + "dweb:/ipfs/QmVitut8wbt64G3vpg4SmtbkPYGyqYCoBAFBqfv2KybE11" + ], + "license": "MIT" + }, + "lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol": { + "keccak256": "0xe06d80490ce50e16b7e631d6183cb3dac8b25482748814f394590f0de3c2e4a5", + "urls": [ + "bzz-raw://6d07b9e7985fd8a09150c8e69178bfb05eb5e86d90fd3d91f17f1a57289e805f", + "dweb:/ipfs/QmczFpxjLYsaWndsDj2NFLa4cfoCYi3g8jHMVNfUCzN9xF" + ], + "license": "MIT" + }, + "lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol": { + "keccak256": "0xe68316395a79ca1b88a356d821c3abb44dcf342cc5633914198d395f5e6fb255", + "urls": [ + "bzz-raw://4849b485458869816863dca773fe26d4520046adfd1f017cc54a9480cdf0b81e", + "dweb:/ipfs/QmPgdjLvhEW6ArWWy6eU5fPGVtb12ecQrhBHApFLCN2nQo" + ], + "license": "MIT" + }, + "lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol": { + "keccak256": "0xcf9bb8bff70abfed58cf76ebb24db355677b70de14bb335dcf95bccf3e657f5e", + "urls": [ + "bzz-raw://e283a8161fa7f163c2db9a0d45ad5c7d5890e531134838b6914e512cbb1fdbfb", + "dweb:/ipfs/QmTkfaaQPCdVGCn2QG38NHe7auaUbDa8HwLcCSuZd5UFvT" + ], + "license": "MIT" + }, + "src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol": { + "keccak256": "0x2bf5b28a66285526edbbe6296821d9d670e10f555fbd3db09e5dd0e52502aa9d", + "urls": [ + "bzz-raw://cc8f31b26145a827a2f695baa3715811d1ed3db8f098d5339e64867585d2a43f", + "dweb:/ipfs/QmbcEaJUrSyF1QXNn9dK7HoRNsEqjAJG9fesdgoKQrTPYg" + ], + "license": "MIT" + }, + "src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol": { + "keccak256": "0xe6ccd5e1671c64bbb2cbe9aff65617bbeef899d879cbe712bfb69f6fa490f29c", + "urls": [ + "bzz-raw://2c1f6984f179fefe7ebbb3fb36d880484d59f3595c76537cf6d63333b2c6aa79", + "dweb:/ipfs/QmNzGPY1AhpAJvduFDLFv3rSgMiHgrQugQ8VCXWwq5XdLK" + ], + "license": "MIT" + }, + "src/token/extensions/ERC2981Upgradeable.sol": { + "keccak256": "0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d", + "urls": [ + "bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465", + "dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA" + ], + "license": "MIT" + }, + "src/token/extensions/IERC2981.sol": { + "keccak256": "0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd", + "urls": [ + "bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b", + "dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w" + ], + "license": "MIT" + }, + "src/token/extensions/ITokenCreator.sol": { + "keccak256": "0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6", + "urls": [ + "bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42", + "dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol", + "id": 4736, + "exportedSymbols": { + "AddressUpgradeable": [ + 1610 + ], + "ContextUpgradeable": [ + 1652 + ], + "CountersUpgradeable": [ + 1726 + ], + "ERC165": [ + 2528 + ], + "ERC165Upgradeable": [ + 1973 + ], + "ERC2981Upgradeable": [ + 4909 + ], + "ERC721BurnableUpgradeable": [ + 1340 + ], + "ERC721Upgradeable": [ + 1156 + ], + "EnumerableSet": [ + 3139 + ], + "IERC165Upgradeable": [ + 1985 + ], + "IERC2981": [ + 4925 + ], + "IERC721MetadataUpgradeable": [ + 1367 + ], + "IERC721ReceiverUpgradeable": [ + 1174 + ], + "IERC721Upgradeable": [ + 1290 + ], + "IRoyaltyGuard": [ + 3269 + ], + "IRoyaltyGuardDeadmanTrigger": [ + 3666 + ], + "ITokenCreator": [ + 4935 + ], + "Initializable": [ + 265 + ], + "LazySovereignNFT": [ + 4292 + ], + "LazySovereignNFTRoyaltyGuardDeadmanTrigger": [ + 4735 + ], + "OwnableUpgradeable": [ + 123 + ], + "RoyaltyGuard": [ + 3625 + ], + "RoyaltyGuardDeadmanTrigger": [ + 3760 + ], + "SafeMathUpgradeable": [ + 2297 + ], + "StringsUpgradeable": [ + 1929 + ] + }, + "nodeType": "SourceUnit", + "src": "85:1852:27", + "nodes": [ + { + "id": 4649, + "nodeType": "PragmaDirective", + "src": "85:23:27", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ] + }, + { + "id": 4650, + "nodeType": "ImportDirective", + "src": "110:65:27", + "nodes": [], + "absolutePath": "lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol", + "file": "royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol", + "nameLocation": "-1:-1:-1", + "scope": 4736, + "sourceUnit": 3761, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 4651, + "nodeType": "ImportDirective", + "src": "177:33:27", + "nodes": [], + "absolutePath": "src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol", + "file": "../LazySovereignNFT.sol", + "nameLocation": "-1:-1:-1", + "scope": 4736, + "sourceUnit": 4293, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 4735, + "nodeType": "ContractDefinition", + "src": "212:1724:27", + "nodes": [ + { + "id": 4677, + "nodeType": "FunctionDefinition", + "src": "576:312:27", + "nodes": [], + "body": { + "id": 4676, + "nodeType": "Block", + "src": "744:144:27", + "nodes": [], + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 4668, + "name": "_interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4658, + "src": "804:12:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 4666, + "name": "RoyaltyGuard", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3625, + "src": "773:12:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_RoyaltyGuard_$3625_$", + "typeString": "type(contract RoyaltyGuard)" + } + }, + "id": 4667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 3532, + "src": "773:30:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 4669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "773:44:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 4672, + "name": "_interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4658, + "src": "868:12:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 4670, + "name": "LazySovereignNFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4292, + "src": "833:16:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LazySovereignNFT_$4292_$", + "typeString": "type(contract LazySovereignNFT)" + } + }, + "id": 4671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 4205, + "src": "833:34:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 4673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "833:48:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "773:108:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 4665, + "id": 4675, + "nodeType": "Return", + "src": "754:127:27" + } + ] + }, + "baseFunctions": [ + 3532, + 4205 + ], + "documentation": { + "id": 4656, + "nodeType": "StructuredDocumentation", + "src": "530:41:27", + "text": "@dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "585:17:27", + "overrides": { + "id": 4662, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "id": 4660, + "name": "LazySovereignNFT", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4292, + "src": "685:16:27" + }, + { + "id": 4661, + "name": "RoyaltyGuard", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3625, + "src": "703:12:27" + } + ], + "src": "676:40:27" + }, + "parameters": { + "id": 4659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4658, + "mutability": "mutable", + "name": "_interfaceId", + "nameLocation": "610:12:27", + "nodeType": "VariableDeclaration", + "scope": 4677, + "src": "603:19:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 4657, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "603:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "602:21:27" + }, + "returnParameters": { + "id": 4665, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4664, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4677, + "src": "734:4:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4663, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "734:4:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "733:6:27" + }, + "scope": 4735, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 4694, + "nodeType": "FunctionDefinition", + "src": "1133:200:27", + "nodes": [], + "body": { + "id": 4693, + "nodeType": "Block", + "src": "1293:40:27", + "nodes": [], + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4688, + "name": "_addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4680, + "src": "1310:5:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4689, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "1319:5:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 4690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1319:7:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1310:16:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 4687, + "id": 4692, + "nodeType": "Return", + "src": "1303:23:27" + } + ] + }, + "baseFunctions": [ + 3261, + 3510 + ], + "documentation": { + "id": 4678, + "nodeType": "StructuredDocumentation", + "src": "1100:28:27", + "text": "@inheritdoc RoyaltyGuard" + }, + "functionSelector": "20427486", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasAdminPermission", + "nameLocation": "1142:18:27", + "overrides": { + "id": 4684, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "id": 4682, + "name": "IRoyaltyGuard", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3269, + "src": "1237:13:27" + }, + { + "id": 4683, + "name": "RoyaltyGuard", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3625, + "src": "1252:12:27" + } + ], + "src": "1228:37:27" + }, + "parameters": { + "id": 4681, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4680, + "mutability": "mutable", + "name": "_addr", + "nameLocation": "1169:5:27", + "nodeType": "VariableDeclaration", + "scope": 4694, + "src": "1161:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4679, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1161:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1160:15:27" + }, + "returnParameters": { + "id": 4687, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4686, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4694, + "src": "1283:4:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4685, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1283:4:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1282:6:27" + }, + "scope": 4735, + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "id": 4714, + "nodeType": "FunctionDefinition", + "src": "1439:173:27", + "nodes": [], + "body": { + "id": 4713, + "nodeType": "Block", + "src": "1567:45:27", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 4709, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4697, + "src": "1591:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4710, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4699, + "src": "1601:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 4706, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "1577:5:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_LazySovereignNFTRoyaltyGuardDeadmanTrigger_$4735_$", + "typeString": "type(contract super LazySovereignNFTRoyaltyGuardDeadmanTrigger)" + } + }, + "id": 4708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "approve", + "nodeType": "MemberAccess", + "referencedDeclaration": 545, + "src": "1577:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 4711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1577:28:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4712, + "nodeType": "ExpressionStatement", + "src": "1577:28:27" + } + ] + }, + "baseFunctions": [ + 545 + ], + "documentation": { + "id": 4695, + "nodeType": "StructuredDocumentation", + "src": "1339:95:27", + "text": "@dev Guards {approve} based on the type of list and depending if {_spender} is on the list." + }, + "functionSelector": "095ea7b3", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 4703, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4697, + "src": "1553:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 4704, + "kind": "modifierInvocation", + "modifierName": { + "id": 4702, + "name": "checkList", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3345, + "src": "1543:9:27" + }, + "nodeType": "ModifierInvocation", + "src": "1543:19:27" + } + ], + "name": "approve", + "nameLocation": "1448:7:27", + "overrides": { + "id": 4701, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1526:8:27" + }, + "parameters": { + "id": 4700, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4697, + "mutability": "mutable", + "name": "_spender", + "nameLocation": "1464:8:27", + "nodeType": "VariableDeclaration", + "scope": 4714, + "src": "1456:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4696, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1456:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4699, + "mutability": "mutable", + "name": "_id", + "nameLocation": "1482:3:27", + "nodeType": "VariableDeclaration", + "scope": 4714, + "src": "1474:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4698, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1474:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1455:31:27" + }, + "returnParameters": { + "id": 4705, + "nodeType": "ParameterList", + "parameters": [], + "src": "1567:0:27" + }, + "scope": 4735, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "id": 4734, + "nodeType": "FunctionDefinition", + "src": "1729:205:27", + "nodes": [], + "body": { + "id": 4733, + "nodeType": "Block", + "src": "1872:62:27", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 4729, + "name": "_operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4717, + "src": "1906:9:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4730, + "name": "_approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4719, + "src": "1917:9:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 4726, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "1882:5:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_LazySovereignNFTRoyaltyGuardDeadmanTrigger_$4735_$", + "typeString": "type(contract super LazySovereignNFTRoyaltyGuardDeadmanTrigger)" + } + }, + "id": 4728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setApprovalForAll", + "nodeType": "MemberAccess", + "referencedDeclaration": 583, + "src": "1882:23:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bool_$returns$__$", + "typeString": "function (address,bool)" + } + }, + "id": 4731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1882:45:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4732, + "nodeType": "ExpressionStatement", + "src": "1882:45:27" + } + ] + }, + "baseFunctions": [ + 583 + ], + "documentation": { + "id": 4715, + "nodeType": "StructuredDocumentation", + "src": "1618:106:27", + "text": "@dev Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list." + }, + "functionSelector": "a22cb465", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 4723, + "name": "_operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4717, + "src": "1857:9:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 4724, + "kind": "modifierInvocation", + "modifierName": { + "id": 4722, + "name": "checkList", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3345, + "src": "1847:9:27" + }, + "nodeType": "ModifierInvocation", + "src": "1847:20:27" + } + ], + "name": "setApprovalForAll", + "nameLocation": "1738:17:27", + "overrides": { + "id": 4721, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1830:8:27" + }, + "parameters": { + "id": 4720, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4717, + "mutability": "mutable", + "name": "_operator", + "nameLocation": "1764:9:27", + "nodeType": "VariableDeclaration", + "scope": 4734, + "src": "1756:17:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4716, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1756:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4719, + "mutability": "mutable", + "name": "_approved", + "nameLocation": "1780:9:27", + "nodeType": "VariableDeclaration", + "scope": 4734, + "src": "1775:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4718, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1775:4:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1755:35:27" + }, + "returnParameters": { + "id": 4725, + "nodeType": "ParameterList", + "parameters": [], + "src": "1872:0:27" + }, + "scope": 4735, + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 4652, + "name": "LazySovereignNFT", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4292, + "src": "271:16:27" + }, + "id": 4653, + "nodeType": "InheritanceSpecifier", + "src": "271:16:27" + }, + { + "baseName": { + "id": 4654, + "name": "RoyaltyGuardDeadmanTrigger", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3760, + "src": "293:26:27" + }, + "id": 4655, + "nodeType": "InheritanceSpecifier", + "src": "293:26:27" + } + ], + "canonicalName": "LazySovereignNFTRoyaltyGuardDeadmanTrigger", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 4735, + 3760, + 3625, + 2528, + 2540, + 3666, + 3269, + 4292, + 4909, + 1340, + 4935, + 1156, + 1367, + 1290, + 1973, + 1985, + 123, + 1652, + 265, + 4925 + ], + "name": "LazySovereignNFTRoyaltyGuardDeadmanTrigger", + "nameLocation": "221:42:27", + "scope": 4736, + "usedErrors": [ + 3188, + 3191, + 3194, + 3649 + ] + } + ], + "license": "MIT" + }, + "id": 27 +} \ No newline at end of file diff --git a/abis/RareSpaceNFT.json b/abis/RareSpaceNFT.json index a141924..2198066 100644 --- a/abis/RareSpaceNFT.json +++ b/abis/RareSpaceNFT.json @@ -739,12 +739,12 @@ ], "bytecode": { "object": "0x6080604052610101805460ff1916600117905534801561001e57600080fd5b506124a78061002e6000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c80636297c16c1161012557806395d89b41116100ad578063c87b56dd1161007c578063c87b56dd1461049f578063e43252d7146104b2578063e5cff487146104c5578063e985e9c5146104d8578063f2fde38b1461051457600080fd5b806395d89b4114610469578063a22cb46514610471578063ab69607a14610484578063b88d4fde1461048c57600080fd5b8063715018a6116100f4578063715018a61461040957806380e3f1ad1461041157806381b97161146104245780638ab1d681146104455780638da5cb5b1461045857600080fd5b80636297c16c146103bd5780636352211e146103d05780636ee5741a146103e357806370a08231146103f657600080fd5b80632a55205a116101a857806340c1a0641161017757806340c1a0641461034d57806342842e0e1461037657806342966c68146103895780634aa52c411461039c57806351fb012d146103af57600080fd5b80632a55205a146102e45780632d13f7d8146103165780633403c4e9146103295780633af32abf1461033a57600080fd5b80631029f467116101e45780631029f46714610293578063139d8325146102a65780631ef87a5d146102be57806323b872dd146102d157600080fd5b806301ffc9a71461021657806306fdde031461023e578063081812fc14610253578063095ea7b31461027e575b600080fd5b610229610224366004611b7b565b610527565b60405190151581526020015b60405180910390f35b610246610552565b6040516102359190611bf0565b610266610261366004611c03565b6105e4565b6040516001600160a01b039091168152602001610235565b61029161028c366004611c33565b61067e565b005b6102916102a1366004611c33565b610793565b6102b06101045481565b604051908152602001610235565b6102916102cc366004611ca9565b6107cb565b6102916102df366004611d15565b61086d565b6102f76102f2366004611d51565b61089f565b604080516001600160a01b039093168352602083019190915201610235565b6102b0610324366004611d73565b61093a565b60fc546001600160a01b0316610266565b610229610348366004611d73565b610974565b61026661035b366004611c03565b600090815260c960205260409020546001600160a01b031690565b610291610384366004611d15565b610995565b610291610397366004611c03565b6109b0565b6102916103aa366004611d8e565b610a2a565b610101546102299060ff1681565b6102916103cb366004611c03565b610a92565b6102666103de366004611c03565b610ab9565b6102916103f1366004611ecc565b610b30565b6102b0610404366004611d73565b610bd4565b610291610c5a565b61029161041f366004611f50565b610c90565b6102b0610432366004611d73565b6101006020526000908152604090205481565b610291610453366004611d73565b610ccc565b6033546001600160a01b0316610266565b610246610cff565b61029161047f366004611f6b565b610d0e565b60fd546102b0565b61029161049a366004611f95565b610d19565b6102466104ad366004611c03565b610d4b565b6102916104c0366004611d73565b610e33565b6102916104d3366004612011565b610e66565b6102296104e6366004612034565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b610291610522366004611d73565b610ec4565b6000631030681960e21b6001600160e01b03198316148061054c575061054c82610f5c565b92915050565b6060609780546105619061205e565b80601f016020809104026020016040519081016040528092919081815260200182805461058d9061205e565b80156105da5780601f106105af576101008083540402835291602001916105da565b820191906000526020600020905b8154815290600101906020018083116105bd57829003601f168201915b5050505050905090565b6000818152609960205260408120546001600160a01b03166106625760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152609b60205260409020546001600160a01b031690565b600061068982610ab9565b9050806001600160a01b0316836001600160a01b0316036106f65760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610659565b336001600160a01b0382161480610712575061071281336104e6565b6107845760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610659565b61078e8383610f81565b505050565b6033546001600160a01b031633146107bd5760405162461bcd60e51b815260040161065990612098565b6107c78282610fef565b5050565b6033546001600160a01b031633146107f55760405162461bcd60e51b815260040161065990612098565b82811461080157600080fd5b60005b8381101561086657610854858583818110610821576108216120cd565b90506020020160208101906108369190611d73565b848484818110610848576108486120cd565b90506020020135610fef565b8061085e816120f9565b915050610804565b5050505050565b610878335b82611043565b6108945760405162461bcd60e51b815260040161065990612112565b61078e83838361113a565b600082815260fe602052604081205481906001600160a01b03166108ce5760fc546001600160a01b03166108e7565b600084815260fe60205260409020546001600160a01b03165b9150610931606461092b60ff6000888152602001908152602001600020546000036109145760fd54610924565b600087815260ff60205260409020545b86906112d6565b906112e2565b90509250929050565b6101015460009060ff161561096657506001600160a01b03166000908152610100602052604090205490565b50600019919050565b919050565b600061097f8261093a565b60000361098d57600061054c565b600192915050565b61078e83838360405180602001604052806000815250610d19565b6109b933610872565b610a1e5760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b6064820152608401610659565b610a27816112ee565b50565b33600180610a378361093a565b1015610a4257600080fd5b610a8986868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506101045433925088915087611389565b50505050505050565b8033610a9d82610ab9565b6001600160a01b031614610ab057600080fd5b6107c7826109b0565b6000818152609960205260408120546001600160a01b03168061054c5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610659565b6000610b3c6001611434565b90508015610b54576000805461ff0019166101001790555b6001600160a01b038216610b6757600080fd5b600a61010455610b7784846114bc565b610b7f6114ed565b610b8882610ec4565b8015610bce576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b60006001600160a01b038216610c3e5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610659565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610c845760405162461bcd60e51b815260040161065990612098565b610c8e6000611514565b565b6033546001600160a01b03163314610cba5760405162461bcd60e51b815260040161065990612098565b610101805460ff191682151517905550565b6033546001600160a01b03163314610cf65760405162461bcd60e51b815260040161065990612098565b610a2781611566565b6060609880546105619061205e565b6107c73383836115b8565b610d233383611043565b610d3f5760405162461bcd60e51b815260040161065990612112565b610bce84848484611686565b6000818152609960205260409020546060906001600160a01b0316610dca5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610659565b6000610de160408051602081019091526000815290565b90506000815111610e015760405180602001604052806000815250610e2c565b80610e0b846116b9565b604051602001610e1c929190612163565b6040516020818303038152906040525b9392505050565b6033546001600160a01b03163314610e5d5760405162461bcd60e51b815260040161065990612098565b610a27816117ba565b600082815260c960205260409020546001600160a01b03163314610eba5760405162461bcd60e51b815260206004820152600b60248201526a2737ba1031b932b0ba37b960a91b6044820152606401610659565b6107c78282611815565b6033546001600160a01b03163314610eee5760405162461bcd60e51b815260040161065990612098565b6001600160a01b038116610f535760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610659565b610a2781611514565b60006001600160e01b0319821663152a902d60e11b148061054c575061054c82611843565b6000818152609b6020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610fb682610ab9565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6001600160a01b0382166000818152610100602090815260409182902084905590518381527fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e910160405180910390a25050565b6000818152609960205260408120546001600160a01b03166110bc5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610659565b60006110c783610ab9565b9050806001600160a01b0316846001600160a01b0316148061110e57506001600160a01b038082166000908152609c602090815260408083209388168352929052205460ff165b806111325750836001600160a01b0316611127846105e4565b6001600160a01b0316145b949350505050565b826001600160a01b031661114d82610ab9565b6001600160a01b0316146111b15760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610659565b6001600160a01b0382166112135760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610659565b61121e600082610f81565b6001600160a01b0383166000908152609a60205260408120805460019290611247908490612192565b90915550506001600160a01b0382166000908152609a602052604081208054600192906112759084906121a9565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000610e2c82846121c1565b6000610e2c82846121f6565b60006112f982610ab9565b9050611306600083610f81565b6001600160a01b0381166000908152609a6020526040812080546001929061132f908490612192565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b61010380546000918261139b836120f9565b91905055506113ad8461010354611893565b610103546000908152610102602052604090206113ca8782612258565b5061010354600090815260c96020526040902080546001600160a01b0319166001600160a01b0387161790556114036101035483611815565b61141d6101035484600091825260ff602052604090912055565b611426336119d5565b506101035495945050505050565b60008054610100900460ff161561147b578160ff1660011480156114575750303b155b6114735760405162461bcd60e51b815260040161065990612318565b506000919050565b60005460ff8084169116106114a25760405162461bcd60e51b815260040161065990612318565b506000805460ff191660ff92909216919091179055600190565b600054610100900460ff166114e35760405162461bcd60e51b815260040161065990612366565b6107c78282611a24565b600054610100900460ff16610c8e5760405162461bcd60e51b815260040161065990612366565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600081815261010060209081526040808320839055519182527fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e91015b60405180910390a250565b816001600160a01b0316836001600160a01b0316036116195760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610659565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61169184848461113a565b61169d84848484611a64565b610bce5760405162461bcd60e51b8152600401610659906123b1565b6060816000036116e05750506040805180820190915260018152600360fc1b602082015290565b8160005b811561170a57806116f4816120f9565b91506117039050600a836121f6565b91506116e4565b60008167ffffffffffffffff81111561172557611725611e20565b6040519080825280601f01601f19166020018201604052801561174f576020820181803683370190505b5090505b841561113257611764600183612192565b9150611771600a86612403565b61177c9060306121a9565b60f81b818381518110611791576117916120cd565b60200101906001600160f81b031916908160001a9053506117b3600a866121f6565b9450611753565b6001600160a01b0381166000908152610100602052604090206000199055806001600160a01b03167fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e6000196040516115ad91815260200190565b600091825260fe602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b60006001600160e01b031982166380ac58cd60e01b148061187457506001600160e01b03198216635b5e139f60e01b145b8061054c57506301ffc9a760e01b6001600160e01b031983161461054c565b6001600160a01b0382166118e95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610659565b6000818152609960205260409020546001600160a01b03161561194e5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610659565b6001600160a01b0382166000908152609a602052604081208054600192906119779084906121a9565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6101015460ff1615610a27576001600160a01b03811660009081526101006020526040902054611a06600182612192565b6001600160a01b038316600090815261010060205260409020555050565b600054610100900460ff16611a4b5760405162461bcd60e51b815260040161065990612366565b6097611a578382612258565b50609861078e8282612258565b60006001600160a01b0384163b15611b5a57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611aa8903390899088908890600401612417565b6020604051808303816000875af1925050508015611ae3575060408051601f3d908101601f19168201909252611ae091810190612454565b60015b611b40573d808015611b11576040519150601f19603f3d011682016040523d82523d6000602084013e611b16565b606091505b508051600003611b385760405162461bcd60e51b8152600401610659906123b1565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611132565b506001949350505050565b6001600160e01b031981168114610a2757600080fd5b600060208284031215611b8d57600080fd5b8135610e2c81611b65565b60005b83811015611bb3578181015183820152602001611b9b565b83811115610bce5750506000910152565b60008151808452611bdc816020860160208601611b98565b601f01601f19169290920160200192915050565b602081526000610e2c6020830184611bc4565b600060208284031215611c1557600080fd5b5035919050565b80356001600160a01b038116811461096f57600080fd5b60008060408385031215611c4657600080fd5b611c4f83611c1c565b946020939093013593505050565b60008083601f840112611c6f57600080fd5b50813567ffffffffffffffff811115611c8757600080fd5b6020830191508360208260051b8501011115611ca257600080fd5b9250929050565b60008060008060408587031215611cbf57600080fd5b843567ffffffffffffffff80821115611cd757600080fd5b611ce388838901611c5d565b90965094506020870135915080821115611cfc57600080fd5b50611d0987828801611c5d565b95989497509550505050565b600080600060608486031215611d2a57600080fd5b611d3384611c1c565b9250611d4160208501611c1c565b9150604084013590509250925092565b60008060408385031215611d6457600080fd5b50508035926020909101359150565b600060208284031215611d8557600080fd5b610e2c82611c1c565b60008060008060608587031215611da457600080fd5b843567ffffffffffffffff80821115611dbc57600080fd5b818701915087601f830112611dd057600080fd5b813581811115611ddf57600080fd5b886020828501011115611df157600080fd5b602092830196509450611e079187019050611c1c565b9150611e1560408601611c1c565b905092959194509250565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611e5157611e51611e20565b604051601f8501601f19908116603f01168101908282118183101715611e7957611e79611e20565b81604052809350858152868686011115611e9257600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112611ebd57600080fd5b610e2c83833560208501611e36565b600080600060608486031215611ee157600080fd5b833567ffffffffffffffff80821115611ef957600080fd5b611f0587838801611eac565b94506020860135915080821115611f1b57600080fd5b50611f2886828701611eac565b925050611f3760408501611c1c565b90509250925092565b8035801515811461096f57600080fd5b600060208284031215611f6257600080fd5b610e2c82611f40565b60008060408385031215611f7e57600080fd5b611f8783611c1c565b915061093160208401611f40565b60008060008060808587031215611fab57600080fd5b611fb485611c1c565b9350611fc260208601611c1c565b925060408501359150606085013567ffffffffffffffff811115611fe557600080fd5b8501601f81018713611ff657600080fd5b61200587823560208401611e36565b91505092959194509250565b6000806040838503121561202457600080fd5b8235915061093160208401611c1c565b6000806040838503121561204757600080fd5b61205083611c1c565b915061093160208401611c1c565b600181811c9082168061207257607f821691505b60208210810361209257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161210b5761210b6120e3565b5060010190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60008351612175818460208801611b98565b835190830190612189818360208801611b98565b01949350505050565b6000828210156121a4576121a46120e3565b500390565b600082198211156121bc576121bc6120e3565b500190565b60008160001904831182151516156121db576121db6120e3565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612205576122056121e0565b500490565b601f82111561078e57600081815260208120601f850160051c810160208610156122315750805b601f850160051c820191505b818110156122505782815560010161223d565b505050505050565b815167ffffffffffffffff81111561227257612272611e20565b61228681612280845461205e565b8461220a565b602080601f8311600181146122bb57600084156122a35750858301515b600019600386901b1c1916600185901b178555612250565b600085815260208120601f198616915b828110156122ea578886015182559484019460019091019084016122cb565b50858210156123085787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600082612412576124126121e0565b500690565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061244a90830184611bc4565b9695505050505050565b60006020828403121561246657600080fd5b8151610e2c81611b6556fea264697066735822122037b70699f35e944fef8aac271f6a96ecc6de4cdc00d99c9a6836019f9694568b64736f6c634300080f0033", - "sourceMap": "777:3244:49:-:0;;;204:35:58;;;-1:-1:-1;;204:35:58;235:4;204:35;;;777:3244:49;;;;;;;;;;;;;;;;", + "sourceMap": "777:3244:67:-:0;;;204:35:76;;;-1:-1:-1;;204:35:76;235:4;204:35;;;777:3244:67;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106102115760003560e01c80636297c16c1161012557806395d89b41116100ad578063c87b56dd1161007c578063c87b56dd1461049f578063e43252d7146104b2578063e5cff487146104c5578063e985e9c5146104d8578063f2fde38b1461051457600080fd5b806395d89b4114610469578063a22cb46514610471578063ab69607a14610484578063b88d4fde1461048c57600080fd5b8063715018a6116100f4578063715018a61461040957806380e3f1ad1461041157806381b97161146104245780638ab1d681146104455780638da5cb5b1461045857600080fd5b80636297c16c146103bd5780636352211e146103d05780636ee5741a146103e357806370a08231146103f657600080fd5b80632a55205a116101a857806340c1a0641161017757806340c1a0641461034d57806342842e0e1461037657806342966c68146103895780634aa52c411461039c57806351fb012d146103af57600080fd5b80632a55205a146102e45780632d13f7d8146103165780633403c4e9146103295780633af32abf1461033a57600080fd5b80631029f467116101e45780631029f46714610293578063139d8325146102a65780631ef87a5d146102be57806323b872dd146102d157600080fd5b806301ffc9a71461021657806306fdde031461023e578063081812fc14610253578063095ea7b31461027e575b600080fd5b610229610224366004611b7b565b610527565b60405190151581526020015b60405180910390f35b610246610552565b6040516102359190611bf0565b610266610261366004611c03565b6105e4565b6040516001600160a01b039091168152602001610235565b61029161028c366004611c33565b61067e565b005b6102916102a1366004611c33565b610793565b6102b06101045481565b604051908152602001610235565b6102916102cc366004611ca9565b6107cb565b6102916102df366004611d15565b61086d565b6102f76102f2366004611d51565b61089f565b604080516001600160a01b039093168352602083019190915201610235565b6102b0610324366004611d73565b61093a565b60fc546001600160a01b0316610266565b610229610348366004611d73565b610974565b61026661035b366004611c03565b600090815260c960205260409020546001600160a01b031690565b610291610384366004611d15565b610995565b610291610397366004611c03565b6109b0565b6102916103aa366004611d8e565b610a2a565b610101546102299060ff1681565b6102916103cb366004611c03565b610a92565b6102666103de366004611c03565b610ab9565b6102916103f1366004611ecc565b610b30565b6102b0610404366004611d73565b610bd4565b610291610c5a565b61029161041f366004611f50565b610c90565b6102b0610432366004611d73565b6101006020526000908152604090205481565b610291610453366004611d73565b610ccc565b6033546001600160a01b0316610266565b610246610cff565b61029161047f366004611f6b565b610d0e565b60fd546102b0565b61029161049a366004611f95565b610d19565b6102466104ad366004611c03565b610d4b565b6102916104c0366004611d73565b610e33565b6102916104d3366004612011565b610e66565b6102296104e6366004612034565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b610291610522366004611d73565b610ec4565b6000631030681960e21b6001600160e01b03198316148061054c575061054c82610f5c565b92915050565b6060609780546105619061205e565b80601f016020809104026020016040519081016040528092919081815260200182805461058d9061205e565b80156105da5780601f106105af576101008083540402835291602001916105da565b820191906000526020600020905b8154815290600101906020018083116105bd57829003601f168201915b5050505050905090565b6000818152609960205260408120546001600160a01b03166106625760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152609b60205260409020546001600160a01b031690565b600061068982610ab9565b9050806001600160a01b0316836001600160a01b0316036106f65760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610659565b336001600160a01b0382161480610712575061071281336104e6565b6107845760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610659565b61078e8383610f81565b505050565b6033546001600160a01b031633146107bd5760405162461bcd60e51b815260040161065990612098565b6107c78282610fef565b5050565b6033546001600160a01b031633146107f55760405162461bcd60e51b815260040161065990612098565b82811461080157600080fd5b60005b8381101561086657610854858583818110610821576108216120cd565b90506020020160208101906108369190611d73565b848484818110610848576108486120cd565b90506020020135610fef565b8061085e816120f9565b915050610804565b5050505050565b610878335b82611043565b6108945760405162461bcd60e51b815260040161065990612112565b61078e83838361113a565b600082815260fe602052604081205481906001600160a01b03166108ce5760fc546001600160a01b03166108e7565b600084815260fe60205260409020546001600160a01b03165b9150610931606461092b60ff6000888152602001908152602001600020546000036109145760fd54610924565b600087815260ff60205260409020545b86906112d6565b906112e2565b90509250929050565b6101015460009060ff161561096657506001600160a01b03166000908152610100602052604090205490565b50600019919050565b919050565b600061097f8261093a565b60000361098d57600061054c565b600192915050565b61078e83838360405180602001604052806000815250610d19565b6109b933610872565b610a1e5760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b6064820152608401610659565b610a27816112ee565b50565b33600180610a378361093a565b1015610a4257600080fd5b610a8986868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506101045433925088915087611389565b50505050505050565b8033610a9d82610ab9565b6001600160a01b031614610ab057600080fd5b6107c7826109b0565b6000818152609960205260408120546001600160a01b03168061054c5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610659565b6000610b3c6001611434565b90508015610b54576000805461ff0019166101001790555b6001600160a01b038216610b6757600080fd5b600a61010455610b7784846114bc565b610b7f6114ed565b610b8882610ec4565b8015610bce576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b60006001600160a01b038216610c3e5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610659565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610c845760405162461bcd60e51b815260040161065990612098565b610c8e6000611514565b565b6033546001600160a01b03163314610cba5760405162461bcd60e51b815260040161065990612098565b610101805460ff191682151517905550565b6033546001600160a01b03163314610cf65760405162461bcd60e51b815260040161065990612098565b610a2781611566565b6060609880546105619061205e565b6107c73383836115b8565b610d233383611043565b610d3f5760405162461bcd60e51b815260040161065990612112565b610bce84848484611686565b6000818152609960205260409020546060906001600160a01b0316610dca5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610659565b6000610de160408051602081019091526000815290565b90506000815111610e015760405180602001604052806000815250610e2c565b80610e0b846116b9565b604051602001610e1c929190612163565b6040516020818303038152906040525b9392505050565b6033546001600160a01b03163314610e5d5760405162461bcd60e51b815260040161065990612098565b610a27816117ba565b600082815260c960205260409020546001600160a01b03163314610eba5760405162461bcd60e51b815260206004820152600b60248201526a2737ba1031b932b0ba37b960a91b6044820152606401610659565b6107c78282611815565b6033546001600160a01b03163314610eee5760405162461bcd60e51b815260040161065990612098565b6001600160a01b038116610f535760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610659565b610a2781611514565b60006001600160e01b0319821663152a902d60e11b148061054c575061054c82611843565b6000818152609b6020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610fb682610ab9565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6001600160a01b0382166000818152610100602090815260409182902084905590518381527fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e910160405180910390a25050565b6000818152609960205260408120546001600160a01b03166110bc5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610659565b60006110c783610ab9565b9050806001600160a01b0316846001600160a01b0316148061110e57506001600160a01b038082166000908152609c602090815260408083209388168352929052205460ff165b806111325750836001600160a01b0316611127846105e4565b6001600160a01b0316145b949350505050565b826001600160a01b031661114d82610ab9565b6001600160a01b0316146111b15760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610659565b6001600160a01b0382166112135760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610659565b61121e600082610f81565b6001600160a01b0383166000908152609a60205260408120805460019290611247908490612192565b90915550506001600160a01b0382166000908152609a602052604081208054600192906112759084906121a9565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000610e2c82846121c1565b6000610e2c82846121f6565b60006112f982610ab9565b9050611306600083610f81565b6001600160a01b0381166000908152609a6020526040812080546001929061132f908490612192565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b61010380546000918261139b836120f9565b91905055506113ad8461010354611893565b610103546000908152610102602052604090206113ca8782612258565b5061010354600090815260c96020526040902080546001600160a01b0319166001600160a01b0387161790556114036101035483611815565b61141d6101035484600091825260ff602052604090912055565b611426336119d5565b506101035495945050505050565b60008054610100900460ff161561147b578160ff1660011480156114575750303b155b6114735760405162461bcd60e51b815260040161065990612318565b506000919050565b60005460ff8084169116106114a25760405162461bcd60e51b815260040161065990612318565b506000805460ff191660ff92909216919091179055600190565b600054610100900460ff166114e35760405162461bcd60e51b815260040161065990612366565b6107c78282611a24565b600054610100900460ff16610c8e5760405162461bcd60e51b815260040161065990612366565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600081815261010060209081526040808320839055519182527fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e91015b60405180910390a250565b816001600160a01b0316836001600160a01b0316036116195760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610659565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61169184848461113a565b61169d84848484611a64565b610bce5760405162461bcd60e51b8152600401610659906123b1565b6060816000036116e05750506040805180820190915260018152600360fc1b602082015290565b8160005b811561170a57806116f4816120f9565b91506117039050600a836121f6565b91506116e4565b60008167ffffffffffffffff81111561172557611725611e20565b6040519080825280601f01601f19166020018201604052801561174f576020820181803683370190505b5090505b841561113257611764600183612192565b9150611771600a86612403565b61177c9060306121a9565b60f81b818381518110611791576117916120cd565b60200101906001600160f81b031916908160001a9053506117b3600a866121f6565b9450611753565b6001600160a01b0381166000908152610100602052604090206000199055806001600160a01b03167fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e6000196040516115ad91815260200190565b600091825260fe602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b60006001600160e01b031982166380ac58cd60e01b148061187457506001600160e01b03198216635b5e139f60e01b145b8061054c57506301ffc9a760e01b6001600160e01b031983161461054c565b6001600160a01b0382166118e95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610659565b6000818152609960205260409020546001600160a01b03161561194e5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610659565b6001600160a01b0382166000908152609a602052604081208054600192906119779084906121a9565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6101015460ff1615610a27576001600160a01b03811660009081526101006020526040902054611a06600182612192565b6001600160a01b038316600090815261010060205260409020555050565b600054610100900460ff16611a4b5760405162461bcd60e51b815260040161065990612366565b6097611a578382612258565b50609861078e8282612258565b60006001600160a01b0384163b15611b5a57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611aa8903390899088908890600401612417565b6020604051808303816000875af1925050508015611ae3575060408051601f3d908101601f19168201909252611ae091810190612454565b60015b611b40573d808015611b11576040519150601f19603f3d011682016040523d82523d6000602084013e611b16565b606091505b508051600003611b385760405162461bcd60e51b8152600401610659906123b1565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611132565b506001949350505050565b6001600160e01b031981168114610a2757600080fd5b600060208284031215611b8d57600080fd5b8135610e2c81611b65565b60005b83811015611bb3578181015183820152602001611b9b565b83811115610bce5750506000910152565b60008151808452611bdc816020860160208601611b98565b601f01601f19169290920160200192915050565b602081526000610e2c6020830184611bc4565b600060208284031215611c1557600080fd5b5035919050565b80356001600160a01b038116811461096f57600080fd5b60008060408385031215611c4657600080fd5b611c4f83611c1c565b946020939093013593505050565b60008083601f840112611c6f57600080fd5b50813567ffffffffffffffff811115611c8757600080fd5b6020830191508360208260051b8501011115611ca257600080fd5b9250929050565b60008060008060408587031215611cbf57600080fd5b843567ffffffffffffffff80821115611cd757600080fd5b611ce388838901611c5d565b90965094506020870135915080821115611cfc57600080fd5b50611d0987828801611c5d565b95989497509550505050565b600080600060608486031215611d2a57600080fd5b611d3384611c1c565b9250611d4160208501611c1c565b9150604084013590509250925092565b60008060408385031215611d6457600080fd5b50508035926020909101359150565b600060208284031215611d8557600080fd5b610e2c82611c1c565b60008060008060608587031215611da457600080fd5b843567ffffffffffffffff80821115611dbc57600080fd5b818701915087601f830112611dd057600080fd5b813581811115611ddf57600080fd5b886020828501011115611df157600080fd5b602092830196509450611e079187019050611c1c565b9150611e1560408601611c1c565b905092959194509250565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611e5157611e51611e20565b604051601f8501601f19908116603f01168101908282118183101715611e7957611e79611e20565b81604052809350858152868686011115611e9257600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112611ebd57600080fd5b610e2c83833560208501611e36565b600080600060608486031215611ee157600080fd5b833567ffffffffffffffff80821115611ef957600080fd5b611f0587838801611eac565b94506020860135915080821115611f1b57600080fd5b50611f2886828701611eac565b925050611f3760408501611c1c565b90509250925092565b8035801515811461096f57600080fd5b600060208284031215611f6257600080fd5b610e2c82611f40565b60008060408385031215611f7e57600080fd5b611f8783611c1c565b915061093160208401611f40565b60008060008060808587031215611fab57600080fd5b611fb485611c1c565b9350611fc260208601611c1c565b925060408501359150606085013567ffffffffffffffff811115611fe557600080fd5b8501601f81018713611ff657600080fd5b61200587823560208401611e36565b91505092959194509250565b6000806040838503121561202457600080fd5b8235915061093160208401611c1c565b6000806040838503121561204757600080fd5b61205083611c1c565b915061093160208401611c1c565b600181811c9082168061207257607f821691505b60208210810361209257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161210b5761210b6120e3565b5060010190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60008351612175818460208801611b98565b835190830190612189818360208801611b98565b01949350505050565b6000828210156121a4576121a46120e3565b500390565b600082198211156121bc576121bc6120e3565b500190565b60008160001904831182151516156121db576121db6120e3565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612205576122056121e0565b500490565b601f82111561078e57600081815260208120601f850160051c810160208610156122315750805b601f850160051c820191505b818110156122505782815560010161223d565b505050505050565b815167ffffffffffffffff81111561227257612272611e20565b61228681612280845461205e565b8461220a565b602080601f8311600181146122bb57600084156122a35750858301515b600019600386901b1c1916600185901b178555612250565b600085815260208120601f198616915b828110156122ea578886015182559484019460019091019084016122cb565b50858210156123085787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600082612412576124126121e0565b500690565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061244a90830184611bc4565b9695505050505050565b60006020828403121561246657600080fd5b8151610e2c81611b6556fea264697066735822122037b70699f35e944fef8aac271f6a96ecc6de4cdc00d99c9a6836019f9694568b64736f6c634300080f0033", - "sourceMap": "777:3244:49:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1633:294;;;;;;:::i;:::-;;:::i;:::-;;;565:14:59;;558:22;540:41;;528:2;513:18;1633:294:49;;;;;;;;2948:98:15;;;:::i;:::-;;;;;;;:::i;4471:217::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1692:32:59;;;1674:51;;1662:2;1647:18;4471:217:15;1528:203:59;3998:412:15;;;;;;:::i;:::-;;:::i;:::-;;2606:183:49;;;;;;:::i;:::-;;:::i;1141:39::-;;;;;;;;;2319:25:59;;;2307:2;2292:18;1141:39:49;2173:177:59;1933:319:49;;;;;;:::i;:::-;;:::i;5198:330:15:-;;;;;;:::i;:::-;;:::i;846:566:54:-;;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;4283:32:59;;;4265:51;;4347:2;4332:18;;4325:34;;;;4238:18;846:566:54;4091:274:59;1198:250:58;;;;;;:::i;:::-;;:::i;2248:113:54:-;2332:22;;-1:-1:-1;;;;;2332:22:54;2248:113;;1454:141:58;;;;;;:::i;:::-;;:::i;282:163:57:-;;;;;;:::i;:::-;367:15;413:24;;;:14;:24;;;;;;-1:-1:-1;;;;;413:24:57;;282:163;5594:179:15;;;;;;:::i;:::-;;:::i;801:241:18:-;;;;;;:::i;:::-;;:::i;2795:317:49:-;;;;;;:::i;:::-;;:::i;204:35:58:-;;;;;;;;;3118:104:49;;;;;;:::i;:::-;;:::i;2651:235:15:-;;;;;;:::i;:::-;;:::i;1187:324:49:-;;;;;;:::i;:::-;;:::i;2390:204:15:-;;;;;;:::i;:::-;;:::i;1908:101:6:-;;;:::i;2258:102:49:-;;;;;;:::i;:::-;;:::i;146:51:58:-;;;;;;:::i;:::-;;;;;;;;;;;;;;2481:119:49;;;;;;:::i;:::-;;:::i;1276:85:6:-;1348:6;;-1:-1:-1;;;;;1348:6:6;1276:85;;3110:102:15;;;:::i;4755:153::-;;;;;;:::i;:::-;;:::i;2367:117:54:-;2453:24;;2367:117;;5839:320:15;;;;;;:::i;:::-;;:::i;3278:329::-;;;;;;:::i;:::-;;:::i;2366:109:49:-;;;;;;:::i;:::-;;:::i;3228:201::-;;;;;;:::i;:::-;;:::i;4974:162:15:-;;;;;;:::i;:::-;-1:-1:-1;;;;;5094:25:15;;;5071:4;5094:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4974:162;2158:198:6;;;;;;:::i;:::-;;:::i;1633:294:49:-;1816:4;-1:-1:-1;;;;;;;;;1855:25:49;;;;:65;;;1884:36;1908:11;1884:23;:36::i;:::-;1836:84;1633:294;-1:-1:-1;;1633:294:49:o;2948:98:15:-;3002:13;3034:5;3027:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2948:98;:::o;4471:217::-;4547:7;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:15;4566:73;;;;-1:-1:-1;;;4566:73:15;;9546:2:59;4566:73:15;;;9528:21:59;9585:2;9565:18;;;9558:30;9624:34;9604:18;;;9597:62;-1:-1:-1;;;9675:18:59;;;9668:42;9727:19;;4566:73:15;;;;;;;;;-1:-1:-1;4657:24:15;;;;:15;:24;;;;;;-1:-1:-1;;;;;4657:24:15;;4471:217::o;3998:412::-;4078:13;4094:34;4120:7;4094:25;:34::i;:::-;4078:50;;4152:5;-1:-1:-1;;;;;4146:11:15;:2;-1:-1:-1;;;;;4146:11:15;;4138:57;;;;-1:-1:-1;;;4138:57:15;;9959:2:59;4138:57:15;;;9941:21:59;9998:2;9978:18;;;9971:30;10037:34;10017:18;;;10010:62;-1:-1:-1;;;10088:18:59;;;10081:31;10129:19;;4138:57:15;9757:397:59;4138:57:15;929:10:21;-1:-1:-1;;;;;4227:21:15;;;;:62;;-1:-1:-1;4252:37:15;4269:5;929:10:21;4974:162:15;:::i;4252:37::-;4206:165;;;;-1:-1:-1;;;4206:165:15;;10361:2:59;4206:165:15;;;10343:21:59;10400:2;10380:18;;;10373:30;10439:34;10419:18;;;10412:62;10510:26;10490:18;;;10483:54;10554:19;;4206:165:15;10159:420:59;4206:165:15;4382:21;4391:2;4395:7;4382:8;:21::i;:::-;4068:342;3998:412;;:::o;2606:183:49:-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;2731:51:49::1;2755:11;2768:13;2731:23;:51::i;:::-;2606:183:::0;;:::o;1933:319::-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;2075:36:49;;::::1;2067:45;;;::::0;::::1;;2128:9;2123:123;2143:20:::0;;::::1;2123:123;;;2184:51;2208:9;;2218:1;2208:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;2222:9;;2232:1;2222:12;;;;;;;:::i;:::-;;;;;;;2184:23;:51::i;:::-;2165:3:::0;::::1;::::0;::::1;:::i;:::-;;;;2123:123;;;;1933:319:::0;;;;:::o;5198:330:15:-;5387:41;929:10:21;5406:12:15;5420:7;5387:18;:41::i;:::-;5379:103;;;;-1:-1:-1;;;5379:103:15;;;;;;;:::i;:::-;5493:28;5503:4;5509:2;5513:7;5493:9;:28::i;846:566:54:-;983:16;1049:26;;;:16;:26;;;;;;983:16;;-1:-1:-1;;;;;1049:26:54;:118;;1145:22;;-1:-1:-1;;;;;1145:22:54;1049:118;;;1104:26;;;;:16;:26;;;;;;-1:-1:-1;;;;;1104:26:54;1049:118;1038:129;;1193:212;1401:3;1193:190;1238:18;:28;1257:8;1238:28;;;;;;;;;;;;1270:1;1238:33;:131;;1345:24;;1238:131;;;1294:28;;;;:18;:28;;;;;;1238:131;1193:10;;:27;:190::i;:::-;:207;;:212::i;:::-;1177:228;;846:566;;;;;:::o;1198:250:58:-;1317:16;;1290:7;;1317:16;;1313:129;;;-1:-1:-1;;;;;;1356:26:58;;;;;:16;:26;;;;;;;1198:250::o;1313:129::-;-1:-1:-1;;;122:17:58;1198:250;-1:-1:-1;1198:250:58:o;1313:129::-;1198:250;;;:::o;1454:141::-;1516:4;1539:29;1559:8;1539:19;:29::i;:::-;1572:1;1539:34;:49;;1583:5;1539:49;;;1576:4;1532:56;1454:141;-1:-1:-1;;1454:141:58:o;5594:179:15:-;5727:39;5744:4;5750:2;5754:7;5727:39;;;;;;;;;;;;:16;:39::i;801:241:18:-;917:41;929:10:21;936:12:18;850:96:21;917:41:18;909:102;;;;-1:-1:-1;;;909:102:18;;11969:2:59;909:102:18;;;11951:21:59;12008:2;11988:18;;;11981:30;12047:34;12027:18;;;12020:62;-1:-1:-1;;;12098:18:59;;;12091:46;12154:19;;909:102:18;11767:412:59;909:102:18;1021:14;1027:7;1021:5;:14::i;:::-;801:241;:::o;2795:317:49:-;2925:10;2937:1;459:9:58;426:29;446:8;426:19;:29::i;:::-;:42;;418:51;;;;;;2950:155:49::1;2976:4;;2950:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;3041:24:49::1;::::0;2994:10:::1;::::0;-1:-1:-1;3018:9:49;;-1:-1:-1;3079:16:49;2950:12:::1;:155::i;:::-;;2795:317:::0;;;;;;:::o;3118:104::-;3181:8;1598:10;1577:17;3181:8;1577:7;:17::i;:::-;-1:-1:-1;;;;;1577:31:49;;1569:40;;;;;;3201:14:::1;3206:8;3201:4;:14::i;2651:235:15:-:0;2723:7;2758:16;;;:7;:16;;;;;;-1:-1:-1;;;;;2758:16:15;;2784:73;;;;-1:-1:-1;;;2784:73:15;;12386:2:59;2784:73:15;;;12368:21:59;12425:2;12405:18;;;12398:30;12464:34;12444:18;;;12437:62;-1:-1:-1;;;12515:18:59;;;12508:39;12564:19;;2784:73:15;12184:405:59;1187:324:49;3111:19:7;3133:25;3156:1;3133:22;:25::i;:::-;3111:47;;3172:14;3168:65;;;3202:13;:20;;-1:-1:-1;;3202:20:7;;;;;3168:65;-1:-1:-1;;;;;1331:23:49;::::1;1323:32;;;::::0;::::1;;1392:2;1365:24;:29:::0;1405::::1;1419:5:::0;1426:7;1405:13:::1;:29::i;:::-;1444:15;:13;:15::i;:::-;1470:34;1494:9;1470:23;:34::i;:::-;3257:14:7::0;3253:99;;;3303:5;3287:21;;-1:-1:-1;;3287:21:7;;;3327:14;;-1:-1:-1;12746:36:59;;3327:14:7;;12734:2:59;12719:18;3327:14:7;;;;;;;3253:99;3101:257;1187:324:49;;;:::o;2390:204:15:-;2462:7;-1:-1:-1;;;;;2489:19:15;;2481:73;;;;-1:-1:-1;;;2481:73:15;;12995:2:59;2481:73:15;;;12977:21:59;13034:2;13014:18;;;13007:30;13073:34;13053:18;;;13046:62;-1:-1:-1;;;13124:18:59;;;13117:39;13173:19;;2481:73:15;12793:405:59;2481:73:15;-1:-1:-1;;;;;;2571:16:15;;;;;:9;:16;;;;;;;2390:204::o;1908:101:6:-;1348:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;1972:30:::1;1999:1;1972:18;:30::i;:::-;1908:101::o:0;2258:102:49:-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;553:16:58;:27;;-1:-1:-1;;553:27:58;;;;;;;801:241:18;:::o;2481:119:49:-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;2560:33:49::1;2581:11;2560:20;:33::i;3110:102:15:-:0;3166:13;3198:7;3191:14;;;;;:::i;4755:153::-;4849:52;929:10:21;4882:8:15;4892;4849:18;:52::i;5839:320::-;6008:41;929:10:21;6041:7:15;6008:18;:41::i;:::-;6000:103;;;;-1:-1:-1;;;6000:103:15;;;;;;;:::i;:::-;6113:39;6127:4;6133:2;6137:7;6146:5;6113:13;:39::i;3278:329::-;7696:4;7719:16;;;:7;:16;;;;;;3351:13;;-1:-1:-1;;;;;7719:16:15;3376:76;;;;-1:-1:-1;;;3376:76:15;;13405:2:59;3376:76:15;;;13387:21:59;13444:2;13424:18;;;13417:30;13483:34;13463:18;;;13456:62;-1:-1:-1;;;13534:18:59;;;13527:45;13589:19;;3376:76:15;13203:411:59;3376:76:15;3463:21;3487:10;3925:9;;;;;;;;;-1:-1:-1;3925:9:15;;;3849:92;3487:10;3463:34;;3538:1;3520:7;3514:21;:25;:86;;;;;;;;;;;;;;;;;3566:7;3575:18;:7;:16;:18::i;:::-;3549:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3514:86;3507:93;3278:329;-1:-1:-1;;;3278:329:15:o;2366:109:49:-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;2440:28:49::1;2456:11;2440:15;:28::i;3228:201::-:0;367:15:57;413:24;;;:14;:24;;;;;;-1:-1:-1;;;;;413:24:57;3320:10:49;:36;3312:60;;;;-1:-1:-1;;;3312:60:49;;14296:2:59;3312:60:49;;;14278:21:59;14335:2;14315:18;;;14308:30;-1:-1:-1;;;14354:18:59;;;14347:41;14405:18;;3312:60:49;14094:335:59;3312:60:49;3382:40;3402:8;3412:9;3382:19;:40::i;2158:198:6:-;1348:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;-1:-1:-1;;;;;2246:22:6;::::1;2238:73;;;::::0;-1:-1:-1;;;2238:73:6;;14636:2:59;2238:73:6::1;::::0;::::1;14618:21:59::0;14675:2;14655:18;;;14648:30;14714:34;14694:18;;;14687:62;-1:-1:-1;;;14765:18:59;;;14758:36;14811:19;;2238:73:6::1;14434:402:59::0;2238:73:6::1;2321:28;2340:8;2321:18;:28::i;1849:264:54:-:0;1974:4;-1:-1:-1;;;;;;2013:41:54;;-1:-1:-1;;;2013:41:54;;:93;;;2070:36;2094:11;2070:23;:36::i;11673:182:15:-;11747:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;11747:29:15;-1:-1:-1;;;;;11747:29:15;;;;;;;;:24;;11800:34;11747:24;11800:25;:34::i;:::-;-1:-1:-1;;;;;11791:57:15;;;;;;;;;;;11673:182;;:::o;960:232:58:-;-1:-1:-1;;;;;1934:26:58;;;;;;:16;:26;;;;;;;;;:39;;;1134:51;;2319:25:59;;;1134:51:58;;2292:18:59;1134:51:58;;;;;;;960:232;;:::o;7914:355:15:-;8007:4;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:15;8023:73;;;;-1:-1:-1;;;8023:73:15;;15043:2:59;8023:73:15;;;15025:21:59;15082:2;15062:18;;;15055:30;15121:34;15101:18;;;15094:62;-1:-1:-1;;;15172:18:59;;;15165:42;15224:19;;8023:73:15;14841:408:59;8023:73:15;8106:13;8122:34;8148:7;8122:25;:34::i;:::-;8106:50;;8185:5;-1:-1:-1;;;;;8174:16:15;:7;-1:-1:-1;;;;;8174:16:15;;:52;;;-1:-1:-1;;;;;;5094:25:15;;;5071:4;5094:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;8194:32;8174:87;;;;8254:7;-1:-1:-1;;;;;8230:31:15;:20;8242:7;8230:11;:20::i;:::-;-1:-1:-1;;;;;8230:31:15;;8174:87;8166:96;7914:355;-1:-1:-1;;;;7914:355:15:o;10946:616::-;11111:4;-1:-1:-1;;;;;11073:42:15;:34;11099:7;11073:25;:34::i;:::-;-1:-1:-1;;;;;11073:42:15;;11065:92;;;;-1:-1:-1;;;11065:92:15;;15456:2:59;11065:92:15;;;15438:21:59;15495:2;15475:18;;;15468:30;15534:34;15514:18;;;15507:62;-1:-1:-1;;;15585:18:59;;;15578:35;15630:19;;11065:92:15;15254:401:59;11065:92:15;-1:-1:-1;;;;;11175:16:15;;11167:65;;;;-1:-1:-1;;;11167:65:15;;15862:2:59;11167:65:15;;;15844:21:59;15901:2;15881:18;;;15874:30;15940:34;15920:18;;;15913:62;-1:-1:-1;;;15991:18:59;;;15984:34;16035:19;;11167:65:15;15660:400:59;11167:65:15;11344:29;11361:1;11365:7;11344:8;:29::i;:::-;-1:-1:-1;;;;;11384:15:15;;;;;;:9;:15;;;;;:20;;11403:1;;11384:15;:20;;11403:1;;11384:20;:::i;:::-;;;;-1:-1:-1;;;;;;;11414:13:15;;;;;;:9;:13;;;;;:18;;11431:1;;11414:13;:18;;11431:1;;11414:18;:::i;:::-;;;;-1:-1:-1;;11442:16:15;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;11442:21:15;-1:-1:-1;;;;;11442:21:15;;;;;;;;;11479:27;;11442:16;;11479:27;;;;;;;4068:342;3998:412;;:::o;3461:96:26:-;3519:7;3545:5;3549:1;3545;:5;:::i;3846:96::-;3904:7;3930:5;3934:1;3930;:5;:::i;10205:417:15:-;10264:13;10280:34;10306:7;10280:25;:34::i;:::-;10264:50;;10411:29;10428:1;10432:7;10411:8;:29::i;:::-;-1:-1:-1;;;;;10451:16:15;;;;;;:9;:16;;;;;:21;;10471:1;;10451:16;:21;;10471:1;;10451:21;:::i;:::-;;;;-1:-1:-1;;10489:16:15;;;;:7;:16;;;;;;10482:23;;-1:-1:-1;;;;;;10482:23:15;;;10521:36;10497:7;;10489:16;-1:-1:-1;;;;;10521:36:15;;;;;10489:16;;10521:36;2606:183:49;;:::o;3435:584::-;3651:14;:16;;3632:7;;;3651:16;;;:::i;:::-;;;;;;3677:32;3683:9;3694:14;;3677:5;:32::i;:::-;3729:14;;3719:25;;;;:9;:25;;;;;:32;3747:4;3719:25;:32;:::i;:::-;-1:-1:-1;3778:14:49;;532:24:57;;;;:14;:24;;;;;:35;;-1:-1:-1;;;;;;532:35:57;-1:-1:-1;;;;;532:35:57;;;;;3813:53:49;3833:14;;3849:16;3813:19;:53::i;:::-;3876:57;3898:14;;3914:18;1794:28:54;;;;:18;:28;;;;;;:42;1693:150;3876:57:49;3943:38;3970:10;3943:26;:38::i;:::-;-1:-1:-1;3998:14:49;;3435:584;;;;;;;:::o;5287:808:7:-;5351:4;5684:13;;;;;;;5680:409;;;5738:7;:12;;5749:1;5738:12;:61;;;;-1:-1:-1;5793:4:7;1476:19:20;:23;5738:61:7;5713:166;;;;-1:-1:-1;;;5713:166:7;;;;;;;:::i;:::-;-1:-1:-1;5900:5:7;;5287:808;-1:-1:-1;5287:808:7:o;5680:409::-;5944:12;;:22;;;;:12;;:22;5936:81;;;;-1:-1:-1;;;5936:81:7;;;;;;;:::i;:::-;-1:-1:-1;6031:12:7;:22;;-1:-1:-1;;6031:22:7;;;;;;;;;;;;-1:-1:-1;;5287:808:7:o;1605:149:15:-;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;:::-;1708:39:15::1;1732:5;1739:7;1708:23;:39::i;862:58:24:-:0;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;2510:187:6:-;2602:6;;;-1:-1:-1;;;;;2618:17:6;;;-1:-1:-1;;;;;;2618:17:6;;;;;;;2650:40;;2602:6;;;2618:17;2602:6;;2650:40;;2583:16;;2650:40;2573:124;2510:187;:::o;784:170:58:-;-1:-1:-1;;;;;1934:26:58;;891:1;1934:26;;;:16;:26;;;;;;;;:39;;;908;2319:25:59;;;908:39:58;;2292:18:59;908:39:58;;;;;;;;784:170;:::o;11990:307:15:-;12140:8;-1:-1:-1;;;;;12131:17:15;:5;-1:-1:-1;;;;;12131:17:15;;12123:55;;;;-1:-1:-1;;;12123:55:15;;20181:2:59;12123:55:15;;;20163:21:59;20220:2;20200:18;;;20193:30;20259:27;20239:18;;;20232:55;20304:18;;12123:55:15;19979:349:59;12123:55:15;-1:-1:-1;;;;;12188:25:15;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;12188:46:15;;;;;;;;;;12249:41;;540::59;;;12249::15;;513:18:59;12249:41:15;;;;;;;11990:307;;;:::o;7021:::-;7172:28;7182:4;7188:2;7192:7;7172:9;:28::i;:::-;7218:48;7241:4;7247:2;7251:7;7260:5;7218:22;:48::i;:::-;7210:111;;;;-1:-1:-1;;;7210:111:15;;;;;;;:::i;339:703:23:-;395:13;612:5;621:1;612:10;608:51;;-1:-1:-1;;638:10:23;;;;;;;;;;;;-1:-1:-1;;;638:10:23;;;;;339:703::o;608:51::-;683:5;668:12;722:75;729:9;;722:75;;754:8;;;;:::i;:::-;;-1:-1:-1;776:10:23;;-1:-1:-1;784:2:23;776:10;;:::i;:::-;;;722:75;;;806:19;838:6;828:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;828:17:23;;806:39;;855:150;862:10;;855:150;;888:11;898:1;888:11;;:::i;:::-;;-1:-1:-1;956:10:23;964:2;956:5;:10;:::i;:::-;943:24;;:2;:24;:::i;:::-;930:39;;913:6;920;913:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;913:56:23;;;;;;;;-1:-1:-1;983:11:23;992:2;983:11;;:::i;:::-;;;855:150;;593:185:58;-1:-1:-1;;;;;1934:26:58;;;;;;:16;:26;;;;;-1:-1:-1;;1934:39:58;;746:11;-1:-1:-1;;;;;722:49:58;;-1:-1:-1;;722:49:58;;;;2319:25:59;;2307:2;2292:18;;2173:177;1539:148:54;1639:26;;;;:16;:26;;;;;;:41;;-1:-1:-1;;;;;;1639:41:54;-1:-1:-1;;;;;1639:41:54;;;;;;;;;1539:148::o;1987:344:15:-;2111:4;-1:-1:-1;;;;;;2146:51:15;;-1:-1:-1;;;2146:51:15;;:126;;-1:-1:-1;;;;;;;2213:59:15;;-1:-1:-1;;;2213:59:15;2146:126;:178;;;-1:-1:-1;;;;;;;;;;1168:51:24;;;2288:36:15;1060:166:24;9561:427:15;-1:-1:-1;;;;;9640:16:15;;9632:61;;;;-1:-1:-1;;;9632:61:15;;21071:2:59;9632:61:15;;;21053:21:59;;;21090:18;;;21083:30;21149:34;21129:18;;;21122:62;21201:18;;9632:61:15;20869:356:59;9632:61:15;7696:4;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:15;:30;9703:58;;;;-1:-1:-1;;;9703:58:15;;21432:2:59;9703:58:15;;;21414:21:59;21471:2;21451:18;;;21444:30;21510;21490:18;;;21483:58;21558:18;;9703:58:15;21230:352:59;9703:58:15;-1:-1:-1;;;;;9828:13:15;;;;;;:9;:13;;;;;:18;;9845:1;;9828:13;:18;;9845:1;;9828:18;:::i;:::-;;;;-1:-1:-1;;9856:16:15;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9856:21:15;-1:-1:-1;;;;;9856:21:15;;;;;;;;9893:33;;9856:16;;;9893:33;;9856:16;;9893:33;2606:183:49;;:::o;1601:225:58:-;1677:16;;;;1673:147;;;-1:-1:-1;;;;;1729:25:58;;1709:17;1729:25;;;:16;:25;;;;;;1796:13;1808:1;1729:25;1796:13;:::i;:::-;-1:-1:-1;;;;;1768:25:58;;;;;;:16;:25;;;;;:41;-1:-1:-1;1601:225:58;:::o;1760:160:15:-;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;:::-;1873:5:15::1;:13;1881:5:::0;1873;:13:::1;:::i;:::-;-1:-1:-1::0;1896:7:15::1;:17;1906:7:::0;1896;:17:::1;:::i;12850:800::-:0;13000:4;-1:-1:-1;;;;;13020:13:15;;1476:19:20;:23;13016:628:15;;13055:83;;-1:-1:-1;;;13055:83:15;;-1:-1:-1;;;;;13055:47:15;;;;;:83;;929:10:21;;13117:4:15;;13123:7;;13132:5;;13055:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13055:83:15;;;;;;;;-1:-1:-1;;13055:83:15;;;;;;;;;;;;:::i;:::-;;;13051:541;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13316:6;:13;13333:1;13316:18;13312:266;;13358:60;;-1:-1:-1;;;13358:60:15;;;;;;;:::i;13312:266::-;13530:6;13524:13;13515:6;13511:2;13507:15;13500:38;13051:541;-1:-1:-1;;;;;;13188:62:15;-1:-1:-1;;;13188:62:15;;-1:-1:-1;13181:69:15;;13016:628;-1:-1:-1;13629:4:15;12850:800;;;;;;:::o;14:131:59:-;-1:-1:-1;;;;;;88:32:59;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:258::-;664:1;674:113;688:6;685:1;682:13;674:113;;;764:11;;;758:18;745:11;;;738:39;710:2;703:10;674:113;;;805:6;802:1;799:13;796:48;;;-1:-1:-1;;840:1:59;822:16;;815:27;592:258::o;855:::-;897:3;935:5;929:12;962:6;957:3;950:19;978:63;1034:6;1027:4;1022:3;1018:14;1011:4;1004:5;1000:16;978:63;:::i;:::-;1095:2;1074:15;-1:-1:-1;;1070:29:59;1061:39;;;;1102:4;1057:50;;855:258;-1:-1:-1;;855:258:59:o;1118:220::-;1267:2;1256:9;1249:21;1230:4;1287:45;1328:2;1317:9;1313:18;1305:6;1287:45;:::i;1343:180::-;1402:6;1455:2;1443:9;1434:7;1430:23;1426:32;1423:52;;;1471:1;1468;1461:12;1423:52;-1:-1:-1;1494:23:59;;1343:180;-1:-1:-1;1343:180:59:o;1736:173::-;1804:20;;-1:-1:-1;;;;;1853:31:59;;1843:42;;1833:70;;1899:1;1896;1889:12;1914:254;1982:6;1990;2043:2;2031:9;2022:7;2018:23;2014:32;2011:52;;;2059:1;2056;2049:12;2011:52;2082:29;2101:9;2082:29;:::i;:::-;2072:39;2158:2;2143:18;;;;2130:32;;-1:-1:-1;;;1914:254:59:o;2355:367::-;2418:8;2428:6;2482:3;2475:4;2467:6;2463:17;2459:27;2449:55;;2500:1;2497;2490:12;2449:55;-1:-1:-1;2523:20:59;;2566:18;2555:30;;2552:50;;;2598:1;2595;2588:12;2552:50;2635:4;2627:6;2623:17;2611:29;;2695:3;2688:4;2678:6;2675:1;2671:14;2663:6;2659:27;2655:38;2652:47;2649:67;;;2712:1;2709;2702:12;2649:67;2355:367;;;;;:::o;2727:773::-;2849:6;2857;2865;2873;2926:2;2914:9;2905:7;2901:23;2897:32;2894:52;;;2942:1;2939;2932:12;2894:52;2982:9;2969:23;3011:18;3052:2;3044:6;3041:14;3038:34;;;3068:1;3065;3058:12;3038:34;3107:70;3169:7;3160:6;3149:9;3145:22;3107:70;:::i;:::-;3196:8;;-1:-1:-1;3081:96:59;-1:-1:-1;3284:2:59;3269:18;;3256:32;;-1:-1:-1;3300:16:59;;;3297:36;;;3329:1;3326;3319:12;3297:36;;3368:72;3432:7;3421:8;3410:9;3406:24;3368:72;:::i;:::-;2727:773;;;;-1:-1:-1;3459:8:59;-1:-1:-1;;;;2727:773:59:o;3505:328::-;3582:6;3590;3598;3651:2;3639:9;3630:7;3626:23;3622:32;3619:52;;;3667:1;3664;3657:12;3619:52;3690:29;3709:9;3690:29;:::i;:::-;3680:39;;3738:38;3772:2;3761:9;3757:18;3738:38;:::i;:::-;3728:48;;3823:2;3812:9;3808:18;3795:32;3785:42;;3505:328;;;;;:::o;3838:248::-;3906:6;3914;3967:2;3955:9;3946:7;3942:23;3938:32;3935:52;;;3983:1;3980;3973:12;3935:52;-1:-1:-1;;4006:23:59;;;4076:2;4061:18;;;4048:32;;-1:-1:-1;3838:248:59:o;4370:186::-;4429:6;4482:2;4470:9;4461:7;4457:23;4453:32;4450:52;;;4498:1;4495;4488:12;4450:52;4521:29;4540:9;4521:29;:::i;4785:746::-;4874:6;4882;4890;4898;4951:2;4939:9;4930:7;4926:23;4922:32;4919:52;;;4967:1;4964;4957:12;4919:52;5007:9;4994:23;5036:18;5077:2;5069:6;5066:14;5063:34;;;5093:1;5090;5083:12;5063:34;5131:6;5120:9;5116:22;5106:32;;5176:7;5169:4;5165:2;5161:13;5157:27;5147:55;;5198:1;5195;5188:12;5147:55;5238:2;5225:16;5264:2;5256:6;5253:14;5250:34;;;5280:1;5277;5270:12;5250:34;5327:7;5320:4;5311:6;5307:2;5303:15;5299:26;5296:39;5293:59;;;5348:1;5345;5338:12;5293:59;5379:4;5371:13;;;;-1:-1:-1;5403:6:59;-1:-1:-1;5428:40:59;;5447:20;;;-1:-1:-1;5428:40:59;:::i;:::-;5418:50;;5487:38;5521:2;5510:9;5506:18;5487:38;:::i;:::-;5477:48;;4785:746;;;;;;;:::o;5536:127::-;5597:10;5592:3;5588:20;5585:1;5578:31;5628:4;5625:1;5618:15;5652:4;5649:1;5642:15;5668:632;5733:5;5763:18;5804:2;5796:6;5793:14;5790:40;;;5810:18;;:::i;:::-;5885:2;5879:9;5853:2;5939:15;;-1:-1:-1;;5935:24:59;;;5961:2;5931:33;5927:42;5915:55;;;5985:18;;;6005:22;;;5982:46;5979:72;;;6031:18;;:::i;:::-;6071:10;6067:2;6060:22;6100:6;6091:15;;6130:6;6122;6115:22;6170:3;6161:6;6156:3;6152:16;6149:25;6146:45;;;6187:1;6184;6177:12;6146:45;6237:6;6232:3;6225:4;6217:6;6213:17;6200:44;6292:1;6285:4;6276:6;6268;6264:19;6260:30;6253:41;;;;5668:632;;;;;:::o;6305:222::-;6348:5;6401:3;6394:4;6386:6;6382:17;6378:27;6368:55;;6419:1;6416;6409:12;6368:55;6441:80;6517:3;6508:6;6495:20;6488:4;6480:6;6476:17;6441:80;:::i;6532:617::-;6629:6;6637;6645;6698:2;6686:9;6677:7;6673:23;6669:32;6666:52;;;6714:1;6711;6704:12;6666:52;6754:9;6741:23;6783:18;6824:2;6816:6;6813:14;6810:34;;;6840:1;6837;6830:12;6810:34;6863:50;6905:7;6896:6;6885:9;6881:22;6863:50;:::i;:::-;6853:60;;6966:2;6955:9;6951:18;6938:32;6922:48;;6995:2;6985:8;6982:16;6979:36;;;7011:1;7008;7001:12;6979:36;;7034:52;7078:7;7067:8;7056:9;7052:24;7034:52;:::i;:::-;7024:62;;;7105:38;7139:2;7128:9;7124:18;7105:38;:::i;:::-;7095:48;;6532:617;;;;;:::o;7154:160::-;7219:20;;7275:13;;7268:21;7258:32;;7248:60;;7304:1;7301;7294:12;7319:180;7375:6;7428:2;7416:9;7407:7;7403:23;7399:32;7396:52;;;7444:1;7441;7434:12;7396:52;7467:26;7483:9;7467:26;:::i;7504:254::-;7569:6;7577;7630:2;7618:9;7609:7;7605:23;7601:32;7598:52;;;7646:1;7643;7636:12;7598:52;7669:29;7688:9;7669:29;:::i;:::-;7659:39;;7717:35;7748:2;7737:9;7733:18;7717:35;:::i;7763:667::-;7858:6;7866;7874;7882;7935:3;7923:9;7914:7;7910:23;7906:33;7903:53;;;7952:1;7949;7942:12;7903:53;7975:29;7994:9;7975:29;:::i;:::-;7965:39;;8023:38;8057:2;8046:9;8042:18;8023:38;:::i;:::-;8013:48;;8108:2;8097:9;8093:18;8080:32;8070:42;;8163:2;8152:9;8148:18;8135:32;8190:18;8182:6;8179:30;8176:50;;;8222:1;8219;8212:12;8176:50;8245:22;;8298:4;8290:13;;8286:27;-1:-1:-1;8276:55:59;;8327:1;8324;8317:12;8276:55;8350:74;8416:7;8411:2;8398:16;8393:2;8389;8385:11;8350:74;:::i;:::-;8340:84;;;7763:667;;;;;;;:::o;8435:254::-;8503:6;8511;8564:2;8552:9;8543:7;8539:23;8535:32;8532:52;;;8580:1;8577;8570:12;8532:52;8616:9;8603:23;8593:33;;8645:38;8679:2;8668:9;8664:18;8645:38;:::i;8694:260::-;8762:6;8770;8823:2;8811:9;8802:7;8798:23;8794:32;8791:52;;;8839:1;8836;8829:12;8791:52;8862:29;8881:9;8862:29;:::i;:::-;8852:39;;8910:38;8944:2;8933:9;8929:18;8910:38;:::i;8959:380::-;9038:1;9034:12;;;;9081;;;9102:61;;9156:4;9148:6;9144:17;9134:27;;9102:61;9209:2;9201:6;9198:14;9178:18;9175:38;9172:161;;9255:10;9250:3;9246:20;9243:1;9236:31;9290:4;9287:1;9280:15;9318:4;9315:1;9308:15;9172:161;;8959:380;;;:::o;10584:356::-;10786:2;10768:21;;;10805:18;;;10798:30;10864:34;10859:2;10844:18;;10837:62;10931:2;10916:18;;10584:356::o;10945:127::-;11006:10;11001:3;10997:20;10994:1;10987:31;11037:4;11034:1;11027:15;11061:4;11058:1;11051:15;11077:127;11138:10;11133:3;11129:20;11126:1;11119:31;11169:4;11166:1;11159:15;11193:4;11190:1;11183:15;11209:135;11248:3;11269:17;;;11266:43;;11289:18;;:::i;:::-;-1:-1:-1;11336:1:59;11325:13;;11209:135::o;11349:413::-;11551:2;11533:21;;;11590:2;11570:18;;;11563:30;11629:34;11624:2;11609:18;;11602:62;-1:-1:-1;;;11695:2:59;11680:18;;11673:47;11752:3;11737:19;;11349:413::o;13619:470::-;13798:3;13836:6;13830:13;13852:53;13898:6;13893:3;13886:4;13878:6;13874:17;13852:53;:::i;:::-;13968:13;;13927:16;;;;13990:57;13968:13;13927:16;14024:4;14012:17;;13990:57;:::i;:::-;14063:20;;13619:470;-1:-1:-1;;;;13619:470:59:o;16065:125::-;16105:4;16133:1;16130;16127:8;16124:34;;;16138:18;;:::i;:::-;-1:-1:-1;16175:9:59;;16065:125::o;16195:128::-;16235:3;16266:1;16262:6;16259:1;16256:13;16253:39;;;16272:18;;:::i;:::-;-1:-1:-1;16308:9:59;;16195:128::o;16328:168::-;16368:7;16434:1;16430;16426:6;16422:14;16419:1;16416:21;16411:1;16404:9;16397:17;16393:45;16390:71;;;16441:18;;:::i;:::-;-1:-1:-1;16481:9:59;;16328:168::o;16501:127::-;16562:10;16557:3;16553:20;16550:1;16543:31;16593:4;16590:1;16583:15;16617:4;16614:1;16607:15;16633:120;16673:1;16699;16689:35;;16704:18;;:::i;:::-;-1:-1:-1;16738:9:59;;16633:120::o;16884:545::-;16986:2;16981:3;16978:11;16975:448;;;17022:1;17047:5;17043:2;17036:17;17092:4;17088:2;17078:19;17162:2;17150:10;17146:19;17143:1;17139:27;17133:4;17129:38;17198:4;17186:10;17183:20;17180:47;;;-1:-1:-1;17221:4:59;17180:47;17276:2;17271:3;17267:12;17264:1;17260:20;17254:4;17250:31;17240:41;;17331:82;17349:2;17342:5;17339:13;17331:82;;;17394:17;;;17375:1;17364:13;17331:82;;;17335:3;;;16884:545;;;:::o;17605:1352::-;17731:3;17725:10;17758:18;17750:6;17747:30;17744:56;;;17780:18;;:::i;:::-;17809:97;17899:6;17859:38;17891:4;17885:11;17859:38;:::i;:::-;17853:4;17809:97;:::i;:::-;17961:4;;18025:2;18014:14;;18042:1;18037:663;;;;18744:1;18761:6;18758:89;;;-1:-1:-1;18813:19:59;;;18807:26;18758:89;-1:-1:-1;;17562:1:59;17558:11;;;17554:24;17550:29;17540:40;17586:1;17582:11;;;17537:57;18860:81;;18007:944;;18037:663;16831:1;16824:14;;;16868:4;16855:18;;-1:-1:-1;;18073:20:59;;;18191:236;18205:7;18202:1;18199:14;18191:236;;;18294:19;;;18288:26;18273:42;;18386:27;;;;18354:1;18342:14;;;;18221:19;;18191:236;;;18195:3;18455:6;18446:7;18443:19;18440:201;;;18516:19;;;18510:26;-1:-1:-1;;18599:1:59;18595:14;;;18611:3;18591:24;18587:37;18583:42;18568:58;18553:74;;18440:201;-1:-1:-1;;;;;18687:1:59;18671:14;;;18667:22;18654:36;;-1:-1:-1;17605:1352:59:o;18962:410::-;19164:2;19146:21;;;19203:2;19183:18;;;19176:30;19242:34;19237:2;19222:18;;19215:62;-1:-1:-1;;;19308:2:59;19293:18;;19286:44;19362:3;19347:19;;18962:410::o;19377:407::-;19579:2;19561:21;;;19618:2;19598:18;;;19591:30;19657:34;19652:2;19637:18;;19630:62;-1:-1:-1;;;19723:2:59;19708:18;;19701:41;19774:3;19759:19;;19377:407::o;20333:414::-;20535:2;20517:21;;;20574:2;20554:18;;;20547:30;20613:34;20608:2;20593:18;;20586:62;-1:-1:-1;;;20679:2:59;20664:18;;20657:48;20737:3;20722:19;;20333:414::o;20752:112::-;20784:1;20810;20800:35;;20815:18;;:::i;:::-;-1:-1:-1;20849:9:59;;20752:112::o;21587:489::-;-1:-1:-1;;;;;21856:15:59;;;21838:34;;21908:15;;21903:2;21888:18;;21881:43;21955:2;21940:18;;21933:34;;;22003:3;21998:2;21983:18;;21976:31;;;21781:4;;22024:46;;22050:19;;22042:6;22024:46;:::i;:::-;22016:54;21587:489;-1:-1:-1;;;;;;21587:489:59:o;22081:249::-;22150:6;22203:2;22191:9;22182:7;22178:23;22174:32;22171:52;;;22219:1;22216;22209:12;22171:52;22251:9;22245:16;22270:30;22294:5;22270:30;:::i", + "sourceMap": "777:3244:67:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1633:294;;;;;;:::i;:::-;;:::i;:::-;;;565:14:77;;558:22;540:41;;528:2;513:18;1633:294:67;;;;;;;;2948:98:27;;;:::i;:::-;;;;;;;:::i;4471:217::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1692:32:77;;;1674:51;;1662:2;1647:18;4471:217:27;1528:203:77;3998:412:27;;;;;;:::i;:::-;;:::i;:::-;;2606:183:67;;;;;;:::i;:::-;;:::i;1141:39::-;;;;;;;;;2319:25:77;;;2307:2;2292:18;1141:39:67;2173:177:77;1933:319:67;;;;;;:::i;:::-;;:::i;5198:330:27:-;;;;;;:::i;:::-;;:::i;846:566:72:-;;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;4283:32:77;;;4265:51;;4347:2;4332:18;;4325:34;;;;4238:18;846:566:72;4091:274:77;1198:250:76;;;;;;:::i;:::-;;:::i;2248:113:72:-;2332:22;;-1:-1:-1;;;;;2332:22:72;2248:113;;1454:141:76;;;;;;:::i;:::-;;:::i;282:163:75:-;;;;;;:::i;:::-;367:15;413:24;;;:14;:24;;;;;;-1:-1:-1;;;;;413:24:75;;282:163;5594:179:27;;;;;;:::i;:::-;;:::i;801:241:30:-;;;;;;:::i;:::-;;:::i;2795:317:67:-;;;;;;:::i;:::-;;:::i;204:35:76:-;;;;;;;;;3118:104:67;;;;;;:::i;:::-;;:::i;2651:235:27:-;;;;;;:::i;:::-;;:::i;1187:324:67:-;;;;;;:::i;:::-;;:::i;2390:204:27:-;;;;;;:::i;:::-;;:::i;1908:101:18:-;;;:::i;2258:102:67:-;;;;;;:::i;:::-;;:::i;146:51:76:-;;;;;;:::i;:::-;;;;;;;;;;;;;;2481:119:67;;;;;;:::i;:::-;;:::i;1276:85:18:-;1348:6;;-1:-1:-1;;;;;1348:6:18;1276:85;;3110:102:27;;;:::i;4755:153::-;;;;;;:::i;:::-;;:::i;2367:117:72:-;2453:24;;2367:117;;5839:320:27;;;;;;:::i;:::-;;:::i;3278:329::-;;;;;;:::i;:::-;;:::i;2366:109:67:-;;;;;;:::i;:::-;;:::i;3228:201::-;;;;;;:::i;:::-;;:::i;4974:162:27:-;;;;;;:::i;:::-;-1:-1:-1;;;;;5094:25:27;;;5071:4;5094:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4974:162;2158:198:18;;;;;;:::i;:::-;;:::i;1633:294:67:-;1816:4;-1:-1:-1;;;;;;;;;1855:25:67;;;;:65;;;1884:36;1908:11;1884:23;:36::i;:::-;1836:84;1633:294;-1:-1:-1;;1633:294:67:o;2948:98:27:-;3002:13;3034:5;3027:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2948:98;:::o;4471:217::-;4547:7;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:27;4566:73;;;;-1:-1:-1;;;4566:73:27;;9546:2:77;4566:73:27;;;9528:21:77;9585:2;9565:18;;;9558:30;9624:34;9604:18;;;9597:62;-1:-1:-1;;;9675:18:77;;;9668:42;9727:19;;4566:73:27;;;;;;;;;-1:-1:-1;4657:24:27;;;;:15;:24;;;;;;-1:-1:-1;;;;;4657:24:27;;4471:217::o;3998:412::-;4078:13;4094:34;4120:7;4094:25;:34::i;:::-;4078:50;;4152:5;-1:-1:-1;;;;;4146:11:27;:2;-1:-1:-1;;;;;4146:11:27;;4138:57;;;;-1:-1:-1;;;4138:57:27;;9959:2:77;4138:57:27;;;9941:21:77;9998:2;9978:18;;;9971:30;10037:34;10017:18;;;10010:62;-1:-1:-1;;;10088:18:77;;;10081:31;10129:19;;4138:57:27;9757:397:77;4138:57:27;929:10:33;-1:-1:-1;;;;;4227:21:27;;;;:62;;-1:-1:-1;4252:37:27;4269:5;929:10:33;4974:162:27;:::i;4252:37::-;4206:165;;;;-1:-1:-1;;;4206:165:27;;10361:2:77;4206:165:27;;;10343:21:77;10400:2;10380:18;;;10373:30;10439:34;10419:18;;;10412:62;10510:26;10490:18;;;10483:54;10554:19;;4206:165:27;10159:420:77;4206:165:27;4382:21;4391:2;4395:7;4382:8;:21::i;:::-;4068:342;3998:412;;:::o;2606:183:67:-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;2731:51:67::1;2755:11;2768:13;2731:23;:51::i;:::-;2606:183:::0;;:::o;1933:319::-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;2075:36:67;;::::1;2067:45;;;::::0;::::1;;2128:9;2123:123;2143:20:::0;;::::1;2123:123;;;2184:51;2208:9;;2218:1;2208:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;2222:9;;2232:1;2222:12;;;;;;;:::i;:::-;;;;;;;2184:23;:51::i;:::-;2165:3:::0;::::1;::::0;::::1;:::i;:::-;;;;2123:123;;;;1933:319:::0;;;;:::o;5198:330:27:-;5387:41;929:10:33;5406:12:27;5420:7;5387:18;:41::i;:::-;5379:103;;;;-1:-1:-1;;;5379:103:27;;;;;;;:::i;:::-;5493:28;5503:4;5509:2;5513:7;5493:9;:28::i;846:566:72:-;983:16;1049:26;;;:16;:26;;;;;;983:16;;-1:-1:-1;;;;;1049:26:72;:118;;1145:22;;-1:-1:-1;;;;;1145:22:72;1049:118;;;1104:26;;;;:16;:26;;;;;;-1:-1:-1;;;;;1104:26:72;1049:118;1038:129;;1193:212;1401:3;1193:190;1238:18;:28;1257:8;1238:28;;;;;;;;;;;;1270:1;1238:33;:131;;1345:24;;1238:131;;;1294:28;;;;:18;:28;;;;;;1238:131;1193:10;;:27;:190::i;:::-;:207;;:212::i;:::-;1177:228;;846:566;;;;;:::o;1198:250:76:-;1317:16;;1290:7;;1317:16;;1313:129;;;-1:-1:-1;;;;;;1356:26:76;;;;;:16;:26;;;;;;;1198:250::o;1313:129::-;-1:-1:-1;;;122:17:76;1198:250;-1:-1:-1;1198:250:76:o;1313:129::-;1198:250;;;:::o;1454:141::-;1516:4;1539:29;1559:8;1539:19;:29::i;:::-;1572:1;1539:34;:49;;1583:5;1539:49;;;1576:4;1532:56;1454:141;-1:-1:-1;;1454:141:76:o;5594:179:27:-;5727:39;5744:4;5750:2;5754:7;5727:39;;;;;;;;;;;;:16;:39::i;801:241:30:-;917:41;929:10:33;936:12:30;850:96:33;917:41:30;909:102;;;;-1:-1:-1;;;909:102:30;;11969:2:77;909:102:30;;;11951:21:77;12008:2;11988:18;;;11981:30;12047:34;12027:18;;;12020:62;-1:-1:-1;;;12098:18:77;;;12091:46;12154:19;;909:102:30;11767:412:77;909:102:30;1021:14;1027:7;1021:5;:14::i;:::-;801:241;:::o;2795:317:67:-;2925:10;2937:1;459:9:76;426:29;446:8;426:19;:29::i;:::-;:42;;418:51;;;;;;2950:155:67::1;2976:4;;2950:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;3041:24:67::1;::::0;2994:10:::1;::::0;-1:-1:-1;3018:9:67;;-1:-1:-1;3079:16:67;2950:12:::1;:155::i;:::-;;2795:317:::0;;;;;;:::o;3118:104::-;3181:8;1598:10;1577:17;3181:8;1577:7;:17::i;:::-;-1:-1:-1;;;;;1577:31:67;;1569:40;;;;;;3201:14:::1;3206:8;3201:4;:14::i;2651:235:27:-:0;2723:7;2758:16;;;:7;:16;;;;;;-1:-1:-1;;;;;2758:16:27;;2784:73;;;;-1:-1:-1;;;2784:73:27;;12386:2:77;2784:73:27;;;12368:21:77;12425:2;12405:18;;;12398:30;12464:34;12444:18;;;12437:62;-1:-1:-1;;;12515:18:77;;;12508:39;12564:19;;2784:73:27;12184:405:77;1187:324:67;3111:19:19;3133:25;3156:1;3133:22;:25::i;:::-;3111:47;;3172:14;3168:65;;;3202:13;:20;;-1:-1:-1;;3202:20:19;;;;;3168:65;-1:-1:-1;;;;;1331:23:67;::::1;1323:32;;;::::0;::::1;;1392:2;1365:24;:29:::0;1405::::1;1419:5:::0;1426:7;1405:13:::1;:29::i;:::-;1444:15;:13;:15::i;:::-;1470:34;1494:9;1470:23;:34::i;:::-;3257:14:19::0;3253:99;;;3303:5;3287:21;;-1:-1:-1;;3287:21:19;;;3327:14;;-1:-1:-1;12746:36:77;;3327:14:19;;12734:2:77;12719:18;3327:14:19;;;;;;;3253:99;3101:257;1187:324:67;;;:::o;2390:204:27:-;2462:7;-1:-1:-1;;;;;2489:19:27;;2481:73;;;;-1:-1:-1;;;2481:73:27;;12995:2:77;2481:73:27;;;12977:21:77;13034:2;13014:18;;;13007:30;13073:34;13053:18;;;13046:62;-1:-1:-1;;;13124:18:77;;;13117:39;13173:19;;2481:73:27;12793:405:77;2481:73:27;-1:-1:-1;;;;;;2571:16:27;;;;;:9;:16;;;;;;;2390:204::o;1908:101:18:-;1348:6;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;1972:30:::1;1999:1;1972:18;:30::i;:::-;1908:101::o:0;2258:102:67:-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;553:16:76;:27;;-1:-1:-1;;553:27:76;;;;;;;801:241:30;:::o;2481:119:67:-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;2560:33:67::1;2581:11;2560:20;:33::i;3110:102:27:-:0;3166:13;3198:7;3191:14;;;;;:::i;4755:153::-;4849:52;929:10:33;4882:8:27;4892;4849:18;:52::i;5839:320::-;6008:41;929:10:33;6041:7:27;6008:18;:41::i;:::-;6000:103;;;;-1:-1:-1;;;6000:103:27;;;;;;;:::i;:::-;6113:39;6127:4;6133:2;6137:7;6146:5;6113:13;:39::i;3278:329::-;7696:4;7719:16;;;:7;:16;;;;;;3351:13;;-1:-1:-1;;;;;7719:16:27;3376:76;;;;-1:-1:-1;;;3376:76:27;;13405:2:77;3376:76:27;;;13387:21:77;13444:2;13424:18;;;13417:30;13483:34;13463:18;;;13456:62;-1:-1:-1;;;13534:18:77;;;13527:45;13589:19;;3376:76:27;13203:411:77;3376:76:27;3463:21;3487:10;3925:9;;;;;;;;;-1:-1:-1;3925:9:27;;;3849:92;3487:10;3463:34;;3538:1;3520:7;3514:21;:25;:86;;;;;;;;;;;;;;;;;3566:7;3575:18;:7;:16;:18::i;:::-;3549:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3514:86;3507:93;3278:329;-1:-1:-1;;;3278:329:27:o;2366:109:67:-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;2440:28:67::1;2456:11;2440:15;:28::i;3228:201::-:0;367:15:75;413:24;;;:14;:24;;;;;;-1:-1:-1;;;;;413:24:75;3320:10:67;:36;3312:60;;;;-1:-1:-1;;;3312:60:67;;14296:2:77;3312:60:67;;;14278:21:77;14335:2;14315:18;;;14308:30;-1:-1:-1;;;14354:18:77;;;14347:41;14405:18;;3312:60:67;14094:335:77;3312:60:67;3382:40;3402:8;3412:9;3382:19;:40::i;2158:198:18:-;1348:6;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;-1:-1:-1;;;;;2246:22:18;::::1;2238:73;;;::::0;-1:-1:-1;;;2238:73:18;;14636:2:77;2238:73:18::1;::::0;::::1;14618:21:77::0;14675:2;14655:18;;;14648:30;14714:34;14694:18;;;14687:62;-1:-1:-1;;;14765:18:77;;;14758:36;14811:19;;2238:73:18::1;14434:402:77::0;2238:73:18::1;2321:28;2340:8;2321:18;:28::i;1849:264:72:-:0;1974:4;-1:-1:-1;;;;;;2013:41:72;;-1:-1:-1;;;2013:41:72;;:93;;;2070:36;2094:11;2070:23;:36::i;11673:182:27:-;11747:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;11747:29:27;-1:-1:-1;;;;;11747:29:27;;;;;;;;:24;;11800:34;11747:24;11800:25;:34::i;:::-;-1:-1:-1;;;;;11791:57:27;;;;;;;;;;;11673:182;;:::o;960:232:76:-;-1:-1:-1;;;;;1934:26:76;;;;;;:16;:26;;;;;;;;;:39;;;1134:51;;2319:25:77;;;1134:51:76;;2292:18:77;1134:51:76;;;;;;;960:232;;:::o;7914:355:27:-;8007:4;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:27;8023:73;;;;-1:-1:-1;;;8023:73:27;;15043:2:77;8023:73:27;;;15025:21:77;15082:2;15062:18;;;15055:30;15121:34;15101:18;;;15094:62;-1:-1:-1;;;15172:18:77;;;15165:42;15224:19;;8023:73:27;14841:408:77;8023:73:27;8106:13;8122:34;8148:7;8122:25;:34::i;:::-;8106:50;;8185:5;-1:-1:-1;;;;;8174:16:27;:7;-1:-1:-1;;;;;8174:16:27;;:52;;;-1:-1:-1;;;;;;5094:25:27;;;5071:4;5094:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;8194:32;8174:87;;;;8254:7;-1:-1:-1;;;;;8230:31:27;:20;8242:7;8230:11;:20::i;:::-;-1:-1:-1;;;;;8230:31:27;;8174:87;8166:96;7914:355;-1:-1:-1;;;;7914:355:27:o;10946:616::-;11111:4;-1:-1:-1;;;;;11073:42:27;:34;11099:7;11073:25;:34::i;:::-;-1:-1:-1;;;;;11073:42:27;;11065:92;;;;-1:-1:-1;;;11065:92:27;;15456:2:77;11065:92:27;;;15438:21:77;15495:2;15475:18;;;15468:30;15534:34;15514:18;;;15507:62;-1:-1:-1;;;15585:18:77;;;15578:35;15630:19;;11065:92:27;15254:401:77;11065:92:27;-1:-1:-1;;;;;11175:16:27;;11167:65;;;;-1:-1:-1;;;11167:65:27;;15862:2:77;11167:65:27;;;15844:21:77;15901:2;15881:18;;;15874:30;15940:34;15920:18;;;15913:62;-1:-1:-1;;;15991:18:77;;;15984:34;16035:19;;11167:65:27;15660:400:77;11167:65:27;11344:29;11361:1;11365:7;11344:8;:29::i;:::-;-1:-1:-1;;;;;11384:15:27;;;;;;:9;:15;;;;;:20;;11403:1;;11384:15;:20;;11403:1;;11384:20;:::i;:::-;;;;-1:-1:-1;;;;;;;11414:13:27;;;;;;:9;:13;;;;;:18;;11431:1;;11414:13;:18;;11431:1;;11414:18;:::i;:::-;;;;-1:-1:-1;;11442:16:27;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;11442:21:27;-1:-1:-1;;;;;11442:21:27;;;;;;;;;11479:27;;11442:16;;11479:27;;;;;;;4068:342;3998:412;;:::o;3461:96:38:-;3519:7;3545:5;3549:1;3545;:5;:::i;3846:96::-;3904:7;3930:5;3934:1;3930;:5;:::i;10205:417:27:-;10264:13;10280:34;10306:7;10280:25;:34::i;:::-;10264:50;;10411:29;10428:1;10432:7;10411:8;:29::i;:::-;-1:-1:-1;;;;;10451:16:27;;;;;;:9;:16;;;;;:21;;10471:1;;10451:16;:21;;10471:1;;10451:21;:::i;:::-;;;;-1:-1:-1;;10489:16:27;;;;:7;:16;;;;;;10482:23;;-1:-1:-1;;;;;;10482:23:27;;;10521:36;10497:7;;10489:16;-1:-1:-1;;;;;10521:36:27;;;;;10489:16;;10521:36;2606:183:67;;:::o;3435:584::-;3651:14;:16;;3632:7;;;3651:16;;;:::i;:::-;;;;;;3677:32;3683:9;3694:14;;3677:5;:32::i;:::-;3729:14;;3719:25;;;;:9;:25;;;;;:32;3747:4;3719:25;:32;:::i;:::-;-1:-1:-1;3778:14:67;;532:24:75;;;;:14;:24;;;;;:35;;-1:-1:-1;;;;;;532:35:75;-1:-1:-1;;;;;532:35:75;;;;;3813:53:67;3833:14;;3849:16;3813:19;:53::i;:::-;3876:57;3898:14;;3914:18;1794:28:72;;;;:18;:28;;;;;;:42;1693:150;3876:57:67;3943:38;3970:10;3943:26;:38::i;:::-;-1:-1:-1;3998:14:67;;3435:584;;;;;;;:::o;5287:808:19:-;5351:4;5684:13;;;;;;;5680:409;;;5738:7;:12;;5749:1;5738:12;:61;;;;-1:-1:-1;5793:4:19;1476:19:32;:23;5738:61:19;5713:166;;;;-1:-1:-1;;;5713:166:19;;;;;;;:::i;:::-;-1:-1:-1;5900:5:19;;5287:808;-1:-1:-1;5287:808:19:o;5680:409::-;5944:12;;:22;;;;:12;;:22;5936:81;;;;-1:-1:-1;;;5936:81:19;;;;;;;:::i;:::-;-1:-1:-1;6031:12:19;:22;;-1:-1:-1;;6031:22:19;;;;;;;;;;;;-1:-1:-1;;5287:808:19:o;1605:149:27:-;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;:::-;1708:39:27::1;1732:5;1739:7;1708:23;:39::i;862:58:36:-:0;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;2510:187:18:-;2602:6;;;-1:-1:-1;;;;;2618:17:18;;;-1:-1:-1;;;;;;2618:17:18;;;;;;;2650:40;;2602:6;;;2618:17;2602:6;;2650:40;;2583:16;;2650:40;2573:124;2510:187;:::o;784:170:76:-;-1:-1:-1;;;;;1934:26:76;;891:1;1934:26;;;:16;:26;;;;;;;;:39;;;908;2319:25:77;;;908:39:76;;2292:18:77;908:39:76;;;;;;;;784:170;:::o;11990:307:27:-;12140:8;-1:-1:-1;;;;;12131:17:27;:5;-1:-1:-1;;;;;12131:17:27;;12123:55;;;;-1:-1:-1;;;12123:55:27;;20181:2:77;12123:55:27;;;20163:21:77;20220:2;20200:18;;;20193:30;20259:27;20239:18;;;20232:55;20304:18;;12123:55:27;19979:349:77;12123:55:27;-1:-1:-1;;;;;12188:25:27;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;12188:46:27;;;;;;;;;;12249:41;;540::77;;;12249::27;;513:18:77;12249:41:27;;;;;;;11990:307;;;:::o;7021:::-;7172:28;7182:4;7188:2;7192:7;7172:9;:28::i;:::-;7218:48;7241:4;7247:2;7251:7;7260:5;7218:22;:48::i;:::-;7210:111;;;;-1:-1:-1;;;7210:111:27;;;;;;;:::i;339:703:35:-;395:13;612:5;621:1;612:10;608:51;;-1:-1:-1;;638:10:35;;;;;;;;;;;;-1:-1:-1;;;638:10:35;;;;;339:703::o;608:51::-;683:5;668:12;722:75;729:9;;722:75;;754:8;;;;:::i;:::-;;-1:-1:-1;776:10:35;;-1:-1:-1;784:2:35;776:10;;:::i;:::-;;;722:75;;;806:19;838:6;828:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;828:17:35;;806:39;;855:150;862:10;;855:150;;888:11;898:1;888:11;;:::i;:::-;;-1:-1:-1;956:10:35;964:2;956:5;:10;:::i;:::-;943:24;;:2;:24;:::i;:::-;930:39;;913:6;920;913:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;913:56:35;;;;;;;;-1:-1:-1;983:11:35;992:2;983:11;;:::i;:::-;;;855:150;;593:185:76;-1:-1:-1;;;;;1934:26:76;;;;;;:16;:26;;;;;-1:-1:-1;;1934:39:76;;746:11;-1:-1:-1;;;;;722:49:76;;-1:-1:-1;;722:49:76;;;;2319:25:77;;2307:2;2292:18;;2173:177;1539:148:72;1639:26;;;;:16;:26;;;;;;:41;;-1:-1:-1;;;;;;1639:41:72;-1:-1:-1;;;;;1639:41:72;;;;;;;;;1539:148::o;1987:344:27:-;2111:4;-1:-1:-1;;;;;;2146:51:27;;-1:-1:-1;;;2146:51:27;;:126;;-1:-1:-1;;;;;;;2213:59:27;;-1:-1:-1;;;2213:59:27;2146:126;:178;;;-1:-1:-1;;;;;;;;;;1168:51:36;;;2288:36:27;1060:166:36;9561:427:27;-1:-1:-1;;;;;9640:16:27;;9632:61;;;;-1:-1:-1;;;9632:61:27;;21071:2:77;9632:61:27;;;21053:21:77;;;21090:18;;;21083:30;21149:34;21129:18;;;21122:62;21201:18;;9632:61:27;20869:356:77;9632:61:27;7696:4;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:27;:30;9703:58;;;;-1:-1:-1;;;9703:58:27;;21432:2:77;9703:58:27;;;21414:21:77;21471:2;21451:18;;;21444:30;21510;21490:18;;;21483:58;21558:18;;9703:58:27;21230:352:77;9703:58:27;-1:-1:-1;;;;;9828:13:27;;;;;;:9;:13;;;;;:18;;9845:1;;9828:13;:18;;9845:1;;9828:18;:::i;:::-;;;;-1:-1:-1;;9856:16:27;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9856:21:27;-1:-1:-1;;;;;9856:21:27;;;;;;;;9893:33;;9856:16;;;9893:33;;9856:16;;9893:33;2606:183:67;;:::o;1601:225:76:-;1677:16;;;;1673:147;;;-1:-1:-1;;;;;1729:25:76;;1709:17;1729:25;;;:16;:25;;;;;;1796:13;1808:1;1729:25;1796:13;:::i;:::-;-1:-1:-1;;;;;1768:25:76;;;;;;:16;:25;;;;;:41;-1:-1:-1;1601:225:76;:::o;1760:160:27:-;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;:::-;1873:5:27::1;:13;1881:5:::0;1873;:13:::1;:::i;:::-;-1:-1:-1::0;1896:7:27::1;:17;1906:7:::0;1896;:17:::1;:::i;12850:800::-:0;13000:4;-1:-1:-1;;;;;13020:13:27;;1476:19:32;:23;13016:628:27;;13055:83;;-1:-1:-1;;;13055:83:27;;-1:-1:-1;;;;;13055:47:27;;;;;:83;;929:10:33;;13117:4:27;;13123:7;;13132:5;;13055:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13055:83:27;;;;;;;;-1:-1:-1;;13055:83:27;;;;;;;;;;;;:::i;:::-;;;13051:541;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13316:6;:13;13333:1;13316:18;13312:266;;13358:60;;-1:-1:-1;;;13358:60:27;;;;;;;:::i;13312:266::-;13530:6;13524:13;13515:6;13511:2;13507:15;13500:38;13051:541;-1:-1:-1;;;;;;13188:62:27;-1:-1:-1;;;13188:62:27;;-1:-1:-1;13181:69:27;;13016:628;-1:-1:-1;13629:4:27;12850:800;;;;;;:::o;14:131:77:-;-1:-1:-1;;;;;;88:32:77;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:258::-;664:1;674:113;688:6;685:1;682:13;674:113;;;764:11;;;758:18;745:11;;;738:39;710:2;703:10;674:113;;;805:6;802:1;799:13;796:48;;;-1:-1:-1;;840:1:77;822:16;;815:27;592:258::o;855:::-;897:3;935:5;929:12;962:6;957:3;950:19;978:63;1034:6;1027:4;1022:3;1018:14;1011:4;1004:5;1000:16;978:63;:::i;:::-;1095:2;1074:15;-1:-1:-1;;1070:29:77;1061:39;;;;1102:4;1057:50;;855:258;-1:-1:-1;;855:258:77:o;1118:220::-;1267:2;1256:9;1249:21;1230:4;1287:45;1328:2;1317:9;1313:18;1305:6;1287:45;:::i;1343:180::-;1402:6;1455:2;1443:9;1434:7;1430:23;1426:32;1423:52;;;1471:1;1468;1461:12;1423:52;-1:-1:-1;1494:23:77;;1343:180;-1:-1:-1;1343:180:77:o;1736:173::-;1804:20;;-1:-1:-1;;;;;1853:31:77;;1843:42;;1833:70;;1899:1;1896;1889:12;1914:254;1982:6;1990;2043:2;2031:9;2022:7;2018:23;2014:32;2011:52;;;2059:1;2056;2049:12;2011:52;2082:29;2101:9;2082:29;:::i;:::-;2072:39;2158:2;2143:18;;;;2130:32;;-1:-1:-1;;;1914:254:77:o;2355:367::-;2418:8;2428:6;2482:3;2475:4;2467:6;2463:17;2459:27;2449:55;;2500:1;2497;2490:12;2449:55;-1:-1:-1;2523:20:77;;2566:18;2555:30;;2552:50;;;2598:1;2595;2588:12;2552:50;2635:4;2627:6;2623:17;2611:29;;2695:3;2688:4;2678:6;2675:1;2671:14;2663:6;2659:27;2655:38;2652:47;2649:67;;;2712:1;2709;2702:12;2649:67;2355:367;;;;;:::o;2727:773::-;2849:6;2857;2865;2873;2926:2;2914:9;2905:7;2901:23;2897:32;2894:52;;;2942:1;2939;2932:12;2894:52;2982:9;2969:23;3011:18;3052:2;3044:6;3041:14;3038:34;;;3068:1;3065;3058:12;3038:34;3107:70;3169:7;3160:6;3149:9;3145:22;3107:70;:::i;:::-;3196:8;;-1:-1:-1;3081:96:77;-1:-1:-1;3284:2:77;3269:18;;3256:32;;-1:-1:-1;3300:16:77;;;3297:36;;;3329:1;3326;3319:12;3297:36;;3368:72;3432:7;3421:8;3410:9;3406:24;3368:72;:::i;:::-;2727:773;;;;-1:-1:-1;3459:8:77;-1:-1:-1;;;;2727:773:77:o;3505:328::-;3582:6;3590;3598;3651:2;3639:9;3630:7;3626:23;3622:32;3619:52;;;3667:1;3664;3657:12;3619:52;3690:29;3709:9;3690:29;:::i;:::-;3680:39;;3738:38;3772:2;3761:9;3757:18;3738:38;:::i;:::-;3728:48;;3823:2;3812:9;3808:18;3795:32;3785:42;;3505:328;;;;;:::o;3838:248::-;3906:6;3914;3967:2;3955:9;3946:7;3942:23;3938:32;3935:52;;;3983:1;3980;3973:12;3935:52;-1:-1:-1;;4006:23:77;;;4076:2;4061:18;;;4048:32;;-1:-1:-1;3838:248:77:o;4370:186::-;4429:6;4482:2;4470:9;4461:7;4457:23;4453:32;4450:52;;;4498:1;4495;4488:12;4450:52;4521:29;4540:9;4521:29;:::i;4785:746::-;4874:6;4882;4890;4898;4951:2;4939:9;4930:7;4926:23;4922:32;4919:52;;;4967:1;4964;4957:12;4919:52;5007:9;4994:23;5036:18;5077:2;5069:6;5066:14;5063:34;;;5093:1;5090;5083:12;5063:34;5131:6;5120:9;5116:22;5106:32;;5176:7;5169:4;5165:2;5161:13;5157:27;5147:55;;5198:1;5195;5188:12;5147:55;5238:2;5225:16;5264:2;5256:6;5253:14;5250:34;;;5280:1;5277;5270:12;5250:34;5327:7;5320:4;5311:6;5307:2;5303:15;5299:26;5296:39;5293:59;;;5348:1;5345;5338:12;5293:59;5379:4;5371:13;;;;-1:-1:-1;5403:6:77;-1:-1:-1;5428:40:77;;5447:20;;;-1:-1:-1;5428:40:77;:::i;:::-;5418:50;;5487:38;5521:2;5510:9;5506:18;5487:38;:::i;:::-;5477:48;;4785:746;;;;;;;:::o;5536:127::-;5597:10;5592:3;5588:20;5585:1;5578:31;5628:4;5625:1;5618:15;5652:4;5649:1;5642:15;5668:632;5733:5;5763:18;5804:2;5796:6;5793:14;5790:40;;;5810:18;;:::i;:::-;5885:2;5879:9;5853:2;5939:15;;-1:-1:-1;;5935:24:77;;;5961:2;5931:33;5927:42;5915:55;;;5985:18;;;6005:22;;;5982:46;5979:72;;;6031:18;;:::i;:::-;6071:10;6067:2;6060:22;6100:6;6091:15;;6130:6;6122;6115:22;6170:3;6161:6;6156:3;6152:16;6149:25;6146:45;;;6187:1;6184;6177:12;6146:45;6237:6;6232:3;6225:4;6217:6;6213:17;6200:44;6292:1;6285:4;6276:6;6268;6264:19;6260:30;6253:41;;;;5668:632;;;;;:::o;6305:222::-;6348:5;6401:3;6394:4;6386:6;6382:17;6378:27;6368:55;;6419:1;6416;6409:12;6368:55;6441:80;6517:3;6508:6;6495:20;6488:4;6480:6;6476:17;6441:80;:::i;6532:617::-;6629:6;6637;6645;6698:2;6686:9;6677:7;6673:23;6669:32;6666:52;;;6714:1;6711;6704:12;6666:52;6754:9;6741:23;6783:18;6824:2;6816:6;6813:14;6810:34;;;6840:1;6837;6830:12;6810:34;6863:50;6905:7;6896:6;6885:9;6881:22;6863:50;:::i;:::-;6853:60;;6966:2;6955:9;6951:18;6938:32;6922:48;;6995:2;6985:8;6982:16;6979:36;;;7011:1;7008;7001:12;6979:36;;7034:52;7078:7;7067:8;7056:9;7052:24;7034:52;:::i;:::-;7024:62;;;7105:38;7139:2;7128:9;7124:18;7105:38;:::i;:::-;7095:48;;6532:617;;;;;:::o;7154:160::-;7219:20;;7275:13;;7268:21;7258:32;;7248:60;;7304:1;7301;7294:12;7319:180;7375:6;7428:2;7416:9;7407:7;7403:23;7399:32;7396:52;;;7444:1;7441;7434:12;7396:52;7467:26;7483:9;7467:26;:::i;7504:254::-;7569:6;7577;7630:2;7618:9;7609:7;7605:23;7601:32;7598:52;;;7646:1;7643;7636:12;7598:52;7669:29;7688:9;7669:29;:::i;:::-;7659:39;;7717:35;7748:2;7737:9;7733:18;7717:35;:::i;7763:667::-;7858:6;7866;7874;7882;7935:3;7923:9;7914:7;7910:23;7906:33;7903:53;;;7952:1;7949;7942:12;7903:53;7975:29;7994:9;7975:29;:::i;:::-;7965:39;;8023:38;8057:2;8046:9;8042:18;8023:38;:::i;:::-;8013:48;;8108:2;8097:9;8093:18;8080:32;8070:42;;8163:2;8152:9;8148:18;8135:32;8190:18;8182:6;8179:30;8176:50;;;8222:1;8219;8212:12;8176:50;8245:22;;8298:4;8290:13;;8286:27;-1:-1:-1;8276:55:77;;8327:1;8324;8317:12;8276:55;8350:74;8416:7;8411:2;8398:16;8393:2;8389;8385:11;8350:74;:::i;:::-;8340:84;;;7763:667;;;;;;;:::o;8435:254::-;8503:6;8511;8564:2;8552:9;8543:7;8539:23;8535:32;8532:52;;;8580:1;8577;8570:12;8532:52;8616:9;8603:23;8593:33;;8645:38;8679:2;8668:9;8664:18;8645:38;:::i;8694:260::-;8762:6;8770;8823:2;8811:9;8802:7;8798:23;8794:32;8791:52;;;8839:1;8836;8829:12;8791:52;8862:29;8881:9;8862:29;:::i;:::-;8852:39;;8910:38;8944:2;8933:9;8929:18;8910:38;:::i;8959:380::-;9038:1;9034:12;;;;9081;;;9102:61;;9156:4;9148:6;9144:17;9134:27;;9102:61;9209:2;9201:6;9198:14;9178:18;9175:38;9172:161;;9255:10;9250:3;9246:20;9243:1;9236:31;9290:4;9287:1;9280:15;9318:4;9315:1;9308:15;9172:161;;8959:380;;;:::o;10584:356::-;10786:2;10768:21;;;10805:18;;;10798:30;10864:34;10859:2;10844:18;;10837:62;10931:2;10916:18;;10584:356::o;10945:127::-;11006:10;11001:3;10997:20;10994:1;10987:31;11037:4;11034:1;11027:15;11061:4;11058:1;11051:15;11077:127;11138:10;11133:3;11129:20;11126:1;11119:31;11169:4;11166:1;11159:15;11193:4;11190:1;11183:15;11209:135;11248:3;11269:17;;;11266:43;;11289:18;;:::i;:::-;-1:-1:-1;11336:1:77;11325:13;;11209:135::o;11349:413::-;11551:2;11533:21;;;11590:2;11570:18;;;11563:30;11629:34;11624:2;11609:18;;11602:62;-1:-1:-1;;;11695:2:77;11680:18;;11673:47;11752:3;11737:19;;11349:413::o;13619:470::-;13798:3;13836:6;13830:13;13852:53;13898:6;13893:3;13886:4;13878:6;13874:17;13852:53;:::i;:::-;13968:13;;13927:16;;;;13990:57;13968:13;13927:16;14024:4;14012:17;;13990:57;:::i;:::-;14063:20;;13619:470;-1:-1:-1;;;;13619:470:77:o;16065:125::-;16105:4;16133:1;16130;16127:8;16124:34;;;16138:18;;:::i;:::-;-1:-1:-1;16175:9:77;;16065:125::o;16195:128::-;16235:3;16266:1;16262:6;16259:1;16256:13;16253:39;;;16272:18;;:::i;:::-;-1:-1:-1;16308:9:77;;16195:128::o;16328:168::-;16368:7;16434:1;16430;16426:6;16422:14;16419:1;16416:21;16411:1;16404:9;16397:17;16393:45;16390:71;;;16441:18;;:::i;:::-;-1:-1:-1;16481:9:77;;16328:168::o;16501:127::-;16562:10;16557:3;16553:20;16550:1;16543:31;16593:4;16590:1;16583:15;16617:4;16614:1;16607:15;16633:120;16673:1;16699;16689:35;;16704:18;;:::i;:::-;-1:-1:-1;16738:9:77;;16633:120::o;16884:545::-;16986:2;16981:3;16978:11;16975:448;;;17022:1;17047:5;17043:2;17036:17;17092:4;17088:2;17078:19;17162:2;17150:10;17146:19;17143:1;17139:27;17133:4;17129:38;17198:4;17186:10;17183:20;17180:47;;;-1:-1:-1;17221:4:77;17180:47;17276:2;17271:3;17267:12;17264:1;17260:20;17254:4;17250:31;17240:41;;17331:82;17349:2;17342:5;17339:13;17331:82;;;17394:17;;;17375:1;17364:13;17331:82;;;17335:3;;;16884:545;;;:::o;17605:1352::-;17731:3;17725:10;17758:18;17750:6;17747:30;17744:56;;;17780:18;;:::i;:::-;17809:97;17899:6;17859:38;17891:4;17885:11;17859:38;:::i;:::-;17853:4;17809:97;:::i;:::-;17961:4;;18025:2;18014:14;;18042:1;18037:663;;;;18744:1;18761:6;18758:89;;;-1:-1:-1;18813:19:77;;;18807:26;18758:89;-1:-1:-1;;17562:1:77;17558:11;;;17554:24;17550:29;17540:40;17586:1;17582:11;;;17537:57;18860:81;;18007:944;;18037:663;16831:1;16824:14;;;16868:4;16855:18;;-1:-1:-1;;18073:20:77;;;18191:236;18205:7;18202:1;18199:14;18191:236;;;18294:19;;;18288:26;18273:42;;18386:27;;;;18354:1;18342:14;;;;18221:19;;18191:236;;;18195:3;18455:6;18446:7;18443:19;18440:201;;;18516:19;;;18510:26;-1:-1:-1;;18599:1:77;18595:14;;;18611:3;18591:24;18587:37;18583:42;18568:58;18553:74;;18440:201;-1:-1:-1;;;;;18687:1:77;18671:14;;;18667:22;18654:36;;-1:-1:-1;17605:1352:77:o;18962:410::-;19164:2;19146:21;;;19203:2;19183:18;;;19176:30;19242:34;19237:2;19222:18;;19215:62;-1:-1:-1;;;19308:2:77;19293:18;;19286:44;19362:3;19347:19;;18962:410::o;19377:407::-;19579:2;19561:21;;;19618:2;19598:18;;;19591:30;19657:34;19652:2;19637:18;;19630:62;-1:-1:-1;;;19723:2:77;19708:18;;19701:41;19774:3;19759:19;;19377:407::o;20333:414::-;20535:2;20517:21;;;20574:2;20554:18;;;20547:30;20613:34;20608:2;20593:18;;20586:62;-1:-1:-1;;;20679:2:77;20664:18;;20657:48;20737:3;20722:19;;20333:414::o;20752:112::-;20784:1;20810;20800:35;;20815:18;;:::i;:::-;-1:-1:-1;20849:9:77;;20752:112::o;21587:489::-;-1:-1:-1;;;;;21856:15:77;;;21838:34;;21908:15;;21903:2;21888:18;;21881:43;21955:2;21940:18;;21933:34;;;22003:3;21998:2;21983:18;;21976:31;;;21781:4;;22024:46;;22050:19;;22042:6;22024:46;:::i;:::-;22016:54;21587:489;-1:-1:-1;;;;;;21587:489:77:o;22081:249::-;22150:6;22203:2;22191:9;22182:7;22178:23;22174:32;22171:52;;;22219:1;22216;22209:12;22171:52;22251:9;22245:16;22270:30;22294:5;22270:30;:::i", "linkReferences": {} }, "methodIdentifiers": { @@ -1584,16 +1584,16 @@ }, "settings": { "remappings": [ - ":aux/=lib/aux/", - ":ds-test/=lib/ds-test/src/", - ":erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - ":forge-std/=lib/forge-std/src/", - ":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", - ":openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", - ":rareprotocol/aux/=lib/aux/src/", - ":royalty-guard/=lib/royalty-guard/src/royalty-guard/", - ":solmate/=lib/royalty-guard/lib/solmate/src/" + "aux/=lib/aux/", + "ds-test/=lib/ds-test/src/", + "erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", + "openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", + "rareprotocol/aux/=lib/aux/src/", + "royalty-guard/=lib/royalty-guard/src/royalty-guard/", + "solmate/=lib/royalty-guard/lib/solmate/src/" ], "optimizer": { "enabled": true, @@ -1765,51 +1765,81 @@ }, "ast": { "absolutePath": "src/token/ERC721/spaces/RareSpaceNFT.sol", - "id": 9647, + "id": 34785, "exportedSymbols": { - "AddressUpgradeable": [3429], - "ERC165Upgradeable": [3792], - "ERC2981Upgradeable": [10393], - "ERC721BurnableUpgradeable": [3159], - "ERC721Upgradeable": [2975], - "IERC165Upgradeable": [3804], - "IERC2981": [10409], - "Initializable": [955], - "OwnableUpgradeable": [813], - "RareSpaceNFT": [9646], - "SafeMathUpgradeable": [4116], - "TokenCreator": [10459], - "Whitelist": [10630] + "AddressUpgradeable": [ + 27536 + ], + "ERC165Upgradeable": [ + 27899 + ], + "ERC2981Upgradeable": [ + 35531 + ], + "ERC721BurnableUpgradeable": [ + 27266 + ], + "ERC721Upgradeable": [ + 27082 + ], + "IERC165Upgradeable": [ + 27911 + ], + "IERC2981": [ + 35547 + ], + "Initializable": [ + 25062 + ], + "OwnableUpgradeable": [ + 24920 + ], + "RareSpaceNFT": [ + 34784 + ], + "SafeMathUpgradeable": [ + 28223 + ], + "TokenCreator": [ + 35597 + ], + "Whitelist": [ + 35768 + ] }, "nodeType": "SourceUnit", - "src": "32:3990:49", + "src": "32:3990:67", "nodes": [ { - "id": 9329, + "id": 34467, "nodeType": "PragmaDirective", - "src": "32:23:49", + "src": "32:23:67", "nodes": [], - "literals": ["solidity", "0.8", ".15"] + "literals": [ + "solidity", + "0.8", + ".15" + ] }, { - "id": 9331, + "id": 34469, "nodeType": "ImportDirective", - "src": "57:104:49", + "src": "57:104:67", "nodes": [], "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol", "file": "openzeppelin-contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol", "nameLocation": "-1:-1:-1", - "scope": 9647, - "sourceUnit": 2976, + "scope": 34785, + "sourceUnit": 27083, "symbolAliases": [ { "foreign": { - "id": 9330, + "id": 34468, "name": "ERC721Upgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2975, - "src": "65:17:49", + "referencedDeclaration": 27082, + "src": "65:17:67", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1818,24 +1848,24 @@ "unitAlias": "" }, { - "id": 9333, + "id": 34471, "nodeType": "ImportDirective", - "src": "162:131:49", + "src": "162:131:67", "nodes": [], "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol", "file": "openzeppelin-contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol", "nameLocation": "-1:-1:-1", - "scope": 9647, - "sourceUnit": 3160, + "scope": 34785, + "sourceUnit": 27267, "symbolAliases": [ { "foreign": { - "id": 9332, + "id": 34470, "name": "ERC721BurnableUpgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3159, - "src": "170:25:49", + "referencedDeclaration": 27266, + "src": "170:25:67", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1844,24 +1874,24 @@ "unitAlias": "" }, { - "id": 9335, + "id": 34473, "nodeType": "ImportDirective", - "src": "294:111:49", + "src": "294:111:67", "nodes": [], "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", "file": "openzeppelin-contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol", "nameLocation": "-1:-1:-1", - "scope": 9647, - "sourceUnit": 3793, + "scope": 34785, + "sourceUnit": 27900, "symbolAliases": [ { "foreign": { - "id": 9334, + "id": 34472, "name": "ERC165Upgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3792, - "src": "302:17:49", + "referencedDeclaration": 27899, + "src": "302:17:67", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1870,24 +1900,24 @@ "unitAlias": "" }, { - "id": 9337, + "id": 34475, "nodeType": "ImportDirective", - "src": "406:100:49", + "src": "406:100:67", "nodes": [], "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", "file": "openzeppelin-contracts-upgradeable/access/OwnableUpgradeable.sol", "nameLocation": "-1:-1:-1", - "scope": 9647, - "sourceUnit": 814, + "scope": 34785, + "sourceUnit": 24921, "symbolAliases": [ { "foreign": { - "id": 9336, + "id": 34474, "name": "OwnableUpgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 813, - "src": "414:18:49", + "referencedDeclaration": 24920, + "src": "414:18:67", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1896,24 +1926,24 @@ "unitAlias": "" }, { - "id": 9339, + "id": 34477, "nodeType": "ImportDirective", - "src": "507:63:49", + "src": "507:63:67", "nodes": [], "absolutePath": "src/token/extensions/TokenCreator.sol", "file": "../../extensions/TokenCreator.sol", "nameLocation": "-1:-1:-1", - "scope": 9647, - "sourceUnit": 10460, + "scope": 34785, + "sourceUnit": 35598, "symbolAliases": [ { "foreign": { - "id": 9338, + "id": 34476, "name": "TokenCreator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10459, - "src": "515:12:49", + "referencedDeclaration": 35597, + "src": "515:12:67", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1922,24 +1952,24 @@ "unitAlias": "" }, { - "id": 9341, + "id": 34479, "nodeType": "ImportDirective", - "src": "571:57:49", + "src": "571:57:67", "nodes": [], "absolutePath": "src/token/extensions/Whitelist.sol", "file": "../../extensions/Whitelist.sol", "nameLocation": "-1:-1:-1", - "scope": 9647, - "sourceUnit": 10631, + "scope": 34785, + "sourceUnit": 35769, "symbolAliases": [ { "foreign": { - "id": 9340, + "id": 34478, "name": "Whitelist", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10630, - "src": "579:9:49", + "referencedDeclaration": 35768, + "src": "579:9:67", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1948,33 +1978,33 @@ "unitAlias": "" }, { - "id": 9342, + "id": 34480, "nodeType": "ImportDirective", - "src": "629:49:49", + "src": "629:49:67", "nodes": [], "absolutePath": "src/token/extensions/ERC2981Upgradeable.sol", "file": "../../extensions/ERC2981Upgradeable.sol", "nameLocation": "-1:-1:-1", - "scope": 9647, - "sourceUnit": 10394, + "scope": 34785, + "sourceUnit": 35532, "symbolAliases": [], "unitAlias": "" }, { - "id": 9646, + "id": 34784, "nodeType": "ContractDefinition", - "src": "777:3244:49", + "src": "777:3244:67", "nodes": [ { - "id": 9361, + "id": 34499, "nodeType": "VariableDeclaration", - "src": "965:44:49", + "src": "965:44:67", "nodes": [], "constant": false, "mutability": "mutable", "name": "tokenURIs", - "nameLocation": "1000:9:49", - "scope": 9646, + "nameLocation": "1000:9:67", + "scope": 34784, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1982,28 +2012,28 @@ "typeString": "mapping(uint256 => string)" }, "typeName": { - "id": 9360, + "id": 34498, "keyType": { - "id": 9358, + "id": 34496, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "973:7:49", + "src": "973:7:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "965:26:49", + "src": "965:26:67", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", "typeString": "mapping(uint256 => string)" }, "valueType": { - "id": 9359, + "id": 34497, "name": "string", "nodeType": "ElementaryTypeName", - "src": "984:6:49", + "src": "984:6:67", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2013,15 +2043,15 @@ "visibility": "private" }, { - "id": 9363, + "id": 34501, "nodeType": "VariableDeclaration", - "src": "1070:30:49", + "src": "1070:30:67", "nodes": [], "constant": false, "mutability": "mutable", "name": "tokenIdCounter", - "nameLocation": "1086:14:49", - "scope": 9646, + "nameLocation": "1086:14:67", + "scope": 34784, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2029,10 +2059,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9362, + "id": 34500, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1070:7:49", + "src": "1070:7:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2041,16 +2071,16 @@ "visibility": "private" }, { - "id": 9365, + "id": 34503, "nodeType": "VariableDeclaration", - "src": "1141:39:49", + "src": "1141:39:67", "nodes": [], "constant": false, "functionSelector": "139d8325", "mutability": "mutable", "name": "defaultRoyaltyPercentage", - "nameLocation": "1156:24:49", - "scope": 9646, + "nameLocation": "1156:24:67", + "scope": 34784, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2058,10 +2088,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9364, + "id": 34502, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1141:7:49", + "src": "1141:7:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2070,14 +2100,14 @@ "visibility": "public" }, { - "id": 9404, + "id": 34542, "nodeType": "FunctionDefinition", - "src": "1187:324:49", + "src": "1187:324:67", "nodes": [], "body": { - "id": 9403, + "id": 34541, "nodeType": "Block", - "src": "1313:198:49", + "src": "1313:198:67", "nodes": [], "statements": [ { @@ -2088,18 +2118,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9382, + "id": 34520, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 9377, + "id": 34515, "name": "_operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9371, - "src": "1331:9:49", + "referencedDeclaration": 34509, + "src": "1331:9:67", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2111,14 +2141,14 @@ "arguments": [ { "hexValue": "30", - "id": 9380, + "id": 34518, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1352:1:49", + "src": "1352:1:67", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -2133,26 +2163,26 @@ "typeString": "int_const 0" } ], - "id": 9379, + "id": 34517, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1344:7:49", + "src": "1344:7:67", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 9378, + "id": 34516, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1344:7:49", + "src": "1344:7:67", "typeDescriptions": {} } }, - "id": 9381, + "id": 34519, "isConstant": false, "isLValue": false, "isPure": true, @@ -2160,14 +2190,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1344:10:49", + "src": "1344:10:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1331:23:49", + "src": "1331:23:67", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2181,18 +2211,21 @@ "typeString": "bool" } ], - "id": 9376, + "id": 34514, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "1323:7:49", + "src": "1323:7:67", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 9383, + "id": 34521, "isConstant": false, "isLValue": false, "isPure": false, @@ -2200,31 +2233,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1323:32:49", + "src": "1323:32:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9384, + "id": 34522, "nodeType": "ExpressionStatement", - "src": "1323:32:49" + "src": "1323:32:67" }, { "expression": { - "id": 9387, + "id": 34525, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 9385, + "id": 34523, "name": "defaultRoyaltyPercentage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9365, - "src": "1365:24:49", + "referencedDeclaration": 34503, + "src": "1365:24:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2234,52 +2267,52 @@ "operator": "=", "rightHandSide": { "hexValue": "3130", - "id": 9386, + "id": 34524, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1392:2:49", + "src": "1392:2:67", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, - "src": "1365:29:49", + "src": "1365:29:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9388, + "id": 34526, "nodeType": "ExpressionStatement", - "src": "1365:29:49" + "src": "1365:29:67" }, { "expression": { "arguments": [ { - "id": 9390, + "id": 34528, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9367, - "src": "1419:5:49", + "referencedDeclaration": 34505, + "src": "1419:5:67", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 9391, + "id": 34529, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9369, - "src": "1426:7:49", + "referencedDeclaration": 34507, + "src": "1426:7:67", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2297,18 +2330,18 @@ "typeString": "string memory" } ], - "id": 9389, + "id": 34527, "name": "__ERC721_init", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2149, - "src": "1405:13:49", + "referencedDeclaration": 26256, + "src": "1405:13:67", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, - "id": 9392, + "id": 34530, "isConstant": false, "isLValue": false, "isPure": false, @@ -2316,34 +2349,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1405:29:49", + "src": "1405:29:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9393, + "id": 34531, "nodeType": "ExpressionStatement", - "src": "1405:29:49" + "src": "1405:29:67" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 9394, + "id": 34532, "name": "__ERC165_init", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3763, - "src": "1444:13:49", + "referencedDeclaration": 27870, + "src": "1444:13:67", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 9395, + "id": 34533, "isConstant": false, "isLValue": false, "isPure": false, @@ -2351,27 +2384,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1444:15:49", + "src": "1444:15:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9396, + "id": 34534, "nodeType": "ExpressionStatement", - "src": "1444:15:49" + "src": "1444:15:67" }, { "expression": { "arguments": [ { - "id": 9400, + "id": 34538, "name": "_operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9371, - "src": "1494:9:49", + "referencedDeclaration": 34509, + "src": "1494:9:67", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2386,32 +2419,32 @@ } ], "expression": { - "id": 9397, + "id": 34535, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -25, - "src": "1470:5:49", + "src": "1470:5:67", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_RareSpaceNFT_$9646_$", + "typeIdentifier": "t_type$_t_super$_RareSpaceNFT_$34784_$", "typeString": "type(contract super RareSpaceNFT)" } }, - "id": 9399, + "id": 34537, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferOwnership", "nodeType": "MemberAccess", - "referencedDeclaration": 787, - "src": "1470:23:49", + "referencedDeclaration": 24894, + "src": "1470:23:67", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 9401, + "id": 34539, "isConstant": false, "isLValue": false, "isPure": false, @@ -2419,16 +2452,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1470:34:49", + "src": "1470:34:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9402, + "id": 34540, "nodeType": "ExpressionStatement", - "src": "1470:34:49" + "src": "1470:34:67" } ] }, @@ -2437,34 +2470,34 @@ "kind": "function", "modifiers": [ { - "id": 9374, + "id": 34512, "kind": "modifierInvocation", "modifierName": { - "id": 9373, + "id": 34511, "name": "initializer", "nodeType": "IdentifierPath", - "referencedDeclaration": 857, - "src": "1301:11:49" + "referencedDeclaration": 24964, + "src": "1301:11:67" }, "nodeType": "ModifierInvocation", - "src": "1301:11:49" + "src": "1301:11:67" } ], "name": "init", - "nameLocation": "1196:4:49", + "nameLocation": "1196:4:67", "parameters": { - "id": 9372, + "id": 34510, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9367, + "id": 34505, "mutability": "mutable", "name": "_name", - "nameLocation": "1224:5:49", + "nameLocation": "1224:5:67", "nodeType": "VariableDeclaration", - "scope": 9404, - "src": "1210:19:49", + "scope": 34542, + "src": "1210:19:67", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2472,10 +2505,10 @@ "typeString": "string" }, "typeName": { - "id": 9366, + "id": 34504, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1210:6:49", + "src": "1210:6:67", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2485,13 +2518,13 @@ }, { "constant": false, - "id": 9369, + "id": 34507, "mutability": "mutable", "name": "_symbol", - "nameLocation": "1253:7:49", + "nameLocation": "1253:7:67", "nodeType": "VariableDeclaration", - "scope": 9404, - "src": "1239:21:49", + "scope": 34542, + "src": "1239:21:67", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2499,10 +2532,10 @@ "typeString": "string" }, "typeName": { - "id": 9368, + "id": 34506, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1239:6:49", + "src": "1239:6:67", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2512,13 +2545,13 @@ }, { "constant": false, - "id": 9371, + "id": 34509, "mutability": "mutable", "name": "_operator", - "nameLocation": "1278:9:49", + "nameLocation": "1278:9:67", "nodeType": "VariableDeclaration", - "scope": 9404, - "src": "1270:17:49", + "scope": 34542, + "src": "1270:17:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2526,10 +2559,10 @@ "typeString": "address" }, "typeName": { - "id": 9370, + "id": 34508, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1270:7:49", + "src": "1270:7:67", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2539,28 +2572,28 @@ "visibility": "internal" } ], - "src": "1200:93:49" + "src": "1200:93:67" }, "returnParameters": { - "id": 9375, + "id": 34513, "nodeType": "ParameterList", "parameters": [], - "src": "1313:0:49" + "src": "1313:0:67" }, - "scope": 9646, + "scope": 34784, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 9419, + "id": 34557, "nodeType": "ModifierDefinition", - "src": "1517:110:49", + "src": "1517:110:67", "nodes": [], "body": { - "id": 9418, + "id": 34556, "nodeType": "Block", - "src": "1559:68:49", + "src": "1559:68:67", "nodes": [], "statements": [ { @@ -2571,7 +2604,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9414, + "id": 34552, "isConstant": false, "isLValue": false, "isPure": false, @@ -2579,12 +2612,12 @@ "leftExpression": { "arguments": [ { - "id": 9410, + "id": 34548, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9406, - "src": "1585:8:49", + "referencedDeclaration": 34544, + "src": "1585:8:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2598,18 +2631,18 @@ "typeString": "uint256" } ], - "id": 9409, + "id": 34547, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2250, - "src": "1577:7:49", + "referencedDeclaration": 26357, + "src": "1577:7:67", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 9411, + "id": 34549, "isConstant": false, "isLValue": false, "isPure": false, @@ -2617,7 +2650,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1577:17:49", + "src": "1577:17:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -2628,31 +2661,31 @@ "operator": "==", "rightExpression": { "expression": { - "id": 9412, + "id": 34550, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1598:3:49", + "src": "1598:3:67", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 9413, + "id": 34551, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "1598:10:49", + "src": "1598:10:67", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1577:31:49", + "src": "1577:31:67", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2666,18 +2699,21 @@ "typeString": "bool" } ], - "id": 9408, + "id": 34546, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "1569:7:49", + "src": "1569:7:67", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 9415, + "id": 34553, "isConstant": false, "isLValue": false, "isPure": false, @@ -2685,39 +2721,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1569:40:49", + "src": "1569:40:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9416, + "id": 34554, "nodeType": "ExpressionStatement", - "src": "1569:40:49" + "src": "1569:40:67" }, { - "id": 9417, + "id": 34555, "nodeType": "PlaceholderStatement", - "src": "1619:1:49" + "src": "1619:1:67" } ] }, "name": "onlyTokenOwner", - "nameLocation": "1526:14:49", + "nameLocation": "1526:14:67", "parameters": { - "id": 9407, + "id": 34545, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9406, + "id": 34544, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "1549:8:49", + "nameLocation": "1549:8:67", "nodeType": "VariableDeclaration", - "scope": 9419, - "src": "1541:16:49", + "scope": 34557, + "src": "1541:16:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2725,10 +2761,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9405, + "id": 34543, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1541:7:49", + "src": "1541:7:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2737,20 +2773,20 @@ "visibility": "internal" } ], - "src": "1540:18:49" + "src": "1540:18:67" }, "virtual": false, "visibility": "internal" }, { - "id": 9440, + "id": 34578, "nodeType": "FunctionDefinition", - "src": "1633:294:49", + "src": "1633:294:67", "nodes": [], "body": { - "id": 9439, + "id": 34577, "nodeType": "Block", - "src": "1826:101:49", + "src": "1826:101:67", "nodes": [], "statements": [ { @@ -2759,7 +2795,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 9437, + "id": 34575, "isConstant": false, "isLValue": false, "isPure": false, @@ -2769,18 +2805,18 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 9432, + "id": 34570, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 9430, + "id": 34568, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9421, - "src": "1855:11:49", + "referencedDeclaration": 34559, + "src": "1855:11:67", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -2790,21 +2826,21 @@ "operator": "==", "rightExpression": { "hexValue": "30783430633161303634", - "id": 9431, + "id": 34569, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1870:10:49", + "src": "1870:10:67", "typeDescriptions": { "typeIdentifier": "t_rational_1086431332_by_1", "typeString": "int_const 1086431332" }, "value": "0x40c1a064" }, - "src": "1855:25:49", + "src": "1855:25:67", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2815,12 +2851,12 @@ "rightExpression": { "arguments": [ { - "id": 9435, + "id": 34573, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9421, - "src": "1908:11:49", + "referencedDeclaration": 34559, + "src": "1908:11:67", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -2835,32 +2871,32 @@ } ], "expression": { - "id": 9433, + "id": 34571, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -25, - "src": "1884:5:49", + "src": "1884:5:67", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_RareSpaceNFT_$9646_$", + "typeIdentifier": "t_type$_t_super$_RareSpaceNFT_$34784_$", "typeString": "type(contract super RareSpaceNFT)" } }, - "id": 9434, + "id": 34572, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "supportsInterface", "nodeType": "MemberAccess", - "referencedDeclaration": 10366, - "src": "1884:23:49", + "referencedDeclaration": 35504, + "src": "1884:23:67", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", "typeString": "function (bytes4) view returns (bool)" } }, - "id": 9436, + "id": 34574, "isConstant": false, "isLValue": false, "isPure": false, @@ -2868,74 +2904,78 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1884:36:49", + "src": "1884:36:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1855:65:49", + "src": "1855:65:67", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 9429, - "id": 9438, + "functionReturnParameters": 34567, + "id": 34576, "nodeType": "Return", - "src": "1836:84:49" + "src": "1836:84:67" } ] }, - "baseFunctions": [2198, 3786, 10366], + "baseFunctions": [ + 26305, + 27893, + 35504 + ], "functionSelector": "01ffc9a7", "implemented": true, "kind": "function", "modifiers": [], "name": "supportsInterface", - "nameLocation": "1642:17:49", + "nameLocation": "1642:17:67", "overrides": { - "id": 9426, + "id": 34564, "nodeType": "OverrideSpecifier", "overrides": [ { - "id": 9423, + "id": 34561, "name": "ERC165Upgradeable", "nodeType": "IdentifierPath", - "referencedDeclaration": 3792, - "src": "1741:17:49" + "referencedDeclaration": 27899, + "src": "1741:17:67" }, { - "id": 9424, + "id": 34562, "name": "ERC2981Upgradeable", "nodeType": "IdentifierPath", - "referencedDeclaration": 10393, - "src": "1760:18:49" + "referencedDeclaration": 35531, + "src": "1760:18:67" }, { - "id": 9425, + "id": 34563, "name": "ERC721Upgradeable", "nodeType": "IdentifierPath", - "referencedDeclaration": 2975, - "src": "1780:17:49" + "referencedDeclaration": 27082, + "src": "1780:17:67" } ], - "src": "1732:66:49" + "src": "1732:66:67" }, "parameters": { - "id": 9422, + "id": 34560, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9421, + "id": 34559, "mutability": "mutable", "name": "interfaceId", - "nameLocation": "1667:11:49", + "nameLocation": "1667:11:67", "nodeType": "VariableDeclaration", - "scope": 9440, - "src": "1660:18:49", + "scope": 34578, + "src": "1660:18:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2943,10 +2983,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 9420, + "id": 34558, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "1660:6:49", + "src": "1660:6:67", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -2955,21 +2995,21 @@ "visibility": "internal" } ], - "src": "1659:20:49" + "src": "1659:20:67" }, "returnParameters": { - "id": 9429, + "id": 34567, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9428, + "id": 34566, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 9440, - "src": "1816:4:49", + "scope": 34578, + "src": "1816:4:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2977,10 +3017,10 @@ "typeString": "bool" }, "typeName": { - "id": 9427, + "id": 34565, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1816:4:49", + "src": "1816:4:67", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2989,22 +3029,22 @@ "visibility": "internal" } ], - "src": "1815:6:49" + "src": "1815:6:67" }, - "scope": 9646, + "scope": 34784, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 9482, + "id": 34620, "nodeType": "FunctionDefinition", - "src": "1933:319:49", + "src": "1933:319:67", "nodes": [], "body": { - "id": 9481, + "id": 34619, "nodeType": "Block", - "src": "2057:195:49", + "src": "2057:195:67", "nodes": [], "statements": [ { @@ -3015,32 +3055,32 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 9456, + "id": 34594, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 9452, + "id": 34590, "name": "_creators", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9443, - "src": "2075:9:49", + "referencedDeclaration": 34581, + "src": "2075:9:67", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9453, + "id": 34591, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "2075:16:49", + "src": "2075:16:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3050,31 +3090,31 @@ "operator": "==", "rightExpression": { "expression": { - "id": 9454, + "id": 34592, "name": "_numMints", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9446, - "src": "2095:9:49", + "referencedDeclaration": 34584, + "src": "2095:9:67", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 9455, + "id": 34593, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "2095:16:49", + "src": "2095:16:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2075:36:49", + "src": "2075:36:67", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3088,18 +3128,21 @@ "typeString": "bool" } ], - "id": 9451, + "id": 34589, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "2067:7:49", + "src": "2067:7:67", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 9457, + "id": 34595, "isConstant": false, "isLValue": false, "isPure": false, @@ -3107,47 +3150,47 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2067:45:49", + "src": "2067:45:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9458, + "id": 34596, "nodeType": "ExpressionStatement", - "src": "2067:45:49" + "src": "2067:45:67" }, { "body": { - "id": 9479, + "id": 34617, "nodeType": "Block", - "src": "2170:76:49", + "src": "2170:76:67", "statements": [ { "expression": { "arguments": [ { "baseExpression": { - "id": 9471, + "id": 34609, "name": "_creators", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9443, - "src": "2208:9:49", + "referencedDeclaration": 34581, + "src": "2208:9:67", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9473, + "id": 34611, "indexExpression": { - "id": 9472, + "id": 34610, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9460, - "src": "2218:1:49", + "referencedDeclaration": 34598, + "src": "2218:1:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3158,7 +3201,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2208:12:49", + "src": "2208:12:67", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3166,25 +3209,25 @@ }, { "baseExpression": { - "id": 9474, + "id": 34612, "name": "_numMints", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9446, - "src": "2222:9:49", + "referencedDeclaration": 34584, + "src": "2222:9:67", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 9476, + "id": 34614, "indexExpression": { - "id": 9475, + "id": 34613, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9460, - "src": "2232:1:49", + "referencedDeclaration": 34598, + "src": "2232:1:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3195,7 +3238,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2222:12:49", + "src": "2222:12:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3213,18 +3256,18 @@ "typeString": "uint256" } ], - "id": 9470, + "id": 34608, "name": "_updateMintingAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10557, - "src": "2184:23:49", + "referencedDeclaration": 35695, + "src": "2184:23:67", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 9477, + "id": 34615, "isConstant": false, "isLValue": false, "isPure": false, @@ -3232,16 +3275,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2184:51:49", + "src": "2184:51:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9478, + "id": 34616, "nodeType": "ExpressionStatement", - "src": "2184:51:49" + "src": "2184:51:67" } ] }, @@ -3250,18 +3293,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 9466, + "id": 34604, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 9463, + "id": 34601, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9460, - "src": "2143:1:49", + "referencedDeclaration": 34598, + "src": "2143:1:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3271,49 +3314,51 @@ "operator": "<", "rightExpression": { "expression": { - "id": 9464, + "id": 34602, "name": "_creators", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9443, - "src": "2147:9:49", + "referencedDeclaration": 34581, + "src": "2147:9:67", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 9465, + "id": 34603, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "2147:16:49", + "src": "2147:16:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2143:20:49", + "src": "2143:20:67", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 9480, + "id": 34618, "initializationExpression": { - "assignments": [9460], + "assignments": [ + 34598 + ], "declarations": [ { "constant": false, - "id": 9460, + "id": 34598, "mutability": "mutable", "name": "i", - "nameLocation": "2136:1:49", + "nameLocation": "2136:1:67", "nodeType": "VariableDeclaration", - "scope": 9480, - "src": "2128:9:49", + "scope": 34618, + "src": "2128:9:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3321,10 +3366,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9459, + "id": 34597, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2128:7:49", + "src": "2128:7:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3333,17 +3378,17 @@ "visibility": "internal" } ], - "id": 9462, + "id": 34600, "initialValue": { "hexValue": "30", - "id": 9461, + "id": 34599, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2140:1:49", + "src": "2140:1:67", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -3351,11 +3396,11 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "2128:13:49" + "src": "2128:13:67" }, "loopExpression": { "expression": { - "id": 9468, + "id": 34606, "isConstant": false, "isLValue": false, "isPure": false, @@ -3363,14 +3408,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "2165:3:49", + "src": "2165:3:67", "subExpression": { - "id": 9467, + "id": 34605, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9460, - "src": "2165:1:49", + "referencedDeclaration": 34598, + "src": "2165:1:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3381,12 +3426,12 @@ "typeString": "uint256" } }, - "id": 9469, + "id": 34607, "nodeType": "ExpressionStatement", - "src": "2165:3:49" + "src": "2165:3:67" }, "nodeType": "ForStatement", - "src": "2123:123:49" + "src": "2123:123:67" } ] }, @@ -3395,34 +3440,34 @@ "kind": "function", "modifiers": [ { - "id": 9449, + "id": 34587, "kind": "modifierInvocation", "modifierName": { - "id": 9448, + "id": 34586, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 750, - "src": "2047:9:49" + "referencedDeclaration": 24857, + "src": "2047:9:67" }, "nodeType": "ModifierInvocation", - "src": "2047:9:49" + "src": "2047:9:67" } ], "name": "initWhitelist", - "nameLocation": "1942:13:49", + "nameLocation": "1942:13:67", "parameters": { - "id": 9447, + "id": 34585, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9443, + "id": 34581, "mutability": "mutable", "name": "_creators", - "nameLocation": "1984:9:49", + "nameLocation": "1984:9:67", "nodeType": "VariableDeclaration", - "scope": 9482, - "src": "1965:28:49", + "scope": 34620, + "src": "1965:28:67", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -3431,19 +3476,19 @@ }, "typeName": { "baseType": { - "id": 9441, + "id": 34579, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1965:7:49", + "src": "1965:7:67", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 9442, + "id": 34580, "nodeType": "ArrayTypeName", - "src": "1965:9:49", + "src": "1965:9:67", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -3453,13 +3498,13 @@ }, { "constant": false, - "id": 9446, + "id": 34584, "mutability": "mutable", "name": "_numMints", - "nameLocation": "2022:9:49", + "nameLocation": "2022:9:67", "nodeType": "VariableDeclaration", - "scope": 9482, - "src": "2003:28:49", + "scope": 34620, + "src": "2003:28:67", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -3468,18 +3513,18 @@ }, "typeName": { "baseType": { - "id": 9444, + "id": 34582, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2003:7:49", + "src": "2003:7:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9445, + "id": 34583, "nodeType": "ArrayTypeName", - "src": "2003:9:49", + "src": "2003:9:67", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -3488,40 +3533,40 @@ "visibility": "internal" } ], - "src": "1955:82:49" + "src": "1955:82:67" }, "returnParameters": { - "id": 9450, + "id": 34588, "nodeType": "ParameterList", "parameters": [], - "src": "2057:0:49" + "src": "2057:0:67" }, - "scope": 9646, + "scope": 34784, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 9494, + "id": 34632, "nodeType": "FunctionDefinition", - "src": "2258:102:49", + "src": "2258:102:67", "nodes": [], "body": { - "id": 9493, + "id": 34631, "nodeType": "Block", - "src": "2317:43:49", + "src": "2317:43:67", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 9490, + "id": 34628, "name": "_enabled", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9484, - "src": "2344:8:49", + "referencedDeclaration": 34622, + "src": "2344:8:67", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3535,18 +3580,18 @@ "typeString": "bool" } ], - "id": 9489, + "id": 34627, "name": "_toggleWhitelist", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10507, - "src": "2327:16:49", + "referencedDeclaration": 35645, + "src": "2327:16:67", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", "typeString": "function (bool)" } }, - "id": 9491, + "id": 34629, "isConstant": false, "isLValue": false, "isPure": false, @@ -3554,16 +3599,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2327:26:49", + "src": "2327:26:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9492, + "id": 34630, "nodeType": "ExpressionStatement", - "src": "2327:26:49" + "src": "2327:26:67" } ] }, @@ -3572,34 +3617,34 @@ "kind": "function", "modifiers": [ { - "id": 9487, + "id": 34625, "kind": "modifierInvocation", "modifierName": { - "id": 9486, + "id": 34624, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 750, - "src": "2307:9:49" + "referencedDeclaration": 24857, + "src": "2307:9:67" }, "nodeType": "ModifierInvocation", - "src": "2307:9:49" + "src": "2307:9:67" } ], "name": "toggleWhitelist", - "nameLocation": "2267:15:49", + "nameLocation": "2267:15:67", "parameters": { - "id": 9485, + "id": 34623, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9484, + "id": 34622, "mutability": "mutable", "name": "_enabled", - "nameLocation": "2288:8:49", + "nameLocation": "2288:8:67", "nodeType": "VariableDeclaration", - "scope": 9494, - "src": "2283:13:49", + "scope": 34632, + "src": "2283:13:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3607,10 +3652,10 @@ "typeString": "bool" }, "typeName": { - "id": 9483, + "id": 34621, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2283:4:49", + "src": "2283:4:67", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3619,40 +3664,40 @@ "visibility": "internal" } ], - "src": "2282:15:49" + "src": "2282:15:67" }, "returnParameters": { - "id": 9488, + "id": 34626, "nodeType": "ParameterList", "parameters": [], - "src": "2317:0:49" + "src": "2317:0:67" }, - "scope": 9646, + "scope": 34784, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 9506, + "id": 34644, "nodeType": "FunctionDefinition", - "src": "2366:109:49", + "src": "2366:109:67", "nodes": [], "body": { - "id": 9505, + "id": 34643, "nodeType": "Block", - "src": "2430:45:49", + "src": "2430:45:67", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 9502, + "id": 34640, "name": "_newAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9496, - "src": "2456:11:49", + "referencedDeclaration": 34634, + "src": "2456:11:67", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3666,18 +3711,18 @@ "typeString": "address" } ], - "id": 9501, + "id": 34639, "name": "_addToWhitelist", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10523, - "src": "2440:15:49", + "referencedDeclaration": 35661, + "src": "2440:15:67", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 9503, + "id": 34641, "isConstant": false, "isLValue": false, "isPure": false, @@ -3685,16 +3730,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2440:28:49", + "src": "2440:28:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9504, + "id": 34642, "nodeType": "ExpressionStatement", - "src": "2440:28:49" + "src": "2440:28:67" } ] }, @@ -3703,34 +3748,34 @@ "kind": "function", "modifiers": [ { - "id": 9499, + "id": 34637, "kind": "modifierInvocation", "modifierName": { - "id": 9498, + "id": 34636, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 750, - "src": "2420:9:49" + "referencedDeclaration": 24857, + "src": "2420:9:67" }, "nodeType": "ModifierInvocation", - "src": "2420:9:49" + "src": "2420:9:67" } ], "name": "addToWhitelist", - "nameLocation": "2375:14:49", + "nameLocation": "2375:14:67", "parameters": { - "id": 9497, + "id": 34635, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9496, + "id": 34634, "mutability": "mutable", "name": "_newAddress", - "nameLocation": "2398:11:49", + "nameLocation": "2398:11:67", "nodeType": "VariableDeclaration", - "scope": 9506, - "src": "2390:19:49", + "scope": 34644, + "src": "2390:19:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3738,10 +3783,10 @@ "typeString": "address" }, "typeName": { - "id": 9495, + "id": 34633, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2390:7:49", + "src": "2390:7:67", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3751,40 +3796,40 @@ "visibility": "internal" } ], - "src": "2389:21:49" + "src": "2389:21:67" }, "returnParameters": { - "id": 9500, + "id": 34638, "nodeType": "ParameterList", "parameters": [], - "src": "2430:0:49" + "src": "2430:0:67" }, - "scope": 9646, + "scope": 34784, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 9518, + "id": 34656, "nodeType": "FunctionDefinition", - "src": "2481:119:49", + "src": "2481:119:67", "nodes": [], "body": { - "id": 9517, + "id": 34655, "nodeType": "Block", - "src": "2550:50:49", + "src": "2550:50:67", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 9514, + "id": 34652, "name": "_newAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9508, - "src": "2581:11:49", + "referencedDeclaration": 34646, + "src": "2581:11:67", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3798,18 +3843,18 @@ "typeString": "address" } ], - "id": 9513, + "id": 34651, "name": "_removeFromWhitelist", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10539, - "src": "2560:20:49", + "referencedDeclaration": 35677, + "src": "2560:20:67", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 9515, + "id": 34653, "isConstant": false, "isLValue": false, "isPure": false, @@ -3817,16 +3862,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2560:33:49", + "src": "2560:33:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9516, + "id": 34654, "nodeType": "ExpressionStatement", - "src": "2560:33:49" + "src": "2560:33:67" } ] }, @@ -3835,34 +3880,34 @@ "kind": "function", "modifiers": [ { - "id": 9511, + "id": 34649, "kind": "modifierInvocation", "modifierName": { - "id": 9510, + "id": 34648, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 750, - "src": "2540:9:49" + "referencedDeclaration": 24857, + "src": "2540:9:67" }, "nodeType": "ModifierInvocation", - "src": "2540:9:49" + "src": "2540:9:67" } ], "name": "removeFromWhitelist", - "nameLocation": "2490:19:49", + "nameLocation": "2490:19:67", "parameters": { - "id": 9509, + "id": 34647, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9508, + "id": 34646, "mutability": "mutable", "name": "_newAddress", - "nameLocation": "2518:11:49", + "nameLocation": "2518:11:67", "nodeType": "VariableDeclaration", - "scope": 9518, - "src": "2510:19:49", + "scope": 34656, + "src": "2510:19:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3870,10 +3915,10 @@ "typeString": "address" }, "typeName": { - "id": 9507, + "id": 34645, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2510:7:49", + "src": "2510:7:67", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3883,52 +3928,52 @@ "visibility": "internal" } ], - "src": "2509:21:49" + "src": "2509:21:67" }, "returnParameters": { - "id": 9512, + "id": 34650, "nodeType": "ParameterList", "parameters": [], - "src": "2550:0:49" + "src": "2550:0:67" }, - "scope": 9646, + "scope": 34784, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 9533, + "id": 34671, "nodeType": "FunctionDefinition", - "src": "2606:183:49", + "src": "2606:183:67", "nodes": [], "body": { - "id": 9532, + "id": 34670, "nodeType": "Block", - "src": "2721:68:49", + "src": "2721:68:67", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 9528, + "id": 34666, "name": "_newAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9520, - "src": "2755:11:49", + "referencedDeclaration": 34658, + "src": "2755:11:67", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 9529, + "id": 34667, "name": "_newAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9522, - "src": "2768:13:49", + "referencedDeclaration": 34660, + "src": "2768:13:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3946,18 +3991,18 @@ "typeString": "uint256" } ], - "id": 9527, + "id": 34665, "name": "_updateMintingAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10557, - "src": "2731:23:49", + "referencedDeclaration": 35695, + "src": "2731:23:67", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 9530, + "id": 34668, "isConstant": false, "isLValue": false, "isPure": false, @@ -3965,16 +4010,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2731:51:49", + "src": "2731:51:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9531, + "id": 34669, "nodeType": "ExpressionStatement", - "src": "2731:51:49" + "src": "2731:51:67" } ] }, @@ -3983,34 +4028,34 @@ "kind": "function", "modifiers": [ { - "id": 9525, + "id": 34663, "kind": "modifierInvocation", "modifierName": { - "id": 9524, + "id": 34662, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 750, - "src": "2707:9:49" + "referencedDeclaration": 24857, + "src": "2707:9:67" }, "nodeType": "ModifierInvocation", - "src": "2707:9:49" + "src": "2707:9:67" } ], "name": "updateMintingAllowance", - "nameLocation": "2615:22:49", + "nameLocation": "2615:22:67", "parameters": { - "id": 9523, + "id": 34661, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9520, + "id": 34658, "mutability": "mutable", "name": "_newAddress", - "nameLocation": "2646:11:49", + "nameLocation": "2646:11:67", "nodeType": "VariableDeclaration", - "scope": 9533, - "src": "2638:19:49", + "scope": 34671, + "src": "2638:19:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4018,10 +4063,10 @@ "typeString": "address" }, "typeName": { - "id": 9519, + "id": 34657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2638:7:49", + "src": "2638:7:67", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4032,13 +4077,13 @@ }, { "constant": false, - "id": 9522, + "id": 34660, "mutability": "mutable", "name": "_newAllowance", - "nameLocation": "2667:13:49", + "nameLocation": "2667:13:67", "nodeType": "VariableDeclaration", - "scope": 9533, - "src": "2659:21:49", + "scope": 34671, + "src": "2659:21:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4046,10 +4091,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9521, + "id": 34659, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2659:7:49", + "src": "2659:7:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4058,40 +4103,40 @@ "visibility": "internal" } ], - "src": "2637:44:49" + "src": "2637:44:67" }, "returnParameters": { - "id": 9526, + "id": 34664, "nodeType": "ParameterList", "parameters": [], - "src": "2721:0:49" + "src": "2721:0:67" }, - "scope": 9646, + "scope": 34784, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 9557, + "id": 34695, "nodeType": "FunctionDefinition", - "src": "2795:317:49", + "src": "2795:317:67", "nodes": [], "body": { - "id": 9556, + "id": 34694, "nodeType": "Block", - "src": "2940:172:49", + "src": "2940:172:67", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 9548, + "id": 34686, "name": "_uri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9535, - "src": "2976:4:49", + "referencedDeclaration": 34673, + "src": "2976:4:67", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", "typeString": "string calldata" @@ -4099,61 +4144,61 @@ }, { "expression": { - "id": 9549, + "id": 34687, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2994:3:49", + "src": "2994:3:67", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 9550, + "id": 34688, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "2994:10:49", + "src": "2994:10:67", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 9551, + "id": 34689, "name": "_receiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9537, - "src": "3018:9:49", + "referencedDeclaration": 34675, + "src": "3018:9:67", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 9552, + "id": 34690, "name": "defaultRoyaltyPercentage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9365, - "src": "3041:24:49", + "referencedDeclaration": 34503, + "src": "3041:24:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 9553, + "id": 34691, "name": "_royaltyReceiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9539, - "src": "3079:16:49", + "referencedDeclaration": 34677, + "src": "3079:16:67", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4183,18 +4228,18 @@ "typeString": "address" } ], - "id": 9547, + "id": 34685, "name": "_createToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9645, - "src": "2950:12:49", + "referencedDeclaration": 34783, + "src": "2950:12:67", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$_t_address_$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (string memory,address,address,uint256,address) returns (uint256)" } }, - "id": 9554, + "id": 34692, "isConstant": false, "isLValue": false, "isPure": false, @@ -4202,16 +4247,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2950:155:49", + "src": "2950:155:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9555, + "id": 34693, "nodeType": "ExpressionStatement", - "src": "2950:155:49" + "src": "2950:155:67" } ] }, @@ -4223,25 +4268,25 @@ "arguments": [ { "expression": { - "id": 9542, + "id": 34680, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2925:3:49", + "src": "2925:3:67", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 9543, + "id": 34681, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "2925:10:49", + "src": "2925:10:67", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4249,14 +4294,14 @@ }, { "hexValue": "31", - "id": 9544, + "id": 34682, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2937:1:49", + "src": "2937:1:67", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -4264,34 +4309,34 @@ "value": "1" } ], - "id": 9545, + "id": 34683, "kind": "modifierInvocation", "modifierName": { - "id": 9541, + "id": 34679, "name": "canMint", "nodeType": "IdentifierPath", - "referencedDeclaration": 10497, - "src": "2917:7:49" + "referencedDeclaration": 35635, + "src": "2917:7:67" }, "nodeType": "ModifierInvocation", - "src": "2917:22:49" + "src": "2917:22:67" } ], "name": "mintTo", - "nameLocation": "2804:6:49", + "nameLocation": "2804:6:67", "parameters": { - "id": 9540, + "id": 34678, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9535, + "id": 34673, "mutability": "mutable", "name": "_uri", - "nameLocation": "2836:4:49", + "nameLocation": "2836:4:67", "nodeType": "VariableDeclaration", - "scope": 9557, - "src": "2820:20:49", + "scope": 34695, + "src": "2820:20:67", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -4299,10 +4344,10 @@ "typeString": "string" }, "typeName": { - "id": 9534, + "id": 34672, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2820:6:49", + "src": "2820:6:67", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4312,13 +4357,13 @@ }, { "constant": false, - "id": 9537, + "id": 34675, "mutability": "mutable", "name": "_receiver", - "nameLocation": "2858:9:49", + "nameLocation": "2858:9:67", "nodeType": "VariableDeclaration", - "scope": 9557, - "src": "2850:17:49", + "scope": 34695, + "src": "2850:17:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4326,10 +4371,10 @@ "typeString": "address" }, "typeName": { - "id": 9536, + "id": 34674, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2850:7:49", + "src": "2850:7:67", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4340,13 +4385,13 @@ }, { "constant": false, - "id": 9539, + "id": 34677, "mutability": "mutable", "name": "_royaltyReceiver", - "nameLocation": "2885:16:49", + "nameLocation": "2885:16:67", "nodeType": "VariableDeclaration", - "scope": 9557, - "src": "2877:24:49", + "scope": 34695, + "src": "2877:24:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4354,10 +4399,10 @@ "typeString": "address" }, "typeName": { - "id": 9538, + "id": 34676, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2877:7:49", + "src": "2877:7:67", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4367,40 +4412,40 @@ "visibility": "internal" } ], - "src": "2810:97:49" + "src": "2810:97:67" }, "returnParameters": { - "id": 9546, + "id": 34684, "nodeType": "ParameterList", "parameters": [], - "src": "2940:0:49" + "src": "2940:0:67" }, - "scope": 9646, + "scope": 34784, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 9570, + "id": 34708, "nodeType": "FunctionDefinition", - "src": "3118:104:49", + "src": "3118:104:67", "nodes": [], "body": { - "id": 9569, + "id": 34707, "nodeType": "Block", - "src": "3191:31:49", + "src": "3191:31:67", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 9566, + "id": 34704, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9559, - "src": "3206:8:49", + "referencedDeclaration": 34697, + "src": "3206:8:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4414,18 +4459,18 @@ "typeString": "uint256" } ], - "id": 9565, + "id": 34703, "name": "burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3153, - "src": "3201:4:49", + "referencedDeclaration": 27260, + "src": "3201:4:67", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 9567, + "id": 34705, "isConstant": false, "isLValue": false, "isPure": false, @@ -4433,16 +4478,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3201:14:49", + "src": "3201:14:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9568, + "id": 34706, "nodeType": "ExpressionStatement", - "src": "3201:14:49" + "src": "3201:14:67" } ] }, @@ -4453,46 +4498,46 @@ { "arguments": [ { - "id": 9562, + "id": 34700, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9559, - "src": "3181:8:49", + "referencedDeclaration": 34697, + "src": "3181:8:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 9563, + "id": 34701, "kind": "modifierInvocation", "modifierName": { - "id": 9561, + "id": 34699, "name": "onlyTokenOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 9419, - "src": "3166:14:49" + "referencedDeclaration": 34557, + "src": "3166:14:67" }, "nodeType": "ModifierInvocation", - "src": "3166:24:49" + "src": "3166:24:67" } ], "name": "deleteToken", - "nameLocation": "3127:11:49", + "nameLocation": "3127:11:67", "parameters": { - "id": 9560, + "id": 34698, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9559, + "id": 34697, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "3147:8:49", + "nameLocation": "3147:8:67", "nodeType": "VariableDeclaration", - "scope": 9570, - "src": "3139:16:49", + "scope": 34708, + "src": "3139:16:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4500,10 +4545,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9558, + "id": 34696, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3139:7:49", + "src": "3139:7:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4512,28 +4557,28 @@ "visibility": "internal" } ], - "src": "3138:18:49" + "src": "3138:18:67" }, "returnParameters": { - "id": 9564, + "id": 34702, "nodeType": "ParameterList", "parameters": [], - "src": "3191:0:49" + "src": "3191:0:67" }, - "scope": 9646, + "scope": 34784, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 9593, + "id": 34731, "nodeType": "FunctionDefinition", - "src": "3228:201:49", + "src": "3228:201:67", "nodes": [], "body": { - "id": 9592, + "id": 34730, "nodeType": "Block", - "src": "3302:127:49", + "src": "3302:127:67", "nodes": [], "statements": [ { @@ -4544,32 +4589,32 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9583, + "id": 34721, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 9578, + "id": 34716, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "3320:3:49", + "src": "3320:3:67", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 9579, + "id": 34717, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "3320:10:49", + "src": "3320:10:67", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4580,12 +4625,12 @@ "rightExpression": { "arguments": [ { - "id": 9581, + "id": 34719, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9572, - "src": "3347:8:49", + "referencedDeclaration": 34710, + "src": "3347:8:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4599,18 +4644,18 @@ "typeString": "uint256" } ], - "id": 9580, + "id": 34718, "name": "tokenCreator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10444, - "src": "3334:12:49", + "referencedDeclaration": 35582, + "src": "3334:12:67", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_payable_$", "typeString": "function (uint256) view returns (address payable)" } }, - "id": 9582, + "id": 34720, "isConstant": false, "isLValue": false, "isPure": false, @@ -4618,14 +4663,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3334:22:49", + "src": "3334:22:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "3320:36:49", + "src": "3320:36:67", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4633,14 +4678,14 @@ }, { "hexValue": "4e6f742063726561746f72", - "id": 9584, + "id": 34722, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3358:13:49", + "src": "3358:13:67", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6669d031ac999233422ba513e10e1c24db242fc6ad41a4f7b6fdf3a5f9b96a3f", "typeString": "literal_string \"Not creator\"" @@ -4659,18 +4704,21 @@ "typeString": "literal_string \"Not creator\"" } ], - "id": 9577, + "id": 34715, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "3312:7:49", + "src": "3312:7:67", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 9585, + "id": 34723, "isConstant": false, "isLValue": false, "isPure": false, @@ -4678,39 +4726,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3312:60:49", + "src": "3312:60:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9586, + "id": 34724, "nodeType": "ExpressionStatement", - "src": "3312:60:49" + "src": "3312:60:67" }, { "expression": { "arguments": [ { - "id": 9588, + "id": 34726, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9572, - "src": "3402:8:49", + "referencedDeclaration": 34710, + "src": "3402:8:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 9589, + "id": 34727, "name": "_receiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9574, - "src": "3412:9:49", + "referencedDeclaration": 34712, + "src": "3412:9:67", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4728,18 +4776,18 @@ "typeString": "address" } ], - "id": 9587, + "id": 34725, "name": "_setRoyaltyReceiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10331, - "src": "3382:19:49", + "referencedDeclaration": 35469, + "src": "3382:19:67", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$", "typeString": "function (uint256,address)" } }, - "id": 9590, + "id": 34728, "isConstant": false, "isLValue": false, "isPure": false, @@ -4747,16 +4795,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3382:40:49", + "src": "3382:40:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9591, + "id": 34729, "nodeType": "ExpressionStatement", - "src": "3382:40:49" + "src": "3382:40:67" } ] }, @@ -4765,20 +4813,20 @@ "kind": "function", "modifiers": [], "name": "setRoyaltyReceiver", - "nameLocation": "3237:18:49", + "nameLocation": "3237:18:67", "parameters": { - "id": 9575, + "id": 34713, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9572, + "id": 34710, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "3264:8:49", + "nameLocation": "3264:8:67", "nodeType": "VariableDeclaration", - "scope": 9593, - "src": "3256:16:49", + "scope": 34731, + "src": "3256:16:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4786,10 +4834,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9571, + "id": 34709, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3256:7:49", + "src": "3256:7:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4799,13 +4847,13 @@ }, { "constant": false, - "id": 9574, + "id": 34712, "mutability": "mutable", "name": "_receiver", - "nameLocation": "3282:9:49", + "nameLocation": "3282:9:67", "nodeType": "VariableDeclaration", - "scope": 9593, - "src": "3274:17:49", + "scope": 34731, + "src": "3274:17:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4813,10 +4861,10 @@ "typeString": "address" }, "typeName": { - "id": 9573, + "id": 34711, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3274:7:49", + "src": "3274:7:67", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4826,33 +4874,33 @@ "visibility": "internal" } ], - "src": "3255:37:49" + "src": "3255:37:67" }, "returnParameters": { - "id": 9576, + "id": 34714, "nodeType": "ParameterList", "parameters": [], - "src": "3302:0:49" + "src": "3302:0:67" }, - "scope": 9646, + "scope": 34784, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 9645, + "id": 34783, "nodeType": "FunctionDefinition", - "src": "3435:584:49", + "src": "3435:584:67", "nodes": [], "body": { - "id": 9644, + "id": 34782, "nodeType": "Block", - "src": "3641:378:49", + "src": "3641:378:67", "nodes": [], "statements": [ { "expression": { - "id": 9609, + "id": 34747, "isConstant": false, "isLValue": false, "isPure": false, @@ -4860,14 +4908,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3651:16:49", + "src": "3651:16:67", "subExpression": { - "id": 9608, + "id": 34746, "name": "tokenIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9363, - "src": "3651:14:49", + "referencedDeclaration": 34501, + "src": "3651:14:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4878,32 +4926,32 @@ "typeString": "uint256" } }, - "id": 9610, + "id": 34748, "nodeType": "ExpressionStatement", - "src": "3651:16:49" + "src": "3651:16:67" }, { "expression": { "arguments": [ { - "id": 9612, + "id": 34750, "name": "_receiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9599, - "src": "3683:9:49", + "referencedDeclaration": 34737, + "src": "3683:9:67", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 9613, + "id": 34751, "name": "tokenIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9363, - "src": "3694:14:49", + "referencedDeclaration": 34501, + "src": "3694:14:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4921,18 +4969,18 @@ "typeString": "uint256" } ], - "id": 9611, + "id": 34749, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2694, - "src": "3677:5:49", + "referencedDeclaration": 26801, + "src": "3677:5:67", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 9614, + "id": 34752, "isConstant": false, "isLValue": false, "isPure": false, @@ -4940,45 +4988,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3677:32:49", + "src": "3677:32:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9615, + "id": 34753, "nodeType": "ExpressionStatement", - "src": "3677:32:49" + "src": "3677:32:67" }, { "expression": { - "id": 9620, + "id": 34758, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 9616, + "id": 34754, "name": "tokenURIs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9361, - "src": "3719:9:49", + "referencedDeclaration": 34499, + "src": "3719:9:67", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", "typeString": "mapping(uint256 => string storage ref)" } }, - "id": 9618, + "id": 34756, "indexExpression": { - "id": 9617, + "id": 34755, "name": "tokenIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9363, - "src": "3729:14:49", + "referencedDeclaration": 34501, + "src": "3729:14:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4989,7 +5037,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3719:25:49", + "src": "3719:25:67", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -4998,49 +5046,49 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 9619, + "id": 34757, "name": "_uri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9595, - "src": "3747:4:49", + "referencedDeclaration": 34733, + "src": "3747:4:67", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3719:32:49", + "src": "3719:32:67", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 9621, + "id": 34759, "nodeType": "ExpressionStatement", - "src": "3719:32:49" + "src": "3719:32:67" }, { "expression": { "arguments": [ { - "id": 9623, + "id": 34761, "name": "tokenIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9363, - "src": "3778:14:49", + "referencedDeclaration": 34501, + "src": "3778:14:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 9624, + "id": 34762, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9597, - "src": "3794:8:49", + "referencedDeclaration": 34735, + "src": "3794:8:67", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5058,18 +5106,18 @@ "typeString": "address" } ], - "id": 9622, + "id": 34760, "name": "_setTokenCreator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10458, - "src": "3761:16:49", + "referencedDeclaration": 35596, + "src": "3761:16:67", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$", "typeString": "function (uint256,address)" } }, - "id": 9625, + "id": 34763, "isConstant": false, "isLValue": false, "isPure": false, @@ -5077,39 +5125,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3761:42:49", + "src": "3761:42:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9626, + "id": 34764, "nodeType": "ExpressionStatement", - "src": "3761:42:49" + "src": "3761:42:67" }, { "expression": { "arguments": [ { - "id": 9628, + "id": 34766, "name": "tokenIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9363, - "src": "3833:14:49", + "referencedDeclaration": 34501, + "src": "3833:14:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 9629, + "id": 34767, "name": "_royaltyReceiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9603, - "src": "3849:16:49", + "referencedDeclaration": 34741, + "src": "3849:16:67", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5127,18 +5175,18 @@ "typeString": "address" } ], - "id": 9627, + "id": 34765, "name": "_setRoyaltyReceiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10331, - "src": "3813:19:49", + "referencedDeclaration": 35469, + "src": "3813:19:67", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$", "typeString": "function (uint256,address)" } }, - "id": 9630, + "id": 34768, "isConstant": false, "isLValue": false, "isPure": false, @@ -5146,39 +5194,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3813:53:49", + "src": "3813:53:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9631, + "id": 34769, "nodeType": "ExpressionStatement", - "src": "3813:53:49" + "src": "3813:53:67" }, { "expression": { "arguments": [ { - "id": 9633, + "id": 34771, "name": "tokenIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9363, - "src": "3898:14:49", + "referencedDeclaration": 34501, + "src": "3898:14:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 9634, + "id": 34772, "name": "_royaltyPercentage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9601, - "src": "3914:18:49", + "referencedDeclaration": 34739, + "src": "3914:18:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5196,18 +5244,18 @@ "typeString": "uint256" } ], - "id": 9632, + "id": 34770, "name": "_setRoyaltyPercentage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10345, - "src": "3876:21:49", + "referencedDeclaration": 35483, + "src": "3876:21:67", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" } }, - "id": 9635, + "id": 34773, "isConstant": false, "isLValue": false, "isPure": false, @@ -5215,41 +5263,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3876:57:49", + "src": "3876:57:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9636, + "id": 34774, "nodeType": "ExpressionStatement", - "src": "3876:57:49" + "src": "3876:57:67" }, { "expression": { "arguments": [ { "expression": { - "id": 9638, + "id": 34776, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "3970:3:49", + "src": "3970:3:67", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 9639, + "id": 34777, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "3970:10:49", + "src": "3970:10:67", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5263,18 +5311,18 @@ "typeString": "address" } ], - "id": 9637, + "id": 34775, "name": "_decrementMintingAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10615, - "src": "3943:26:49", + "referencedDeclaration": 35753, + "src": "3943:26:67", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 9640, + "id": 34778, "isConstant": false, "isLValue": false, "isPure": false, @@ -5282,34 +5330,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3943:38:49", + "src": "3943:38:67", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9641, + "id": 34779, "nodeType": "ExpressionStatement", - "src": "3943:38:49" + "src": "3943:38:67" }, { "expression": { - "id": 9642, + "id": 34780, "name": "tokenIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9363, - "src": "3998:14:49", + "referencedDeclaration": 34501, + "src": "3998:14:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 9607, - "id": 9643, + "functionReturnParameters": 34745, + "id": 34781, "nodeType": "Return", - "src": "3991:21:49" + "src": "3991:21:67" } ] }, @@ -5317,20 +5365,20 @@ "kind": "function", "modifiers": [], "name": "_createToken", - "nameLocation": "3444:12:49", + "nameLocation": "3444:12:67", "parameters": { - "id": 9604, + "id": 34742, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9595, + "id": 34733, "mutability": "mutable", "name": "_uri", - "nameLocation": "3480:4:49", + "nameLocation": "3480:4:67", "nodeType": "VariableDeclaration", - "scope": 9645, - "src": "3466:18:49", + "scope": 34783, + "src": "3466:18:67", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5338,10 +5386,10 @@ "typeString": "string" }, "typeName": { - "id": 9594, + "id": 34732, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3466:6:49", + "src": "3466:6:67", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5351,13 +5399,13 @@ }, { "constant": false, - "id": 9597, + "id": 34735, "mutability": "mutable", "name": "_creator", - "nameLocation": "3502:8:49", + "nameLocation": "3502:8:67", "nodeType": "VariableDeclaration", - "scope": 9645, - "src": "3494:16:49", + "scope": 34783, + "src": "3494:16:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5365,10 +5413,10 @@ "typeString": "address" }, "typeName": { - "id": 9596, + "id": 34734, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3494:7:49", + "src": "3494:7:67", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5379,13 +5427,13 @@ }, { "constant": false, - "id": 9599, + "id": 34737, "mutability": "mutable", "name": "_receiver", - "nameLocation": "3528:9:49", + "nameLocation": "3528:9:67", "nodeType": "VariableDeclaration", - "scope": 9645, - "src": "3520:17:49", + "scope": 34783, + "src": "3520:17:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5393,10 +5441,10 @@ "typeString": "address" }, "typeName": { - "id": 9598, + "id": 34736, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3520:7:49", + "src": "3520:7:67", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5407,13 +5455,13 @@ }, { "constant": false, - "id": 9601, + "id": 34739, "mutability": "mutable", "name": "_royaltyPercentage", - "nameLocation": "3555:18:49", + "nameLocation": "3555:18:67", "nodeType": "VariableDeclaration", - "scope": 9645, - "src": "3547:26:49", + "scope": 34783, + "src": "3547:26:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5421,10 +5469,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9600, + "id": 34738, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3547:7:49", + "src": "3547:7:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5434,13 +5482,13 @@ }, { "constant": false, - "id": 9603, + "id": 34741, "mutability": "mutable", "name": "_royaltyReceiver", - "nameLocation": "3591:16:49", + "nameLocation": "3591:16:67", "nodeType": "VariableDeclaration", - "scope": 9645, - "src": "3583:24:49", + "scope": 34783, + "src": "3583:24:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5448,10 +5496,10 @@ "typeString": "address" }, "typeName": { - "id": 9602, + "id": 34740, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3583:7:49", + "src": "3583:7:67", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5461,21 +5509,21 @@ "visibility": "internal" } ], - "src": "3456:157:49" + "src": "3456:157:67" }, "returnParameters": { - "id": 9607, + "id": 34745, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9606, + "id": 34744, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 9645, - "src": "3632:7:49", + "scope": 34783, + "src": "3632:7:67", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5483,10 +5531,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9605, + "id": 34743, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3632:7:49", + "src": "3632:7:67", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5495,9 +5543,9 @@ "visibility": "internal" } ], - "src": "3631:9:49" + "src": "3631:9:67" }, - "scope": 9646, + "scope": 34784, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" @@ -5507,110 +5555,123 @@ "baseContracts": [ { "baseName": { - "id": 9344, + "id": 34482, "name": "OwnableUpgradeable", "nodeType": "IdentifierPath", - "referencedDeclaration": 813, - "src": "806:18:49" + "referencedDeclaration": 24920, + "src": "806:18:67" }, - "id": 9345, + "id": 34483, "nodeType": "InheritanceSpecifier", - "src": "806:18:49" + "src": "806:18:67" }, { "baseName": { - "id": 9346, + "id": 34484, "name": "ERC165Upgradeable", "nodeType": "IdentifierPath", - "referencedDeclaration": 3792, - "src": "830:17:49" + "referencedDeclaration": 27899, + "src": "830:17:67" }, - "id": 9347, + "id": 34485, "nodeType": "InheritanceSpecifier", - "src": "830:17:49" + "src": "830:17:67" }, { "baseName": { - "id": 9348, + "id": 34486, "name": "ERC721Upgradeable", "nodeType": "IdentifierPath", - "referencedDeclaration": 2975, - "src": "853:17:49" + "referencedDeclaration": 27082, + "src": "853:17:67" }, - "id": 9349, + "id": 34487, "nodeType": "InheritanceSpecifier", - "src": "853:17:49" + "src": "853:17:67" }, { "baseName": { - "id": 9350, + "id": 34488, "name": "TokenCreator", "nodeType": "IdentifierPath", - "referencedDeclaration": 10459, - "src": "876:12:49" + "referencedDeclaration": 35597, + "src": "876:12:67" }, - "id": 9351, + "id": 34489, "nodeType": "InheritanceSpecifier", - "src": "876:12:49" + "src": "876:12:67" }, { "baseName": { - "id": 9352, + "id": 34490, "name": "ERC721BurnableUpgradeable", "nodeType": "IdentifierPath", - "referencedDeclaration": 3159, - "src": "894:25:49" + "referencedDeclaration": 27266, + "src": "894:25:67" }, - "id": 9353, + "id": 34491, "nodeType": "InheritanceSpecifier", - "src": "894:25:49" + "src": "894:25:67" }, { "baseName": { - "id": 9354, + "id": 34492, "name": "ERC2981Upgradeable", "nodeType": "IdentifierPath", - "referencedDeclaration": 10393, - "src": "925:18:49" + "referencedDeclaration": 35531, + "src": "925:18:67" }, - "id": 9355, + "id": 34493, "nodeType": "InheritanceSpecifier", - "src": "925:18:49" + "src": "925:18:67" }, { "baseName": { - "id": 9356, + "id": 34494, "name": "Whitelist", "nodeType": "IdentifierPath", - "referencedDeclaration": 10630, - "src": "949:9:49" + "referencedDeclaration": 35768, + "src": "949:9:67" }, - "id": 9357, + "id": 34495, "nodeType": "InheritanceSpecifier", - "src": "949:9:49" + "src": "949:9:67" } ], "canonicalName": "RareSpaceNFT", "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 9343, + "id": 34481, "nodeType": "StructuredDocumentation", - "src": "680:97:49", + "src": "680:97:67", "text": "@author koloz\n @title RareSpaceNFT\n @notice The 721 contract for the rarest of spaces." }, "fullyImplemented": true, "linearizedBaseContracts": [ - 9646, 10630, 10393, 3159, 10459, 2975, 3186, 3109, 3792, 3804, 10419, - 813, 3471, 955, 10409 + 34784, + 35768, + 35531, + 27266, + 35597, + 27082, + 27293, + 27216, + 27899, + 27911, + 35557, + 24920, + 27578, + 25062, + 35547 ], "name": "RareSpaceNFT", - "nameLocation": "786:12:49", - "scope": 9647, + "nameLocation": "786:12:67", + "scope": 34785, "usedErrors": [] } ], "license": "MIT" }, - "id": 49 -} + "id": 67 +} \ No newline at end of file diff --git a/abis/RareSpaceNFTContractFactory.json b/abis/RareSpaceNFTContractFactory.json index 9e14b9a..9ec5593 100644 --- a/abis/RareSpaceNFTContractFactory.json +++ b/abis/RareSpaceNFTContractFactory.json @@ -179,12 +179,12 @@ ], "bytecode": { "object": "0x608060405234801561001057600080fd5b50604051612d93380380612d9383398101604081905261002f9161015c565b610038336100e3565b6001600160a01b03821661004b57600080fd5b6001600160a01b03811661005e57600080fd5b600180546001600160a01b038085166001600160a01b031992831617909255600280549284169290911691909117905560405160009061009d90610133565b604051809103906000f0801580156100b9573d6000803e3d6000fd5b50600380546001600160a01b0319166001600160a01b03929092169190911790555061018f915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6124d5806108be83390190565b80516001600160a01b038116811461015757600080fd5b919050565b6000806040838503121561016f57600080fd5b61017883610140565b915061018660208401610140565b90509250929050565b6107208061019e6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80638da5cb5b116100665780638da5cb5b146100f7578063ba50b63214610108578063d0ba7ef81461011b578063f2fde38b1461012e578063f506ea791461014157600080fd5b8063030f3ee6146100985780630bcba09d146100ad578063715018a6146100dc57806374384883146100e4575b600080fd5b6100ab6100a6366004610565565b610154565b005b6002546100c0906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6100ab6101bc565b6100ab6100f2366004610565565b6101f2565b6000546001600160a01b03166100c0565b6001546100c0906001600160a01b031681565b6100c06101293660046105de565b610251565b6100ab61013c366004610565565b6103de565b6003546100c0906001600160a01b031681565b6000546001600160a01b031633146101875760405162461bcd60e51b815260040161017e9061064a565b60405180910390fd5b6001600160a01b03811661019a57600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146101e65760405162461bcd60e51b815260040161017e9061064a565b6101f06000610479565b565b6000546001600160a01b0316331461021c5760405162461bcd60e51b815260040161017e9061064a565b6001600160a01b03811661022f57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600354600090819061026b906001600160a01b03166104c9565b604051633772ba0d60e11b81529091506001600160a01b03821690636ee5741a906102a290899089908990899033906004016106a8565b600060405180830381600087803b1580156102bc57600080fd5b505af11580156102d0573d6000803e3d6000fd5b50506040513392506001600160a01b03841691507fabe0dd57947693bae591655c14bbe6fd911ea23c65899a1882a49ac2ce5f1f5590600090a360015460405163ae312a9760e01b81526001600160a01b038381166004830152600f60248301529091169063ae312a9790604401600060405180830381600087803b15801561035857600080fd5b505af115801561036c573d6000803e3d6000fd5b5050600254604051634623c80960e11b8152336004820152600560248201526001600160a01b039091169250638c4790129150604401600060405180830381600087803b1580156103bc57600080fd5b505af11580156103d0573d6000803e3d6000fd5b509298975050505050505050565b6000546001600160a01b031633146104085760405162461bcd60e51b815260040161017e9061064a565b6001600160a01b03811661046d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161017e565b61047681610479565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060405172602d8060093d393df3363d3d373d3d3d363d7360681b81528260601b60138201526e5af43d82803e903d91602b57fd5bf360881b60278201526036816000f09150506001600160a01b0381166105605760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640161017e565b919050565b60006020828403121561057757600080fd5b81356001600160a01b038116811461058e57600080fd5b9392505050565b60008083601f8401126105a757600080fd5b50813567ffffffffffffffff8111156105bf57600080fd5b6020830191508360208285010111156105d757600080fd5b9250929050565b600080600080604085870312156105f457600080fd5b843567ffffffffffffffff8082111561060c57600080fd5b61061888838901610595565b9096509450602087013591508082111561063157600080fd5b5061063e87828801610595565b95989497509550505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6060815260006106bc60608301878961067f565b82810360208401526106cf81868861067f565b91505060018060a01b0383166040830152969550505050505056fea2646970667358221220fb08e051e1fa3b1b73393ff867a32f499cd4d4e7be27fad5b9c9ee0c7334c5e164736f6c634300080f00336080604052610101805460ff1916600117905534801561001e57600080fd5b506124a78061002e6000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c80636297c16c1161012557806395d89b41116100ad578063c87b56dd1161007c578063c87b56dd1461049f578063e43252d7146104b2578063e5cff487146104c5578063e985e9c5146104d8578063f2fde38b1461051457600080fd5b806395d89b4114610469578063a22cb46514610471578063ab69607a14610484578063b88d4fde1461048c57600080fd5b8063715018a6116100f4578063715018a61461040957806380e3f1ad1461041157806381b97161146104245780638ab1d681146104455780638da5cb5b1461045857600080fd5b80636297c16c146103bd5780636352211e146103d05780636ee5741a146103e357806370a08231146103f657600080fd5b80632a55205a116101a857806340c1a0641161017757806340c1a0641461034d57806342842e0e1461037657806342966c68146103895780634aa52c411461039c57806351fb012d146103af57600080fd5b80632a55205a146102e45780632d13f7d8146103165780633403c4e9146103295780633af32abf1461033a57600080fd5b80631029f467116101e45780631029f46714610293578063139d8325146102a65780631ef87a5d146102be57806323b872dd146102d157600080fd5b806301ffc9a71461021657806306fdde031461023e578063081812fc14610253578063095ea7b31461027e575b600080fd5b610229610224366004611b7b565b610527565b60405190151581526020015b60405180910390f35b610246610552565b6040516102359190611bf0565b610266610261366004611c03565b6105e4565b6040516001600160a01b039091168152602001610235565b61029161028c366004611c33565b61067e565b005b6102916102a1366004611c33565b610793565b6102b06101045481565b604051908152602001610235565b6102916102cc366004611ca9565b6107cb565b6102916102df366004611d15565b61086d565b6102f76102f2366004611d51565b61089f565b604080516001600160a01b039093168352602083019190915201610235565b6102b0610324366004611d73565b61093a565b60fc546001600160a01b0316610266565b610229610348366004611d73565b610974565b61026661035b366004611c03565b600090815260c960205260409020546001600160a01b031690565b610291610384366004611d15565b610995565b610291610397366004611c03565b6109b0565b6102916103aa366004611d8e565b610a2a565b610101546102299060ff1681565b6102916103cb366004611c03565b610a92565b6102666103de366004611c03565b610ab9565b6102916103f1366004611ecc565b610b30565b6102b0610404366004611d73565b610bd4565b610291610c5a565b61029161041f366004611f50565b610c90565b6102b0610432366004611d73565b6101006020526000908152604090205481565b610291610453366004611d73565b610ccc565b6033546001600160a01b0316610266565b610246610cff565b61029161047f366004611f6b565b610d0e565b60fd546102b0565b61029161049a366004611f95565b610d19565b6102466104ad366004611c03565b610d4b565b6102916104c0366004611d73565b610e33565b6102916104d3366004612011565b610e66565b6102296104e6366004612034565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b610291610522366004611d73565b610ec4565b6000631030681960e21b6001600160e01b03198316148061054c575061054c82610f5c565b92915050565b6060609780546105619061205e565b80601f016020809104026020016040519081016040528092919081815260200182805461058d9061205e565b80156105da5780601f106105af576101008083540402835291602001916105da565b820191906000526020600020905b8154815290600101906020018083116105bd57829003601f168201915b5050505050905090565b6000818152609960205260408120546001600160a01b03166106625760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152609b60205260409020546001600160a01b031690565b600061068982610ab9565b9050806001600160a01b0316836001600160a01b0316036106f65760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610659565b336001600160a01b0382161480610712575061071281336104e6565b6107845760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610659565b61078e8383610f81565b505050565b6033546001600160a01b031633146107bd5760405162461bcd60e51b815260040161065990612098565b6107c78282610fef565b5050565b6033546001600160a01b031633146107f55760405162461bcd60e51b815260040161065990612098565b82811461080157600080fd5b60005b8381101561086657610854858583818110610821576108216120cd565b90506020020160208101906108369190611d73565b848484818110610848576108486120cd565b90506020020135610fef565b8061085e816120f9565b915050610804565b5050505050565b610878335b82611043565b6108945760405162461bcd60e51b815260040161065990612112565b61078e83838361113a565b600082815260fe602052604081205481906001600160a01b03166108ce5760fc546001600160a01b03166108e7565b600084815260fe60205260409020546001600160a01b03165b9150610931606461092b60ff6000888152602001908152602001600020546000036109145760fd54610924565b600087815260ff60205260409020545b86906112d6565b906112e2565b90509250929050565b6101015460009060ff161561096657506001600160a01b03166000908152610100602052604090205490565b50600019919050565b919050565b600061097f8261093a565b60000361098d57600061054c565b600192915050565b61078e83838360405180602001604052806000815250610d19565b6109b933610872565b610a1e5760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b6064820152608401610659565b610a27816112ee565b50565b33600180610a378361093a565b1015610a4257600080fd5b610a8986868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506101045433925088915087611389565b50505050505050565b8033610a9d82610ab9565b6001600160a01b031614610ab057600080fd5b6107c7826109b0565b6000818152609960205260408120546001600160a01b03168061054c5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610659565b6000610b3c6001611434565b90508015610b54576000805461ff0019166101001790555b6001600160a01b038216610b6757600080fd5b600a61010455610b7784846114bc565b610b7f6114ed565b610b8882610ec4565b8015610bce576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b60006001600160a01b038216610c3e5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610659565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610c845760405162461bcd60e51b815260040161065990612098565b610c8e6000611514565b565b6033546001600160a01b03163314610cba5760405162461bcd60e51b815260040161065990612098565b610101805460ff191682151517905550565b6033546001600160a01b03163314610cf65760405162461bcd60e51b815260040161065990612098565b610a2781611566565b6060609880546105619061205e565b6107c73383836115b8565b610d233383611043565b610d3f5760405162461bcd60e51b815260040161065990612112565b610bce84848484611686565b6000818152609960205260409020546060906001600160a01b0316610dca5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610659565b6000610de160408051602081019091526000815290565b90506000815111610e015760405180602001604052806000815250610e2c565b80610e0b846116b9565b604051602001610e1c929190612163565b6040516020818303038152906040525b9392505050565b6033546001600160a01b03163314610e5d5760405162461bcd60e51b815260040161065990612098565b610a27816117ba565b600082815260c960205260409020546001600160a01b03163314610eba5760405162461bcd60e51b815260206004820152600b60248201526a2737ba1031b932b0ba37b960a91b6044820152606401610659565b6107c78282611815565b6033546001600160a01b03163314610eee5760405162461bcd60e51b815260040161065990612098565b6001600160a01b038116610f535760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610659565b610a2781611514565b60006001600160e01b0319821663152a902d60e11b148061054c575061054c82611843565b6000818152609b6020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610fb682610ab9565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6001600160a01b0382166000818152610100602090815260409182902084905590518381527fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e910160405180910390a25050565b6000818152609960205260408120546001600160a01b03166110bc5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610659565b60006110c783610ab9565b9050806001600160a01b0316846001600160a01b0316148061110e57506001600160a01b038082166000908152609c602090815260408083209388168352929052205460ff165b806111325750836001600160a01b0316611127846105e4565b6001600160a01b0316145b949350505050565b826001600160a01b031661114d82610ab9565b6001600160a01b0316146111b15760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610659565b6001600160a01b0382166112135760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610659565b61121e600082610f81565b6001600160a01b0383166000908152609a60205260408120805460019290611247908490612192565b90915550506001600160a01b0382166000908152609a602052604081208054600192906112759084906121a9565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000610e2c82846121c1565b6000610e2c82846121f6565b60006112f982610ab9565b9050611306600083610f81565b6001600160a01b0381166000908152609a6020526040812080546001929061132f908490612192565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b61010380546000918261139b836120f9565b91905055506113ad8461010354611893565b610103546000908152610102602052604090206113ca8782612258565b5061010354600090815260c96020526040902080546001600160a01b0319166001600160a01b0387161790556114036101035483611815565b61141d6101035484600091825260ff602052604090912055565b611426336119d5565b506101035495945050505050565b60008054610100900460ff161561147b578160ff1660011480156114575750303b155b6114735760405162461bcd60e51b815260040161065990612318565b506000919050565b60005460ff8084169116106114a25760405162461bcd60e51b815260040161065990612318565b506000805460ff191660ff92909216919091179055600190565b600054610100900460ff166114e35760405162461bcd60e51b815260040161065990612366565b6107c78282611a24565b600054610100900460ff16610c8e5760405162461bcd60e51b815260040161065990612366565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600081815261010060209081526040808320839055519182527fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e91015b60405180910390a250565b816001600160a01b0316836001600160a01b0316036116195760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610659565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61169184848461113a565b61169d84848484611a64565b610bce5760405162461bcd60e51b8152600401610659906123b1565b6060816000036116e05750506040805180820190915260018152600360fc1b602082015290565b8160005b811561170a57806116f4816120f9565b91506117039050600a836121f6565b91506116e4565b60008167ffffffffffffffff81111561172557611725611e20565b6040519080825280601f01601f19166020018201604052801561174f576020820181803683370190505b5090505b841561113257611764600183612192565b9150611771600a86612403565b61177c9060306121a9565b60f81b818381518110611791576117916120cd565b60200101906001600160f81b031916908160001a9053506117b3600a866121f6565b9450611753565b6001600160a01b0381166000908152610100602052604090206000199055806001600160a01b03167fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e6000196040516115ad91815260200190565b600091825260fe602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b60006001600160e01b031982166380ac58cd60e01b148061187457506001600160e01b03198216635b5e139f60e01b145b8061054c57506301ffc9a760e01b6001600160e01b031983161461054c565b6001600160a01b0382166118e95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610659565b6000818152609960205260409020546001600160a01b03161561194e5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610659565b6001600160a01b0382166000908152609a602052604081208054600192906119779084906121a9565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6101015460ff1615610a27576001600160a01b03811660009081526101006020526040902054611a06600182612192565b6001600160a01b038316600090815261010060205260409020555050565b600054610100900460ff16611a4b5760405162461bcd60e51b815260040161065990612366565b6097611a578382612258565b50609861078e8282612258565b60006001600160a01b0384163b15611b5a57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611aa8903390899088908890600401612417565b6020604051808303816000875af1925050508015611ae3575060408051601f3d908101601f19168201909252611ae091810190612454565b60015b611b40573d808015611b11576040519150601f19603f3d011682016040523d82523d6000602084013e611b16565b606091505b508051600003611b385760405162461bcd60e51b8152600401610659906123b1565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611132565b506001949350505050565b6001600160e01b031981168114610a2757600080fd5b600060208284031215611b8d57600080fd5b8135610e2c81611b65565b60005b83811015611bb3578181015183820152602001611b9b565b83811115610bce5750506000910152565b60008151808452611bdc816020860160208601611b98565b601f01601f19169290920160200192915050565b602081526000610e2c6020830184611bc4565b600060208284031215611c1557600080fd5b5035919050565b80356001600160a01b038116811461096f57600080fd5b60008060408385031215611c4657600080fd5b611c4f83611c1c565b946020939093013593505050565b60008083601f840112611c6f57600080fd5b50813567ffffffffffffffff811115611c8757600080fd5b6020830191508360208260051b8501011115611ca257600080fd5b9250929050565b60008060008060408587031215611cbf57600080fd5b843567ffffffffffffffff80821115611cd757600080fd5b611ce388838901611c5d565b90965094506020870135915080821115611cfc57600080fd5b50611d0987828801611c5d565b95989497509550505050565b600080600060608486031215611d2a57600080fd5b611d3384611c1c565b9250611d4160208501611c1c565b9150604084013590509250925092565b60008060408385031215611d6457600080fd5b50508035926020909101359150565b600060208284031215611d8557600080fd5b610e2c82611c1c565b60008060008060608587031215611da457600080fd5b843567ffffffffffffffff80821115611dbc57600080fd5b818701915087601f830112611dd057600080fd5b813581811115611ddf57600080fd5b886020828501011115611df157600080fd5b602092830196509450611e079187019050611c1c565b9150611e1560408601611c1c565b905092959194509250565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611e5157611e51611e20565b604051601f8501601f19908116603f01168101908282118183101715611e7957611e79611e20565b81604052809350858152868686011115611e9257600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112611ebd57600080fd5b610e2c83833560208501611e36565b600080600060608486031215611ee157600080fd5b833567ffffffffffffffff80821115611ef957600080fd5b611f0587838801611eac565b94506020860135915080821115611f1b57600080fd5b50611f2886828701611eac565b925050611f3760408501611c1c565b90509250925092565b8035801515811461096f57600080fd5b600060208284031215611f6257600080fd5b610e2c82611f40565b60008060408385031215611f7e57600080fd5b611f8783611c1c565b915061093160208401611f40565b60008060008060808587031215611fab57600080fd5b611fb485611c1c565b9350611fc260208601611c1c565b925060408501359150606085013567ffffffffffffffff811115611fe557600080fd5b8501601f81018713611ff657600080fd5b61200587823560208401611e36565b91505092959194509250565b6000806040838503121561202457600080fd5b8235915061093160208401611c1c565b6000806040838503121561204757600080fd5b61205083611c1c565b915061093160208401611c1c565b600181811c9082168061207257607f821691505b60208210810361209257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161210b5761210b6120e3565b5060010190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60008351612175818460208801611b98565b835190830190612189818360208801611b98565b01949350505050565b6000828210156121a4576121a46120e3565b500390565b600082198211156121bc576121bc6120e3565b500190565b60008160001904831182151516156121db576121db6120e3565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612205576122056121e0565b500490565b601f82111561078e57600081815260208120601f850160051c810160208610156122315750805b601f850160051c820191505b818110156122505782815560010161223d565b505050505050565b815167ffffffffffffffff81111561227257612272611e20565b61228681612280845461205e565b8461220a565b602080601f8311600181146122bb57600084156122a35750858301515b600019600386901b1c1916600185901b178555612250565b600085815260208120601f198616915b828110156122ea578886015182559484019460019091019084016122cb565b50858210156123085787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600082612412576124126121e0565b500690565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061244a90830184611bc4565b9695505050505050565b60006020828403121561246657600080fd5b8151610e2c81611b6556fea264697066735822122037b70699f35e944fef8aac271f6a96ecc6de4cdc00d99c9a6836019f9694568b64736f6c634300080f0033", - "sourceMap": "342:1742:50:-:0;;;664:449;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;921:32:28;719:10:35;921:18:28;:32::i;:::-;-1:-1:-1;;;;;756:34:50;;748:43;;;;;;-1:-1:-1;;;;;809:36:50;;801:45;;;;;;857:19;:64;;-1:-1:-1;;;;;857:64:50;;;-1:-1:-1;;;;;;857:64:50;;;;;;;931:21;:70;;;;;;;;;;;;;;;1041:18;;857:19;;1041:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1069:12:50;:37;;-1:-1:-1;;;;;;1069:37:50;-1:-1:-1;;;;;1069:37:50;;;;;;;;;;-1:-1:-1;342:1742:50;;-1:-1:-1;;342:1742:50;2270:187:28;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:28;;;-1:-1:-1;;;;;;2378:17:28;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;342:1742:50:-;;;;;;;;:::o;14:177:59:-;93:13;;-1:-1:-1;;;;;135:31:59;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:293::-;275:6;283;336:2;324:9;315:7;311:23;307:32;304:52;;;352:1;349;342:12;304:52;375:40;405:9;375:40;:::i;:::-;365:50;;434:49;479:2;468:9;464:18;434:49;:::i;:::-;424:59;;196:293;;;;;:::o;:::-;342:1742:50;;;;;;", + "sourceMap": "342:1742:68:-:0;;;664:449;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;921:32:40;719:10:47;921:18:40;:32::i;:::-;-1:-1:-1;;;;;756:34:68;;748:43;;;;;;-1:-1:-1;;;;;809:36:68;;801:45;;;;;;857:19;:64;;-1:-1:-1;;;;;857:64:68;;;-1:-1:-1;;;;;;857:64:68;;;;;;;931:21;:70;;;;;;;;;;;;;;;1041:18;;857:19;;1041:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1069:12:68;:37;;-1:-1:-1;;;;;;1069:37:68;-1:-1:-1;;;;;1069:37:68;;;;;;;;;;-1:-1:-1;342:1742:68;;-1:-1:-1;;342:1742:68;2270:187:40;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:40;;;-1:-1:-1;;;;;;2378:17:40;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;342:1742:68:-;;;;;;;;:::o;14:177:77:-;93:13;;-1:-1:-1;;;;;135:31:77;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:293::-;275:6;283;336:2;324:9;315:7;311:23;307:32;304:52;;;352:1;349;342:12;304:52;375:40;405:9;375:40;:::i;:::-;365:50;;434:49;479:2;468:9;464:18;434:49;:::i;:::-;424:59;;196:293;;;;;:::o;:::-;342:1742:68;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c80638da5cb5b116100665780638da5cb5b146100f7578063ba50b63214610108578063d0ba7ef81461011b578063f2fde38b1461012e578063f506ea791461014157600080fd5b8063030f3ee6146100985780630bcba09d146100ad578063715018a6146100dc57806374384883146100e4575b600080fd5b6100ab6100a6366004610565565b610154565b005b6002546100c0906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6100ab6101bc565b6100ab6100f2366004610565565b6101f2565b6000546001600160a01b03166100c0565b6001546100c0906001600160a01b031681565b6100c06101293660046105de565b610251565b6100ab61013c366004610565565b6103de565b6003546100c0906001600160a01b031681565b6000546001600160a01b031633146101875760405162461bcd60e51b815260040161017e9061064a565b60405180910390fd5b6001600160a01b03811661019a57600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146101e65760405162461bcd60e51b815260040161017e9061064a565b6101f06000610479565b565b6000546001600160a01b0316331461021c5760405162461bcd60e51b815260040161017e9061064a565b6001600160a01b03811661022f57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600354600090819061026b906001600160a01b03166104c9565b604051633772ba0d60e11b81529091506001600160a01b03821690636ee5741a906102a290899089908990899033906004016106a8565b600060405180830381600087803b1580156102bc57600080fd5b505af11580156102d0573d6000803e3d6000fd5b50506040513392506001600160a01b03841691507fabe0dd57947693bae591655c14bbe6fd911ea23c65899a1882a49ac2ce5f1f5590600090a360015460405163ae312a9760e01b81526001600160a01b038381166004830152600f60248301529091169063ae312a9790604401600060405180830381600087803b15801561035857600080fd5b505af115801561036c573d6000803e3d6000fd5b5050600254604051634623c80960e11b8152336004820152600560248201526001600160a01b039091169250638c4790129150604401600060405180830381600087803b1580156103bc57600080fd5b505af11580156103d0573d6000803e3d6000fd5b509298975050505050505050565b6000546001600160a01b031633146104085760405162461bcd60e51b815260040161017e9061064a565b6001600160a01b03811661046d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161017e565b61047681610479565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060405172602d8060093d393df3363d3d373d3d3d363d7360681b81528260601b60138201526e5af43d82803e903d91602b57fd5bf360881b60278201526036816000f09150506001600160a01b0381166105605760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640161017e565b919050565b60006020828403121561057757600080fd5b81356001600160a01b038116811461058e57600080fd5b9392505050565b60008083601f8401126105a757600080fd5b50813567ffffffffffffffff8111156105bf57600080fd5b6020830191508360208285010111156105d757600080fd5b9250929050565b600080600080604085870312156105f457600080fd5b843567ffffffffffffffff8082111561060c57600080fd5b61061888838901610595565b9096509450602087013591508082111561063157600080fd5b5061063e87828801610595565b95989497509550505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6060815260006106bc60608301878961067f565b82810360208401526106cf81868861067f565b91505060018060a01b0383166040830152969550505050505056fea2646970667358221220fb08e051e1fa3b1b73393ff867a32f499cd4d4e7be27fad5b9c9ee0c7334c5e164736f6c634300080f0033", - "sourceMap": "342:1742:50:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1361:158;;;;;;:::i;:::-;;:::i;:::-;;449:51;;;;;-1:-1:-1;;;;;449:51:50;;;;;;-1:-1:-1;;;;;499:32:59;;;481:51;;469:2;454:18;449:51:50;;;;;;;1668:101:28;;;:::i;1119:236:50:-;;;;;;:::i;:::-;;:::i;1036:85:28:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:28;1036:85;;396:47:50;;;;;-1:-1:-1;;;;;396:47:50;;;1525:557;;;;;;:::i;:::-;;:::i;1918:198:28:-;;;;;;:::i;:::-;;:::i;507:27:50:-;;;;;-1:-1:-1;;;;;507:27:50;;;1361:158;1082:7:28;1108:6;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;1446:27:50;::::1;1438:36;;;::::0;::::1;;1484:12;:28:::0;;-1:-1:-1;;;;;;1484:28:50::1;-1:-1:-1::0;;;;;1484:28:50;;;::::1;::::0;;;::::1;::::0;;1361:158::o;1668:101:28:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;1119:236:50:-;1082:7:28;1108:6;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;-1:-1:-1;;;;;1239:34:50;::::1;1231:43;;;::::0;::::1;;1284:19;:64:::0;;-1:-1:-1;;;;;;1284:64:50::1;-1:-1:-1::0;;;;;1284:64:50;;;::::1;::::0;;;::::1;::::0;;1119:236::o;1525:557::-;1702:12;;1647:7;;;;1689:26;;-1:-1:-1;;;;;1702:12:50;1689;:26::i;:::-;1725:59;;-1:-1:-1;;;1725:59:50;;1666:49;;-1:-1:-1;;;;;;1725:31:50;;;;;:59;;1757:5;;;;1764:7;;;;1773:10;;1725:59;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1799:53:50;;1841:10;;-1:-1:-1;;;;;;1799:53:50;;;-1:-1:-1;1799:53:50;;;;;1863:19;;:113;;-1:-1:-1;;;1863:113:50;;-1:-1:-1;;;;;3436:32:59;;;1863:113:50;;;3418:51:59;1964:2:50;3485:18:59;;;3478:45;1863:19:50;;;;:61;;3391:18:59;;1863:113:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1987:21:50;;:58;;-1:-1:-1;;;1987:58:50;;2031:10;1987:58;;;3418:51:59;2043:1:50;3485:18:59;;;3478:45;-1:-1:-1;;;;;1987:21:50;;;;-1:-1:-1;1987:43:50;;-1:-1:-1;3391:18:59;;1987:58:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2063:12:50;;1525:557;-1:-1:-1;;;;;;;;1525:557:50:o;1918:198:28:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:28;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:28;;4032:2:59;1998:73:28::1;::::0;::::1;4014:21:59::0;4071:2;4051:18;;;4044:30;4110:34;4090:18;;;4083:62;-1:-1:-1;;;4161:18:59;;;4154:36;4207:19;;1998:73:28::1;3830:402:59::0;1998:73:28::1;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;2270:187::-;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:28;;;-1:-1:-1;;;;;;2378:17:28;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;958:515:29:-;1015:16;1083:4;1077:11;-1:-1:-1;;;1108:3:29;1101:79;1226:14;1220:4;1216:25;1209:4;1204:3;1200:14;1193:49;-1:-1:-1;;;1271:4:29;1266:3;1262:14;1255:90;1385:4;1380:3;1377:1;1370:20;1358:32;-1:-1:-1;;;;;;;1417:22:29;;1409:57;;;;-1:-1:-1;;;1409:57:29;;4439:2:59;1409:57:29;;;4421:21:59;4478:2;4458:18;;;4451:30;-1:-1:-1;;;4497:18:59;;;4490:52;4559:18;;1409:57:29;4237:346:59;1409:57:29;958:515;;;:::o;14:286:59:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;168:23;;-1:-1:-1;;;;;220:31:59;;210:42;;200:70;;266:1;263;256:12;200:70;289:5;14:286;-1:-1:-1;;;14:286:59:o;986:348::-;1038:8;1048:6;1102:3;1095:4;1087:6;1083:17;1079:27;1069:55;;1120:1;1117;1110:12;1069:55;-1:-1:-1;1143:20:59;;1186:18;1175:30;;1172:50;;;1218:1;1215;1208:12;1172:50;1255:4;1247:6;1243:17;1231:29;;1307:3;1300:4;1291:6;1283;1279:19;1275:30;1272:39;1269:59;;;1324:1;1321;1314:12;1269:59;986:348;;;;;:::o;1339:721::-;1431:6;1439;1447;1455;1508:2;1496:9;1487:7;1483:23;1479:32;1476:52;;;1524:1;1521;1514:12;1476:52;1564:9;1551:23;1593:18;1634:2;1626:6;1623:14;1620:34;;;1650:1;1647;1640:12;1620:34;1689:59;1740:7;1731:6;1720:9;1716:22;1689:59;:::i;:::-;1767:8;;-1:-1:-1;1663:85:59;-1:-1:-1;1855:2:59;1840:18;;1827:32;;-1:-1:-1;1871:16:59;;;1868:36;;;1900:1;1897;1890:12;1868:36;;1939:61;1992:7;1981:8;1970:9;1966:24;1939:61;:::i;:::-;1339:721;;;;-1:-1:-1;2019:8:59;-1:-1:-1;;;;1339:721:59:o;2065:356::-;2267:2;2249:21;;;2286:18;;;2279:30;2345:34;2340:2;2325:18;;2318:62;2412:2;2397:18;;2065:356::o;2426:267::-;2515:6;2510:3;2503:19;2567:6;2560:5;2553:4;2548:3;2544:14;2531:43;-1:-1:-1;2619:1:59;2594:16;;;2612:4;2590:27;;;2583:38;;;;2675:2;2654:15;;;-1:-1:-1;;2650:29:59;2641:39;;;2637:50;;2426:267::o;2698:534::-;2943:2;2932:9;2925:21;2906:4;2969:62;3027:2;3016:9;3012:18;3004:6;2996;2969:62;:::i;:::-;3079:9;3071:6;3067:22;3062:2;3051:9;3047:18;3040:50;3107;3150:6;3142;3134;3107:50;:::i;:::-;3099:58;;;3222:1;3218;3213:3;3209:11;3205:19;3197:6;3193:32;3188:2;3177:9;3173:18;3166:60;2698:534;;;;;;;;:::o", + "sourceMap": "342:1742:68:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1361:158;;;;;;:::i;:::-;;:::i;:::-;;449:51;;;;;-1:-1:-1;;;;;449:51:68;;;;;;-1:-1:-1;;;;;499:32:77;;;481:51;;469:2;454:18;449:51:68;;;;;;;1668:101:40;;;:::i;1119:236:68:-;;;;;;:::i;:::-;;:::i;1036:85:40:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:40;1036:85;;396:47:68;;;;;-1:-1:-1;;;;;396:47:68;;;1525:557;;;;;;:::i;:::-;;:::i;1918:198:40:-;;;;;;:::i;:::-;;:::i;507:27:68:-;;;;;-1:-1:-1;;;;;507:27:68;;;1361:158;1082:7:40;1108:6;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;1446:27:68;::::1;1438:36;;;::::0;::::1;;1484:12;:28:::0;;-1:-1:-1;;;;;;1484:28:68::1;-1:-1:-1::0;;;;;1484:28:68;;;::::1;::::0;;;::::1;::::0;;1361:158::o;1668:101:40:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;1119:236:68:-;1082:7:40;1108:6;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;-1:-1:-1;;;;;1239:34:68;::::1;1231:43;;;::::0;::::1;;1284:19;:64:::0;;-1:-1:-1;;;;;;1284:64:68::1;-1:-1:-1::0;;;;;1284:64:68;;;::::1;::::0;;;::::1;::::0;;1119:236::o;1525:557::-;1702:12;;1647:7;;;;1689:26;;-1:-1:-1;;;;;1702:12:68;1689;:26::i;:::-;1725:59;;-1:-1:-1;;;1725:59:68;;1666:49;;-1:-1:-1;;;;;;1725:31:68;;;;;:59;;1757:5;;;;1764:7;;;;1773:10;;1725:59;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1799:53:68;;1841:10;;-1:-1:-1;;;;;;1799:53:68;;;-1:-1:-1;1799:53:68;;;;;1863:19;;:113;;-1:-1:-1;;;1863:113:68;;-1:-1:-1;;;;;3436:32:77;;;1863:113:68;;;3418:51:77;1964:2:68;3485:18:77;;;3478:45;1863:19:68;;;;:61;;3391:18:77;;1863:113:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1987:21:68;;:58;;-1:-1:-1;;;1987:58:68;;2031:10;1987:58;;;3418:51:77;2043:1:68;3485:18:77;;;3478:45;-1:-1:-1;;;;;1987:21:68;;;;-1:-1:-1;1987:43:68;;-1:-1:-1;3391:18:77;;1987:58:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2063:12:68;;1525:557;-1:-1:-1;;;;;;;;1525:557:68:o;1918:198:40:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:40;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:40;;4032:2:77;1998:73:40::1;::::0;::::1;4014:21:77::0;4071:2;4051:18;;;4044:30;4110:34;4090:18;;;4083:62;-1:-1:-1;;;4161:18:77;;;4154:36;4207:19;;1998:73:40::1;3830:402:77::0;1998:73:40::1;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;2270:187::-;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:40;;;-1:-1:-1;;;;;;2378:17:40;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;958:515:41:-;1015:16;1083:4;1077:11;-1:-1:-1;;;1108:3:41;1101:79;1226:14;1220:4;1216:25;1209:4;1204:3;1200:14;1193:49;-1:-1:-1;;;1271:4:41;1266:3;1262:14;1255:90;1385:4;1380:3;1377:1;1370:20;1358:32;-1:-1:-1;;;;;;;1417:22:41;;1409:57;;;;-1:-1:-1;;;1409:57:41;;4439:2:77;1409:57:41;;;4421:21:77;4478:2;4458:18;;;4451:30;-1:-1:-1;;;4497:18:77;;;4490:52;4559:18;;1409:57:41;4237:346:77;1409:57:41;958:515;;;:::o;14:286:77:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;168:23;;-1:-1:-1;;;;;220:31:77;;210:42;;200:70;;266:1;263;256:12;200:70;289:5;14:286;-1:-1:-1;;;14:286:77:o;986:348::-;1038:8;1048:6;1102:3;1095:4;1087:6;1083:17;1079:27;1069:55;;1120:1;1117;1110:12;1069:55;-1:-1:-1;1143:20:77;;1186:18;1175:30;;1172:50;;;1218:1;1215;1208:12;1172:50;1255:4;1247:6;1243:17;1231:29;;1307:3;1300:4;1291:6;1283;1279:19;1275:30;1272:39;1269:59;;;1324:1;1321;1314:12;1269:59;986:348;;;;;:::o;1339:721::-;1431:6;1439;1447;1455;1508:2;1496:9;1487:7;1483:23;1479:32;1476:52;;;1524:1;1521;1514:12;1476:52;1564:9;1551:23;1593:18;1634:2;1626:6;1623:14;1620:34;;;1650:1;1647;1640:12;1620:34;1689:59;1740:7;1731:6;1720:9;1716:22;1689:59;:::i;:::-;1767:8;;-1:-1:-1;1663:85:77;-1:-1:-1;1855:2:77;1840:18;;1827:32;;-1:-1:-1;1871:16:77;;;1868:36;;;1900:1;1897;1890:12;1868:36;;1939:61;1992:7;1981:8;1970:9;1966:24;1939:61;:::i;:::-;1339:721;;;;-1:-1:-1;2019:8:77;-1:-1:-1;;;;1339:721:77:o;2065:356::-;2267:2;2249:21;;;2286:18;;;2279:30;2345:34;2340:2;2325:18;;2318:62;2412:2;2397:18;;2065:356::o;2426:267::-;2515:6;2510:3;2503:19;2567:6;2560:5;2553:4;2548:3;2544:14;2531:43;-1:-1:-1;2619:1:77;2594:16;;;2612:4;2590:27;;;2583:38;;;;2675:2;2654:15;;;-1:-1:-1;;2650:29:77;2641:39;;;2637:50;;2426:267::o;2698:534::-;2943:2;2932:9;2925:21;2906:4;2969:62;3027:2;3016:9;3012:18;3004:6;2996;2969:62;:::i;:::-;3079:9;3071:6;3067:22;3062:2;3051:9;3047:18;3040:50;3107;3150:6;3142;3134;3107:50;:::i;:::-;3099:58;;;3222:1;3218;3213:3;3209:11;3205:19;3197:6;3193:32;3188:2;3177:9;3173:18;3166:60;2698:534;;;;;;;;:::o", "linkReferences": {} }, "methodIdentifiers": { @@ -402,16 +402,16 @@ }, "settings": { "remappings": [ - ":aux/=lib/aux/", - ":ds-test/=lib/ds-test/src/", - ":erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - ":forge-std/=lib/forge-std/src/", - ":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", - ":openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", - ":rareprotocol/aux/=lib/aux/src/", - ":royalty-guard/=lib/royalty-guard/src/royalty-guard/", - ":solmate/=lib/royalty-guard/lib/solmate/src/" + "aux/=lib/aux/", + "ds-test/=lib/ds-test/src/", + "erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", + "openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", + "rareprotocol/aux/=lib/aux/src/", + "royalty-guard/=lib/royalty-guard/src/royalty-guard/", + "solmate/=lib/royalty-guard/lib/solmate/src/" ], "optimizer": { "enabled": true, @@ -631,56 +631,96 @@ }, "ast": { "absolutePath": "src/token/ERC721/spaces/RareSpaceNFTContractFactory.sol", - "id": 9819, + "id": 34957, "exportedSymbols": { - "AddressUpgradeable": [3429], - "Clones": [4900], - "ERC165Upgradeable": [3792], - "ERC2981Upgradeable": [10393], - "ERC721BurnableUpgradeable": [3159], - "ERC721Upgradeable": [2975], - "IERC165Upgradeable": [3804], - "IERC2981": [10409], - "IMarketplaceSettings": [74], - "ISpaceOperatorRegistry": [106], - "Initializable": [955], - "Ownable": [4820], - "OwnableUpgradeable": [813], - "RareSpaceNFT": [9646], - "RareSpaceNFTContractFactory": [9818], - "SafeMathUpgradeable": [4116], - "TokenCreator": [10459], - "Whitelist": [10630] + "AddressUpgradeable": [ + 27536 + ], + "Clones": [ + 29007 + ], + "ERC165Upgradeable": [ + 27899 + ], + "ERC2981Upgradeable": [ + 35531 + ], + "ERC721BurnableUpgradeable": [ + 27266 + ], + "ERC721Upgradeable": [ + 27082 + ], + "IERC165Upgradeable": [ + 27911 + ], + "IERC2981": [ + 35547 + ], + "IMarketplaceSettings": [ + 74 + ], + "ISpaceOperatorRegistry": [ + 106 + ], + "Initializable": [ + 25062 + ], + "Ownable": [ + 28927 + ], + "OwnableUpgradeable": [ + 24920 + ], + "RareSpaceNFT": [ + 34784 + ], + "RareSpaceNFTContractFactory": [ + 34956 + ], + "SafeMathUpgradeable": [ + 28223 + ], + "TokenCreator": [ + 35597 + ], + "Whitelist": [ + 35768 + ] }, "nodeType": "SourceUnit", - "src": "32:2053:50", + "src": "32:2053:68", "nodes": [ { - "id": 9648, + "id": 34786, "nodeType": "PragmaDirective", - "src": "32:23:50", + "src": "32:23:68", "nodes": [], - "literals": ["solidity", "0.8", ".15"] + "literals": [ + "solidity", + "0.8", + ".15" + ] }, { - "id": 9650, + "id": 34788, "nodeType": "ImportDirective", - "src": "57:66:50", + "src": "57:66:68", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/access/Ownable.sol", "file": "openzeppelin-contracts/access/Ownable.sol", "nameLocation": "-1:-1:-1", - "scope": 9819, - "sourceUnit": 4821, + "scope": 34957, + "sourceUnit": 28928, "symbolAliases": [ { "foreign": { - "id": 9649, + "id": 34787, "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4820, - "src": "65:7:50", + "referencedDeclaration": 28927, + "src": "65:7:68", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -689,73 +729,73 @@ "unitAlias": "" }, { - "id": 9651, + "id": 34789, "nodeType": "ImportDirective", - "src": "124:49:50", + "src": "124:49:68", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/proxy/Clones.sol", "file": "openzeppelin-contracts/proxy/Clones.sol", "nameLocation": "-1:-1:-1", - "scope": 9819, - "sourceUnit": 4901, + "scope": 34957, + "sourceUnit": 29008, "symbolAliases": [], "unitAlias": "" }, { - "id": 9652, + "id": 34790, "nodeType": "ImportDirective", - "src": "174:28:50", + "src": "174:28:68", "nodes": [], "absolutePath": "src/token/ERC721/spaces/RareSpaceNFT.sol", "file": "./RareSpaceNFT.sol", "nameLocation": "-1:-1:-1", - "scope": 9819, - "sourceUnit": 9647, + "scope": 34957, + "sourceUnit": 34785, "symbolAliases": [], "unitAlias": "" }, { - "id": 9653, + "id": 34791, "nodeType": "ImportDirective", - "src": "203:63:50", + "src": "203:63:68", "nodes": [], "absolutePath": "lib/aux/src/marketplace/IMarketplaceSettings.sol", "file": "rareprotocol/aux/marketplace/IMarketplaceSettings.sol", "nameLocation": "-1:-1:-1", - "scope": 9819, + "scope": 34957, "sourceUnit": 75, "symbolAliases": [], "unitAlias": "" }, { - "id": 9654, + "id": 34792, "nodeType": "ImportDirective", - "src": "267:73:50", + "src": "267:73:68", "nodes": [], "absolutePath": "lib/aux/src/registry/interfaces/ISpaceOperatorRegistry.sol", "file": "rareprotocol/aux/registry/interfaces/ISpaceOperatorRegistry.sol", "nameLocation": "-1:-1:-1", - "scope": 9819, + "scope": 34957, "sourceUnit": 107, "symbolAliases": [], "unitAlias": "" }, { - "id": 9818, + "id": 34956, "nodeType": "ContractDefinition", - "src": "342:1742:50", + "src": "342:1742:68", "nodes": [ { - "id": 9659, + "id": 34797, "nodeType": "VariableDeclaration", - "src": "396:47:50", + "src": "396:47:68", "nodes": [], "constant": false, "functionSelector": "ba50b632", "mutability": "mutable", "name": "marketplaceSettings", - "nameLocation": "424:19:50", - "scope": 9818, + "nameLocation": "424:19:68", + "scope": 34956, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -763,17 +803,17 @@ "typeString": "contract IMarketplaceSettings" }, "typeName": { - "id": 9658, + "id": 34796, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 9657, + "id": 34795, "name": "IMarketplaceSettings", "nodeType": "IdentifierPath", "referencedDeclaration": 74, - "src": "396:20:50" + "src": "396:20:68" }, "referencedDeclaration": 74, - "src": "396:20:50", + "src": "396:20:68", "typeDescriptions": { "typeIdentifier": "t_contract$_IMarketplaceSettings_$74", "typeString": "contract IMarketplaceSettings" @@ -782,16 +822,16 @@ "visibility": "public" }, { - "id": 9662, + "id": 34800, "nodeType": "VariableDeclaration", - "src": "449:51:50", + "src": "449:51:68", "nodes": [], "constant": false, "functionSelector": "0bcba09d", "mutability": "mutable", "name": "spaceOperatorRegistry", - "nameLocation": "479:21:50", - "scope": 9818, + "nameLocation": "479:21:68", + "scope": 34956, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -799,17 +839,17 @@ "typeString": "contract ISpaceOperatorRegistry" }, "typeName": { - "id": 9661, + "id": 34799, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 9660, + "id": 34798, "name": "ISpaceOperatorRegistry", "nodeType": "IdentifierPath", "referencedDeclaration": 106, - "src": "449:22:50" + "src": "449:22:68" }, "referencedDeclaration": 106, - "src": "449:22:50", + "src": "449:22:68", "typeDescriptions": { "typeIdentifier": "t_contract$_ISpaceOperatorRegistry_$106", "typeString": "contract ISpaceOperatorRegistry" @@ -818,16 +858,16 @@ "visibility": "public" }, { - "id": 9664, + "id": 34802, "nodeType": "VariableDeclaration", - "src": "507:27:50", + "src": "507:27:68", "nodes": [], "constant": false, "functionSelector": "f506ea79", "mutability": "mutable", "name": "rareSpaceNFT", - "nameLocation": "522:12:50", - "scope": 9818, + "nameLocation": "522:12:68", + "scope": 34956, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -835,10 +875,10 @@ "typeString": "address" }, "typeName": { - "id": 9663, + "id": 34801, "name": "address", "nodeType": "ElementaryTypeName", - "src": "507:7:50", + "src": "507:7:68", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -848,28 +888,28 @@ "visibility": "public" }, { - "id": 9670, + "id": 34808, "nodeType": "EventDefinition", - "src": "541:117:50", + "src": "541:117:68", "nodes": [], "anonymous": false, "eventSelector": "abe0dd57947693bae591655c14bbe6fd911ea23c65899a1882a49ac2ce5f1f55", "name": "RareSpaceNFTContractCreated", - "nameLocation": "547:27:50", + "nameLocation": "547:27:68", "parameters": { - "id": 9669, + "id": 34807, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9666, + "id": 34804, "indexed": true, "mutability": "mutable", "name": "_contractAddress", - "nameLocation": "600:16:50", + "nameLocation": "600:16:68", "nodeType": "VariableDeclaration", - "scope": 9670, - "src": "584:32:50", + "scope": 34808, + "src": "584:32:68", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -877,10 +917,10 @@ "typeString": "address" }, "typeName": { - "id": 9665, + "id": 34803, "name": "address", "nodeType": "ElementaryTypeName", - "src": "584:7:50", + "src": "584:7:68", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -891,14 +931,14 @@ }, { "constant": false, - "id": 9668, + "id": 34806, "indexed": true, "mutability": "mutable", "name": "_operator", - "nameLocation": "642:9:50", + "nameLocation": "642:9:68", "nodeType": "VariableDeclaration", - "scope": 9670, - "src": "626:25:50", + "scope": 34808, + "src": "626:25:68", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -906,10 +946,10 @@ "typeString": "address" }, "typeName": { - "id": 9667, + "id": 34805, "name": "address", "nodeType": "ElementaryTypeName", - "src": "626:7:50", + "src": "626:7:68", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -919,18 +959,18 @@ "visibility": "internal" } ], - "src": "574:83:50" + "src": "574:83:68" } }, { - "id": 9723, + "id": 34861, "nodeType": "FunctionDefinition", - "src": "664:449:50", + "src": "664:449:68", "nodes": [], "body": { - "id": 9722, + "id": 34860, "nodeType": "Block", - "src": "738:375:50", + "src": "738:375:68", "nodes": [], "statements": [ { @@ -941,18 +981,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9683, + "id": 34821, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 9678, + "id": 34816, "name": "_marketplaceSettings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9672, - "src": "756:20:50", + "referencedDeclaration": 34810, + "src": "756:20:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -964,14 +1004,14 @@ "arguments": [ { "hexValue": "30", - "id": 9681, + "id": 34819, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "788:1:50", + "src": "788:1:68", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -986,26 +1026,26 @@ "typeString": "int_const 0" } ], - "id": 9680, + "id": 34818, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "780:7:50", + "src": "780:7:68", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 9679, + "id": 34817, "name": "address", "nodeType": "ElementaryTypeName", - "src": "780:7:50", + "src": "780:7:68", "typeDescriptions": {} } }, - "id": 9682, + "id": 34820, "isConstant": false, "isLValue": false, "isPure": true, @@ -1013,14 +1053,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "780:10:50", + "src": "780:10:68", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "756:34:50", + "src": "756:34:68", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1034,18 +1074,21 @@ "typeString": "bool" } ], - "id": 9677, + "id": 34815, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "748:7:50", + "src": "748:7:68", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 9684, + "id": 34822, "isConstant": false, "isLValue": false, "isPure": false, @@ -1053,16 +1096,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "748:43:50", + "src": "748:43:68", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9685, + "id": 34823, "nodeType": "ExpressionStatement", - "src": "748:43:50" + "src": "748:43:68" }, { "expression": { @@ -1072,18 +1115,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9692, + "id": 34830, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 9687, + "id": 34825, "name": "_spaceOperatorRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9674, - "src": "809:22:50", + "referencedDeclaration": 34812, + "src": "809:22:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1095,14 +1138,14 @@ "arguments": [ { "hexValue": "30", - "id": 9690, + "id": 34828, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "843:1:50", + "src": "843:1:68", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -1117,26 +1160,26 @@ "typeString": "int_const 0" } ], - "id": 9689, + "id": 34827, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "835:7:50", + "src": "835:7:68", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 9688, + "id": 34826, "name": "address", "nodeType": "ElementaryTypeName", - "src": "835:7:50", + "src": "835:7:68", "typeDescriptions": {} } }, - "id": 9691, + "id": 34829, "isConstant": false, "isLValue": false, "isPure": true, @@ -1144,14 +1187,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "835:10:50", + "src": "835:10:68", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "809:36:50", + "src": "809:36:68", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1165,18 +1208,21 @@ "typeString": "bool" } ], - "id": 9686, + "id": 34824, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "801:7:50", + "src": "801:7:68", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 9693, + "id": 34831, "isConstant": false, "isLValue": false, "isPure": false, @@ -1184,31 +1230,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "801:45:50", + "src": "801:45:68", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9694, + "id": 34832, "nodeType": "ExpressionStatement", - "src": "801:45:50" + "src": "801:45:68" }, { "expression": { - "id": 9699, + "id": 34837, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 9695, + "id": 34833, "name": "marketplaceSettings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9659, - "src": "857:19:50", + "referencedDeclaration": 34797, + "src": "857:19:68", "typeDescriptions": { "typeIdentifier": "t_contract$_IMarketplaceSettings_$74", "typeString": "contract IMarketplaceSettings" @@ -1219,12 +1265,12 @@ "rightHandSide": { "arguments": [ { - "id": 9697, + "id": 34835, "name": "_marketplaceSettings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9672, - "src": "900:20:50", + "referencedDeclaration": 34810, + "src": "900:20:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1238,18 +1284,18 @@ "typeString": "address" } ], - "id": 9696, + "id": 34834, "name": "IMarketplaceSettings", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 74, - "src": "879:20:50", + "src": "879:20:68", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IMarketplaceSettings_$74_$", "typeString": "type(contract IMarketplaceSettings)" } }, - "id": 9698, + "id": 34836, "isConstant": false, "isLValue": false, "isPure": false, @@ -1257,37 +1303,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "879:42:50", + "src": "879:42:68", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IMarketplaceSettings_$74", "typeString": "contract IMarketplaceSettings" } }, - "src": "857:64:50", + "src": "857:64:68", "typeDescriptions": { "typeIdentifier": "t_contract$_IMarketplaceSettings_$74", "typeString": "contract IMarketplaceSettings" } }, - "id": 9700, + "id": 34838, "nodeType": "ExpressionStatement", - "src": "857:64:50" + "src": "857:64:68" }, { "expression": { - "id": 9705, + "id": 34843, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 9701, + "id": 34839, "name": "spaceOperatorRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9662, - "src": "931:21:50", + "referencedDeclaration": 34800, + "src": "931:21:68", "typeDescriptions": { "typeIdentifier": "t_contract$_ISpaceOperatorRegistry_$106", "typeString": "contract ISpaceOperatorRegistry" @@ -1298,12 +1344,12 @@ "rightHandSide": { "arguments": [ { - "id": 9703, + "id": 34841, "name": "_spaceOperatorRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9674, - "src": "978:22:50", + "referencedDeclaration": 34812, + "src": "978:22:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1317,18 +1363,18 @@ "typeString": "address" } ], - "id": 9702, + "id": 34840, "name": "ISpaceOperatorRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 106, - "src": "955:22:50", + "src": "955:22:68", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ISpaceOperatorRegistry_$106_$", "typeString": "type(contract ISpaceOperatorRegistry)" } }, - "id": 9704, + "id": 34842, "isConstant": false, "isLValue": false, "isPure": false, @@ -1336,96 +1382,98 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "955:46:50", + "src": "955:46:68", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_ISpaceOperatorRegistry_$106", "typeString": "contract ISpaceOperatorRegistry" } }, - "src": "931:70:50", + "src": "931:70:68", "typeDescriptions": { "typeIdentifier": "t_contract$_ISpaceOperatorRegistry_$106", "typeString": "contract ISpaceOperatorRegistry" } }, - "id": 9706, + "id": 34844, "nodeType": "ExpressionStatement", - "src": "931:70:50" + "src": "931:70:68" }, { - "assignments": [9709], + "assignments": [ + 34847 + ], "declarations": [ { "constant": false, - "id": 9709, + "id": 34847, "mutability": "mutable", "name": "_rareSpaceNFT", - "nameLocation": "1025:13:50", + "nameLocation": "1025:13:68", "nodeType": "VariableDeclaration", - "scope": 9722, - "src": "1012:26:50", + "scope": 34860, + "src": "1012:26:68", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_RareSpaceNFT_$9646", + "typeIdentifier": "t_contract$_RareSpaceNFT_$34784", "typeString": "contract RareSpaceNFT" }, "typeName": { - "id": 9708, + "id": 34846, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 9707, + "id": 34845, "name": "RareSpaceNFT", "nodeType": "IdentifierPath", - "referencedDeclaration": 9646, - "src": "1012:12:50" + "referencedDeclaration": 34784, + "src": "1012:12:68" }, - "referencedDeclaration": 9646, - "src": "1012:12:50", + "referencedDeclaration": 34784, + "src": "1012:12:68", "typeDescriptions": { - "typeIdentifier": "t_contract$_RareSpaceNFT_$9646", + "typeIdentifier": "t_contract$_RareSpaceNFT_$34784", "typeString": "contract RareSpaceNFT" } }, "visibility": "internal" } ], - "id": 9714, + "id": 34852, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 9712, + "id": 34850, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", - "src": "1041:16:50", + "src": "1041:16:68", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_RareSpaceNFT_$9646_$", + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_RareSpaceNFT_$34784_$", "typeString": "function () returns (contract RareSpaceNFT)" }, "typeName": { - "id": 9711, + "id": 34849, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 9710, + "id": 34848, "name": "RareSpaceNFT", "nodeType": "IdentifierPath", - "referencedDeclaration": 9646, - "src": "1045:12:50" + "referencedDeclaration": 34784, + "src": "1045:12:68" }, - "referencedDeclaration": 9646, - "src": "1045:12:50", + "referencedDeclaration": 34784, + "src": "1045:12:68", "typeDescriptions": { - "typeIdentifier": "t_contract$_RareSpaceNFT_$9646", + "typeIdentifier": "t_contract$_RareSpaceNFT_$34784", "typeString": "contract RareSpaceNFT" } } }, - "id": 9713, + "id": 34851, "isConstant": false, "isLValue": false, "isPure": false, @@ -1433,30 +1481,30 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1041:18:50", + "src": "1041:18:68", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_RareSpaceNFT_$9646", + "typeIdentifier": "t_contract$_RareSpaceNFT_$34784", "typeString": "contract RareSpaceNFT" } }, "nodeType": "VariableDeclarationStatement", - "src": "1012:47:50" + "src": "1012:47:68" }, { "expression": { - "id": 9720, + "id": 34858, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 9715, + "id": 34853, "name": "rareSpaceNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9664, - "src": "1069:12:50", + "referencedDeclaration": 34802, + "src": "1069:12:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1467,14 +1515,14 @@ "rightHandSide": { "arguments": [ { - "id": 9718, + "id": 34856, "name": "_rareSpaceNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9709, - "src": "1092:13:50", + "referencedDeclaration": 34847, + "src": "1092:13:68", "typeDescriptions": { - "typeIdentifier": "t_contract$_RareSpaceNFT_$9646", + "typeIdentifier": "t_contract$_RareSpaceNFT_$34784", "typeString": "contract RareSpaceNFT" } } @@ -1482,30 +1530,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_RareSpaceNFT_$9646", + "typeIdentifier": "t_contract$_RareSpaceNFT_$34784", "typeString": "contract RareSpaceNFT" } ], - "id": 9717, + "id": 34855, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1084:7:50", + "src": "1084:7:68", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 9716, + "id": 34854, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1084:7:50", + "src": "1084:7:68", "typeDescriptions": {} } }, - "id": 9719, + "id": 34857, "isConstant": false, "isLValue": false, "isPure": false, @@ -1513,22 +1561,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1084:22:50", + "src": "1084:22:68", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1069:37:50", + "src": "1069:37:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 9721, + "id": 34859, "nodeType": "ExpressionStatement", - "src": "1069:37:50" + "src": "1069:37:68" } ] }, @@ -1538,18 +1586,18 @@ "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 9675, + "id": 34813, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9672, + "id": 34810, "mutability": "mutable", "name": "_marketplaceSettings", - "nameLocation": "684:20:50", + "nameLocation": "684:20:68", "nodeType": "VariableDeclaration", - "scope": 9723, - "src": "676:28:50", + "scope": 34861, + "src": "676:28:68", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1557,10 +1605,10 @@ "typeString": "address" }, "typeName": { - "id": 9671, + "id": 34809, "name": "address", "nodeType": "ElementaryTypeName", - "src": "676:7:50", + "src": "676:7:68", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1571,13 +1619,13 @@ }, { "constant": false, - "id": 9674, + "id": 34812, "mutability": "mutable", "name": "_spaceOperatorRegistry", - "nameLocation": "714:22:50", + "nameLocation": "714:22:68", "nodeType": "VariableDeclaration", - "scope": 9723, - "src": "706:30:50", + "scope": 34861, + "src": "706:30:68", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1585,10 +1633,10 @@ "typeString": "address" }, "typeName": { - "id": 9673, + "id": 34811, "name": "address", "nodeType": "ElementaryTypeName", - "src": "706:7:50", + "src": "706:7:68", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1598,28 +1646,28 @@ "visibility": "internal" } ], - "src": "675:62:50" + "src": "675:62:68" }, "returnParameters": { - "id": 9676, + "id": 34814, "nodeType": "ParameterList", "parameters": [], - "src": "738:0:50" + "src": "738:0:68" }, - "scope": 9818, + "scope": 34956, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 9746, + "id": 34884, "nodeType": "FunctionDefinition", - "src": "1119:236:50", + "src": "1119:236:68", "nodes": [], "body": { - "id": 9745, + "id": 34883, "nodeType": "Block", - "src": "1221:134:50", + "src": "1221:134:68", "nodes": [], "statements": [ { @@ -1630,18 +1678,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9736, + "id": 34874, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 9731, + "id": 34869, "name": "_marketplaceSettings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9725, - "src": "1239:20:50", + "referencedDeclaration": 34863, + "src": "1239:20:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1653,14 +1701,14 @@ "arguments": [ { "hexValue": "30", - "id": 9734, + "id": 34872, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1271:1:50", + "src": "1271:1:68", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -1675,26 +1723,26 @@ "typeString": "int_const 0" } ], - "id": 9733, + "id": 34871, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1263:7:50", + "src": "1263:7:68", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 9732, + "id": 34870, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1263:7:50", + "src": "1263:7:68", "typeDescriptions": {} } }, - "id": 9735, + "id": 34873, "isConstant": false, "isLValue": false, "isPure": true, @@ -1702,14 +1750,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1263:10:50", + "src": "1263:10:68", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1239:34:50", + "src": "1239:34:68", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1723,18 +1771,21 @@ "typeString": "bool" } ], - "id": 9730, + "id": 34868, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "1231:7:50", + "src": "1231:7:68", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 9737, + "id": 34875, "isConstant": false, "isLValue": false, "isPure": false, @@ -1742,31 +1793,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1231:43:50", + "src": "1231:43:68", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9738, + "id": 34876, "nodeType": "ExpressionStatement", - "src": "1231:43:50" + "src": "1231:43:68" }, { "expression": { - "id": 9743, + "id": 34881, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 9739, + "id": 34877, "name": "marketplaceSettings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9659, - "src": "1284:19:50", + "referencedDeclaration": 34797, + "src": "1284:19:68", "typeDescriptions": { "typeIdentifier": "t_contract$_IMarketplaceSettings_$74", "typeString": "contract IMarketplaceSettings" @@ -1777,12 +1828,12 @@ "rightHandSide": { "arguments": [ { - "id": 9741, + "id": 34879, "name": "_marketplaceSettings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9725, - "src": "1327:20:50", + "referencedDeclaration": 34863, + "src": "1327:20:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1796,18 +1847,18 @@ "typeString": "address" } ], - "id": 9740, + "id": 34878, "name": "IMarketplaceSettings", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 74, - "src": "1306:20:50", + "src": "1306:20:68", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IMarketplaceSettings_$74_$", "typeString": "type(contract IMarketplaceSettings)" } }, - "id": 9742, + "id": 34880, "isConstant": false, "isLValue": false, "isPure": false, @@ -1815,22 +1866,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1306:42:50", + "src": "1306:42:68", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IMarketplaceSettings_$74", "typeString": "contract IMarketplaceSettings" } }, - "src": "1284:64:50", + "src": "1284:64:68", "typeDescriptions": { "typeIdentifier": "t_contract$_IMarketplaceSettings_$74", "typeString": "contract IMarketplaceSettings" } }, - "id": 9744, + "id": 34882, "nodeType": "ExpressionStatement", - "src": "1284:64:50" + "src": "1284:64:68" } ] }, @@ -1839,34 +1890,34 @@ "kind": "function", "modifiers": [ { - "id": 9728, + "id": 34866, "kind": "modifierInvocation", "modifierName": { - "id": 9727, + "id": 34865, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 4762, - "src": "1207:9:50" + "referencedDeclaration": 28869, + "src": "1207:9:68" }, "nodeType": "ModifierInvocation", - "src": "1207:9:50" + "src": "1207:9:68" } ], "name": "setIMarketplaceSettings", - "nameLocation": "1128:23:50", + "nameLocation": "1128:23:68", "parameters": { - "id": 9726, + "id": 34864, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9725, + "id": 34863, "mutability": "mutable", "name": "_marketplaceSettings", - "nameLocation": "1160:20:50", + "nameLocation": "1160:20:68", "nodeType": "VariableDeclaration", - "scope": 9746, - "src": "1152:28:50", + "scope": 34884, + "src": "1152:28:68", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1874,10 +1925,10 @@ "typeString": "address" }, "typeName": { - "id": 9724, + "id": 34862, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1152:7:50", + "src": "1152:7:68", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1887,28 +1938,28 @@ "visibility": "internal" } ], - "src": "1151:30:50" + "src": "1151:30:68" }, "returnParameters": { - "id": 9729, + "id": 34867, "nodeType": "ParameterList", "parameters": [], - "src": "1221:0:50" + "src": "1221:0:68" }, - "scope": 9818, + "scope": 34956, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 9767, + "id": 34905, "nodeType": "FunctionDefinition", - "src": "1361:158:50", + "src": "1361:158:68", "nodes": [], "body": { - "id": 9766, + "id": 34904, "nodeType": "Block", - "src": "1428:91:50", + "src": "1428:91:68", "nodes": [], "statements": [ { @@ -1919,18 +1970,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9759, + "id": 34897, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 9754, + "id": 34892, "name": "_rareSpaceNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9748, - "src": "1446:13:50", + "referencedDeclaration": 34886, + "src": "1446:13:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1942,14 +1993,14 @@ "arguments": [ { "hexValue": "30", - "id": 9757, + "id": 34895, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1471:1:50", + "src": "1471:1:68", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -1964,26 +2015,26 @@ "typeString": "int_const 0" } ], - "id": 9756, + "id": 34894, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1463:7:50", + "src": "1463:7:68", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 9755, + "id": 34893, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1463:7:50", + "src": "1463:7:68", "typeDescriptions": {} } }, - "id": 9758, + "id": 34896, "isConstant": false, "isLValue": false, "isPure": true, @@ -1991,14 +2042,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1463:10:50", + "src": "1463:10:68", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1446:27:50", + "src": "1446:27:68", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2012,18 +2063,21 @@ "typeString": "bool" } ], - "id": 9753, + "id": 34891, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "1438:7:50", + "src": "1438:7:68", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 9760, + "id": 34898, "isConstant": false, "isLValue": false, "isPure": false, @@ -2031,31 +2085,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1438:36:50", + "src": "1438:36:68", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9761, + "id": 34899, "nodeType": "ExpressionStatement", - "src": "1438:36:50" + "src": "1438:36:68" }, { "expression": { - "id": 9764, + "id": 34902, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 9762, + "id": 34900, "name": "rareSpaceNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9664, - "src": "1484:12:50", + "referencedDeclaration": 34802, + "src": "1484:12:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2064,26 +2118,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 9763, + "id": 34901, "name": "_rareSpaceNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9748, - "src": "1499:13:50", + "referencedDeclaration": 34886, + "src": "1499:13:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1484:28:50", + "src": "1484:28:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 9765, + "id": 34903, "nodeType": "ExpressionStatement", - "src": "1484:28:50" + "src": "1484:28:68" } ] }, @@ -2092,34 +2146,34 @@ "kind": "function", "modifiers": [ { - "id": 9751, + "id": 34889, "kind": "modifierInvocation", "modifierName": { - "id": 9750, + "id": 34888, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 4762, - "src": "1418:9:50" + "referencedDeclaration": 28869, + "src": "1418:9:68" }, "nodeType": "ModifierInvocation", - "src": "1418:9:50" + "src": "1418:9:68" } ], "name": "setRareSpaceNFT", - "nameLocation": "1370:15:50", + "nameLocation": "1370:15:68", "parameters": { - "id": 9749, + "id": 34887, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9748, + "id": 34886, "mutability": "mutable", "name": "_rareSpaceNFT", - "nameLocation": "1394:13:50", + "nameLocation": "1394:13:68", "nodeType": "VariableDeclaration", - "scope": 9767, - "src": "1386:21:50", + "scope": 34905, + "src": "1386:21:68", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2127,10 +2181,10 @@ "typeString": "address" }, "typeName": { - "id": 9747, + "id": 34885, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1386:7:50", + "src": "1386:7:68", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2140,42 +2194,44 @@ "visibility": "internal" } ], - "src": "1385:23:50" + "src": "1385:23:68" }, "returnParameters": { - "id": 9752, + "id": 34890, "nodeType": "ParameterList", "parameters": [], - "src": "1428:0:50" + "src": "1428:0:68" }, - "scope": 9818, + "scope": 34956, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 9817, + "id": 34955, "nodeType": "FunctionDefinition", - "src": "1525:557:50", + "src": "1525:557:68", "nodes": [], "body": { - "id": 9816, + "id": 34954, "nodeType": "Block", - "src": "1656:426:50", + "src": "1656:426:68", "nodes": [], "statements": [ { - "assignments": [9777], + "assignments": [ + 34915 + ], "declarations": [ { "constant": false, - "id": 9777, + "id": 34915, "mutability": "mutable", "name": "spaceAddress", - "nameLocation": "1674:12:50", + "nameLocation": "1674:12:68", "nodeType": "VariableDeclaration", - "scope": 9816, - "src": "1666:20:50", + "scope": 34954, + "src": "1666:20:68", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2183,10 +2239,10 @@ "typeString": "address" }, "typeName": { - "id": 9776, + "id": 34914, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1666:7:50", + "src": "1666:7:68", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2196,16 +2252,16 @@ "visibility": "internal" } ], - "id": 9782, + "id": 34920, "initialValue": { "arguments": [ { - "id": 9780, + "id": 34918, "name": "rareSpaceNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9664, - "src": "1702:12:50", + "referencedDeclaration": 34802, + "src": "1702:12:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2220,32 +2276,32 @@ } ], "expression": { - "id": 9778, + "id": 34916, "name": "Clones", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4900, - "src": "1689:6:50", + "referencedDeclaration": 29007, + "src": "1689:6:68", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Clones_$4900_$", + "typeIdentifier": "t_type$_t_contract$_Clones_$29007_$", "typeString": "type(library Clones)" } }, - "id": 9779, + "id": 34917, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "clone", "nodeType": "MemberAccess", - "referencedDeclaration": 4843, - "src": "1689:12:50", + "referencedDeclaration": 28950, + "src": "1689:12:68", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_address_$", "typeString": "function (address) returns (address)" } }, - "id": 9781, + "id": 34919, "isConstant": false, "isLValue": false, "isPure": false, @@ -2253,7 +2309,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1689:26:50", + "src": "1689:26:68", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -2261,30 +2317,30 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1666:49:50" + "src": "1666:49:68" }, { "expression": { "arguments": [ { - "id": 9787, + "id": 34925, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9769, - "src": "1757:5:50", + "referencedDeclaration": 34907, + "src": "1757:5:68", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", "typeString": "string calldata" } }, { - "id": 9788, + "id": 34926, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9771, - "src": "1764:7:50", + "referencedDeclaration": 34909, + "src": "1764:7:68", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", "typeString": "string calldata" @@ -2292,25 +2348,25 @@ }, { "expression": { - "id": 9789, + "id": 34927, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1773:3:50", + "src": "1773:3:68", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 9790, + "id": 34928, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "1773:10:50", + "src": "1773:10:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2335,12 +2391,12 @@ "expression": { "arguments": [ { - "id": 9784, + "id": 34922, "name": "spaceAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9777, - "src": "1738:12:50", + "referencedDeclaration": 34915, + "src": "1738:12:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2354,18 +2410,18 @@ "typeString": "address" } ], - "id": 9783, + "id": 34921, "name": "RareSpaceNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9646, - "src": "1725:12:50", + "referencedDeclaration": 34784, + "src": "1725:12:68", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_RareSpaceNFT_$9646_$", + "typeIdentifier": "t_type$_t_contract$_RareSpaceNFT_$34784_$", "typeString": "type(contract RareSpaceNFT)" } }, - "id": 9785, + "id": 34923, "isConstant": false, "isLValue": false, "isPure": false, @@ -2373,28 +2429,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1725:26:50", + "src": "1725:26:68", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_RareSpaceNFT_$9646", + "typeIdentifier": "t_contract$_RareSpaceNFT_$34784", "typeString": "contract RareSpaceNFT" } }, - "id": 9786, + "id": 34924, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "init", "nodeType": "MemberAccess", - "referencedDeclaration": 9404, - "src": "1725:31:50", + "referencedDeclaration": 34542, + "src": "1725:31:68", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$__$", "typeString": "function (string memory,string memory,address) external" } }, - "id": 9791, + "id": 34929, "isConstant": false, "isLValue": false, "isPure": false, @@ -2402,27 +2458,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1725:59:50", + "src": "1725:59:68", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9792, + "id": 34930, "nodeType": "ExpressionStatement", - "src": "1725:59:50" + "src": "1725:59:68" }, { "eventCall": { "arguments": [ { - "id": 9794, + "id": 34932, "name": "spaceAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9777, - "src": "1827:12:50", + "referencedDeclaration": 34915, + "src": "1827:12:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2430,25 +2486,25 @@ }, { "expression": { - "id": 9795, + "id": 34933, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1841:3:50", + "src": "1841:3:68", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 9796, + "id": 34934, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "1841:10:50", + "src": "1841:10:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2466,18 +2522,18 @@ "typeString": "address" } ], - "id": 9793, + "id": 34931, "name": "RareSpaceNFTContractCreated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9670, - "src": "1799:27:50", + "referencedDeclaration": 34808, + "src": "1799:27:68", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 9797, + "id": 34935, "isConstant": false, "isLValue": false, "isPure": false, @@ -2485,27 +2541,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1799:53:50", + "src": "1799:53:68", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9798, + "id": 34936, "nodeType": "EmitStatement", - "src": "1794:58:50" + "src": "1794:58:68" }, { "expression": { "arguments": [ { - "id": 9802, + "id": 34940, "name": "spaceAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9777, - "src": "1938:12:50", + "referencedDeclaration": 34915, + "src": "1938:12:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2513,14 +2569,14 @@ }, { "hexValue": "3135", - "id": 9803, + "id": 34941, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1964:2:50", + "src": "1964:2:68", "typeDescriptions": { "typeIdentifier": "t_rational_15_by_1", "typeString": "int_const 15" @@ -2540,18 +2596,18 @@ } ], "expression": { - "id": 9799, + "id": 34937, "name": "marketplaceSettings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9659, - "src": "1863:19:50", + "referencedDeclaration": 34797, + "src": "1863:19:68", "typeDescriptions": { "typeIdentifier": "t_contract$_IMarketplaceSettings_$74", "typeString": "contract IMarketplaceSettings" } }, - "id": 9801, + "id": 34939, "isConstant": false, "isLValue": false, "isPure": false, @@ -2559,13 +2615,13 @@ "memberName": "setERC721ContractPrimarySaleFeePercentage", "nodeType": "MemberAccess", "referencedDeclaration": 73, - "src": "1863:61:50", + "src": "1863:61:68", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint8_$returns$__$", "typeString": "function (address,uint8) external" } }, - "id": 9804, + "id": 34942, "isConstant": false, "isLValue": false, "isPure": false, @@ -2573,41 +2629,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1863:113:50", + "src": "1863:113:68", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9805, + "id": 34943, "nodeType": "ExpressionStatement", - "src": "1863:113:50" + "src": "1863:113:68" }, { "expression": { "arguments": [ { "expression": { - "id": 9809, + "id": 34947, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2031:3:50", + "src": "2031:3:68", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 9810, + "id": 34948, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "2031:10:50", + "src": "2031:10:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2615,14 +2671,14 @@ }, { "hexValue": "35", - "id": 9811, + "id": 34949, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2043:1:50", + "src": "2043:1:68", "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", "typeString": "int_const 5" @@ -2642,18 +2698,18 @@ } ], "expression": { - "id": 9806, + "id": 34944, "name": "spaceOperatorRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9662, - "src": "1987:21:50", + "referencedDeclaration": 34800, + "src": "1987:21:68", "typeDescriptions": { "typeIdentifier": "t_contract$_ISpaceOperatorRegistry_$106", "typeString": "contract ISpaceOperatorRegistry" } }, - "id": 9808, + "id": 34946, "isConstant": false, "isLValue": false, "isPure": false, @@ -2661,13 +2717,13 @@ "memberName": "setPlatformCommission", "nodeType": "MemberAccess", "referencedDeclaration": 91, - "src": "1987:43:50", + "src": "1987:43:68", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint8_$returns$__$", "typeString": "function (address,uint8) external" } }, - "id": 9812, + "id": 34950, "isConstant": false, "isLValue": false, "isPure": false, @@ -2675,34 +2731,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1987:58:50", + "src": "1987:58:68", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9813, + "id": 34951, "nodeType": "ExpressionStatement", - "src": "1987:58:50" + "src": "1987:58:68" }, { "expression": { - "id": 9814, + "id": 34952, "name": "spaceAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9777, - "src": "2063:12:50", + "referencedDeclaration": 34915, + "src": "2063:12:68", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 9775, - "id": 9815, + "functionReturnParameters": 34913, + "id": 34953, "nodeType": "Return", - "src": "2056:19:50" + "src": "2056:19:68" } ] }, @@ -2711,20 +2767,20 @@ "kind": "function", "modifiers": [], "name": "createRareSpaceNFTContract", - "nameLocation": "1534:26:50", + "nameLocation": "1534:26:68", "parameters": { - "id": 9772, + "id": 34910, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9769, + "id": 34907, "mutability": "mutable", "name": "_name", - "nameLocation": "1586:5:50", + "nameLocation": "1586:5:68", "nodeType": "VariableDeclaration", - "scope": 9817, - "src": "1570:21:50", + "scope": 34955, + "src": "1570:21:68", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -2732,10 +2788,10 @@ "typeString": "string" }, "typeName": { - "id": 9768, + "id": 34906, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1570:6:50", + "src": "1570:6:68", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2745,13 +2801,13 @@ }, { "constant": false, - "id": 9771, + "id": 34909, "mutability": "mutable", "name": "_symbol", - "nameLocation": "1617:7:50", + "nameLocation": "1617:7:68", "nodeType": "VariableDeclaration", - "scope": 9817, - "src": "1601:23:50", + "scope": 34955, + "src": "1601:23:68", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -2759,10 +2815,10 @@ "typeString": "string" }, "typeName": { - "id": 9770, + "id": 34908, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1601:6:50", + "src": "1601:6:68", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2771,21 +2827,21 @@ "visibility": "internal" } ], - "src": "1560:70:50" + "src": "1560:70:68" }, "returnParameters": { - "id": 9775, + "id": 34913, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9774, + "id": 34912, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 9817, - "src": "1647:7:50", + "scope": 34955, + "src": "1647:7:68", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2793,10 +2849,10 @@ "typeString": "address" }, "typeName": { - "id": 9773, + "id": 34911, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1647:7:50", + "src": "1647:7:68", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2806,9 +2862,9 @@ "visibility": "internal" } ], - "src": "1646:9:50" + "src": "1646:9:68" }, - "scope": 9818, + "scope": 34956, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" @@ -2818,29 +2874,35 @@ "baseContracts": [ { "baseName": { - "id": 9655, + "id": 34793, "name": "Ownable", "nodeType": "IdentifierPath", - "referencedDeclaration": 4820, - "src": "382:7:50" + "referencedDeclaration": 28927, + "src": "382:7:68" }, - "id": 9656, + "id": 34794, "nodeType": "InheritanceSpecifier", - "src": "382:7:50" + "src": "382:7:68" } ], "canonicalName": "RareSpaceNFTContractFactory", - "contractDependencies": [9646], + "contractDependencies": [ + 34784 + ], "contractKind": "contract", "fullyImplemented": true, - "linearizedBaseContracts": [9818, 4820, 6244], + "linearizedBaseContracts": [ + 34956, + 28927, + 30351 + ], "name": "RareSpaceNFTContractFactory", - "nameLocation": "351:27:50", - "scope": 9819, + "nameLocation": "351:27:68", + "scope": 34957, "usedErrors": [] } ], "license": "MIT" }, - "id": 50 -} + "id": 68 +} \ No newline at end of file diff --git a/abis/SovereignNFT.json b/abis/SovereignNFT.json index 4a221eb..c73fbc1 100644 --- a/abis/SovereignNFT.json +++ b/abis/SovereignNFT.json @@ -701,12 +701,12 @@ ], "bytecode": { "object": "0x608060405234801561001057600080fd5b5061290a806100206000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806370a082311161010f578063b88d4fde116100a2578063e985e9c511610071578063e985e9c514610423578063ee0708051461045f578063efc32cd41461046b578063f2fde38b1461047e57600080fd5b8063b88d4fde146103e0578063c87b56dd146103f3578063d9856c2114610406578063e83157421461041957600080fd5b80638da5cb5b116100de5780638da5cb5b146103ac57806395d89b41146103bd578063a22cb465146103c5578063ab69607a146103d857600080fd5b806370a0823114610376578063715018a6146103895780637cc918d114610391578063894ba833146103a457600080fd5b80633ebc82c5116101875780634aa52c41116101565780634aa52c411461032a5780635edc7c191461033d5780636297c16c146103505780636352211e1461036357600080fd5b80633ebc82c5146102de57806340c1a064146102f157806342842e0e1461030457806342966c681461031757600080fd5b806318160ddd116101c357806318160ddd1461027257806323b872dd146102885780632a55205a1461029b5780633403c4e9146102cd57600080fd5b806301ffc9a7146101f557806306fdde031461021d578063081812fc14610232578063095ea7b31461025d575b600080fd5b610208610203366004611fe6565b610491565b60405190151581526020015b60405180910390f35b6102256104da565b604051610214919061205b565b61024561024036600461206e565b61056c565b6040516001600160a01b039091168152602001610214565b61027061026b36600461209e565b61064d565b005b61027a610762565b604051908152602001610214565b6102706102963660046120c8565b610773565b6102ae6102a9366004612104565b6107a5565b604080516001600160a01b039093168352602083019190915201610214565b60fb546001600160a01b0316610245565b6102706102ec366004612126565b610840565b6102456102ff36600461206e565b610876565b6102706103123660046120c8565b61088a565b61027061032536600461206e565b6108a5565b61027061033836600461218a565b610906565b61027061034b3660046121ef565b61099f565b61027061035e36600461206e565b610b1f565b61024561037136600461206e565b610b89565b61027a610384366004612126565b610c0b565b610270610c91565b61027061039f366004612278565b610cc7565b610270610eaa565b6033546001600160a01b0316610245565b610225610f0e565b6102706103d33660046122c4565b610f1d565b60fc5461027a565b6102706103ee36600461238c565b610f28565b61022561040136600461206e565b610f60565b610270610414366004612408565b61104c565b61027a6101005481565b610208610431366004612451565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b60ff8054610208911681565b61027061047936600461209e565b6110ad565b61027061048c366004612126565b611105565b60006001600160e01b03198216631030681960e21b14806104b657506104b68261119d565b806104c557506104c5826111b3565b806104d457506104d4826111d4565b92915050565b6060609780546104e99061247b565b80601f01602080910402602001604051908101604052809291908181526020018280546105159061247b565b80156105625780601f1061053757610100808354040283529160200191610562565b820191906000526020600020905b81548152906001019060200180831161054557829003601f168201915b5050505050905090565b600081815260fd60205260408120546001600160a01b03168161058e84611214565b50509050600081806105a857506001600160a01b03831615155b80156105c457506000858152610102602052604090205460ff16155b90508061062d5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b50505060009182525061010360205260409020546001600160a01b031690565b600061065882610b89565b9050806001600160a01b0316836001600160a01b0316036106c55760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610624565b336001600160a01b03821614806106e157506106e18133610431565b6107535760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610624565b61075d8383611377565b505050565b600061076e6101045490565b905090565b61077e335b826113e6565b61079a5760405162461bcd60e51b8152600401610624906124af565b61075d838383611465565b600082815260fd602052604081205481906001600160a01b03166107d45760fb546001600160a01b03166107ed565b600084815260fd60205260409020546001600160a01b03165b9150610837606461083160fe60008881526020019081526020016000205460000361081a5760fc5461082a565b600087815260fe60205260409020545b86906114d9565b906114e5565b90509250929050565b6033546001600160a01b0316331461086a5760405162461bcd60e51b815260040161062490612500565b610873816114f1565b50565b60006104d46033546001600160a01b031690565b61075d83838360405180602001604052806000815250610f28565b60006108b082611214565b5050600083815261010260205260409020805460ff1916600117905590508080156108f057506000828152609960205260409020546001600160a01b0316155b156108f9575050565b61090282611513565b5050565b6033546001600160a01b031633146109305760405162461bcd60e51b815260040161062490612500565b60ff805416156109525760405162461bcd60e51b815260040161062490612535565b61099884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060fc543392508691508561158a565b5050505050565b60006109ab600161168b565b905080156109c3576000805461ff0019166101001790555b6001600160a01b038316610a195760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606401610624565b610a23600a60fc55565b60ff805460ff19169055610100829055610a3b611718565b610aae87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061174792505050565b610ab6611778565b610abe61179f565b610ac7836114f1565b610ad083611105565b8015610b16576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b8033610b2a82610b89565b6001600160a01b031614610b805760405162461bcd60e51b815260206004820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152606401610624565b610902826108a5565b600080610b9583611214565b5050905080610bae57610ba7836117ce565b9392505050565b6000838152610102602052604090205460ff1615610bcf57610ba7836117ce565b6000838152609960205260409020546001600160a01b0316610bfc576033546001600160a01b0316610ba7565b610ba7836117ce565b50919050565b60006001600160a01b038216610c755760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610624565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610cbb5760405162461bcd60e51b815260040161062490612500565b610cc56000611845565b565b6033546001600160a01b03163314610cf15760405162461bcd60e51b815260040161062490612500565b60ff80541615610d135760405162461bcd60e51b815260040161062490612535565b6000610d1f6101045490565b610d2a906001612582565b905060006001610d3a8484612582565b610d44919061259a565b604080516020810190915281905261010481905561010054909150811115610dae5760405162461bcd60e51b815260206004820152601d60248201527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606401610624565b610105604051806060016040528084815260200183815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018181018655948252602091829020845160039092020190815590830151938101939093555060408101519091906002820190610e4090826125ff565b505050610e556033546001600160a01b031690565b6001600160a01b031660006001600160a01b0316837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d84604051610e9b91815260200190565b60405180910390a45050505050565b6033546001600160a01b03163314610ed45760405162461bcd60e51b815260040161062490612500565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b6060609880546104e99061247b565b610902338383611897565b610f3233836113e6565b610f4e5760405162461bcd60e51b8152600401610624906124af565b610f5a84848484611965565b50505050565b6060600080610f6e84611214565b925050915081611019576000848152610106602052604090208054610f929061247b565b80601f0160208091040260200160405190810160405280929190818152602001828054610fbe9061247b565b801561100b5780601f10610fe05761010080835404028352916020019161100b565b820191906000526020600020905b815481529060010190602001808311610fee57829003601f168201915b505050505092505050919050565b8061102385611998565b6040516020016110349291906126bf565b60405160208183030381529060405292505050919050565b6033546001600160a01b031633146110765760405162461bcd60e51b815260040161062490612500565b60ff805416156110985760405162461bcd60e51b815260040161062490612535565b6109028133336110a760fc5490565b3361158a565b6033546001600160a01b031633146110d75760405162461bcd60e51b815260040161062490612500565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461112f5760405162461bcd60e51b815260040161062490612500565b6001600160a01b0381166111945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610624565b61087381611845565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b14806104d457506104d4825b60006001600160e01b031982166380ac58cd60e01b148061120557506001600160e01b03198216635b5e139f60e01b145b806104d457506104d48261119d565b600080606060005b6101055481101561135857610105818154811061123b5761123b61270d565b90600052602060002090600302016000015485101580156112815750610105818154811061126b5761126b61270d565b9060005260206000209060030201600101548511155b1561134657600181610105838154811061129d5761129d61270d565b90600052602060002090600302016002018080546112ba9061247b565b80601f01602080910402602001604051908101604052809291908181526020018280546112e69061247b565b80156113335780601f1061130857610100808354040283529160200191611333565b820191906000526020600020905b81548152906001019060200180831161131657829003601f168201915b5050505050905093509350935050611370565b8061135081612723565b91505061121c565b50506040805160208101909152600080825292508291505b9193909250565b60008181526101036020526040902080546001600160a01b0319166001600160a01b03841690811790915581906113ad826117ce565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806113f283610b89565b9050806001600160a01b0316846001600160a01b0316148061142d5750836001600160a01b03166114228461056c565b6001600160a01b0316145b8061145d57506001600160a01b038082166000908152609c602090815260408083209388168352929052205460ff165b949350505050565b8060000361147257600080fd5b600061147d82611214565b505090508080156114a357506000828152609960205260409020546001600160a01b0316155b80156114bf57506000828152610102602052604090205460ff16155b156114ce576114ce8483611a99565b610f5a848484611bdb565b6000610ba7828461273c565b6000610ba78284612771565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b61151c33610778565b6115815760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b6064820152608401610624565b61087381611d77565b600061159b61010480546001019055565b60006115a76101045490565b9050610100548111156115fc5760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152606401610624565b6116068582611e12565b60008181526101066020526040902061161f88826125ff565b5060008181526101016020526040902080546001600160a01b0319166001600160a01b038816179055600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b0385161790555b9695505050505050565b60008054610100900460ff16156116d2578160ff1660011480156116ae5750303b155b6116ca5760405162461bcd60e51b815260040161062490612785565b506000919050565b60005460ff8084169116106116f95760405162461bcd60e51b815260040161062490612785565b506000805460ff191660ff92909216919091179055600190565b919050565b600054610100900460ff1661173f5760405162461bcd60e51b8152600401610624906127d3565b610cc5611e2c565b600054610100900460ff1661176e5760405162461bcd60e51b8152600401610624906127d3565b6109028282611e5c565b600054610100900460ff16610cc55760405162461bcd60e51b8152600401610624906127d3565b600054610100900460ff166117c65760405162461bcd60e51b8152600401610624906127d3565b610cc5611778565b6000818152609960205260408120546001600160a01b0316806104d45760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610624565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036118f85760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610624565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611970848484611465565b61197c84848484611e9c565b610f5a5760405162461bcd60e51b81526004016106249061281e565b6060816000036119bf5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156119e957806119d381612723565b91506119e29050600a83612771565b91506119c3565b60008167ffffffffffffffff811115611a0457611a04612300565b6040519080825280601f01601f191660200182016040528015611a2e576020820181803683370190505b5090505b841561145d57611a4360018361259a565b9150611a50600a86612870565b611a5b906030612582565b60f81b818381518110611a7057611a7061270d565b60200101906001600160f81b031916908160001a905350611a92600a86612771565b9450611a32565b6001600160a01b038216611aef5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610624565b6000818152609960205260409020546001600160a01b031615611b545760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610624565b6001600160a01b0382166000908152609a60205260408120805460019290611b7d908490612582565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b826001600160a01b0316611bee826117ce565b6001600160a01b031614611c525760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610624565b6001600160a01b038216611cb45760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610624565b611cbf600082611377565b6001600160a01b0383166000908152609a60205260408120805460019290611ce890849061259a565b90915550506001600160a01b0382166000908152609a60205260408120805460019290611d16908490612582565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611d82826117ce565b9050611d8f600083611377565b6001600160a01b0381166000908152609a60205260408120805460019290611db890849061259a565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b610902828260405180602001604052806000815250611f9d565b600054610100900460ff16611e535760405162461bcd60e51b8152600401610624906127d3565b610cc533611845565b600054610100900460ff16611e835760405162461bcd60e51b8152600401610624906127d3565b6097611e8f83826125ff565b50609861075d82826125ff565b60006001600160a01b0384163b15611f9257604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611ee0903390899088908890600401612884565b6020604051808303816000875af1925050508015611f1b575060408051601f3d908101601f19168201909252611f18918101906128b7565b60015b611f78573d808015611f49576040519150601f19603f3d011682016040523d82523d6000602084013e611f4e565b606091505b508051600003611f705760405162461bcd60e51b81526004016106249061281e565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061145d565b506001949350505050565b611fa78383611a99565b611fb46000848484611e9c565b61075d5760405162461bcd60e51b81526004016106249061281e565b6001600160e01b03198116811461087357600080fd5b600060208284031215611ff857600080fd5b8135610ba781611fd0565b60005b8381101561201e578181015183820152602001612006565b83811115610f5a5750506000910152565b60008151808452612047816020860160208601612003565b601f01601f19169290920160200192915050565b602081526000610ba7602083018461202f565b60006020828403121561208057600080fd5b5035919050565b80356001600160a01b038116811461171357600080fd5b600080604083850312156120b157600080fd5b6120ba83612087565b946020939093013593505050565b6000806000606084860312156120dd57600080fd5b6120e684612087565b92506120f460208501612087565b9150604084013590509250925092565b6000806040838503121561211757600080fd5b50508035926020909101359150565b60006020828403121561213857600080fd5b610ba782612087565b60008083601f84011261215357600080fd5b50813567ffffffffffffffff81111561216b57600080fd5b60208301915083602082850101111561218357600080fd5b9250929050565b600080600080606085870312156121a057600080fd5b843567ffffffffffffffff8111156121b757600080fd5b6121c387828801612141565b90955093506121d6905060208601612087565b91506121e460408601612087565b905092959194509250565b6000806000806000806080878903121561220857600080fd5b863567ffffffffffffffff8082111561222057600080fd5b61222c8a838b01612141565b9098509650602089013591508082111561224557600080fd5b5061225289828a01612141565b9095509350612265905060408801612087565b9150606087013590509295509295509295565b60008060006040848603121561228d57600080fd5b833567ffffffffffffffff8111156122a457600080fd5b6122b086828701612141565b909790965060209590950135949350505050565b600080604083850312156122d757600080fd5b6122e083612087565b9150602083013580151581146122f557600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561233157612331612300565b604051601f8501601f19908116603f0116810190828211818310171561235957612359612300565b8160405280935085815286868601111561237257600080fd5b858560208301376000602087830101525050509392505050565b600080600080608085870312156123a257600080fd5b6123ab85612087565b93506123b960208601612087565b925060408501359150606085013567ffffffffffffffff8111156123dc57600080fd5b8501601f810187136123ed57600080fd5b6123fc87823560208401612316565b91505092959194509250565b60006020828403121561241a57600080fd5b813567ffffffffffffffff81111561243157600080fd5b8201601f8101841361244257600080fd5b61145d84823560208401612316565b6000806040838503121561246457600080fd5b61246d83612087565b915061083760208401612087565b600181811c9082168061248f57607f821691505b602082108103610c0557634e487b7160e01b600052602260045260246000fd5b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082198211156125955761259561256c565b500190565b6000828210156125ac576125ac61256c565b500390565b601f82111561075d57600081815260208120601f850160051c810160208610156125d85750805b601f850160051c820191505b818110156125f7578281556001016125e4565b505050505050565b815167ffffffffffffffff81111561261957612619612300565b61262d81612627845461247b565b846125b1565b602080601f831160018114612662576000841561264a5750858301515b600019600386901b1c1916600185901b1785556125f7565b600085815260208120601f198616915b8281101561269157888601518255948401946001909101908401612672565b50858210156126af5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600083516126d1818460208801612003565b602f60f81b90830190815283516126ef816001840160208801612003565b64173539b7b760d91b60019290910191820152600601949350505050565b634e487b7160e01b600052603260045260246000fd5b6000600182016127355761273561256c565b5060010190565b60008160001904831182151516156127565761275661256c565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826127805761278061275b565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008261287f5761287f61275b565b500690565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906116819083018461202f565b6000602082840312156128c957600080fd5b8151610ba781611fd056fea264697066735822122014f81705c9f0ffc17ea64790d7023ee26d60862cd9e94c2a934ac560aeab1a1764736f6c634300080f0033", - "sourceMap": "702:9721:45:-:0;;;;;;;;;;;;;;;;;;;", + "sourceMap": "702:9721:59:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101f05760003560e01c806370a082311161010f578063b88d4fde116100a2578063e985e9c511610071578063e985e9c514610423578063ee0708051461045f578063efc32cd41461046b578063f2fde38b1461047e57600080fd5b8063b88d4fde146103e0578063c87b56dd146103f3578063d9856c2114610406578063e83157421461041957600080fd5b80638da5cb5b116100de5780638da5cb5b146103ac57806395d89b41146103bd578063a22cb465146103c5578063ab69607a146103d857600080fd5b806370a0823114610376578063715018a6146103895780637cc918d114610391578063894ba833146103a457600080fd5b80633ebc82c5116101875780634aa52c41116101565780634aa52c411461032a5780635edc7c191461033d5780636297c16c146103505780636352211e1461036357600080fd5b80633ebc82c5146102de57806340c1a064146102f157806342842e0e1461030457806342966c681461031757600080fd5b806318160ddd116101c357806318160ddd1461027257806323b872dd146102885780632a55205a1461029b5780633403c4e9146102cd57600080fd5b806301ffc9a7146101f557806306fdde031461021d578063081812fc14610232578063095ea7b31461025d575b600080fd5b610208610203366004611fe6565b610491565b60405190151581526020015b60405180910390f35b6102256104da565b604051610214919061205b565b61024561024036600461206e565b61056c565b6040516001600160a01b039091168152602001610214565b61027061026b36600461209e565b61064d565b005b61027a610762565b604051908152602001610214565b6102706102963660046120c8565b610773565b6102ae6102a9366004612104565b6107a5565b604080516001600160a01b039093168352602083019190915201610214565b60fb546001600160a01b0316610245565b6102706102ec366004612126565b610840565b6102456102ff36600461206e565b610876565b6102706103123660046120c8565b61088a565b61027061032536600461206e565b6108a5565b61027061033836600461218a565b610906565b61027061034b3660046121ef565b61099f565b61027061035e36600461206e565b610b1f565b61024561037136600461206e565b610b89565b61027a610384366004612126565b610c0b565b610270610c91565b61027061039f366004612278565b610cc7565b610270610eaa565b6033546001600160a01b0316610245565b610225610f0e565b6102706103d33660046122c4565b610f1d565b60fc5461027a565b6102706103ee36600461238c565b610f28565b61022561040136600461206e565b610f60565b610270610414366004612408565b61104c565b61027a6101005481565b610208610431366004612451565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b60ff8054610208911681565b61027061047936600461209e565b6110ad565b61027061048c366004612126565b611105565b60006001600160e01b03198216631030681960e21b14806104b657506104b68261119d565b806104c557506104c5826111b3565b806104d457506104d4826111d4565b92915050565b6060609780546104e99061247b565b80601f01602080910402602001604051908101604052809291908181526020018280546105159061247b565b80156105625780601f1061053757610100808354040283529160200191610562565b820191906000526020600020905b81548152906001019060200180831161054557829003601f168201915b5050505050905090565b600081815260fd60205260408120546001600160a01b03168161058e84611214565b50509050600081806105a857506001600160a01b03831615155b80156105c457506000858152610102602052604090205460ff16155b90508061062d5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b50505060009182525061010360205260409020546001600160a01b031690565b600061065882610b89565b9050806001600160a01b0316836001600160a01b0316036106c55760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610624565b336001600160a01b03821614806106e157506106e18133610431565b6107535760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610624565b61075d8383611377565b505050565b600061076e6101045490565b905090565b61077e335b826113e6565b61079a5760405162461bcd60e51b8152600401610624906124af565b61075d838383611465565b600082815260fd602052604081205481906001600160a01b03166107d45760fb546001600160a01b03166107ed565b600084815260fd60205260409020546001600160a01b03165b9150610837606461083160fe60008881526020019081526020016000205460000361081a5760fc5461082a565b600087815260fe60205260409020545b86906114d9565b906114e5565b90509250929050565b6033546001600160a01b0316331461086a5760405162461bcd60e51b815260040161062490612500565b610873816114f1565b50565b60006104d46033546001600160a01b031690565b61075d83838360405180602001604052806000815250610f28565b60006108b082611214565b5050600083815261010260205260409020805460ff1916600117905590508080156108f057506000828152609960205260409020546001600160a01b0316155b156108f9575050565b61090282611513565b5050565b6033546001600160a01b031633146109305760405162461bcd60e51b815260040161062490612500565b60ff805416156109525760405162461bcd60e51b815260040161062490612535565b61099884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060fc543392508691508561158a565b5050505050565b60006109ab600161168b565b905080156109c3576000805461ff0019166101001790555b6001600160a01b038316610a195760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606401610624565b610a23600a60fc55565b60ff805460ff19169055610100829055610a3b611718565b610aae87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061174792505050565b610ab6611778565b610abe61179f565b610ac7836114f1565b610ad083611105565b8015610b16576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b8033610b2a82610b89565b6001600160a01b031614610b805760405162461bcd60e51b815260206004820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152606401610624565b610902826108a5565b600080610b9583611214565b5050905080610bae57610ba7836117ce565b9392505050565b6000838152610102602052604090205460ff1615610bcf57610ba7836117ce565b6000838152609960205260409020546001600160a01b0316610bfc576033546001600160a01b0316610ba7565b610ba7836117ce565b50919050565b60006001600160a01b038216610c755760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610624565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610cbb5760405162461bcd60e51b815260040161062490612500565b610cc56000611845565b565b6033546001600160a01b03163314610cf15760405162461bcd60e51b815260040161062490612500565b60ff80541615610d135760405162461bcd60e51b815260040161062490612535565b6000610d1f6101045490565b610d2a906001612582565b905060006001610d3a8484612582565b610d44919061259a565b604080516020810190915281905261010481905561010054909150811115610dae5760405162461bcd60e51b815260206004820152601d60248201527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606401610624565b610105604051806060016040528084815260200183815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018181018655948252602091829020845160039092020190815590830151938101939093555060408101519091906002820190610e4090826125ff565b505050610e556033546001600160a01b031690565b6001600160a01b031660006001600160a01b0316837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d84604051610e9b91815260200190565b60405180910390a45050505050565b6033546001600160a01b03163314610ed45760405162461bcd60e51b815260040161062490612500565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b6060609880546104e99061247b565b610902338383611897565b610f3233836113e6565b610f4e5760405162461bcd60e51b8152600401610624906124af565b610f5a84848484611965565b50505050565b6060600080610f6e84611214565b925050915081611019576000848152610106602052604090208054610f929061247b565b80601f0160208091040260200160405190810160405280929190818152602001828054610fbe9061247b565b801561100b5780601f10610fe05761010080835404028352916020019161100b565b820191906000526020600020905b815481529060010190602001808311610fee57829003601f168201915b505050505092505050919050565b8061102385611998565b6040516020016110349291906126bf565b60405160208183030381529060405292505050919050565b6033546001600160a01b031633146110765760405162461bcd60e51b815260040161062490612500565b60ff805416156110985760405162461bcd60e51b815260040161062490612535565b6109028133336110a760fc5490565b3361158a565b6033546001600160a01b031633146110d75760405162461bcd60e51b815260040161062490612500565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461112f5760405162461bcd60e51b815260040161062490612500565b6001600160a01b0381166111945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610624565b61087381611845565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b14806104d457506104d4825b60006001600160e01b031982166380ac58cd60e01b148061120557506001600160e01b03198216635b5e139f60e01b145b806104d457506104d48261119d565b600080606060005b6101055481101561135857610105818154811061123b5761123b61270d565b90600052602060002090600302016000015485101580156112815750610105818154811061126b5761126b61270d565b9060005260206000209060030201600101548511155b1561134657600181610105838154811061129d5761129d61270d565b90600052602060002090600302016002018080546112ba9061247b565b80601f01602080910402602001604051908101604052809291908181526020018280546112e69061247b565b80156113335780601f1061130857610100808354040283529160200191611333565b820191906000526020600020905b81548152906001019060200180831161131657829003601f168201915b5050505050905093509350935050611370565b8061135081612723565b91505061121c565b50506040805160208101909152600080825292508291505b9193909250565b60008181526101036020526040902080546001600160a01b0319166001600160a01b03841690811790915581906113ad826117ce565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806113f283610b89565b9050806001600160a01b0316846001600160a01b0316148061142d5750836001600160a01b03166114228461056c565b6001600160a01b0316145b8061145d57506001600160a01b038082166000908152609c602090815260408083209388168352929052205460ff165b949350505050565b8060000361147257600080fd5b600061147d82611214565b505090508080156114a357506000828152609960205260409020546001600160a01b0316155b80156114bf57506000828152610102602052604090205460ff16155b156114ce576114ce8483611a99565b610f5a848484611bdb565b6000610ba7828461273c565b6000610ba78284612771565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b61151c33610778565b6115815760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b6064820152608401610624565b61087381611d77565b600061159b61010480546001019055565b60006115a76101045490565b9050610100548111156115fc5760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152606401610624565b6116068582611e12565b60008181526101066020526040902061161f88826125ff565b5060008181526101016020526040902080546001600160a01b0319166001600160a01b038816179055600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b0385161790555b9695505050505050565b60008054610100900460ff16156116d2578160ff1660011480156116ae5750303b155b6116ca5760405162461bcd60e51b815260040161062490612785565b506000919050565b60005460ff8084169116106116f95760405162461bcd60e51b815260040161062490612785565b506000805460ff191660ff92909216919091179055600190565b919050565b600054610100900460ff1661173f5760405162461bcd60e51b8152600401610624906127d3565b610cc5611e2c565b600054610100900460ff1661176e5760405162461bcd60e51b8152600401610624906127d3565b6109028282611e5c565b600054610100900460ff16610cc55760405162461bcd60e51b8152600401610624906127d3565b600054610100900460ff166117c65760405162461bcd60e51b8152600401610624906127d3565b610cc5611778565b6000818152609960205260408120546001600160a01b0316806104d45760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610624565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036118f85760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610624565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611970848484611465565b61197c84848484611e9c565b610f5a5760405162461bcd60e51b81526004016106249061281e565b6060816000036119bf5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156119e957806119d381612723565b91506119e29050600a83612771565b91506119c3565b60008167ffffffffffffffff811115611a0457611a04612300565b6040519080825280601f01601f191660200182016040528015611a2e576020820181803683370190505b5090505b841561145d57611a4360018361259a565b9150611a50600a86612870565b611a5b906030612582565b60f81b818381518110611a7057611a7061270d565b60200101906001600160f81b031916908160001a905350611a92600a86612771565b9450611a32565b6001600160a01b038216611aef5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610624565b6000818152609960205260409020546001600160a01b031615611b545760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610624565b6001600160a01b0382166000908152609a60205260408120805460019290611b7d908490612582565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b826001600160a01b0316611bee826117ce565b6001600160a01b031614611c525760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610624565b6001600160a01b038216611cb45760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610624565b611cbf600082611377565b6001600160a01b0383166000908152609a60205260408120805460019290611ce890849061259a565b90915550506001600160a01b0382166000908152609a60205260408120805460019290611d16908490612582565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611d82826117ce565b9050611d8f600083611377565b6001600160a01b0381166000908152609a60205260408120805460019290611db890849061259a565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b610902828260405180602001604052806000815250611f9d565b600054610100900460ff16611e535760405162461bcd60e51b8152600401610624906127d3565b610cc533611845565b600054610100900460ff16611e835760405162461bcd60e51b8152600401610624906127d3565b6097611e8f83826125ff565b50609861075d82826125ff565b60006001600160a01b0384163b15611f9257604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611ee0903390899088908890600401612884565b6020604051808303816000875af1925050508015611f1b575060408051601f3d908101601f19168201909252611f18918101906128b7565b60015b611f78573d808015611f49576040519150601f19603f3d011682016040523d82523d6000602084013e611f4e565b606091505b508051600003611f705760405162461bcd60e51b81526004016106249061281e565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061145d565b506001949350505050565b611fa78383611a99565b611fb46000848484611e9c565b61075d5760405162461bcd60e51b81526004016106249061281e565b6001600160e01b03198116811461087357600080fd5b600060208284031215611ff857600080fd5b8135610ba781611fd0565b60005b8381101561201e578181015183820152602001612006565b83811115610f5a5750506000910152565b60008151808452612047816020860160208601612003565b601f01601f19169290920160200192915050565b602081526000610ba7602083018461202f565b60006020828403121561208057600080fd5b5035919050565b80356001600160a01b038116811461171357600080fd5b600080604083850312156120b157600080fd5b6120ba83612087565b946020939093013593505050565b6000806000606084860312156120dd57600080fd5b6120e684612087565b92506120f460208501612087565b9150604084013590509250925092565b6000806040838503121561211757600080fd5b50508035926020909101359150565b60006020828403121561213857600080fd5b610ba782612087565b60008083601f84011261215357600080fd5b50813567ffffffffffffffff81111561216b57600080fd5b60208301915083602082850101111561218357600080fd5b9250929050565b600080600080606085870312156121a057600080fd5b843567ffffffffffffffff8111156121b757600080fd5b6121c387828801612141565b90955093506121d6905060208601612087565b91506121e460408601612087565b905092959194509250565b6000806000806000806080878903121561220857600080fd5b863567ffffffffffffffff8082111561222057600080fd5b61222c8a838b01612141565b9098509650602089013591508082111561224557600080fd5b5061225289828a01612141565b9095509350612265905060408801612087565b9150606087013590509295509295509295565b60008060006040848603121561228d57600080fd5b833567ffffffffffffffff8111156122a457600080fd5b6122b086828701612141565b909790965060209590950135949350505050565b600080604083850312156122d757600080fd5b6122e083612087565b9150602083013580151581146122f557600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561233157612331612300565b604051601f8501601f19908116603f0116810190828211818310171561235957612359612300565b8160405280935085815286868601111561237257600080fd5b858560208301376000602087830101525050509392505050565b600080600080608085870312156123a257600080fd5b6123ab85612087565b93506123b960208601612087565b925060408501359150606085013567ffffffffffffffff8111156123dc57600080fd5b8501601f810187136123ed57600080fd5b6123fc87823560208401612316565b91505092959194509250565b60006020828403121561241a57600080fd5b813567ffffffffffffffff81111561243157600080fd5b8201601f8101841361244257600080fd5b61145d84823560208401612316565b6000806040838503121561246457600080fd5b61246d83612087565b915061083760208401612087565b600181811c9082168061248f57607f821691505b602082108103610c0557634e487b7160e01b600052602260045260246000fd5b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082198211156125955761259561256c565b500190565b6000828210156125ac576125ac61256c565b500390565b601f82111561075d57600081815260208120601f850160051c810160208610156125d85750805b601f850160051c820191505b818110156125f7578281556001016125e4565b505050505050565b815167ffffffffffffffff81111561261957612619612300565b61262d81612627845461247b565b846125b1565b602080601f831160018114612662576000841561264a5750858301515b600019600386901b1c1916600185901b1785556125f7565b600085815260208120601f198616915b8281101561269157888601518255948401946001909101908401612672565b50858210156126af5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600083516126d1818460208801612003565b602f60f81b90830190815283516126ef816001840160208801612003565b64173539b7b760d91b60019290910191820152600601949350505050565b634e487b7160e01b600052603260045260246000fd5b6000600182016127355761273561256c565b5060010190565b60008160001904831182151516156127565761275661256c565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826127805761278061275b565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008261287f5761287f61275b565b500690565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906116819083018461202f565b6000602082840312156128c957600080fd5b8151610ba781611fd056fea264697066735822122014f81705c9f0ffc17ea64790d7023ee26d60862cd9e94c2a934ac560aeab1a1764736f6c634300080f0033", - "sourceMap": "702:9721:45:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9953:468;;;;;;:::i;:::-;;:::i;:::-;;;565:14:59;;558:22;540:41;;528:2;513:18;9953:468:45;;;;;;;;2948:98:15;;;:::i;:::-;;;;;;;:::i;8273:476:45:-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1692:32:59;;;1674:51;;1662:2;1647:18;8273:476:45;1528:203:59;7161:394:45;;;;;;:::i;:::-;;:::i;:::-;;9234:109;;;:::i;:::-;;;2319:25:59;;;2307:2;2292:18;9234:109:45;2173:177:59;5198:330:15;;;;;;:::i;:::-;;:::i;846:566:54:-;;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;3133:32:59;;;3115:51;;3197:2;3182:18;;3175:34;;;;3088:18;846:566:54;2941:274:59;2248:113:54;2332:22;;-1:-1:-1;;;;;2332:22:54;2248:113;;4722:127:45;;;;;;:::i;:::-;;:::i;4437:154::-;;;;;;:::i;:::-;;:::i;5594:179:15:-;;;;;;:::i;:::-;;:::i;4114:317:45:-;;;;;;:::i;:::-;;:::i;3677:323::-;;;;;;:::i;:::-;;:::i;2004:548::-;;;;;;:::i;:::-;;:::i;4006:102::-;;;;;;:::i;:::-;;:::i;6561:594::-;;;;;;:::i;:::-;;:::i;2390:204:15:-;;;;;;:::i;:::-;;:::i;1908:101:6:-;;;:::i;2812:609:45:-;;;;;;:::i;:::-;;:::i;4597:119::-;;;:::i;1276:85:6:-;1348:6;;-1:-1:-1;;;;;1348:6:6;1276:85;;3110:102:15;;;:::i;4755:153::-;;;;;;:::i;:::-;;:::i;2367:117:54:-;2453:24;;2367:117;;5839:320:15;;;;;;:::i;:::-;;:::i;5939:616:45:-;;;;;;:::i;:::-;;:::i;3427:244::-;;;;;;:::i;:::-;;:::i;1164:24::-;;;;;;4974:162:15;;;;;;:::i;:::-;-1:-1:-1;;;;;5094:25:15;;;5071:4;5094:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4974:162;1137:20:45;;;;;;;;;4855:167;;;;;;:::i;:::-;;:::i;2158:198:6:-;;;;;;:::i;:::-;;:::i;9953:468:45:-;10136:4;-1:-1:-1;;;;;;10175:46:45;;-1:-1:-1;;;10175:46:45;;:110;;;10237:48;10273:11;10237:35;:48::i;:::-;10175:175;;;;10301:49;10338:11;10301:36;:49::i;:::-;10175:239;;;;10366:48;10402:11;10366:35;:48::i;:::-;10156:258;9953:468;-1:-1:-1;;9953:468:45:o;2948:98:15:-;3002:13;3034:5;3027:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2948:98;:::o;8273:476:45:-;8390:7;8432:26;;;:16;:26;;;;;;-1:-1:-1;;;;;8432:26:45;8390:7;8496:24;8449:8;8496:14;:24::i;:::-;8468:52;;;;8530:11;8545:14;:40;;;-1:-1:-1;;;;;;8563:22:45;;;;8545:40;8544:81;;;;-1:-1:-1;8603:22:45;;;;:12;:22;;;;;;;;8602:23;8544:81;8530:95;;8644:6;8636:63;;;;-1:-1:-1;;;8636:63:45;;9003:2:59;8636:63:45;;;8985:21:59;9042:2;9022:18;;;9015:30;9081:34;9061:18;;;9054:62;-1:-1:-1;;;9132:18:59;;;9125:42;9184:19;;8636:63:45;;;;;;;;;-1:-1:-1;;;8717:25:45;;;;-1:-1:-1;8717:15:45;:25;;;;;;-1:-1:-1;;;;;8717:25:45;;8273:476::o;7161:394::-;7241:13;7257:16;7265:7;7257;:16::i;:::-;7241:32;;7297:5;-1:-1:-1;;;;;7291:11:45;:2;-1:-1:-1;;;;;7291:11:45;;7283:57;;;;-1:-1:-1;;;7283:57:45;;9416:2:59;7283:57:45;;;9398:21:59;9455:2;9435:18;;;9428:30;9494:34;9474:18;;;9467:62;-1:-1:-1;;;9545:18:59;;;9538:31;9586:19;;7283:57:45;9214:397:59;7283:57:45;929:10:21;-1:-1:-1;;;;;7372:21:45;;;;:62;;-1:-1:-1;7397:37:45;7414:5;929:10:21;4974:162:15;:::i;7397:37:45:-;7351:165;;;;-1:-1:-1;;;7351:165:45;;9818:2:59;7351:165:45;;;9800:21:59;9857:2;9837:18;;;9830:30;9896:34;9876:18;;;9869:62;9967:26;9947:18;;;9940:54;10011:19;;7351:165:45;9616:420:59;7351:165:45;7527:21;7536:2;7540:7;7527:8;:21::i;:::-;7231:324;7161:394;;:::o;9234:109::-;9286:7;9312:24;:14;929::22;;838:112;9312:24:45;9305:31;;9234:109;:::o;5198:330:15:-;5387:41;929:10:21;5406:12:15;5420:7;5387:18;:41::i;:::-;5379:103;;;;-1:-1:-1;;;5379:103:15;;;;;;;:::i;:::-;5493:28;5503:4;5509:2;5513:7;5493:9;:28::i;846:566:54:-;983:16;1049:26;;;:16;:26;;;;;;983:16;;-1:-1:-1;;;;;1049:26:54;:118;;1145:22;;-1:-1:-1;;;;;1145:22:54;1049:118;;;1104:26;;;;:16;:26;;;;;;-1:-1:-1;;;;;1104:26:54;1049:118;1038:129;;1193:212;1401:3;1193:190;1238:18;:28;1257:8;1238:28;;;;;;;;;;;;1270:1;1238:33;:131;;1345:24;;1238:131;;;1294:28;;;;:18;:28;;;;;;1238:131;1193:10;;:27;:190::i;:::-;:207;;:212::i;:::-;1177:228;;846:566;;;;;:::o;4722:127:45:-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;4805:37:45::1;4832:9;4805:26;:37::i;:::-;4722:127:::0;:::o;4437:154::-;4530:15;4576:7;1348:6:6;;-1:-1:-1;;;;;1348:6:6;;1276:85;5594:179:15;5727:39;5744:4;5750:2;5754:7;5727:39;;;;;;;;;;;;:16;:39::i;4114:317:45:-;4181:19;4208:24;4223:8;4208:14;:24::i;:::-;-1:-1:-1;;4243:22:45;;;;:12;:22;;;;;:29;;-1:-1:-1;;4243:29:45;4268:4;4243:29;;;4180:52;-1:-1:-1;4180:52:45;4287:54;;;;-1:-1:-1;7696:4:15;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:15;:30;4287:54:45;4283:91;;;4357:7;4114:317;:::o;4283:91::-;4384:40;4415:8;4384:30;:40::i;:::-;4170:261;4114:317;:::o;3677:323::-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;2745:8:45::1;::::0;;::::1;2744:9;2736:52;;;;-1:-1:-1::0;;;2736:52:45::1;;;;;;;:::i;:::-;3833:160:::2;3859:4;;3833:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;;-1:-1:-1;;2453:24:54;;3877:10:45::2;::::0;-1:-1:-1;3901:9:45;;-1:-1:-1;3967:16:45::2;3833:12;:160::i;:::-;;3677:323:::0;;;;:::o;2004:548::-;3111:19:7;3133:25;3156:1;3133:22;:25::i;:::-;3111:47;;3172:14;3168:65;;;3202:13;:20;;-1:-1:-1;;3202:20:7;;;;;3168:65;-1:-1:-1;;;;;2179:22:45;::::1;2171:65;;;::::0;-1:-1:-1;;;2171:65:45;;11381:2:59;2171:65:45::1;::::0;::::1;11363:21:59::0;11420:2;11400:18;;;11393:30;11459:32;11439:18;;;11432:60;11509:18;;2171:65:45::1;11179:354:59::0;2171:65:45::1;2246:32;2275:2;2197:24:54::0;:38;2119:123;2246:32:45::1;2288:8;:16:::0;;-1:-1:-1;;2288:16:45::1;::::0;;::::1;2314:22:::0;;;2347:16:::1;:14;:16::i;:::-;2373:29;2387:5;;2373:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;2373:29:45::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;2394:7:45;;-1:-1:-1;2394:7:45;;;;2373:29;::::1;2394:7:::0;;;;2373:29;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;2373:13:45::1;::::0;-1:-1:-1;;;2373:29:45:i:1;:::-;2412:15;:13;:15::i;:::-;2437:17;:15;:17::i;:::-;2465:36;2492:8;2465:26;:36::i;:::-;2512:33;2536:8;2512:23;:33::i;:::-;3257:14:7::0;3253:99;;;3303:5;3287:21;;-1:-1:-1;;3287:21:7;;;3327:14;;-1:-1:-1;11690:36:59;;3327:14:7;;11678:2:59;11663:18;3327:14:7;;;;;;;3253:99;3101:257;2004:548:45;;;;;;:::o;4006:102::-;4067:8;2639:10;2618:17;4067:8;2618:7;:17::i;:::-;-1:-1:-1;;;;;2618:31:45;;2610:67;;;;-1:-1:-1;;;2610:67:45;;11939:2:59;2610:67:45;;;11921:21:59;11978:2;11958:18;;;11951:30;12017:25;11997:18;;;11990:53;12060:18;;2610:67:45;11737:347:59;2610:67:45;4087:14:::1;4092:8;4087:4;:14::i;6561:594::-:0;6674:7;6698:19;6725:24;6740:8;6725:14;:24::i;:::-;6697:52;;;;6765:14;6760:389;;6802:35;6828:8;6802:25;:35::i;:::-;6795:42;6561:594;-1:-1:-1;;;6561:594:45:o;6760:389::-;6858:22;;;;:12;:22;;;;;;;;6854:295;;;6903:35;6929:8;6903:25;:35::i;6854:295::-;7696:4:15;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:15;6969:170:45;;1348:6:6;;-1:-1:-1;;;;;1348:6:6;7036:7:45;1276:85:6;6969:170:45;7089:35;7115:8;7089:25;:35::i;6969:170::-;6687:468;6561:594;;;:::o;2390:204:15:-;2462:7;-1:-1:-1;;;;;2489:19:15;;2481:73;;;;-1:-1:-1;;;2481:73:15;;12291:2:59;2481:73:15;;;12273:21:59;12330:2;12310:18;;;12303:30;12369:34;12349:18;;;12342:62;-1:-1:-1;;;12420:18:59;;;12413:39;12469:19;;2481:73:15;12089:405:59;2481:73:15;-1:-1:-1;;;;;;2571:16:15;;;;;:9;:16;;;;;;;2390:204::o;1908:101:6:-;1348:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;1972:30:::1;1999:1;1972:18;:30::i;:::-;1908:101::o:0;2812:609:45:-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;2745:8:45::1;::::0;;::::1;2744:9;2736:52;;;;-1:-1:-1::0;;;2736:52:45::1;;;;;;;:::i;:::-;2951:20:::2;2974:24;:14;929::22::0;;838:112;2974:24:45::2;:28;::::0;3001:1:::2;2974:28;:::i;:::-;2951:51:::0;-1:-1:-1;3012:18:45::2;3066:1;3033:30;3048:15:::0;2951:51;3033:30:::2;:::i;:::-;:34;;;;:::i;:::-;3095:39;::::0;;::::2;::::0;::::2;::::0;;;;;;3078:14:::2;:56:::0;;;3194:9:::2;::::0;3095:39;;-1:-1:-1;3095:39:45;3166:37:::2;;3145:113;;;::::0;-1:-1:-1;;;3145:113:45;;13096:2:59;3145:113:45::2;::::0;::::2;13078:21:59::0;13135:2;13115:18;;;13108:30;13174:31;13154:18;;;13147:59;13223:18;;3145:113:45::2;12894:353:59::0;3145:113:45::2;3269:11;3286:45;;;;;;;;3296:12;3286:45;;;;3310:10;3286:45;;;;3322:8;;3286:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;-1:-1:-1;3286:45:45;;;;-1:-1:-1;;3269:63:45;;::::2;::::0;;::::2;::::0;;;;;::::2;::::0;;;;;;::::2;::::0;;::::2;;::::0;;;;;::::2;::::0;;;::::2;::::0;;;;-1:-1:-1;3269:63:45::2;::::0;::::2;::::0;;;;::::2;::::0;::::2;::::0;::::2;::::0;;::::2;:::i;:::-;;;;3406:7;1348:6:6::0;;-1:-1:-1;;;;;1348:6:6;;1276:85;3406:7:45::2;-1:-1:-1::0;;;;;3348:66:45::2;3402:1;-1:-1:-1::0;;;;;3348:66:45::2;3368:12;3348:66;3382:10;3348:66;;;;2319:25:59::0;;2307:2;2292:18;;2173:177;3348:66:45::2;;;;;;;;2941:480;;2812:609:::0;;;:::o;4597:119::-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;4651:8:45::1;:15:::0;;-1:-1:-1;;4651:15:45::1;4662:4;4651:15;::::0;;4681:28:::1;::::0;4698:10:::1;::::0;4681:28:::1;::::0;4651:8:::1;::::0;4681:28:::1;4597:119::o:0;3110:102:15:-;3166:13;3198:7;3191:14;;;;;:::i;4755:153::-;4849:52;929:10:21;4882:8:15;4892;4849:18;:52::i;5839:320::-;6008:41;929:10:21;6041:7:15;6008:18;:41::i;:::-;6000:103;;;;-1:-1:-1;;;6000:103:15;;;;;;;:::i;:::-;6113:39;6127:4;6133:2;6137:7;6146:5;6113:13;:39::i;:::-;5839:320;;;;:::o;5939:616:45:-;6053:13;6083:19;6106:26;6136:46;6164:8;6136:14;:46::i;:::-;6082:100;;;;;6198:14;6193:356;;6235:20;;;;:10;:20;;;;;6228:27;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5939:616;;;:::o;6193:356::-;6379:12;6446:19;:8;:17;:19::i;:::-;6337:183;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6286:252;;;;5939:616;;;:::o;3427:244::-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;2745:8:45::1;::::0;;::::1;2744:9;2736:52;;;;-1:-1:-1::0;;;2736:52:45::1;;;;;;;:::i;:::-;3509:155:::2;3535:4;3553:10;3577;3601:29;2453:24:54::0;;;2367:117;3601:29:45::2;3644:10;3509:12;:155::i;4855:167::-:0;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;4977:26:45::1;::::0;;;:16:::1;:26;::::0;;;;:38;;-1:-1:-1;;;;;;4977:38:45::1;-1:-1:-1::0;;;;;4977:38:45;;;::::1;::::0;;;::::1;::::0;;4855:167::o;2158:198:6:-;1348:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;-1:-1:-1;;;;;2246:22:6;::::1;2238:73;;;::::0;-1:-1:-1;;;2238:73:6;;16435:2:59;2238:73:6::1;::::0;::::1;16417:21:59::0;16474:2;16454:18;;;16447:30;16513:34;16493:18;;;16486:62;-1:-1:-1;;;16564:18:59;;;16557:36;16610:19;;2238:73:6::1;16233:402:59::0;2238:73:6::1;2321:28;2340:8;2321:18;:28::i;1060:166:24:-:0;-1:-1:-1;;;;;;1168:51:24;-1:-1:-1;;;1168:51:24;;1060:166::o;1849:264:54:-;1974:4;-1:-1:-1;;;;;;2013:41:54;;-1:-1:-1;;;2013:41:54;;:93;;;2070:36;2094:11;1987:344:15;2111:4;-1:-1:-1;;;;;;2146:51:15;;-1:-1:-1;;;2146:51:15;;:126;;-1:-1:-1;;;;;;;2213:59:15;;-1:-1:-1;;;2213:59:15;2146:126;:178;;;;2288:36;2312:11;2288:23;:36::i;9349:537:45:-;9451:20;9485:19;9518:27;9575:9;9570:278;9594:11;:18;9590:22;;9570:278;;;9666:11;9678:1;9666:14;;;;;;;;:::i;:::-;;;;;;;;;;;:27;;;9654:8;:39;;:96;;;;;9725:11;9737:1;9725:14;;;;;;;;:::i;:::-;;;;;;;;;;;:25;;;9713:8;:37;;9654:96;9633:205;;;9791:4;9797:1;9800:11;9812:1;9800:14;;;;;;;;:::i;:::-;;;;;;;;;;;:22;;9783:40;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9633:205;9614:3;;;;:::i;:::-;;;;9570:278;;;-1:-1:-1;;9858:21:45;;;;;;;;;9866:5;9858:21;;;9866:5;-1:-1:-1;9866:5:45;;-1:-1:-1;9349:537:45;;;;;;:::o;8011:201::-;8086:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;8086:29:45;-1:-1:-1;;;;;8086:29:45;;;;;;;;:24;;8139:34;8086:24;8139:25;:34::i;:::-;-1:-1:-1;;;;;8130:57:45;;;;;;;;;;;8011:201;;:::o;7561:338::-;7705:4;7725:13;7741:17;7749:8;7741:7;:17::i;:::-;7725:33;;7788:5;-1:-1:-1;;;;;7776:17:45;:8;-1:-1:-1;;;;;7776:17:45;;:66;;;;7834:8;-1:-1:-1;;;;;7809:33:45;:21;7821:8;7809:11;:21::i;:::-;-1:-1:-1;;;;;7809:33:45;;7776:66;:115;;;-1:-1:-1;;;;;;5094:25:15;;;5071:4;5094:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7858:33:45;7768:124;7561:338;-1:-1:-1;;;;7561:338:45:o;8755:473::-;8894:8;8906:1;8894:13;8886:22;;;;;;8920:19;8947:24;8962:8;8947:14;:24::i;:::-;8919:52;;;;8999:14;:66;;;;-1:-1:-1;7696:4:15;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:15;:30;8999:66:45;:105;;;;-1:-1:-1;9082:22:45;;;;:12;:22;;;;;;;;9081:23;8999:105;8982:180;;;9129:22;9135:5;9142:8;9129:5;:22::i;:::-;9172:49;9200:5;9207:3;9212:8;9172:27;:49::i;3461:96:26:-;3519:7;3545:5;3549:1;3545;:5;:::i;3846:96::-;3904:7;3930:5;3934:1;3930;:5;:::i;1418:115:54:-;1492:22;:34;;-1:-1:-1;;;;;;1492:34:54;-1:-1:-1;;;;;1492:34:54;;;;;;;;;;1418:115::o;801:241:18:-;917:41;929:10:21;936:12:18;850:96:21;917:41:18;909:102;;;;-1:-1:-1;;;909:102:18;;17544:2:59;909:102:18;;;17526:21:59;17583:2;17563:18;;;17556:30;17622:34;17602:18;;;17595:62;-1:-1:-1;;;17673:18:59;;;17666:46;17729:19;;909:102:18;17342:412:59;909:102:18;1021:14;1027:7;1021:5;:14::i;5156:624:45:-;5347:7;5366:26;:14;1043:19:22;;1061:1;1043:19;;;956:123;5366:26:45;5402:15;5420:24;:14;929::22;;838:112;5420:24:45;5402:42;;5473:9;;5462:7;:20;;5454:65;;;;-1:-1:-1;;;5454:65:45;;17961:2:59;5454:65:45;;;17943:21:59;;;17980:18;;;17973:30;18039:34;18019:18;;;18012:62;18091:18;;5454:65:45;17759:356:59;5454:65:45;5529:23;5539:3;5544:7;5529:9;:23::i;:::-;5562:19;;;;:10;:19;;;;;:26;5584:4;5562:19;:26;:::i;:::-;-1:-1:-1;5109:23:45;;;;:13;:23;;;;;:34;;-1:-1:-1;;;;;;5109:34:45;-1:-1:-1;;;;;5109:34:45;;;;;1794:28:54;;;;:18;:28;;;;;:42;;;1639:26;;;;:16;:26;;;;;:41;;-1:-1:-1;;;;;;1639:41:54;-1:-1:-1;;;;;1639:41:54;;;;;5703:46:45;5766:7;5156:624;-1:-1:-1;;;;;;5156:624:45:o;5287:808:7:-;5351:4;5684:13;;;;;;;5680:409;;;5738:7;:12;;5749:1;5738:12;:61;;;;-1:-1:-1;5793:4:7;1476:19:20;:23;5738:61:7;5713:166;;;;-1:-1:-1;;;5713:166:7;;;;;;;:::i;:::-;-1:-1:-1;5900:5:7;;5287:808;-1:-1:-1;5287:808:7:o;5680:409::-;5944:12;;:22;;;;:12;;:22;5936:81;;;;-1:-1:-1;;;5936:81:7;;;;;;;:::i;:::-;-1:-1:-1;6031:12:7;:22;;-1:-1:-1;;6031:22:7;;;;;;;;;;;;-1:-1:-1;;5287:808:7:o;5680:409::-;5287:808;;;:::o;988:95:6:-;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;:::-;1050:26:6::1;:24;:26::i;1605:149:15:-:0;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;:::-;1708:39:15::1;1732:5;1739:7;1708:23;:39::i;862:58:24:-:0;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;755:85:54:-;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;:::-;818:15:54::1;:13;:15::i;2651:235:15:-:0;2723:7;2758:16;;;:7;:16;;;;;;-1:-1:-1;;;;;2758:16:15;;2784:73;;;;-1:-1:-1;;;2784:73:15;;19149:2:59;2784:73:15;;;19131:21:59;19188:2;19168:18;;;19161:30;19227:34;19207:18;;;19200:62;-1:-1:-1;;;19278:18:59;;;19271:39;19327:19;;2784:73:15;18947:405:59;2510:187:6;2602:6;;;-1:-1:-1;;;;;2618:17:6;;;-1:-1:-1;;;;;;2618:17:6;;;;;;;2650:40;;2602:6;;;2618:17;2602:6;;2650:40;;2583:16;;2650:40;2573:124;2510:187;:::o;11990:307:15:-;12140:8;-1:-1:-1;;;;;12131:17:15;:5;-1:-1:-1;;;;;12131:17:15;;12123:55;;;;-1:-1:-1;;;12123:55:15;;19559:2:59;12123:55:15;;;19541:21:59;19598:2;19578:18;;;19571:30;19637:27;19617:18;;;19610:55;19682:18;;12123:55:15;19357:349:59;12123:55:15;-1:-1:-1;;;;;12188:25:15;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;12188:46:15;;;;;;;;;;12249:41;;540::59;;;12249::15;;513:18:59;12249:41:15;;;;;;;11990:307;;;:::o;7021:::-;7172:28;7182:4;7188:2;7192:7;7172:9;:28::i;:::-;7218:48;7241:4;7247:2;7251:7;7260:5;7218:22;:48::i;:::-;7210:111;;;;-1:-1:-1;;;7210:111:15;;;;;;;:::i;339:703:23:-;395:13;612:5;621:1;612:10;608:51;;-1:-1:-1;;638:10:23;;;;;;;;;;;;-1:-1:-1;;;638:10:23;;;;;339:703::o;608:51::-;683:5;668:12;722:75;729:9;;722:75;;754:8;;;;:::i;:::-;;-1:-1:-1;776:10:23;;-1:-1:-1;784:2:23;776:10;;:::i;:::-;;;722:75;;;806:19;838:6;828:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;828:17:23;;806:39;;855:150;862:10;;855:150;;888:11;898:1;888:11;;:::i;:::-;;-1:-1:-1;956:10:23;964:2;956:5;:10;:::i;:::-;943:24;;:2;:24;:::i;:::-;930:39;;913:6;920;913:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;913:56:23;;;;;;;;-1:-1:-1;983:11:23;992:2;983:11;;:::i;:::-;;;855:150;;9561:427:15;-1:-1:-1;;;;;9640:16:15;;9632:61;;;;-1:-1:-1;;;9632:61:15;;20449:2:59;9632:61:15;;;20431:21:59;;;20468:18;;;20461:30;20527:34;20507:18;;;20500:62;20579:18;;9632:61:15;20247:356:59;9632:61:15;7696:4;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:15;:30;9703:58;;;;-1:-1:-1;;;9703:58:15;;20810:2:59;9703:58:15;;;20792:21:59;20849:2;20829:18;;;20822:30;20888;20868:18;;;20861:58;20936:18;;9703:58:15;20608:352:59;9703:58:15;-1:-1:-1;;;;;9828:13:15;;;;;;:9;:13;;;;;:18;;9845:1;;9828:13;:18;;9845:1;;9828:18;:::i;:::-;;;;-1:-1:-1;;9856:16:15;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9856:21:15;-1:-1:-1;;;;;9856:21:15;;;;;;;;9893:33;;9856:16;;;9893:33;;9856:16;;9893:33;4170:261:45;4114:317;:::o;10946:616:15:-;11111:4;-1:-1:-1;;;;;11073:42:15;:34;11099:7;11073:25;:34::i;:::-;-1:-1:-1;;;;;11073:42:15;;11065:92;;;;-1:-1:-1;;;11065:92:15;;21167:2:59;11065:92:15;;;21149:21:59;21206:2;21186:18;;;21179:30;21245:34;21225:18;;;21218:62;-1:-1:-1;;;21296:18:59;;;21289:35;21341:19;;11065:92:15;20965:401:59;11065:92:15;-1:-1:-1;;;;;11175:16:15;;11167:65;;;;-1:-1:-1;;;11167:65:15;;21573:2:59;11167:65:15;;;21555:21:59;21612:2;21592:18;;;21585:30;21651:34;21631:18;;;21624:62;-1:-1:-1;;;21702:18:59;;;21695:34;21746:19;;11167:65:15;21371:400:59;11167:65:15;11344:29;11361:1;11365:7;11344:8;:29::i;:::-;-1:-1:-1;;;;;11384:15:15;;;;;;:9;:15;;;;;:20;;11403:1;;11384:15;:20;;11403:1;;11384:20;:::i;:::-;;;;-1:-1:-1;;;;;;;11414:13:15;;;;;;:9;:13;;;;;:18;;11431:1;;11414:13;:18;;11431:1;;11414:18;:::i;:::-;;;;-1:-1:-1;;11442:16:15;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;11442:21:15;-1:-1:-1;;;;;11442:21:15;;;;;;;;;11479:27;;11442:16;;11479:27;;;;;;;7231:324:45;7161:394;;:::o;10205:417:15:-;10264:13;10280:34;10306:7;10280:25;:34::i;:::-;10264:50;;10411:29;10428:1;10432:7;10411:8;:29::i;:::-;-1:-1:-1;;;;;10451:16:15;;;;;;:9;:16;;;;;:21;;10471:1;;10451:16;:21;;10471:1;;10451:21;:::i;:::-;;;;-1:-1:-1;;10489:16:15;;;;:7;:16;;;;;;10482:23;;-1:-1:-1;;;;;;10482:23:15;;;10521:36;10497:7;;10489:16;-1:-1:-1;;;;;10521:36:15;;;;;10489:16;;10521:36;4170:261:45;4114:317;:::o;8599:108:15:-;8674:26;8684:2;8688:7;8674:26;;;;;;;;;;;;:9;:26::i;1089:111:6:-;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;:::-;1161:32:6::1;929:10:21::0;1161:18:6::1;:32::i;1760:160:15:-:0;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;:::-;1873:5:15::1;:13;1881:5:::0;1873;:13:::1;:::i;:::-;-1:-1:-1::0;1896:7:15::1;:17;1906:7:::0;1896;:17:::1;:::i;12850:800::-:0;13000:4;-1:-1:-1;;;;;13020:13:15;;1476:19:20;:23;13016:628:15;;13055:83;;-1:-1:-1;;;13055:83:15;;-1:-1:-1;;;;;13055:47:15;;;;;:83;;929:10:21;;13117:4:15;;13123:7;;13132:5;;13055:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13055:83:15;;;;;;;;-1:-1:-1;;13055:83:15;;;;;;;;;;;;:::i;:::-;;;13051:541;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13316:6;:13;13333:1;13316:18;13312:266;;13358:60;;-1:-1:-1;;;13358:60:15;;;;;;;:::i;13312:266::-;13530:6;13524:13;13515:6;13511:2;13507:15;13500:38;13051:541;-1:-1:-1;;;;;;13188:62:15;-1:-1:-1;;;13188:62:15;;-1:-1:-1;13181:69:15;;13016:628;-1:-1:-1;13629:4:15;12850:800;;;;;;:::o;8928:311::-;9053:18;9059:2;9063:7;9053:5;:18::i;:::-;9102:54;9133:1;9137:2;9141:7;9150:5;9102:22;:54::i;:::-;9081:151;;;;-1:-1:-1;;;9081:151:15;;;;;;;:::i;14:131:59:-;-1:-1:-1;;;;;;88:32:59;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:258::-;664:1;674:113;688:6;685:1;682:13;674:113;;;764:11;;;758:18;745:11;;;738:39;710:2;703:10;674:113;;;805:6;802:1;799:13;796:48;;;-1:-1:-1;;840:1:59;822:16;;815:27;592:258::o;855:::-;897:3;935:5;929:12;962:6;957:3;950:19;978:63;1034:6;1027:4;1022:3;1018:14;1011:4;1004:5;1000:16;978:63;:::i;:::-;1095:2;1074:15;-1:-1:-1;;1070:29:59;1061:39;;;;1102:4;1057:50;;855:258;-1:-1:-1;;855:258:59:o;1118:220::-;1267:2;1256:9;1249:21;1230:4;1287:45;1328:2;1317:9;1313:18;1305:6;1287:45;:::i;1343:180::-;1402:6;1455:2;1443:9;1434:7;1430:23;1426:32;1423:52;;;1471:1;1468;1461:12;1423:52;-1:-1:-1;1494:23:59;;1343:180;-1:-1:-1;1343:180:59:o;1736:173::-;1804:20;;-1:-1:-1;;;;;1853:31:59;;1843:42;;1833:70;;1899:1;1896;1889:12;1914:254;1982:6;1990;2043:2;2031:9;2022:7;2018:23;2014:32;2011:52;;;2059:1;2056;2049:12;2011:52;2082:29;2101:9;2082:29;:::i;:::-;2072:39;2158:2;2143:18;;;;2130:32;;-1:-1:-1;;;1914:254:59:o;2355:328::-;2432:6;2440;2448;2501:2;2489:9;2480:7;2476:23;2472:32;2469:52;;;2517:1;2514;2507:12;2469:52;2540:29;2559:9;2540:29;:::i;:::-;2530:39;;2588:38;2622:2;2611:9;2607:18;2588:38;:::i;:::-;2578:48;;2673:2;2662:9;2658:18;2645:32;2635:42;;2355:328;;;;;:::o;2688:248::-;2756:6;2764;2817:2;2805:9;2796:7;2792:23;2788:32;2785:52;;;2833:1;2830;2823:12;2785:52;-1:-1:-1;;2856:23:59;;;2926:2;2911:18;;;2898:32;;-1:-1:-1;2688:248:59:o;3220:186::-;3279:6;3332:2;3320:9;3311:7;3307:23;3303:32;3300:52;;;3348:1;3345;3338:12;3300:52;3371:29;3390:9;3371:29;:::i;3635:348::-;3687:8;3697:6;3751:3;3744:4;3736:6;3732:17;3728:27;3718:55;;3769:1;3766;3759:12;3718:55;-1:-1:-1;3792:20:59;;3835:18;3824:30;;3821:50;;;3867:1;3864;3857:12;3821:50;3904:4;3896:6;3892:17;3880:29;;3956:3;3949:4;3940:6;3932;3928:19;3924:30;3921:39;3918:59;;;3973:1;3970;3963:12;3918:59;3635:348;;;;;:::o;3988:559::-;4077:6;4085;4093;4101;4154:2;4142:9;4133:7;4129:23;4125:32;4122:52;;;4170:1;4167;4160:12;4122:52;4210:9;4197:23;4243:18;4235:6;4232:30;4229:50;;;4275:1;4272;4265:12;4229:50;4314:59;4365:7;4356:6;4345:9;4341:22;4314:59;:::i;:::-;4392:8;;-1:-1:-1;4288:85:59;-1:-1:-1;4446:38:59;;-1:-1:-1;4480:2:59;4465:18;;4446:38;:::i;:::-;4436:48;;4503:38;4537:2;4526:9;4522:18;4503:38;:::i;:::-;4493:48;;3988:559;;;;;;;:::o;4552:864::-;4662:6;4670;4678;4686;4694;4702;4755:3;4743:9;4734:7;4730:23;4726:33;4723:53;;;4772:1;4769;4762:12;4723:53;4812:9;4799:23;4841:18;4882:2;4874:6;4871:14;4868:34;;;4898:1;4895;4888:12;4868:34;4937:59;4988:7;4979:6;4968:9;4964:22;4937:59;:::i;:::-;5015:8;;-1:-1:-1;4911:85:59;-1:-1:-1;5103:2:59;5088:18;;5075:32;;-1:-1:-1;5119:16:59;;;5116:36;;;5148:1;5145;5138:12;5116:36;;5187:61;5240:7;5229:8;5218:9;5214:24;5187:61;:::i;:::-;5267:8;;-1:-1:-1;5161:87:59;-1:-1:-1;5321:38:59;;-1:-1:-1;5355:2:59;5340:18;;5321:38;:::i;:::-;5311:48;;5406:2;5395:9;5391:18;5378:32;5368:42;;4552:864;;;;;;;;:::o;5421:479::-;5501:6;5509;5517;5570:2;5558:9;5549:7;5545:23;5541:32;5538:52;;;5586:1;5583;5576:12;5538:52;5626:9;5613:23;5659:18;5651:6;5648:30;5645:50;;;5691:1;5688;5681:12;5645:50;5730:59;5781:7;5772:6;5761:9;5757:22;5730:59;:::i;:::-;5808:8;;5704:85;;-1:-1:-1;5890:2:59;5875:18;;;;5862:32;;5421:479;-1:-1:-1;;;;5421:479:59:o;5905:347::-;5970:6;5978;6031:2;6019:9;6010:7;6006:23;6002:32;5999:52;;;6047:1;6044;6037:12;5999:52;6070:29;6089:9;6070:29;:::i;:::-;6060:39;;6149:2;6138:9;6134:18;6121:32;6196:5;6189:13;6182:21;6175:5;6172:32;6162:60;;6218:1;6215;6208:12;6162:60;6241:5;6231:15;;;5905:347;;;;;:::o;6257:127::-;6318:10;6313:3;6309:20;6306:1;6299:31;6349:4;6346:1;6339:15;6373:4;6370:1;6363:15;6389:631;6453:5;6483:18;6524:2;6516:6;6513:14;6510:40;;;6530:18;;:::i;:::-;6605:2;6599:9;6573:2;6659:15;;-1:-1:-1;;6655:24:59;;;6681:2;6651:33;6647:42;6635:55;;;6705:18;;;6725:22;;;6702:46;6699:72;;;6751:18;;:::i;:::-;6791:10;6787:2;6780:22;6820:6;6811:15;;6850:6;6842;6835:22;6890:3;6881:6;6876:3;6872:16;6869:25;6866:45;;;6907:1;6904;6897:12;6866:45;6957:6;6952:3;6945:4;6937:6;6933:17;6920:44;7012:1;7005:4;6996:6;6988;6984:19;6980:30;6973:41;;;;6389:631;;;;;:::o;7025:666::-;7120:6;7128;7136;7144;7197:3;7185:9;7176:7;7172:23;7168:33;7165:53;;;7214:1;7211;7204:12;7165:53;7237:29;7256:9;7237:29;:::i;:::-;7227:39;;7285:38;7319:2;7308:9;7304:18;7285:38;:::i;:::-;7275:48;;7370:2;7359:9;7355:18;7342:32;7332:42;;7425:2;7414:9;7410:18;7397:32;7452:18;7444:6;7441:30;7438:50;;;7484:1;7481;7474:12;7438:50;7507:22;;7560:4;7552:13;;7548:27;-1:-1:-1;7538:55:59;;7589:1;7586;7579:12;7538:55;7612:73;7677:7;7672:2;7659:16;7654:2;7650;7646:11;7612:73;:::i;:::-;7602:83;;;7025:666;;;;;;;:::o;7696:450::-;7765:6;7818:2;7806:9;7797:7;7793:23;7789:32;7786:52;;;7834:1;7831;7824:12;7786:52;7874:9;7861:23;7907:18;7899:6;7896:30;7893:50;;;7939:1;7936;7929:12;7893:50;7962:22;;8015:4;8007:13;;8003:27;-1:-1:-1;7993:55:59;;8044:1;8041;8034:12;7993:55;8067:73;8132:7;8127:2;8114:16;8109:2;8105;8101:11;8067:73;:::i;8151:260::-;8219:6;8227;8280:2;8268:9;8259:7;8255:23;8251:32;8248:52;;;8296:1;8293;8286:12;8248:52;8319:29;8338:9;8319:29;:::i;:::-;8309:39;;8367:38;8401:2;8390:9;8386:18;8367:38;:::i;8416:380::-;8495:1;8491:12;;;;8538;;;8559:61;;8613:4;8605:6;8601:17;8591:27;;8559:61;8666:2;8658:6;8655:14;8635:18;8632:38;8629:161;;8712:10;8707:3;8703:20;8700:1;8693:31;8747:4;8744:1;8737:15;8775:4;8772:1;8765:15;10041:413;10243:2;10225:21;;;10282:2;10262:18;;;10255:30;10321:34;10316:2;10301:18;;10294:62;-1:-1:-1;;;10387:2:59;10372:18;;10365:47;10444:3;10429:19;;10041:413::o;10459:356::-;10661:2;10643:21;;;10680:18;;;10673:30;10739:34;10734:2;10719:18;;10712:62;10806:2;10791:18;;10459:356::o;10820:354::-;11022:2;11004:21;;;11061:2;11041:18;;;11034:30;11100:32;11095:2;11080:18;;11073:60;11165:2;11150:18;;10820:354::o;12499:127::-;12560:10;12555:3;12551:20;12548:1;12541:31;12591:4;12588:1;12581:15;12615:4;12612:1;12605:15;12631:128;12671:3;12702:1;12698:6;12695:1;12692:13;12689:39;;;12708:18;;:::i;:::-;-1:-1:-1;12744:9:59;;12631:128::o;12764:125::-;12804:4;12832:1;12829;12826:8;12823:34;;;12837:18;;:::i;:::-;-1:-1:-1;12874:9:59;;12764:125::o;13378:545::-;13480:2;13475:3;13472:11;13469:448;;;13516:1;13541:5;13537:2;13530:17;13586:4;13582:2;13572:19;13656:2;13644:10;13640:19;13637:1;13633:27;13627:4;13623:38;13692:4;13680:10;13677:20;13674:47;;;-1:-1:-1;13715:4:59;13674:47;13770:2;13765:3;13761:12;13758:1;13754:20;13748:4;13744:31;13734:41;;13825:82;13843:2;13836:5;13833:13;13825:82;;;13888:17;;;13869:1;13858:13;13825:82;;;13829:3;;;13378:545;;;:::o;14099:1352::-;14225:3;14219:10;14252:18;14244:6;14241:30;14238:56;;;14274:18;;:::i;:::-;14303:97;14393:6;14353:38;14385:4;14379:11;14353:38;:::i;:::-;14347:4;14303:97;:::i;:::-;14455:4;;14519:2;14508:14;;14536:1;14531:663;;;;15238:1;15255:6;15252:89;;;-1:-1:-1;15307:19:59;;;15301:26;15252:89;-1:-1:-1;;14056:1:59;14052:11;;;14048:24;14044:29;14034:40;14080:1;14076:11;;;14031:57;15354:81;;14501:944;;14531:663;13325:1;13318:14;;;13362:4;13349:18;;-1:-1:-1;;14567:20:59;;;14685:236;14699:7;14696:1;14693:14;14685:236;;;14788:19;;;14782:26;14767:42;;14880:27;;;;14848:1;14836:14;;;;14715:19;;14685:236;;;14689:3;14949:6;14940:7;14937:19;14934:201;;;15010:19;;;15004:26;-1:-1:-1;;15093:1:59;15089:14;;;15105:3;15085:24;15081:37;15077:42;15062:58;15047:74;;14934:201;-1:-1:-1;;;;;15181:1:59;15165:14;;;15161:22;15148:36;;-1:-1:-1;14099:1352:59:o;15456:772::-;15837:3;15875:6;15869:13;15891:53;15937:6;15932:3;15925:4;15917:6;15913:17;15891:53;:::i;:::-;-1:-1:-1;;;15966:16:59;;;15991:18;;;16034:13;;16056:65;16034:13;16108:1;16097:13;;16090:4;16078:17;;16056:65;:::i;:::-;-1:-1:-1;;;16184:1:59;16140:20;;;;16176:10;;;16169:27;16220:1;16212:10;;15456:772;-1:-1:-1;;;;15456:772:59:o;16640:127::-;16701:10;16696:3;16692:20;16689:1;16682:31;16732:4;16729:1;16722:15;16756:4;16753:1;16746:15;16772:135;16811:3;16832:17;;;16829:43;;16852:18;;:::i;:::-;-1:-1:-1;16899:1:59;16888:13;;16772:135::o;16912:168::-;16952:7;17018:1;17014;17010:6;17006:14;17003:1;17000:21;16995:1;16988:9;16981:17;16977:45;16974:71;;;17025:18;;:::i;:::-;-1:-1:-1;17065:9:59;;16912:168::o;17085:127::-;17146:10;17141:3;17137:20;17134:1;17127:31;17177:4;17174:1;17167:15;17201:4;17198:1;17191:15;17217:120;17257:1;17283;17273:35;;17288:18;;:::i;:::-;-1:-1:-1;17322:9:59;;17217:120::o;18120:410::-;18322:2;18304:21;;;18361:2;18341:18;;;18334:30;18400:34;18395:2;18380:18;;18373:62;-1:-1:-1;;;18466:2:59;18451:18;;18444:44;18520:3;18505:19;;18120:410::o;18535:407::-;18737:2;18719:21;;;18776:2;18756:18;;;18749:30;18815:34;18810:2;18795:18;;18788:62;-1:-1:-1;;;18881:2:59;18866:18;;18859:41;18932:3;18917:19;;18535:407::o;19711:414::-;19913:2;19895:21;;;19952:2;19932:18;;;19925:30;19991:34;19986:2;19971:18;;19964:62;-1:-1:-1;;;20057:2:59;20042:18;;20035:48;20115:3;20100:19;;19711:414::o;20130:112::-;20162:1;20188;20178:35;;20193:18;;:::i;:::-;-1:-1:-1;20227:9:59;;20130:112::o;21776:489::-;-1:-1:-1;;;;;22045:15:59;;;22027:34;;22097:15;;22092:2;22077:18;;22070:43;22144:2;22129:18;;22122:34;;;22192:3;22187:2;22172:18;;22165:31;;;21970:4;;22213:46;;22239:19;;22231:6;22213:46;:::i;22270:249::-;22339:6;22392:2;22380:9;22371:7;22367:23;22363:32;22360:52;;;22408:1;22405;22398:12;22360:52;22440:9;22434:16;22459:30;22483:5;22459:30;:::i", + "sourceMap": "702:9721:59:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9953:468;;;;;;:::i;:::-;;:::i;:::-;;;565:14:77;;558:22;540:41;;528:2;513:18;9953:468:59;;;;;;;;2948:98:27;;;:::i;:::-;;;;;;;:::i;8273:476:59:-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1692:32:77;;;1674:51;;1662:2;1647:18;8273:476:59;1528:203:77;7161:394:59;;;;;;:::i;:::-;;:::i;:::-;;9234:109;;;:::i;:::-;;;2319:25:77;;;2307:2;2292:18;9234:109:59;2173:177:77;5198:330:27;;;;;;:::i;:::-;;:::i;846:566:72:-;;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;3133:32:77;;;3115:51;;3197:2;3182:18;;3175:34;;;;3088:18;846:566:72;2941:274:77;2248:113:72;2332:22;;-1:-1:-1;;;;;2332:22:72;2248:113;;4722:127:59;;;;;;:::i;:::-;;:::i;4437:154::-;;;;;;:::i;:::-;;:::i;5594:179:27:-;;;;;;:::i;:::-;;:::i;4114:317:59:-;;;;;;:::i;:::-;;:::i;3677:323::-;;;;;;:::i;:::-;;:::i;2004:548::-;;;;;;:::i;:::-;;:::i;4006:102::-;;;;;;:::i;:::-;;:::i;6561:594::-;;;;;;:::i;:::-;;:::i;2390:204:27:-;;;;;;:::i;:::-;;:::i;1908:101:18:-;;;:::i;2812:609:59:-;;;;;;:::i;:::-;;:::i;4597:119::-;;;:::i;1276:85:18:-;1348:6;;-1:-1:-1;;;;;1348:6:18;1276:85;;3110:102:27;;;:::i;4755:153::-;;;;;;:::i;:::-;;:::i;2367:117:72:-;2453:24;;2367:117;;5839:320:27;;;;;;:::i;:::-;;:::i;5939:616:59:-;;;;;;:::i;:::-;;:::i;3427:244::-;;;;;;:::i;:::-;;:::i;1164:24::-;;;;;;4974:162:27;;;;;;:::i;:::-;-1:-1:-1;;;;;5094:25:27;;;5071:4;5094:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4974:162;1137:20:59;;;;;;;;;4855:167;;;;;;:::i;:::-;;:::i;2158:198:18:-;;;;;;:::i;:::-;;:::i;9953:468:59:-;10136:4;-1:-1:-1;;;;;;10175:46:59;;-1:-1:-1;;;10175:46:59;;:110;;;10237:48;10273:11;10237:35;:48::i;:::-;10175:175;;;;10301:49;10338:11;10301:36;:49::i;:::-;10175:239;;;;10366:48;10402:11;10366:35;:48::i;:::-;10156:258;9953:468;-1:-1:-1;;9953:468:59:o;2948:98:27:-;3002:13;3034:5;3027:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2948:98;:::o;8273:476:59:-;8390:7;8432:26;;;:16;:26;;;;;;-1:-1:-1;;;;;8432:26:59;8390:7;8496:24;8449:8;8496:14;:24::i;:::-;8468:52;;;;8530:11;8545:14;:40;;;-1:-1:-1;;;;;;8563:22:59;;;;8545:40;8544:81;;;;-1:-1:-1;8603:22:59;;;;:12;:22;;;;;;;;8602:23;8544:81;8530:95;;8644:6;8636:63;;;;-1:-1:-1;;;8636:63:59;;9003:2:77;8636:63:59;;;8985:21:77;9042:2;9022:18;;;9015:30;9081:34;9061:18;;;9054:62;-1:-1:-1;;;9132:18:77;;;9125:42;9184:19;;8636:63:59;;;;;;;;;-1:-1:-1;;;8717:25:59;;;;-1:-1:-1;8717:15:59;:25;;;;;;-1:-1:-1;;;;;8717:25:59;;8273:476::o;7161:394::-;7241:13;7257:16;7265:7;7257;:16::i;:::-;7241:32;;7297:5;-1:-1:-1;;;;;7291:11:59;:2;-1:-1:-1;;;;;7291:11:59;;7283:57;;;;-1:-1:-1;;;7283:57:59;;9416:2:77;7283:57:59;;;9398:21:77;9455:2;9435:18;;;9428:30;9494:34;9474:18;;;9467:62;-1:-1:-1;;;9545:18:77;;;9538:31;9586:19;;7283:57:59;9214:397:77;7283:57:59;929:10:33;-1:-1:-1;;;;;7372:21:59;;;;:62;;-1:-1:-1;7397:37:59;7414:5;929:10:33;4974:162:27;:::i;7397:37:59:-;7351:165;;;;-1:-1:-1;;;7351:165:59;;9818:2:77;7351:165:59;;;9800:21:77;9857:2;9837:18;;;9830:30;9896:34;9876:18;;;9869:62;9967:26;9947:18;;;9940:54;10011:19;;7351:165:59;9616:420:77;7351:165:59;7527:21;7536:2;7540:7;7527:8;:21::i;:::-;7231:324;7161:394;;:::o;9234:109::-;9286:7;9312:24;:14;929::34;;838:112;9312:24:59;9305:31;;9234:109;:::o;5198:330:27:-;5387:41;929:10:33;5406:12:27;5420:7;5387:18;:41::i;:::-;5379:103;;;;-1:-1:-1;;;5379:103:27;;;;;;;:::i;:::-;5493:28;5503:4;5509:2;5513:7;5493:9;:28::i;846:566:72:-;983:16;1049:26;;;:16;:26;;;;;;983:16;;-1:-1:-1;;;;;1049:26:72;:118;;1145:22;;-1:-1:-1;;;;;1145:22:72;1049:118;;;1104:26;;;;:16;:26;;;;;;-1:-1:-1;;;;;1104:26:72;1049:118;1038:129;;1193:212;1401:3;1193:190;1238:18;:28;1257:8;1238:28;;;;;;;;;;;;1270:1;1238:33;:131;;1345:24;;1238:131;;;1294:28;;;;:18;:28;;;;;;1238:131;1193:10;;:27;:190::i;:::-;:207;;:212::i;:::-;1177:228;;846:566;;;;;:::o;4722:127:59:-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;4805:37:59::1;4832:9;4805:26;:37::i;:::-;4722:127:::0;:::o;4437:154::-;4530:15;4576:7;1348:6:18;;-1:-1:-1;;;;;1348:6:18;;1276:85;5594:179:27;5727:39;5744:4;5750:2;5754:7;5727:39;;;;;;;;;;;;:16;:39::i;4114:317:59:-;4181:19;4208:24;4223:8;4208:14;:24::i;:::-;-1:-1:-1;;4243:22:59;;;;:12;:22;;;;;:29;;-1:-1:-1;;4243:29:59;4268:4;4243:29;;;4180:52;-1:-1:-1;4180:52:59;4287:54;;;;-1:-1:-1;7696:4:27;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:27;:30;4287:54:59;4283:91;;;4357:7;4114:317;:::o;4283:91::-;4384:40;4415:8;4384:30;:40::i;:::-;4170:261;4114:317;:::o;3677:323::-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;2745:8:59::1;::::0;;::::1;2744:9;2736:52;;;;-1:-1:-1::0;;;2736:52:59::1;;;;;;;:::i;:::-;3833:160:::2;3859:4;;3833:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;;-1:-1:-1;;2453:24:72;;3877:10:59::2;::::0;-1:-1:-1;3901:9:59;;-1:-1:-1;3967:16:59::2;3833:12;:160::i;:::-;;3677:323:::0;;;;:::o;2004:548::-;3111:19:19;3133:25;3156:1;3133:22;:25::i;:::-;3111:47;;3172:14;3168:65;;;3202:13;:20;;-1:-1:-1;;3202:20:19;;;;;3168:65;-1:-1:-1;;;;;2179:22:59;::::1;2171:65;;;::::0;-1:-1:-1;;;2171:65:59;;11381:2:77;2171:65:59::1;::::0;::::1;11363:21:77::0;11420:2;11400:18;;;11393:30;11459:32;11439:18;;;11432:60;11509:18;;2171:65:59::1;11179:354:77::0;2171:65:59::1;2246:32;2275:2;2197:24:72::0;:38;2119:123;2246:32:59::1;2288:8;:16:::0;;-1:-1:-1;;2288:16:59::1;::::0;;::::1;2314:22:::0;;;2347:16:::1;:14;:16::i;:::-;2373:29;2387:5;;2373:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;2373:29:59::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;2394:7:59;;-1:-1:-1;2394:7:59;;;;2373:29;::::1;2394:7:::0;;;;2373:29;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;2373:13:59::1;::::0;-1:-1:-1;;;2373:29:59:i:1;:::-;2412:15;:13;:15::i;:::-;2437:17;:15;:17::i;:::-;2465:36;2492:8;2465:26;:36::i;:::-;2512:33;2536:8;2512:23;:33::i;:::-;3257:14:19::0;3253:99;;;3303:5;3287:21;;-1:-1:-1;;3287:21:19;;;3327:14;;-1:-1:-1;11690:36:77;;3327:14:19;;11678:2:77;11663:18;3327:14:19;;;;;;;3253:99;3101:257;2004:548:59;;;;;;:::o;4006:102::-;4067:8;2639:10;2618:17;4067:8;2618:7;:17::i;:::-;-1:-1:-1;;;;;2618:31:59;;2610:67;;;;-1:-1:-1;;;2610:67:59;;11939:2:77;2610:67:59;;;11921:21:77;11978:2;11958:18;;;11951:30;12017:25;11997:18;;;11990:53;12060:18;;2610:67:59;11737:347:77;2610:67:59;4087:14:::1;4092:8;4087:4;:14::i;6561:594::-:0;6674:7;6698:19;6725:24;6740:8;6725:14;:24::i;:::-;6697:52;;;;6765:14;6760:389;;6802:35;6828:8;6802:25;:35::i;:::-;6795:42;6561:594;-1:-1:-1;;;6561:594:59:o;6760:389::-;6858:22;;;;:12;:22;;;;;;;;6854:295;;;6903:35;6929:8;6903:25;:35::i;6854:295::-;7696:4:27;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:27;6969:170:59;;1348:6:18;;-1:-1:-1;;;;;1348:6:18;7036:7:59;1276:85:18;6969:170:59;7089:35;7115:8;7089:25;:35::i;6969:170::-;6687:468;6561:594;;;:::o;2390:204:27:-;2462:7;-1:-1:-1;;;;;2489:19:27;;2481:73;;;;-1:-1:-1;;;2481:73:27;;12291:2:77;2481:73:27;;;12273:21:77;12330:2;12310:18;;;12303:30;12369:34;12349:18;;;12342:62;-1:-1:-1;;;12420:18:77;;;12413:39;12469:19;;2481:73:27;12089:405:77;2481:73:27;-1:-1:-1;;;;;;2571:16:27;;;;;:9;:16;;;;;;;2390:204::o;1908:101:18:-;1348:6;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;1972:30:::1;1999:1;1972:18;:30::i;:::-;1908:101::o:0;2812:609:59:-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;2745:8:59::1;::::0;;::::1;2744:9;2736:52;;;;-1:-1:-1::0;;;2736:52:59::1;;;;;;;:::i;:::-;2951:20:::2;2974:24;:14;929::34::0;;838:112;2974:24:59::2;:28;::::0;3001:1:::2;2974:28;:::i;:::-;2951:51:::0;-1:-1:-1;3012:18:59::2;3066:1;3033:30;3048:15:::0;2951:51;3033:30:::2;:::i;:::-;:34;;;;:::i;:::-;3095:39;::::0;;::::2;::::0;::::2;::::0;;;;;;3078:14:::2;:56:::0;;;3194:9:::2;::::0;3095:39;;-1:-1:-1;3095:39:59;3166:37:::2;;3145:113;;;::::0;-1:-1:-1;;;3145:113:59;;13096:2:77;3145:113:59::2;::::0;::::2;13078:21:77::0;13135:2;13115:18;;;13108:30;13174:31;13154:18;;;13147:59;13223:18;;3145:113:59::2;12894:353:77::0;3145:113:59::2;3269:11;3286:45;;;;;;;;3296:12;3286:45;;;;3310:10;3286:45;;;;3322:8;;3286:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;-1:-1:-1;3286:45:59;;;;-1:-1:-1;;3269:63:59;;::::2;::::0;;::::2;::::0;;;;;::::2;::::0;;;;;;::::2;::::0;;::::2;;::::0;;;;;::::2;::::0;;;::::2;::::0;;;;-1:-1:-1;3269:63:59::2;::::0;::::2;::::0;;;;::::2;::::0;::::2;::::0;::::2;::::0;;::::2;:::i;:::-;;;;3406:7;1348:6:18::0;;-1:-1:-1;;;;;1348:6:18;;1276:85;3406:7:59::2;-1:-1:-1::0;;;;;3348:66:59::2;3402:1;-1:-1:-1::0;;;;;3348:66:59::2;3368:12;3348:66;3382:10;3348:66;;;;2319:25:77::0;;2307:2;2292:18;;2173:177;3348:66:59::2;;;;;;;;2941:480;;2812:609:::0;;;:::o;4597:119::-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;4651:8:59::1;:15:::0;;-1:-1:-1;;4651:15:59::1;4662:4;4651:15;::::0;;4681:28:::1;::::0;4698:10:::1;::::0;4681:28:::1;::::0;4651:8:::1;::::0;4681:28:::1;4597:119::o:0;3110:102:27:-;3166:13;3198:7;3191:14;;;;;:::i;4755:153::-;4849:52;929:10:33;4882:8:27;4892;4849:18;:52::i;5839:320::-;6008:41;929:10:33;6041:7:27;6008:18;:41::i;:::-;6000:103;;;;-1:-1:-1;;;6000:103:27;;;;;;;:::i;:::-;6113:39;6127:4;6133:2;6137:7;6146:5;6113:13;:39::i;:::-;5839:320;;;;:::o;5939:616:59:-;6053:13;6083:19;6106:26;6136:46;6164:8;6136:14;:46::i;:::-;6082:100;;;;;6198:14;6193:356;;6235:20;;;;:10;:20;;;;;6228:27;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5939:616;;;:::o;6193:356::-;6379:12;6446:19;:8;:17;:19::i;:::-;6337:183;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6286:252;;;;5939:616;;;:::o;3427:244::-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;2745:8:59::1;::::0;;::::1;2744:9;2736:52;;;;-1:-1:-1::0;;;2736:52:59::1;;;;;;;:::i;:::-;3509:155:::2;3535:4;3553:10;3577;3601:29;2453:24:72::0;;;2367:117;3601:29:59::2;3644:10;3509:12;:155::i;4855:167::-:0;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;4977:26:59::1;::::0;;;:16:::1;:26;::::0;;;;:38;;-1:-1:-1;;;;;;4977:38:59::1;-1:-1:-1::0;;;;;4977:38:59;;;::::1;::::0;;;::::1;::::0;;4855:167::o;2158:198:18:-;1348:6;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;-1:-1:-1;;;;;2246:22:18;::::1;2238:73;;;::::0;-1:-1:-1;;;2238:73:18;;16435:2:77;2238:73:18::1;::::0;::::1;16417:21:77::0;16474:2;16454:18;;;16447:30;16513:34;16493:18;;;16486:62;-1:-1:-1;;;16564:18:77;;;16557:36;16610:19;;2238:73:18::1;16233:402:77::0;2238:73:18::1;2321:28;2340:8;2321:18;:28::i;1060:166:36:-:0;-1:-1:-1;;;;;;1168:51:36;-1:-1:-1;;;1168:51:36;;1060:166::o;1849:264:72:-;1974:4;-1:-1:-1;;;;;;2013:41:72;;-1:-1:-1;;;2013:41:72;;:93;;;2070:36;2094:11;1987:344:27;2111:4;-1:-1:-1;;;;;;2146:51:27;;-1:-1:-1;;;2146:51:27;;:126;;-1:-1:-1;;;;;;;2213:59:27;;-1:-1:-1;;;2213:59:27;2146:126;:178;;;;2288:36;2312:11;2288:23;:36::i;9349:537:59:-;9451:20;9485:19;9518:27;9575:9;9570:278;9594:11;:18;9590:22;;9570:278;;;9666:11;9678:1;9666:14;;;;;;;;:::i;:::-;;;;;;;;;;;:27;;;9654:8;:39;;:96;;;;;9725:11;9737:1;9725:14;;;;;;;;:::i;:::-;;;;;;;;;;;:25;;;9713:8;:37;;9654:96;9633:205;;;9791:4;9797:1;9800:11;9812:1;9800:14;;;;;;;;:::i;:::-;;;;;;;;;;;:22;;9783:40;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9633:205;9614:3;;;;:::i;:::-;;;;9570:278;;;-1:-1:-1;;9858:21:59;;;;;;;;;9866:5;9858:21;;;9866:5;-1:-1:-1;9866:5:59;;-1:-1:-1;9349:537:59;;;;;;:::o;8011:201::-;8086:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;8086:29:59;-1:-1:-1;;;;;8086:29:59;;;;;;;;:24;;8139:34;8086:24;8139:25;:34::i;:::-;-1:-1:-1;;;;;8130:57:59;;;;;;;;;;;8011:201;;:::o;7561:338::-;7705:4;7725:13;7741:17;7749:8;7741:7;:17::i;:::-;7725:33;;7788:5;-1:-1:-1;;;;;7776:17:59;:8;-1:-1:-1;;;;;7776:17:59;;:66;;;;7834:8;-1:-1:-1;;;;;7809:33:59;:21;7821:8;7809:11;:21::i;:::-;-1:-1:-1;;;;;7809:33:59;;7776:66;:115;;;-1:-1:-1;;;;;;5094:25:27;;;5071:4;5094:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7858:33:59;7768:124;7561:338;-1:-1:-1;;;;7561:338:59:o;8755:473::-;8894:8;8906:1;8894:13;8886:22;;;;;;8920:19;8947:24;8962:8;8947:14;:24::i;:::-;8919:52;;;;8999:14;:66;;;;-1:-1:-1;7696:4:27;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:27;:30;8999:66:59;:105;;;;-1:-1:-1;9082:22:59;;;;:12;:22;;;;;;;;9081:23;8999:105;8982:180;;;9129:22;9135:5;9142:8;9129:5;:22::i;:::-;9172:49;9200:5;9207:3;9212:8;9172:27;:49::i;3461:96:38:-;3519:7;3545:5;3549:1;3545;:5;:::i;3846:96::-;3904:7;3930:5;3934:1;3930;:5;:::i;1418:115:72:-;1492:22;:34;;-1:-1:-1;;;;;;1492:34:72;-1:-1:-1;;;;;1492:34:72;;;;;;;;;;1418:115::o;801:241:30:-;917:41;929:10:33;936:12:30;850:96:33;917:41:30;909:102;;;;-1:-1:-1;;;909:102:30;;17544:2:77;909:102:30;;;17526:21:77;17583:2;17563:18;;;17556:30;17622:34;17602:18;;;17595:62;-1:-1:-1;;;17673:18:77;;;17666:46;17729:19;;909:102:30;17342:412:77;909:102:30;1021:14;1027:7;1021:5;:14::i;5156:624:59:-;5347:7;5366:26;:14;1043:19:34;;1061:1;1043:19;;;956:123;5366:26:59;5402:15;5420:24;:14;929::34;;838:112;5420:24:59;5402:42;;5473:9;;5462:7;:20;;5454:65;;;;-1:-1:-1;;;5454:65:59;;17961:2:77;5454:65:59;;;17943:21:77;;;17980:18;;;17973:30;18039:34;18019:18;;;18012:62;18091:18;;5454:65:59;17759:356:77;5454:65:59;5529:23;5539:3;5544:7;5529:9;:23::i;:::-;5562:19;;;;:10;:19;;;;;:26;5584:4;5562:19;:26;:::i;:::-;-1:-1:-1;5109:23:59;;;;:13;:23;;;;;:34;;-1:-1:-1;;;;;;5109:34:59;-1:-1:-1;;;;;5109:34:59;;;;;1794:28:72;;;;:18;:28;;;;;:42;;;1639:26;;;;:16;:26;;;;;:41;;-1:-1:-1;;;;;;1639:41:72;-1:-1:-1;;;;;1639:41:72;;;;;5703:46:59;5766:7;5156:624;-1:-1:-1;;;;;;5156:624:59:o;5287:808:19:-;5351:4;5684:13;;;;;;;5680:409;;;5738:7;:12;;5749:1;5738:12;:61;;;;-1:-1:-1;5793:4:19;1476:19:32;:23;5738:61:19;5713:166;;;;-1:-1:-1;;;5713:166:19;;;;;;;:::i;:::-;-1:-1:-1;5900:5:19;;5287:808;-1:-1:-1;5287:808:19:o;5680:409::-;5944:12;;:22;;;;:12;;:22;5936:81;;;;-1:-1:-1;;;5936:81:19;;;;;;;:::i;:::-;-1:-1:-1;6031:12:19;:22;;-1:-1:-1;;6031:22:19;;;;;;;;;;;;-1:-1:-1;;5287:808:19:o;5680:409::-;5287:808;;;:::o;988:95:18:-;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;:::-;1050:26:18::1;:24;:26::i;1605:149:27:-:0;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;:::-;1708:39:27::1;1732:5;1739:7;1708:23;:39::i;862:58:36:-:0;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;755:85:72:-;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;:::-;818:15:72::1;:13;:15::i;2651:235:27:-:0;2723:7;2758:16;;;:7;:16;;;;;;-1:-1:-1;;;;;2758:16:27;;2784:73;;;;-1:-1:-1;;;2784:73:27;;19149:2:77;2784:73:27;;;19131:21:77;19188:2;19168:18;;;19161:30;19227:34;19207:18;;;19200:62;-1:-1:-1;;;19278:18:77;;;19271:39;19327:19;;2784:73:27;18947:405:77;2510:187:18;2602:6;;;-1:-1:-1;;;;;2618:17:18;;;-1:-1:-1;;;;;;2618:17:18;;;;;;;2650:40;;2602:6;;;2618:17;2602:6;;2650:40;;2583:16;;2650:40;2573:124;2510:187;:::o;11990:307:27:-;12140:8;-1:-1:-1;;;;;12131:17:27;:5;-1:-1:-1;;;;;12131:17:27;;12123:55;;;;-1:-1:-1;;;12123:55:27;;19559:2:77;12123:55:27;;;19541:21:77;19598:2;19578:18;;;19571:30;19637:27;19617:18;;;19610:55;19682:18;;12123:55:27;19357:349:77;12123:55:27;-1:-1:-1;;;;;12188:25:27;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;12188:46:27;;;;;;;;;;12249:41;;540::77;;;12249::27;;513:18:77;12249:41:27;;;;;;;11990:307;;;:::o;7021:::-;7172:28;7182:4;7188:2;7192:7;7172:9;:28::i;:::-;7218:48;7241:4;7247:2;7251:7;7260:5;7218:22;:48::i;:::-;7210:111;;;;-1:-1:-1;;;7210:111:27;;;;;;;:::i;339:703:35:-;395:13;612:5;621:1;612:10;608:51;;-1:-1:-1;;638:10:35;;;;;;;;;;;;-1:-1:-1;;;638:10:35;;;;;339:703::o;608:51::-;683:5;668:12;722:75;729:9;;722:75;;754:8;;;;:::i;:::-;;-1:-1:-1;776:10:35;;-1:-1:-1;784:2:35;776:10;;:::i;:::-;;;722:75;;;806:19;838:6;828:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;828:17:35;;806:39;;855:150;862:10;;855:150;;888:11;898:1;888:11;;:::i;:::-;;-1:-1:-1;956:10:35;964:2;956:5;:10;:::i;:::-;943:24;;:2;:24;:::i;:::-;930:39;;913:6;920;913:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;913:56:35;;;;;;;;-1:-1:-1;983:11:35;992:2;983:11;;:::i;:::-;;;855:150;;9561:427:27;-1:-1:-1;;;;;9640:16:27;;9632:61;;;;-1:-1:-1;;;9632:61:27;;20449:2:77;9632:61:27;;;20431:21:77;;;20468:18;;;20461:30;20527:34;20507:18;;;20500:62;20579:18;;9632:61:27;20247:356:77;9632:61:27;7696:4;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:27;:30;9703:58;;;;-1:-1:-1;;;9703:58:27;;20810:2:77;9703:58:27;;;20792:21:77;20849:2;20829:18;;;20822:30;20888;20868:18;;;20861:58;20936:18;;9703:58:27;20608:352:77;9703:58:27;-1:-1:-1;;;;;9828:13:27;;;;;;:9;:13;;;;;:18;;9845:1;;9828:13;:18;;9845:1;;9828:18;:::i;:::-;;;;-1:-1:-1;;9856:16:27;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9856:21:27;-1:-1:-1;;;;;9856:21:27;;;;;;;;9893:33;;9856:16;;;9893:33;;9856:16;;9893:33;4170:261:59;4114:317;:::o;10946:616:27:-;11111:4;-1:-1:-1;;;;;11073:42:27;:34;11099:7;11073:25;:34::i;:::-;-1:-1:-1;;;;;11073:42:27;;11065:92;;;;-1:-1:-1;;;11065:92:27;;21167:2:77;11065:92:27;;;21149:21:77;21206:2;21186:18;;;21179:30;21245:34;21225:18;;;21218:62;-1:-1:-1;;;21296:18:77;;;21289:35;21341:19;;11065:92:27;20965:401:77;11065:92:27;-1:-1:-1;;;;;11175:16:27;;11167:65;;;;-1:-1:-1;;;11167:65:27;;21573:2:77;11167:65:27;;;21555:21:77;21612:2;21592:18;;;21585:30;21651:34;21631:18;;;21624:62;-1:-1:-1;;;21702:18:77;;;21695:34;21746:19;;11167:65:27;21371:400:77;11167:65:27;11344:29;11361:1;11365:7;11344:8;:29::i;:::-;-1:-1:-1;;;;;11384:15:27;;;;;;:9;:15;;;;;:20;;11403:1;;11384:15;:20;;11403:1;;11384:20;:::i;:::-;;;;-1:-1:-1;;;;;;;11414:13:27;;;;;;:9;:13;;;;;:18;;11431:1;;11414:13;:18;;11431:1;;11414:18;:::i;:::-;;;;-1:-1:-1;;11442:16:27;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;11442:21:27;-1:-1:-1;;;;;11442:21:27;;;;;;;;;11479:27;;11442:16;;11479:27;;;;;;;7231:324:59;7161:394;;:::o;10205:417:27:-;10264:13;10280:34;10306:7;10280:25;:34::i;:::-;10264:50;;10411:29;10428:1;10432:7;10411:8;:29::i;:::-;-1:-1:-1;;;;;10451:16:27;;;;;;:9;:16;;;;;:21;;10471:1;;10451:16;:21;;10471:1;;10451:21;:::i;:::-;;;;-1:-1:-1;;10489:16:27;;;;:7;:16;;;;;;10482:23;;-1:-1:-1;;;;;;10482:23:27;;;10521:36;10497:7;;10489:16;-1:-1:-1;;;;;10521:36:27;;;;;10489:16;;10521:36;4170:261:59;4114:317;:::o;8599:108:27:-;8674:26;8684:2;8688:7;8674:26;;;;;;;;;;;;:9;:26::i;1089:111:18:-;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;:::-;1161:32:18::1;929:10:33::0;1161:18:18::1;:32::i;1760:160:27:-:0;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;:::-;1873:5:27::1;:13;1881:5:::0;1873;:13:::1;:::i;:::-;-1:-1:-1::0;1896:7:27::1;:17;1906:7:::0;1896;:17:::1;:::i;12850:800::-:0;13000:4;-1:-1:-1;;;;;13020:13:27;;1476:19:32;:23;13016:628:27;;13055:83;;-1:-1:-1;;;13055:83:27;;-1:-1:-1;;;;;13055:47:27;;;;;:83;;929:10:33;;13117:4:27;;13123:7;;13132:5;;13055:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13055:83:27;;;;;;;;-1:-1:-1;;13055:83:27;;;;;;;;;;;;:::i;:::-;;;13051:541;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13316:6;:13;13333:1;13316:18;13312:266;;13358:60;;-1:-1:-1;;;13358:60:27;;;;;;;:::i;13312:266::-;13530:6;13524:13;13515:6;13511:2;13507:15;13500:38;13051:541;-1:-1:-1;;;;;;13188:62:27;-1:-1:-1;;;13188:62:27;;-1:-1:-1;13181:69:27;;13016:628;-1:-1:-1;13629:4:27;12850:800;;;;;;:::o;8928:311::-;9053:18;9059:2;9063:7;9053:5;:18::i;:::-;9102:54;9133:1;9137:2;9141:7;9150:5;9102:22;:54::i;:::-;9081:151;;;;-1:-1:-1;;;9081:151:27;;;;;;;:::i;14:131:77:-;-1:-1:-1;;;;;;88:32:77;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:258::-;664:1;674:113;688:6;685:1;682:13;674:113;;;764:11;;;758:18;745:11;;;738:39;710:2;703:10;674:113;;;805:6;802:1;799:13;796:48;;;-1:-1:-1;;840:1:77;822:16;;815:27;592:258::o;855:::-;897:3;935:5;929:12;962:6;957:3;950:19;978:63;1034:6;1027:4;1022:3;1018:14;1011:4;1004:5;1000:16;978:63;:::i;:::-;1095:2;1074:15;-1:-1:-1;;1070:29:77;1061:39;;;;1102:4;1057:50;;855:258;-1:-1:-1;;855:258:77:o;1118:220::-;1267:2;1256:9;1249:21;1230:4;1287:45;1328:2;1317:9;1313:18;1305:6;1287:45;:::i;1343:180::-;1402:6;1455:2;1443:9;1434:7;1430:23;1426:32;1423:52;;;1471:1;1468;1461:12;1423:52;-1:-1:-1;1494:23:77;;1343:180;-1:-1:-1;1343:180:77:o;1736:173::-;1804:20;;-1:-1:-1;;;;;1853:31:77;;1843:42;;1833:70;;1899:1;1896;1889:12;1914:254;1982:6;1990;2043:2;2031:9;2022:7;2018:23;2014:32;2011:52;;;2059:1;2056;2049:12;2011:52;2082:29;2101:9;2082:29;:::i;:::-;2072:39;2158:2;2143:18;;;;2130:32;;-1:-1:-1;;;1914:254:77:o;2355:328::-;2432:6;2440;2448;2501:2;2489:9;2480:7;2476:23;2472:32;2469:52;;;2517:1;2514;2507:12;2469:52;2540:29;2559:9;2540:29;:::i;:::-;2530:39;;2588:38;2622:2;2611:9;2607:18;2588:38;:::i;:::-;2578:48;;2673:2;2662:9;2658:18;2645:32;2635:42;;2355:328;;;;;:::o;2688:248::-;2756:6;2764;2817:2;2805:9;2796:7;2792:23;2788:32;2785:52;;;2833:1;2830;2823:12;2785:52;-1:-1:-1;;2856:23:77;;;2926:2;2911:18;;;2898:32;;-1:-1:-1;2688:248:77:o;3220:186::-;3279:6;3332:2;3320:9;3311:7;3307:23;3303:32;3300:52;;;3348:1;3345;3338:12;3300:52;3371:29;3390:9;3371:29;:::i;3635:348::-;3687:8;3697:6;3751:3;3744:4;3736:6;3732:17;3728:27;3718:55;;3769:1;3766;3759:12;3718:55;-1:-1:-1;3792:20:77;;3835:18;3824:30;;3821:50;;;3867:1;3864;3857:12;3821:50;3904:4;3896:6;3892:17;3880:29;;3956:3;3949:4;3940:6;3932;3928:19;3924:30;3921:39;3918:59;;;3973:1;3970;3963:12;3918:59;3635:348;;;;;:::o;3988:559::-;4077:6;4085;4093;4101;4154:2;4142:9;4133:7;4129:23;4125:32;4122:52;;;4170:1;4167;4160:12;4122:52;4210:9;4197:23;4243:18;4235:6;4232:30;4229:50;;;4275:1;4272;4265:12;4229:50;4314:59;4365:7;4356:6;4345:9;4341:22;4314:59;:::i;:::-;4392:8;;-1:-1:-1;4288:85:77;-1:-1:-1;4446:38:77;;-1:-1:-1;4480:2:77;4465:18;;4446:38;:::i;:::-;4436:48;;4503:38;4537:2;4526:9;4522:18;4503:38;:::i;:::-;4493:48;;3988:559;;;;;;;:::o;4552:864::-;4662:6;4670;4678;4686;4694;4702;4755:3;4743:9;4734:7;4730:23;4726:33;4723:53;;;4772:1;4769;4762:12;4723:53;4812:9;4799:23;4841:18;4882:2;4874:6;4871:14;4868:34;;;4898:1;4895;4888:12;4868:34;4937:59;4988:7;4979:6;4968:9;4964:22;4937:59;:::i;:::-;5015:8;;-1:-1:-1;4911:85:77;-1:-1:-1;5103:2:77;5088:18;;5075:32;;-1:-1:-1;5119:16:77;;;5116:36;;;5148:1;5145;5138:12;5116:36;;5187:61;5240:7;5229:8;5218:9;5214:24;5187:61;:::i;:::-;5267:8;;-1:-1:-1;5161:87:77;-1:-1:-1;5321:38:77;;-1:-1:-1;5355:2:77;5340:18;;5321:38;:::i;:::-;5311:48;;5406:2;5395:9;5391:18;5378:32;5368:42;;4552:864;;;;;;;;:::o;5421:479::-;5501:6;5509;5517;5570:2;5558:9;5549:7;5545:23;5541:32;5538:52;;;5586:1;5583;5576:12;5538:52;5626:9;5613:23;5659:18;5651:6;5648:30;5645:50;;;5691:1;5688;5681:12;5645:50;5730:59;5781:7;5772:6;5761:9;5757:22;5730:59;:::i;:::-;5808:8;;5704:85;;-1:-1:-1;5890:2:77;5875:18;;;;5862:32;;5421:479;-1:-1:-1;;;;5421:479:77:o;5905:347::-;5970:6;5978;6031:2;6019:9;6010:7;6006:23;6002:32;5999:52;;;6047:1;6044;6037:12;5999:52;6070:29;6089:9;6070:29;:::i;:::-;6060:39;;6149:2;6138:9;6134:18;6121:32;6196:5;6189:13;6182:21;6175:5;6172:32;6162:60;;6218:1;6215;6208:12;6162:60;6241:5;6231:15;;;5905:347;;;;;:::o;6257:127::-;6318:10;6313:3;6309:20;6306:1;6299:31;6349:4;6346:1;6339:15;6373:4;6370:1;6363:15;6389:631;6453:5;6483:18;6524:2;6516:6;6513:14;6510:40;;;6530:18;;:::i;:::-;6605:2;6599:9;6573:2;6659:15;;-1:-1:-1;;6655:24:77;;;6681:2;6651:33;6647:42;6635:55;;;6705:18;;;6725:22;;;6702:46;6699:72;;;6751:18;;:::i;:::-;6791:10;6787:2;6780:22;6820:6;6811:15;;6850:6;6842;6835:22;6890:3;6881:6;6876:3;6872:16;6869:25;6866:45;;;6907:1;6904;6897:12;6866:45;6957:6;6952:3;6945:4;6937:6;6933:17;6920:44;7012:1;7005:4;6996:6;6988;6984:19;6980:30;6973:41;;;;6389:631;;;;;:::o;7025:666::-;7120:6;7128;7136;7144;7197:3;7185:9;7176:7;7172:23;7168:33;7165:53;;;7214:1;7211;7204:12;7165:53;7237:29;7256:9;7237:29;:::i;:::-;7227:39;;7285:38;7319:2;7308:9;7304:18;7285:38;:::i;:::-;7275:48;;7370:2;7359:9;7355:18;7342:32;7332:42;;7425:2;7414:9;7410:18;7397:32;7452:18;7444:6;7441:30;7438:50;;;7484:1;7481;7474:12;7438:50;7507:22;;7560:4;7552:13;;7548:27;-1:-1:-1;7538:55:77;;7589:1;7586;7579:12;7538:55;7612:73;7677:7;7672:2;7659:16;7654:2;7650;7646:11;7612:73;:::i;:::-;7602:83;;;7025:666;;;;;;;:::o;7696:450::-;7765:6;7818:2;7806:9;7797:7;7793:23;7789:32;7786:52;;;7834:1;7831;7824:12;7786:52;7874:9;7861:23;7907:18;7899:6;7896:30;7893:50;;;7939:1;7936;7929:12;7893:50;7962:22;;8015:4;8007:13;;8003:27;-1:-1:-1;7993:55:77;;8044:1;8041;8034:12;7993:55;8067:73;8132:7;8127:2;8114:16;8109:2;8105;8101:11;8067:73;:::i;8151:260::-;8219:6;8227;8280:2;8268:9;8259:7;8255:23;8251:32;8248:52;;;8296:1;8293;8286:12;8248:52;8319:29;8338:9;8319:29;:::i;:::-;8309:39;;8367:38;8401:2;8390:9;8386:18;8367:38;:::i;8416:380::-;8495:1;8491:12;;;;8538;;;8559:61;;8613:4;8605:6;8601:17;8591:27;;8559:61;8666:2;8658:6;8655:14;8635:18;8632:38;8629:161;;8712:10;8707:3;8703:20;8700:1;8693:31;8747:4;8744:1;8737:15;8775:4;8772:1;8765:15;10041:413;10243:2;10225:21;;;10282:2;10262:18;;;10255:30;10321:34;10316:2;10301:18;;10294:62;-1:-1:-1;;;10387:2:77;10372:18;;10365:47;10444:3;10429:19;;10041:413::o;10459:356::-;10661:2;10643:21;;;10680:18;;;10673:30;10739:34;10734:2;10719:18;;10712:62;10806:2;10791:18;;10459:356::o;10820:354::-;11022:2;11004:21;;;11061:2;11041:18;;;11034:30;11100:32;11095:2;11080:18;;11073:60;11165:2;11150:18;;10820:354::o;12499:127::-;12560:10;12555:3;12551:20;12548:1;12541:31;12591:4;12588:1;12581:15;12615:4;12612:1;12605:15;12631:128;12671:3;12702:1;12698:6;12695:1;12692:13;12689:39;;;12708:18;;:::i;:::-;-1:-1:-1;12744:9:77;;12631:128::o;12764:125::-;12804:4;12832:1;12829;12826:8;12823:34;;;12837:18;;:::i;:::-;-1:-1:-1;12874:9:77;;12764:125::o;13378:545::-;13480:2;13475:3;13472:11;13469:448;;;13516:1;13541:5;13537:2;13530:17;13586:4;13582:2;13572:19;13656:2;13644:10;13640:19;13637:1;13633:27;13627:4;13623:38;13692:4;13680:10;13677:20;13674:47;;;-1:-1:-1;13715:4:77;13674:47;13770:2;13765:3;13761:12;13758:1;13754:20;13748:4;13744:31;13734:41;;13825:82;13843:2;13836:5;13833:13;13825:82;;;13888:17;;;13869:1;13858:13;13825:82;;;13829:3;;;13378:545;;;:::o;14099:1352::-;14225:3;14219:10;14252:18;14244:6;14241:30;14238:56;;;14274:18;;:::i;:::-;14303:97;14393:6;14353:38;14385:4;14379:11;14353:38;:::i;:::-;14347:4;14303:97;:::i;:::-;14455:4;;14519:2;14508:14;;14536:1;14531:663;;;;15238:1;15255:6;15252:89;;;-1:-1:-1;15307:19:77;;;15301:26;15252:89;-1:-1:-1;;14056:1:77;14052:11;;;14048:24;14044:29;14034:40;14080:1;14076:11;;;14031:57;15354:81;;14501:944;;14531:663;13325:1;13318:14;;;13362:4;13349:18;;-1:-1:-1;;14567:20:77;;;14685:236;14699:7;14696:1;14693:14;14685:236;;;14788:19;;;14782:26;14767:42;;14880:27;;;;14848:1;14836:14;;;;14715:19;;14685:236;;;14689:3;14949:6;14940:7;14937:19;14934:201;;;15010:19;;;15004:26;-1:-1:-1;;15093:1:77;15089:14;;;15105:3;15085:24;15081:37;15077:42;15062:58;15047:74;;14934:201;-1:-1:-1;;;;;15181:1:77;15165:14;;;15161:22;15148:36;;-1:-1:-1;14099:1352:77:o;15456:772::-;15837:3;15875:6;15869:13;15891:53;15937:6;15932:3;15925:4;15917:6;15913:17;15891:53;:::i;:::-;-1:-1:-1;;;15966:16:77;;;15991:18;;;16034:13;;16056:65;16034:13;16108:1;16097:13;;16090:4;16078:17;;16056:65;:::i;:::-;-1:-1:-1;;;16184:1:77;16140:20;;;;16176:10;;;16169:27;16220:1;16212:10;;15456:772;-1:-1:-1;;;;15456:772:77:o;16640:127::-;16701:10;16696:3;16692:20;16689:1;16682:31;16732:4;16729:1;16722:15;16756:4;16753:1;16746:15;16772:135;16811:3;16832:17;;;16829:43;;16852:18;;:::i;:::-;-1:-1:-1;16899:1:77;16888:13;;16772:135::o;16912:168::-;16952:7;17018:1;17014;17010:6;17006:14;17003:1;17000:21;16995:1;16988:9;16981:17;16977:45;16974:71;;;17025:18;;:::i;:::-;-1:-1:-1;17065:9:77;;16912:168::o;17085:127::-;17146:10;17141:3;17137:20;17134:1;17127:31;17177:4;17174:1;17167:15;17201:4;17198:1;17191:15;17217:120;17257:1;17283;17273:35;;17288:18;;:::i;:::-;-1:-1:-1;17322:9:77;;17217:120::o;18120:410::-;18322:2;18304:21;;;18361:2;18341:18;;;18334:30;18400:34;18395:2;18380:18;;18373:62;-1:-1:-1;;;18466:2:77;18451:18;;18444:44;18520:3;18505:19;;18120:410::o;18535:407::-;18737:2;18719:21;;;18776:2;18756:18;;;18749:30;18815:34;18810:2;18795:18;;18788:62;-1:-1:-1;;;18881:2:77;18866:18;;18859:41;18932:3;18917:19;;18535:407::o;19711:414::-;19913:2;19895:21;;;19952:2;19932:18;;;19925:30;19991:34;19986:2;19971:18;;19964:62;-1:-1:-1;;;20057:2:77;20042:18;;20035:48;20115:3;20100:19;;19711:414::o;20130:112::-;20162:1;20188;20178:35;;20193:18;;:::i;:::-;-1:-1:-1;20227:9:77;;20130:112::o;21776:489::-;-1:-1:-1;;;;;22045:15:77;;;22027:34;;22097:15;;22092:2;22077:18;;22070:43;22144:2;22129:18;;22122:34;;;22192:3;22187:2;22172:18;;22165:31;;;21970:4;;22213:46;;22239:19;;22231:6;22213:46;:::i;22270:249::-;22339:6;22392:2;22380:9;22371:7;22367:23;22363:32;22360:52;;;22408:1;22405;22398:12;22360:52;22440:9;22434:16;22459:30;22483:5;22459:30;:::i", "linkReferences": {} }, "methodIdentifiers": { @@ -1500,16 +1500,16 @@ }, "settings": { "remappings": [ - ":aux/=lib/aux/", - ":ds-test/=lib/ds-test/src/", - ":erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - ":forge-std/=lib/forge-std/src/", - ":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", - ":openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", - ":rareprotocol/aux/=lib/aux/src/", - ":royalty-guard/=lib/royalty-guard/src/royalty-guard/", - ":solmate/=lib/royalty-guard/lib/solmate/src/" + "aux/=lib/aux/", + "ds-test/=lib/ds-test/src/", + "erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", + "openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", + "rareprotocol/aux/=lib/aux/src/", + "royalty-guard/=lib/royalty-guard/src/royalty-guard/", + "solmate/=lib/royalty-guard/lib/solmate/src/" ], "optimizer": { "enabled": true, @@ -1673,164 +1673,204 @@ }, "ast": { "absolutePath": "src/token/ERC721/sovereign/SovereignNFT.sol", - "id": 8728, + "id": 32903, "exportedSymbols": { - "AddressUpgradeable": [3429], - "ContextUpgradeable": [3471], - "CountersUpgradeable": [3545], - "ERC165Upgradeable": [3792], - "ERC2981Upgradeable": [10393], - "ERC721BurnableUpgradeable": [3159], - "ERC721Upgradeable": [2975], - "IERC165Upgradeable": [3804], - "IERC2981": [10409], - "IERC721MetadataUpgradeable": [3186], - "IERC721ReceiverUpgradeable": [2993], - "IERC721Upgradeable": [3109], - "ITokenCreator": [10419], - "Initializable": [955], - "OwnableUpgradeable": [813], - "SafeMathUpgradeable": [4116], - "SovereignNFT": [8727], - "StringsUpgradeable": [3748] + "AddressUpgradeable": [ + 27536 + ], + "ContextUpgradeable": [ + 27578 + ], + "CountersUpgradeable": [ + 27652 + ], + "ERC165Upgradeable": [ + 27899 + ], + "ERC2981Upgradeable": [ + 35531 + ], + "ERC721BurnableUpgradeable": [ + 27266 + ], + "ERC721Upgradeable": [ + 27082 + ], + "IERC165Upgradeable": [ + 27911 + ], + "IERC2981": [ + 35547 + ], + "IERC721MetadataUpgradeable": [ + 27293 + ], + "IERC721ReceiverUpgradeable": [ + 27100 + ], + "IERC721Upgradeable": [ + 27216 + ], + "ITokenCreator": [ + 35557 + ], + "Initializable": [ + 25062 + ], + "OwnableUpgradeable": [ + 24920 + ], + "SafeMathUpgradeable": [ + 28223 + ], + "SovereignNFT": [ + 32902 + ], + "StringsUpgradeable": [ + 27855 + ] }, "nodeType": "SourceUnit", - "src": "85:10339:45", + "src": "85:10339:59", "nodes": [ { - "id": 7884, + "id": 32059, "nodeType": "PragmaDirective", - "src": "85:23:45", + "src": "85:23:59", "nodes": [], - "literals": ["solidity", "0.8", ".15"] + "literals": [ + "solidity", + "0.8", + ".15" + ] }, { - "id": 7885, + "id": 32060, "nodeType": "ImportDirective", - "src": "110:79:45", + "src": "110:79:59", "nodes": [], "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol", "file": "openzeppelin-contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol", "nameLocation": "-1:-1:-1", - "scope": 8728, - "sourceUnit": 2976, + "scope": 32903, + "sourceUnit": 27083, "symbolAliases": [], "unitAlias": "" }, { - "id": 7886, + "id": 32061, "nodeType": "ImportDirective", - "src": "190:98:45", + "src": "190:98:59", "nodes": [], "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol", "file": "openzeppelin-contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol", "nameLocation": "-1:-1:-1", - "scope": 8728, - "sourceUnit": 3160, + "scope": 32903, + "sourceUnit": 27267, "symbolAliases": [], "unitAlias": "" }, { - "id": 7887, + "id": 32062, "nodeType": "ImportDirective", - "src": "289:86:45", + "src": "289:86:59", "nodes": [], "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", "file": "openzeppelin-contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol", "nameLocation": "-1:-1:-1", - "scope": 8728, - "sourceUnit": 3793, + "scope": 32903, + "sourceUnit": 27900, "symbolAliases": [], "unitAlias": "" }, { - "id": 7888, + "id": 32063, "nodeType": "ImportDirective", - "src": "376:74:45", + "src": "376:74:59", "nodes": [], "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", "file": "openzeppelin-contracts-upgradeable/access/OwnableUpgradeable.sol", "nameLocation": "-1:-1:-1", - "scope": 8728, - "sourceUnit": 814, + "scope": 32903, + "sourceUnit": 24921, "symbolAliases": [], "unitAlias": "" }, { - "id": 7889, + "id": 32064, "nodeType": "ImportDirective", - "src": "451:74:45", + "src": "451:74:59", "nodes": [], "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol", "file": "openzeppelin-contracts-upgradeable/utils/CountersUpgradeable.sol", "nameLocation": "-1:-1:-1", - "scope": 8728, - "sourceUnit": 3546, + "scope": 32903, + "sourceUnit": 27653, "symbolAliases": [], "unitAlias": "" }, { - "id": 7890, + "id": 32065, "nodeType": "ImportDirective", - "src": "526:79:45", + "src": "526:79:59", "nodes": [], "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol", "file": "openzeppelin-contracts-upgradeable/utils/math/SafeMathUpgradeable.sol", "nameLocation": "-1:-1:-1", - "scope": 8728, - "sourceUnit": 4117, + "scope": 32903, + "sourceUnit": 28224, "symbolAliases": [], "unitAlias": "" }, { - "id": 7891, + "id": 32066, "nodeType": "ImportDirective", - "src": "606:44:45", + "src": "606:44:59", "nodes": [], "absolutePath": "src/token/extensions/ITokenCreator.sol", "file": "../../extensions/ITokenCreator.sol", "nameLocation": "-1:-1:-1", - "scope": 8728, - "sourceUnit": 10420, + "scope": 32903, + "sourceUnit": 35558, "symbolAliases": [], "unitAlias": "" }, { - "id": 7892, + "id": 32067, "nodeType": "ImportDirective", - "src": "651:49:45", + "src": "651:49:59", "nodes": [], "absolutePath": "src/token/extensions/ERC2981Upgradeable.sol", "file": "../../extensions/ERC2981Upgradeable.sol", "nameLocation": "-1:-1:-1", - "scope": 8728, - "sourceUnit": 10394, + "scope": 32903, + "sourceUnit": 35532, "symbolAliases": [], "unitAlias": "" }, { - "id": 8727, + "id": 32902, "nodeType": "ContractDefinition", - "src": "702:9721:45", + "src": "702:9721:59", "nodes": [ { - "id": 7907, + "id": 32082, "nodeType": "UsingForDirective", - "src": "876:38:45", + "src": "876:38:59", "nodes": [], "global": false, "libraryName": { - "id": 7905, + "id": 32080, "name": "SafeMathUpgradeable", "nodeType": "IdentifierPath", - "referencedDeclaration": 4116, - "src": "882:19:45" + "referencedDeclaration": 28223, + "src": "882:19:59" }, "typeName": { - "id": 7906, + "id": 32081, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "906:7:45", + "src": "906:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1838,23 +1878,23 @@ } }, { - "id": 7910, + "id": 32085, "nodeType": "UsingForDirective", - "src": "919:37:45", + "src": "919:37:59", "nodes": [], "global": false, "libraryName": { - "id": 7908, + "id": 32083, "name": "StringsUpgradeable", "nodeType": "IdentifierPath", - "referencedDeclaration": 3748, - "src": "925:18:45" + "referencedDeclaration": 27855, + "src": "925:18:59" }, "typeName": { - "id": 7909, + "id": 32084, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "948:7:45", + "src": "948:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1862,52 +1902,52 @@ } }, { - "id": 7914, + "id": 32089, "nodeType": "UsingForDirective", - "src": "961:58:45", + "src": "961:58:59", "nodes": [], "global": false, "libraryName": { - "id": 7911, + "id": 32086, "name": "CountersUpgradeable", "nodeType": "IdentifierPath", - "referencedDeclaration": 3545, - "src": "967:19:45" + "referencedDeclaration": 27652, + "src": "967:19:59" }, "typeName": { - "id": 7913, + "id": 32088, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 7912, + "id": 32087, "name": "CountersUpgradeable.Counter", "nodeType": "IdentifierPath", - "referencedDeclaration": 3477, - "src": "991:27:45" + "referencedDeclaration": 27584, + "src": "991:27:59" }, - "referencedDeclaration": 3477, - "src": "991:27:45", + "referencedDeclaration": 27584, + "src": "991:27:59", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$3477_storage_ptr", + "typeIdentifier": "t_struct$_Counter_$27584_storage_ptr", "typeString": "struct CountersUpgradeable.Counter" } } }, { - "id": 7921, + "id": 32096, "nodeType": "StructDefinition", - "src": "1025:106:45", + "src": "1025:106:59", "nodes": [], "canonicalName": "SovereignNFT.MintBatch", "members": [ { "constant": false, - "id": 7916, + "id": 32091, "mutability": "mutable", "name": "startTokenId", - "nameLocation": "1060:12:45", + "nameLocation": "1060:12:59", "nodeType": "VariableDeclaration", - "scope": 7921, - "src": "1052:20:45", + "scope": 32096, + "src": "1052:20:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1915,10 +1955,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7915, + "id": 32090, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1052:7:45", + "src": "1052:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1928,13 +1968,13 @@ }, { "constant": false, - "id": 7918, + "id": 32093, "mutability": "mutable", "name": "endTokenId", - "nameLocation": "1090:10:45", + "nameLocation": "1090:10:59", "nodeType": "VariableDeclaration", - "scope": 7921, - "src": "1082:18:45", + "scope": 32096, + "src": "1082:18:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1942,10 +1982,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7917, + "id": 32092, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1082:7:45", + "src": "1082:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1955,13 +1995,13 @@ }, { "constant": false, - "id": 7920, + "id": 32095, "mutability": "mutable", "name": "baseURI", - "nameLocation": "1117:7:45", + "nameLocation": "1117:7:59", "nodeType": "VariableDeclaration", - "scope": 7921, - "src": "1110:14:45", + "scope": 32096, + "src": "1110:14:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1969,10 +2009,10 @@ "typeString": "string" }, "typeName": { - "id": 7919, + "id": 32094, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1110:6:45", + "src": "1110:6:59", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1982,21 +2022,21 @@ } ], "name": "MintBatch", - "nameLocation": "1032:9:45", - "scope": 8727, + "nameLocation": "1032:9:59", + "scope": 32902, "visibility": "public" }, { - "id": 7923, + "id": 32098, "nodeType": "VariableDeclaration", - "src": "1137:20:45", + "src": "1137:20:59", "nodes": [], "constant": false, "functionSelector": "ee070805", "mutability": "mutable", "name": "disabled", - "nameLocation": "1149:8:45", - "scope": 8727, + "nameLocation": "1149:8:59", + "scope": 32902, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2004,10 +2044,10 @@ "typeString": "bool" }, "typeName": { - "id": 7922, + "id": 32097, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1137:4:45", + "src": "1137:4:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2016,16 +2056,16 @@ "visibility": "public" }, { - "id": 7925, + "id": 32100, "nodeType": "VariableDeclaration", - "src": "1164:24:45", + "src": "1164:24:59", "nodes": [], "constant": false, "functionSelector": "e8315742", "mutability": "mutable", "name": "maxTokens", - "nameLocation": "1179:9:45", - "scope": 8727, + "nameLocation": "1179:9:59", + "scope": 32902, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2033,10 +2073,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7924, + "id": 32099, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1164:7:45", + "src": "1164:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2045,15 +2085,15 @@ "visibility": "public" }, { - "id": 7929, + "id": 32104, "nodeType": "VariableDeclaration", - "src": "1249:49:45", + "src": "1249:49:59", "nodes": [], "constant": false, "mutability": "mutable", "name": "tokenCreators", - "nameLocation": "1285:13:45", - "scope": 8727, + "nameLocation": "1285:13:59", + "scope": 32902, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2061,28 +2101,28 @@ "typeString": "mapping(uint256 => address)" }, "typeName": { - "id": 7928, + "id": 32103, "keyType": { - "id": 7926, + "id": 32101, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1257:7:45", + "src": "1257:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "1249:27:45", + "src": "1249:27:59", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" }, "valueType": { - "id": 7927, + "id": 32102, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1268:7:45", + "src": "1268:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2093,15 +2133,15 @@ "visibility": "private" }, { - "id": 7933, + "id": 32108, "nodeType": "VariableDeclaration", - "src": "1380:45:45", + "src": "1380:45:59", "nodes": [], "constant": false, "mutability": "mutable", "name": "tokensBurned", - "nameLocation": "1413:12:45", - "scope": 8727, + "nameLocation": "1413:12:59", + "scope": 32902, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2109,28 +2149,28 @@ "typeString": "mapping(uint256 => bool)" }, "typeName": { - "id": 7932, + "id": 32107, "keyType": { - "id": 7930, + "id": 32105, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1388:7:45", + "src": "1388:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "1380:24:45", + "src": "1380:24:59", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" }, "valueType": { - "id": 7931, + "id": 32106, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1399:4:45", + "src": "1399:4:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2140,15 +2180,15 @@ "visibility": "private" }, { - "id": 7937, + "id": 32112, "nodeType": "VariableDeclaration", - "src": "1481:51:45", + "src": "1481:51:59", "nodes": [], "constant": false, "mutability": "mutable", "name": "_tokenApprovals", - "nameLocation": "1517:15:45", - "scope": 8727, + "nameLocation": "1517:15:59", + "scope": 32902, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2156,28 +2196,28 @@ "typeString": "mapping(uint256 => address)" }, "typeName": { - "id": 7936, + "id": 32111, "keyType": { - "id": 7934, + "id": 32109, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1489:7:45", + "src": "1489:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "1481:27:45", + "src": "1481:27:59", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" }, "valueType": { - "id": 7935, + "id": 32110, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1500:7:45", + "src": "1500:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2188,94 +2228,94 @@ "visibility": "private" }, { - "id": 7940, + "id": 32115, "nodeType": "VariableDeclaration", - "src": "1593:50:45", + "src": "1593:50:59", "nodes": [], "constant": false, "mutability": "mutable", "name": "tokenIdCounter", - "nameLocation": "1629:14:45", - "scope": 8727, + "nameLocation": "1629:14:59", + "scope": 32902, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$3477_storage", + "typeIdentifier": "t_struct$_Counter_$27584_storage", "typeString": "struct CountersUpgradeable.Counter" }, "typeName": { - "id": 7939, + "id": 32114, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 7938, + "id": 32113, "name": "CountersUpgradeable.Counter", "nodeType": "IdentifierPath", - "referencedDeclaration": 3477, - "src": "1593:27:45" + "referencedDeclaration": 27584, + "src": "1593:27:59" }, - "referencedDeclaration": 3477, - "src": "1593:27:45", + "referencedDeclaration": 27584, + "src": "1593:27:59", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$3477_storage_ptr", + "typeIdentifier": "t_struct$_Counter_$27584_storage_ptr", "typeString": "struct CountersUpgradeable.Counter" } }, "visibility": "private" }, { - "id": 7944, + "id": 32119, "nodeType": "VariableDeclaration", - "src": "1650:31:45", + "src": "1650:31:59", "nodes": [], "constant": false, "mutability": "mutable", "name": "mintBatches", - "nameLocation": "1670:11:45", - "scope": 8727, + "nameLocation": "1670:11:59", + "scope": 32902, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MintBatch_$7921_storage_$dyn_storage", + "typeIdentifier": "t_array$_t_struct$_MintBatch_$32096_storage_$dyn_storage", "typeString": "struct SovereignNFT.MintBatch[]" }, "typeName": { "baseType": { - "id": 7942, + "id": 32117, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 7941, + "id": 32116, "name": "MintBatch", "nodeType": "IdentifierPath", - "referencedDeclaration": 7921, - "src": "1650:9:45" + "referencedDeclaration": 32096, + "src": "1650:9:59" }, - "referencedDeclaration": 7921, - "src": "1650:9:45", + "referencedDeclaration": 32096, + "src": "1650:9:59", "typeDescriptions": { - "typeIdentifier": "t_struct$_MintBatch_$7921_storage_ptr", + "typeIdentifier": "t_struct$_MintBatch_$32096_storage_ptr", "typeString": "struct SovereignNFT.MintBatch" } }, - "id": 7943, + "id": 32118, "nodeType": "ArrayTypeName", - "src": "1650:11:45", + "src": "1650:11:59", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MintBatch_$7921_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_MintBatch_$32096_storage_$dyn_storage_ptr", "typeString": "struct SovereignNFT.MintBatch[]" } }, "visibility": "private" }, { - "id": 7948, + "id": 32123, "nodeType": "VariableDeclaration", - "src": "1727:45:45", + "src": "1727:45:59", "nodes": [], "constant": false, "mutability": "mutable", "name": "_tokenURIs", - "nameLocation": "1762:10:45", - "scope": 8727, + "nameLocation": "1762:10:59", + "scope": 32902, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2283,28 +2323,28 @@ "typeString": "mapping(uint256 => string)" }, "typeName": { - "id": 7947, + "id": 32122, "keyType": { - "id": 7945, + "id": 32120, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1735:7:45", + "src": "1735:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "1727:26:45", + "src": "1727:26:59", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", "typeString": "mapping(uint256 => string)" }, "valueType": { - "id": 7946, + "id": 32121, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1746:6:45", + "src": "1746:6:59", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2314,28 +2354,28 @@ "visibility": "private" }, { - "id": 7952, + "id": 32127, "nodeType": "EventDefinition", - "src": "1779:45:45", + "src": "1779:45:59", "nodes": [], "anonymous": false, "eventSelector": "793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd", "name": "ContractDisabled", - "nameLocation": "1785:16:45", + "nameLocation": "1785:16:59", "parameters": { - "id": 7951, + "id": 32126, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7950, + "id": 32125, "indexed": true, "mutability": "mutable", "name": "user", - "nameLocation": "1818:4:45", + "nameLocation": "1818:4:59", "nodeType": "VariableDeclaration", - "scope": 7952, - "src": "1802:20:45", + "scope": 32127, + "src": "1802:20:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2343,10 +2383,10 @@ "typeString": "address" }, "typeName": { - "id": 7949, + "id": 32124, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1802:7:45", + "src": "1802:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2356,32 +2396,32 @@ "visibility": "internal" } ], - "src": "1801:22:45" + "src": "1801:22:59" } }, { - "id": 7962, + "id": 32137, "nodeType": "EventDefinition", - "src": "1830:168:45", + "src": "1830:168:59", "nodes": [], "anonymous": false, "eventSelector": "deaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d", "name": "ConsecutiveTransfer", - "nameLocation": "1836:19:45", + "nameLocation": "1836:19:59", "parameters": { - "id": 7961, + "id": 32136, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7954, + "id": 32129, "indexed": true, "mutability": "mutable", "name": "fromTokenId", - "nameLocation": "1881:11:45", + "nameLocation": "1881:11:59", "nodeType": "VariableDeclaration", - "scope": 7962, - "src": "1865:27:45", + "scope": 32137, + "src": "1865:27:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2389,10 +2429,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7953, + "id": 32128, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1865:7:45", + "src": "1865:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2402,14 +2442,14 @@ }, { "constant": false, - "id": 7956, + "id": 32131, "indexed": false, "mutability": "mutable", "name": "toTokenId", - "nameLocation": "1910:9:45", + "nameLocation": "1910:9:59", "nodeType": "VariableDeclaration", - "scope": 7962, - "src": "1902:17:45", + "scope": 32137, + "src": "1902:17:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2417,10 +2457,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7955, + "id": 32130, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1902:7:45", + "src": "1902:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2430,14 +2470,14 @@ }, { "constant": false, - "id": 7958, + "id": 32133, "indexed": true, "mutability": "mutable", "name": "fromAddress", - "nameLocation": "1945:11:45", + "nameLocation": "1945:11:59", "nodeType": "VariableDeclaration", - "scope": 7962, - "src": "1929:27:45", + "scope": 32137, + "src": "1929:27:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2445,10 +2485,10 @@ "typeString": "address" }, "typeName": { - "id": 7957, + "id": 32132, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1929:7:45", + "src": "1929:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2459,14 +2499,14 @@ }, { "constant": false, - "id": 7960, + "id": 32135, "indexed": true, "mutability": "mutable", "name": "toAddress", - "nameLocation": "1982:9:45", + "nameLocation": "1982:9:59", "nodeType": "VariableDeclaration", - "scope": 7962, - "src": "1966:25:45", + "scope": 32137, + "src": "1966:25:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2474,10 +2514,10 @@ "typeString": "address" }, "typeName": { - "id": 7959, + "id": 32134, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1966:7:45", + "src": "1966:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2487,18 +2527,18 @@ "visibility": "internal" } ], - "src": "1855:142:45" + "src": "1855:142:59" } }, { - "id": 8022, + "id": 32197, "nodeType": "FunctionDefinition", - "src": "2004:548:45", + "src": "2004:548:59", "nodes": [], "body": { - "id": 8021, + "id": 32196, "nodeType": "Block", - "src": "2161:391:45", + "src": "2161:391:59", "nodes": [], "statements": [ { @@ -2509,18 +2549,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 7981, + "id": 32156, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 7976, + "id": 32151, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7968, - "src": "2179:8:45", + "referencedDeclaration": 32143, + "src": "2179:8:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2532,14 +2572,14 @@ "arguments": [ { "hexValue": "30", - "id": 7979, + "id": 32154, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2199:1:45", + "src": "2199:1:59", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -2554,26 +2594,26 @@ "typeString": "int_const 0" } ], - "id": 7978, + "id": 32153, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2191:7:45", + "src": "2191:7:59", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 7977, + "id": 32152, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2191:7:45", + "src": "2191:7:59", "typeDescriptions": {} } }, - "id": 7980, + "id": 32155, "isConstant": false, "isLValue": false, "isPure": true, @@ -2581,14 +2621,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2191:10:45", + "src": "2191:10:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2179:22:45", + "src": "2179:22:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2596,14 +2636,14 @@ }, { "hexValue": "63726561746f722063616e6e6f74206265206e756c6c2061646472657373", - "id": 7982, + "id": 32157, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2203:32:45", + "src": "2203:32:59", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6b6b5b1211b5e6bbc5108a4538b47b57acfb95986a81d99f9ebc78a6dbfa62ee", "typeString": "literal_string \"creator cannot be null address\"" @@ -2622,18 +2662,21 @@ "typeString": "literal_string \"creator cannot be null address\"" } ], - "id": 7975, + "id": 32150, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "2171:7:45", + "src": "2171:7:59", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 7983, + "id": 32158, "isConstant": false, "isLValue": false, "isPure": false, @@ -2641,30 +2684,30 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2171:65:45", + "src": "2171:65:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7984, + "id": 32159, "nodeType": "ExpressionStatement", - "src": "2171:65:45" + "src": "2171:65:59" }, { "expression": { "arguments": [ { "hexValue": "3130", - "id": 7986, + "id": 32161, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2275:2:45", + "src": "2275:2:59", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -2679,18 +2722,18 @@ "typeString": "int_const 10" } ], - "id": 7985, + "id": 32160, "name": "_setDefaultRoyaltyPercentage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10376, - "src": "2246:28:45", + "referencedDeclaration": 35514, + "src": "2246:28:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 7987, + "id": 32162, "isConstant": false, "isLValue": false, "isPure": false, @@ -2698,31 +2741,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2246:32:45", + "src": "2246:32:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7988, + "id": 32163, "nodeType": "ExpressionStatement", - "src": "2246:32:45" + "src": "2246:32:59" }, { "expression": { - "id": 7991, + "id": 32166, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 7989, + "id": 32164, "name": "disabled", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7923, - "src": "2288:8:45", + "referencedDeclaration": 32098, + "src": "2288:8:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2732,44 +2775,44 @@ "operator": "=", "rightHandSide": { "hexValue": "66616c7365", - "id": 7990, + "id": 32165, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2299:5:45", + "src": "2299:5:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "src": "2288:16:45", + "src": "2288:16:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7992, + "id": 32167, "nodeType": "ExpressionStatement", - "src": "2288:16:45" + "src": "2288:16:59" }, { "expression": { - "id": 7995, + "id": 32170, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 7993, + "id": 32168, "name": "maxTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7925, - "src": "2314:9:45", + "referencedDeclaration": 32100, + "src": "2314:9:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2778,44 +2821,44 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 7994, + "id": 32169, "name": "_maxTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7970, - "src": "2326:10:45", + "referencedDeclaration": 32145, + "src": "2326:10:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2314:22:45", + "src": "2314:22:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 7996, + "id": 32171, "nodeType": "ExpressionStatement", - "src": "2314:22:45" + "src": "2314:22:59" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 7997, + "id": 32172, "name": "__Ownable_init", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "2347:14:45", + "referencedDeclaration": 24823, + "src": "2347:14:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 7998, + "id": 32173, "isConstant": false, "isLValue": false, "isPure": false, @@ -2823,39 +2866,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2347:16:45", + "src": "2347:16:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7999, + "id": 32174, "nodeType": "ExpressionStatement", - "src": "2347:16:45" + "src": "2347:16:59" }, { "expression": { "arguments": [ { - "id": 8001, + "id": 32176, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7964, - "src": "2387:5:45", + "referencedDeclaration": 32139, + "src": "2387:5:59", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", "typeString": "string calldata" } }, { - "id": 8002, + "id": 32177, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7966, - "src": "2394:7:45", + "referencedDeclaration": 32141, + "src": "2394:7:59", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", "typeString": "string calldata" @@ -2873,18 +2916,18 @@ "typeString": "string calldata" } ], - "id": 8000, + "id": 32175, "name": "__ERC721_init", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2149, - "src": "2373:13:45", + "referencedDeclaration": 26256, + "src": "2373:13:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, - "id": 8003, + "id": 32178, "isConstant": false, "isLValue": false, "isPure": false, @@ -2892,34 +2935,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2373:29:45", + "src": "2373:29:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8004, + "id": 32179, "nodeType": "ExpressionStatement", - "src": "2373:29:45" + "src": "2373:29:59" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 8005, + "id": 32180, "name": "__ERC165_init", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3763, - "src": "2412:13:45", + "referencedDeclaration": 27870, + "src": "2412:13:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 8006, + "id": 32181, "isConstant": false, "isLValue": false, "isPure": false, @@ -2927,34 +2970,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2412:15:45", + "src": "2412:15:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8007, + "id": 32182, "nodeType": "ExpressionStatement", - "src": "2412:15:45" + "src": "2412:15:59" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 8008, + "id": 32183, "name": "__ERC2981__init", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10259, - "src": "2437:15:45", + "referencedDeclaration": 35397, + "src": "2437:15:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 8009, + "id": 32184, "isConstant": false, "isLValue": false, "isPure": false, @@ -2962,27 +3005,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2437:17:45", + "src": "2437:17:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8010, + "id": 32185, "nodeType": "ExpressionStatement", - "src": "2437:17:45" + "src": "2437:17:59" }, { "expression": { "arguments": [ { - "id": 8012, + "id": 32187, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7968, - "src": "2492:8:45", + "referencedDeclaration": 32143, + "src": "2492:8:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2996,18 +3039,18 @@ "typeString": "address" } ], - "id": 8011, + "id": 32186, "name": "_setDefaultRoyaltyReceiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10317, - "src": "2465:26:45", + "referencedDeclaration": 35455, + "src": "2465:26:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 8013, + "id": 32188, "isConstant": false, "isLValue": false, "isPure": false, @@ -3015,27 +3058,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2465:36:45", + "src": "2465:36:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8014, + "id": 32189, "nodeType": "ExpressionStatement", - "src": "2465:36:45" + "src": "2465:36:59" }, { "expression": { "arguments": [ { - "id": 8018, + "id": 32193, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7968, - "src": "2536:8:45", + "referencedDeclaration": 32143, + "src": "2536:8:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3050,32 +3093,32 @@ } ], "expression": { - "id": 8015, + "id": 32190, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -25, - "src": "2512:5:45", + "src": "2512:5:59", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_SovereignNFT_$8727_$", + "typeIdentifier": "t_type$_t_super$_SovereignNFT_$32902_$", "typeString": "type(contract super SovereignNFT)" } }, - "id": 8017, + "id": 32192, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferOwnership", "nodeType": "MemberAccess", - "referencedDeclaration": 787, - "src": "2512:23:45", + "referencedDeclaration": 24894, + "src": "2512:23:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 8019, + "id": 32194, "isConstant": false, "isLValue": false, "isPure": false, @@ -3083,16 +3126,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2512:33:45", + "src": "2512:33:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8020, + "id": 32195, "nodeType": "ExpressionStatement", - "src": "2512:33:45" + "src": "2512:33:59" } ] }, @@ -3101,34 +3144,34 @@ "kind": "function", "modifiers": [ { - "id": 7973, + "id": 32148, "kind": "modifierInvocation", "modifierName": { - "id": 7972, + "id": 32147, "name": "initializer", "nodeType": "IdentifierPath", - "referencedDeclaration": 857, - "src": "2149:11:45" + "referencedDeclaration": 24964, + "src": "2149:11:59" }, "nodeType": "ModifierInvocation", - "src": "2149:11:45" + "src": "2149:11:59" } ], "name": "init", - "nameLocation": "2013:4:45", + "nameLocation": "2013:4:59", "parameters": { - "id": 7971, + "id": 32146, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7964, + "id": 32139, "mutability": "mutable", "name": "_name", - "nameLocation": "2043:5:45", + "nameLocation": "2043:5:59", "nodeType": "VariableDeclaration", - "scope": 8022, - "src": "2027:21:45", + "scope": 32197, + "src": "2027:21:59", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -3136,10 +3179,10 @@ "typeString": "string" }, "typeName": { - "id": 7963, + "id": 32138, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2027:6:45", + "src": "2027:6:59", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -3149,13 +3192,13 @@ }, { "constant": false, - "id": 7966, + "id": 32141, "mutability": "mutable", "name": "_symbol", - "nameLocation": "2074:7:45", + "nameLocation": "2074:7:59", "nodeType": "VariableDeclaration", - "scope": 8022, - "src": "2058:23:45", + "scope": 32197, + "src": "2058:23:59", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -3163,10 +3206,10 @@ "typeString": "string" }, "typeName": { - "id": 7965, + "id": 32140, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2058:6:45", + "src": "2058:6:59", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -3176,13 +3219,13 @@ }, { "constant": false, - "id": 7968, + "id": 32143, "mutability": "mutable", "name": "_creator", - "nameLocation": "2099:8:45", + "nameLocation": "2099:8:59", "nodeType": "VariableDeclaration", - "scope": 8022, - "src": "2091:16:45", + "scope": 32197, + "src": "2091:16:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3190,10 +3233,10 @@ "typeString": "address" }, "typeName": { - "id": 7967, + "id": 32142, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2091:7:45", + "src": "2091:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3204,13 +3247,13 @@ }, { "constant": false, - "id": 7970, + "id": 32145, "mutability": "mutable", "name": "_maxTokens", - "nameLocation": "2125:10:45", + "nameLocation": "2125:10:59", "nodeType": "VariableDeclaration", - "scope": 8022, - "src": "2117:18:45", + "scope": 32197, + "src": "2117:18:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3218,10 +3261,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7969, + "id": 32144, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2117:7:45", + "src": "2117:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3230,28 +3273,28 @@ "visibility": "internal" } ], - "src": "2017:124:45" + "src": "2017:124:59" }, "returnParameters": { - "id": 7974, + "id": 32149, "nodeType": "ParameterList", "parameters": [], - "src": "2161:0:45" + "src": "2161:0:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 8038, + "id": 32213, "nodeType": "ModifierDefinition", - "src": "2558:137:45", + "src": "2558:137:59", "nodes": [], "body": { - "id": 8037, + "id": 32212, "nodeType": "Block", - "src": "2600:95:45", + "src": "2600:95:59", "nodes": [], "statements": [ { @@ -3262,7 +3305,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8032, + "id": 32207, "isConstant": false, "isLValue": false, "isPure": false, @@ -3270,12 +3313,12 @@ "leftExpression": { "arguments": [ { - "id": 8028, + "id": 32203, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8024, - "src": "2626:8:45", + "referencedDeclaration": 32199, + "src": "2626:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3289,18 +3332,20 @@ "typeString": "uint256" } ], - "id": 8027, + "id": 32202, "name": "ownerOf", "nodeType": "Identifier", - "overloadedDeclarations": [8431], - "referencedDeclaration": 8431, - "src": "2618:7:45", + "overloadedDeclarations": [ + 32606 + ], + "referencedDeclaration": 32606, + "src": "2618:7:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 8029, + "id": 32204, "isConstant": false, "isLValue": false, "isPure": false, @@ -3308,7 +3353,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2618:17:45", + "src": "2618:17:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -3319,31 +3364,31 @@ "operator": "==", "rightExpression": { "expression": { - "id": 8030, + "id": 32205, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2639:3:45", + "src": "2639:3:59", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8031, + "id": 32206, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "2639:10:45", + "src": "2639:10:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2618:31:45", + "src": "2618:31:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3351,14 +3396,14 @@ }, { "hexValue": "4d757374206265206f776e6572206f6620746f6b656e2e", - "id": 8033, + "id": 32208, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2651:25:45", + "src": "2651:25:59", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c9634d8922c204a791687da0438481133ffd0e64efc4a5642b031fa2832ce8fb", "typeString": "literal_string \"Must be owner of token.\"" @@ -3377,18 +3422,21 @@ "typeString": "literal_string \"Must be owner of token.\"" } ], - "id": 8026, + "id": 32201, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "2610:7:45", + "src": "2610:7:59", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8034, + "id": 32209, "isConstant": false, "isLValue": false, "isPure": false, @@ -3396,39 +3444,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2610:67:45", + "src": "2610:67:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8035, + "id": 32210, "nodeType": "ExpressionStatement", - "src": "2610:67:45" + "src": "2610:67:59" }, { - "id": 8036, + "id": 32211, "nodeType": "PlaceholderStatement", - "src": "2687:1:45" + "src": "2687:1:59" } ] }, "name": "onlyTokenOwner", - "nameLocation": "2567:14:45", + "nameLocation": "2567:14:59", "parameters": { - "id": 8025, + "id": 32200, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8024, + "id": 32199, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "2590:8:45", + "nameLocation": "2590:8:59", "nodeType": "VariableDeclaration", - "scope": 8038, - "src": "2582:16:45", + "scope": 32213, + "src": "2582:16:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3436,10 +3484,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8023, + "id": 32198, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2582:7:45", + "src": "2582:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3448,27 +3496,27 @@ "visibility": "internal" } ], - "src": "2581:18:45" + "src": "2581:18:59" }, "virtual": false, "visibility": "internal" }, { - "id": 8048, + "id": 32223, "nodeType": "ModifierDefinition", - "src": "2701:105:45", + "src": "2701:105:59", "nodes": [], "body": { - "id": 8047, + "id": 32222, "nodeType": "Block", - "src": "2726:80:45", + "src": "2726:80:59", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 8042, + "id": 32217, "isConstant": false, "isLValue": false, "isPure": false, @@ -3476,14 +3524,14 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "2744:9:45", + "src": "2744:9:59", "subExpression": { - "id": 8041, + "id": 32216, "name": "disabled", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7923, - "src": "2745:8:45", + "referencedDeclaration": 32098, + "src": "2745:8:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3496,14 +3544,14 @@ }, { "hexValue": "436f6e7472616374206d757374206e6f742062652064697361626c65642e", - "id": 8043, + "id": 32218, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2755:32:45", + "src": "2755:32:59", "typeDescriptions": { "typeIdentifier": "t_stringliteral_7b71ca1c3bd528156808cb7a73ab2c5a516c90c9e4e66cd32f11bb4e07aeb5ad", "typeString": "literal_string \"Contract must not be disabled.\"" @@ -3522,18 +3570,21 @@ "typeString": "literal_string \"Contract must not be disabled.\"" } ], - "id": 8040, + "id": 32215, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "2736:7:45", + "src": "2736:7:59", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8044, + "id": 32219, "isConstant": false, "isLValue": false, "isPure": false, @@ -3541,58 +3592,60 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2736:52:45", + "src": "2736:52:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8045, + "id": 32220, "nodeType": "ExpressionStatement", - "src": "2736:52:45" + "src": "2736:52:59" }, { - "id": 8046, + "id": 32221, "nodeType": "PlaceholderStatement", - "src": "2798:1:45" + "src": "2798:1:59" } ] }, "name": "ifNotDisabled", - "nameLocation": "2710:13:45", + "nameLocation": "2710:13:59", "parameters": { - "id": 8039, + "id": 32214, "nodeType": "ParameterList", "parameters": [], - "src": "2723:2:45" + "src": "2723:2:59" }, "virtual": false, "visibility": "internal" }, { - "id": 8113, + "id": 32288, "nodeType": "FunctionDefinition", - "src": "2812:609:45", + "src": "2812:609:59", "nodes": [], "body": { - "id": 8112, + "id": 32287, "nodeType": "Block", - "src": "2941:480:45", + "src": "2941:480:59", "nodes": [], "statements": [ { - "assignments": [8060], + "assignments": [ + 32235 + ], "declarations": [ { "constant": false, - "id": 8060, + "id": 32235, "mutability": "mutable", "name": "startTokenId", - "nameLocation": "2959:12:45", + "nameLocation": "2959:12:59", "nodeType": "VariableDeclaration", - "scope": 8112, - "src": "2951:20:45", + "scope": 32287, + "src": "2951:20:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3600,10 +3653,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8059, + "id": 32234, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2951:7:45", + "src": "2951:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3612,13 +3665,13 @@ "visibility": "internal" } ], - "id": 8066, + "id": 32241, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8065, + "id": 32240, "isConstant": false, "isLValue": false, "isPure": false, @@ -3628,32 +3681,32 @@ "expression": { "argumentTypes": [], "expression": { - "id": 8061, + "id": 32236, "name": "tokenIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7940, - "src": "2974:14:45", + "referencedDeclaration": 32115, + "src": "2974:14:59", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$3477_storage", + "typeIdentifier": "t_struct$_Counter_$27584_storage", "typeString": "struct CountersUpgradeable.Counter storage ref" } }, - "id": 8062, + "id": 32237, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "current", "nodeType": "MemberAccess", - "referencedDeclaration": 3489, - "src": "2974:22:45", + "referencedDeclaration": 27596, + "src": "2974:22:59", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$3477_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$3477_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$27584_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$27584_storage_ptr_$", "typeString": "function (struct CountersUpgradeable.Counter storage pointer) view returns (uint256)" } }, - "id": 8063, + "id": 32238, "isConstant": false, "isLValue": false, "isPure": false, @@ -3661,7 +3714,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2974:24:45", + "src": "2974:24:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3672,41 +3725,43 @@ "operator": "+", "rightExpression": { "hexValue": "31", - "id": 8064, + "id": 32239, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3001:1:45", + "src": "3001:1:59", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "2974:28:45", + "src": "2974:28:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2951:51:45" + "src": "2951:51:59" }, { - "assignments": [8068], + "assignments": [ + 32243 + ], "declarations": [ { "constant": false, - "id": 8068, + "id": 32243, "mutability": "mutable", "name": "endTokenId", - "nameLocation": "3020:10:45", + "nameLocation": "3020:10:59", "nodeType": "VariableDeclaration", - "scope": 8112, - "src": "3012:18:45", + "scope": 32287, + "src": "3012:18:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3714,10 +3769,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8067, + "id": 32242, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3012:7:45", + "src": "3012:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3726,13 +3781,13 @@ "visibility": "internal" } ], - "id": 8074, + "id": 32249, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8073, + "id": 32248, "isConstant": false, "isLValue": false, "isPure": false, @@ -3742,18 +3797,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8071, + "id": 32246, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8069, + "id": 32244, "name": "startTokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8060, - "src": "3033:12:45", + "referencedDeclaration": 32235, + "src": "3033:12:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3762,18 +3817,18 @@ "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { - "id": 8070, + "id": 32245, "name": "_numberOfTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8052, - "src": "3048:15:45", + "referencedDeclaration": 32227, + "src": "3048:15:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3033:30:45", + "src": "3033:30:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3783,45 +3838,45 @@ "operator": "-", "rightExpression": { "hexValue": "31", - "id": 8072, + "id": 32247, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3066:1:45", + "src": "3066:1:59", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "3033:34:45", + "src": "3033:34:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3012:55:45" + "src": "3012:55:59" }, { "expression": { - "id": 8080, + "id": 32255, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 8075, + "id": 32250, "name": "tokenIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7940, - "src": "3078:14:45", + "referencedDeclaration": 32115, + "src": "3078:14:59", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$3477_storage", + "typeIdentifier": "t_struct$_Counter_$27584_storage", "typeString": "struct CountersUpgradeable.Counter storage ref" } }, @@ -3830,12 +3885,12 @@ "rightHandSide": { "arguments": [ { - "id": 8078, + "id": 32253, "name": "endTokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8068, - "src": "3123:10:45", + "referencedDeclaration": 32243, + "src": "3123:10:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3850,32 +3905,32 @@ } ], "expression": { - "id": 8076, + "id": 32251, "name": "CountersUpgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3545, - "src": "3095:19:45", + "referencedDeclaration": 27652, + "src": "3095:19:59", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CountersUpgradeable_$3545_$", + "typeIdentifier": "t_type$_t_contract$_CountersUpgradeable_$27652_$", "typeString": "type(library CountersUpgradeable)" } }, - "id": 8077, + "id": 32252, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "Counter", "nodeType": "MemberAccess", - "referencedDeclaration": 3477, - "src": "3095:27:45", + "referencedDeclaration": 27584, + "src": "3095:27:59", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Counter_$3477_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Counter_$27584_storage_ptr_$", "typeString": "type(struct CountersUpgradeable.Counter storage pointer)" } }, - "id": 8079, + "id": 32254, "isConstant": false, "isLValue": false, "isPure": false, @@ -3883,22 +3938,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3095:39:45", + "src": "3095:39:59", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$3477_memory_ptr", + "typeIdentifier": "t_struct$_Counter_$27584_memory_ptr", "typeString": "struct CountersUpgradeable.Counter memory" } }, - "src": "3078:56:45", + "src": "3078:56:59", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$3477_storage", + "typeIdentifier": "t_struct$_Counter_$27584_storage", "typeString": "struct CountersUpgradeable.Counter storage ref" } }, - "id": 8081, + "id": 32256, "nodeType": "ExpressionStatement", - "src": "3078:56:45" + "src": "3078:56:59" }, { "expression": { @@ -3908,7 +3963,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8087, + "id": 32262, "isConstant": false, "isLValue": false, "isPure": false, @@ -3918,32 +3973,32 @@ "expression": { "argumentTypes": [], "expression": { - "id": 8083, + "id": 32258, "name": "tokenIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7940, - "src": "3166:14:45", + "referencedDeclaration": 32115, + "src": "3166:14:59", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$3477_storage", + "typeIdentifier": "t_struct$_Counter_$27584_storage", "typeString": "struct CountersUpgradeable.Counter storage ref" } }, - "id": 8084, + "id": 32259, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "current", "nodeType": "MemberAccess", - "referencedDeclaration": 3489, - "src": "3166:22:45", + "referencedDeclaration": 27596, + "src": "3166:22:59", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$3477_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$3477_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$27584_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$27584_storage_ptr_$", "typeString": "function (struct CountersUpgradeable.Counter storage pointer) view returns (uint256)" } }, - "id": 8085, + "id": 32260, "isConstant": false, "isLValue": false, "isPure": false, @@ -3951,7 +4006,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3166:24:45", + "src": "3166:24:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3961,18 +4016,18 @@ "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { - "id": 8086, + "id": 32261, "name": "maxTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7925, - "src": "3194:9:45", + "referencedDeclaration": 32100, + "src": "3194:9:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3166:37:45", + "src": "3166:37:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3980,14 +4035,14 @@ }, { "hexValue": "62617463684d696e743a3a6578636565646564206d6178546f6b656e73", - "id": 8088, + "id": 32263, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3217:31:45", + "src": "3217:31:59", "typeDescriptions": { "typeIdentifier": "t_stringliteral_214091fe1b7125f24a091edbae6fe46a189e9632d7fc8a0ea0dea817406b17dd", "typeString": "literal_string \"batchMint::exceeded maxTokens\"" @@ -4006,18 +4061,21 @@ "typeString": "literal_string \"batchMint::exceeded maxTokens\"" } ], - "id": 8082, + "id": 32257, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "3145:7:45", + "src": "3145:7:59", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8089, + "id": 32264, "isConstant": false, "isLValue": false, "isPure": false, @@ -4025,16 +4083,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3145:113:45", + "src": "3145:113:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8090, + "id": 32265, "nodeType": "ExpressionStatement", - "src": "3145:113:45" + "src": "3145:113:59" }, { "expression": { @@ -4042,36 +4100,36 @@ { "arguments": [ { - "id": 8095, + "id": 32270, "name": "startTokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8060, - "src": "3296:12:45", + "referencedDeclaration": 32235, + "src": "3296:12:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 8096, + "id": 32271, "name": "endTokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8068, - "src": "3310:10:45", + "referencedDeclaration": 32243, + "src": "3310:10:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 8097, + "id": 32272, "name": "_baseURI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8050, - "src": "3322:8:45", + "referencedDeclaration": 32225, + "src": "3322:8:59", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", "typeString": "string calldata" @@ -4093,18 +4151,18 @@ "typeString": "string calldata" } ], - "id": 8094, + "id": 32269, "name": "MintBatch", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7921, - "src": "3286:9:45", + "referencedDeclaration": 32096, + "src": "3286:9:59", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_MintBatch_$7921_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_MintBatch_$32096_storage_ptr_$", "typeString": "type(struct SovereignNFT.MintBatch storage pointer)" } }, - "id": 8098, + "id": 32273, "isConstant": false, "isLValue": false, "isPure": false, @@ -4112,10 +4170,10 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3286:45:45", + "src": "3286:45:59", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MintBatch_$7921_memory_ptr", + "typeIdentifier": "t_struct$_MintBatch_$32096_memory_ptr", "typeString": "struct SovereignNFT.MintBatch memory" } } @@ -4123,36 +4181,36 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_MintBatch_$7921_memory_ptr", + "typeIdentifier": "t_struct$_MintBatch_$32096_memory_ptr", "typeString": "struct SovereignNFT.MintBatch memory" } ], "expression": { - "id": 8091, + "id": 32266, "name": "mintBatches", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7944, - "src": "3269:11:45", + "referencedDeclaration": 32119, + "src": "3269:11:59", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MintBatch_$7921_storage_$dyn_storage", + "typeIdentifier": "t_array$_t_struct$_MintBatch_$32096_storage_$dyn_storage", "typeString": "struct SovereignNFT.MintBatch storage ref[] storage ref" } }, - "id": 8093, + "id": 32268, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", - "src": "3269:16:45", + "src": "3269:16:59", "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_MintBatch_$7921_storage_$dyn_storage_ptr_$_t_struct$_MintBatch_$7921_storage_$returns$__$bound_to$_t_array$_t_struct$_MintBatch_$7921_storage_$dyn_storage_ptr_$", + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_MintBatch_$32096_storage_$dyn_storage_ptr_$_t_struct$_MintBatch_$32096_storage_$returns$__$bound_to$_t_array$_t_struct$_MintBatch_$32096_storage_$dyn_storage_ptr_$", "typeString": "function (struct SovereignNFT.MintBatch storage ref[] storage pointer,struct SovereignNFT.MintBatch storage ref)" } }, - "id": 8099, + "id": 32274, "isConstant": false, "isLValue": false, "isPure": false, @@ -4160,39 +4218,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3269:63:45", + "src": "3269:63:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8100, + "id": 32275, "nodeType": "ExpressionStatement", - "src": "3269:63:45" + "src": "3269:63:59" }, { "eventCall": { "arguments": [ { - "id": 8102, + "id": 32277, "name": "startTokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8060, - "src": "3368:12:45", + "referencedDeclaration": 32235, + "src": "3368:12:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 8103, + "id": 32278, "name": "endTokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8068, - "src": "3382:10:45", + "referencedDeclaration": 32243, + "src": "3382:10:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4202,14 +4260,14 @@ "arguments": [ { "hexValue": "30", - "id": 8106, + "id": 32281, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3402:1:45", + "src": "3402:1:59", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -4224,26 +4282,26 @@ "typeString": "int_const 0" } ], - "id": 8105, + "id": 32280, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3394:7:45", + "src": "3394:7:59", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 8104, + "id": 32279, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3394:7:45", + "src": "3394:7:59", "typeDescriptions": {} } }, - "id": 8107, + "id": 32282, "isConstant": false, "isLValue": false, "isPure": true, @@ -4251,7 +4309,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3394:10:45", + "src": "3394:10:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -4262,18 +4320,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 8108, + "id": 32283, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 736, - "src": "3406:5:45", + "referencedDeclaration": 24843, + "src": "3406:5:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 8109, + "id": 32284, "isConstant": false, "isLValue": false, "isPure": false, @@ -4281,7 +4339,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3406:7:45", + "src": "3406:7:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -4308,18 +4366,18 @@ "typeString": "address" } ], - "id": 8101, + "id": 32276, "name": "ConsecutiveTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7962, - "src": "3348:19:45", + "referencedDeclaration": 32137, + "src": "3348:19:59", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_address_$returns$__$", "typeString": "function (uint256,uint256,address,address)" } }, - "id": 8110, + "id": 32285, "isConstant": false, "isLValue": false, "isPure": false, @@ -4327,16 +4385,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3348:66:45", + "src": "3348:66:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8111, + "id": 32286, "nodeType": "EmitStatement", - "src": "3343:71:45" + "src": "3343:71:59" } ] }, @@ -4345,47 +4403,47 @@ "kind": "function", "modifiers": [ { - "id": 8055, + "id": 32230, "kind": "modifierInvocation", "modifierName": { - "id": 8054, + "id": 32229, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 750, - "src": "2905:9:45" + "referencedDeclaration": 24857, + "src": "2905:9:59" }, "nodeType": "ModifierInvocation", - "src": "2905:9:45" + "src": "2905:9:59" }, { - "id": 8057, + "id": 32232, "kind": "modifierInvocation", "modifierName": { - "id": 8056, + "id": 32231, "name": "ifNotDisabled", "nodeType": "IdentifierPath", - "referencedDeclaration": 8048, - "src": "2923:13:45" + "referencedDeclaration": 32223, + "src": "2923:13:59" }, "nodeType": "ModifierInvocation", - "src": "2923:13:45" + "src": "2923:13:59" } ], "name": "batchMint", - "nameLocation": "2821:9:45", + "nameLocation": "2821:9:59", "parameters": { - "id": 8053, + "id": 32228, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8050, + "id": 32225, "mutability": "mutable", "name": "_baseURI", - "nameLocation": "2847:8:45", + "nameLocation": "2847:8:59", "nodeType": "VariableDeclaration", - "scope": 8113, - "src": "2831:24:45", + "scope": 32288, + "src": "2831:24:59", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -4393,10 +4451,10 @@ "typeString": "string" }, "typeName": { - "id": 8049, + "id": 32224, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2831:6:45", + "src": "2831:6:59", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4406,13 +4464,13 @@ }, { "constant": false, - "id": 8052, + "id": 32227, "mutability": "mutable", "name": "_numberOfTokens", - "nameLocation": "2865:15:45", + "nameLocation": "2865:15:59", "nodeType": "VariableDeclaration", - "scope": 8113, - "src": "2857:23:45", + "scope": 32288, + "src": "2857:23:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4420,10 +4478,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8051, + "id": 32226, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2857:7:45", + "src": "2857:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4432,40 +4490,40 @@ "visibility": "internal" } ], - "src": "2830:51:45" + "src": "2830:51:59" }, "returnParameters": { - "id": 8058, + "id": 32233, "nodeType": "ParameterList", "parameters": [], - "src": "2941:0:45" + "src": "2941:0:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 8135, + "id": 32310, "nodeType": "FunctionDefinition", - "src": "3427:244:45", + "src": "3427:244:59", "nodes": [], "body": { - "id": 8134, + "id": 32309, "nodeType": "Block", - "src": "3499:172:45", + "src": "3499:172:59", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 8123, + "id": 32298, "name": "_uri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8115, - "src": "3535:4:45", + "referencedDeclaration": 32290, + "src": "3535:4:59", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4473,25 +4531,25 @@ }, { "expression": { - "id": 8124, + "id": 32299, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "3553:3:45", + "src": "3553:3:59", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8125, + "id": 32300, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "3553:10:45", + "src": "3553:10:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4499,25 +4557,25 @@ }, { "expression": { - "id": 8126, + "id": 32301, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "3577:3:45", + "src": "3577:3:59", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8127, + "id": 32302, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "3577:10:45", + "src": "3577:10:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4527,18 +4585,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 8128, + "id": 32303, "name": "getDefaultRoyaltyPercentage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10392, - "src": "3601:27:45", + "referencedDeclaration": 35530, + "src": "3601:27:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 8129, + "id": 32304, "isConstant": false, "isLValue": false, "isPure": false, @@ -4546,7 +4604,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3601:29:45", + "src": "3601:29:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4555,25 +4613,25 @@ }, { "expression": { - "id": 8130, + "id": 32305, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "3644:3:45", + "src": "3644:3:59", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8131, + "id": 32306, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "3644:10:45", + "src": "3644:10:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4603,18 +4661,18 @@ "typeString": "address" } ], - "id": 8122, + "id": 32297, "name": "_createToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8341, - "src": "3509:12:45", + "referencedDeclaration": 32516, + "src": "3509:12:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$_t_address_$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (string memory,address,address,uint256,address) returns (uint256)" } }, - "id": 8132, + "id": 32307, "isConstant": false, "isLValue": false, "isPure": false, @@ -4622,16 +4680,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3509:155:45", + "src": "3509:155:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8133, + "id": 32308, "nodeType": "ExpressionStatement", - "src": "3509:155:45" + "src": "3509:155:59" } ] }, @@ -4640,47 +4698,47 @@ "kind": "function", "modifiers": [ { - "id": 8118, + "id": 32293, "kind": "modifierInvocation", "modifierName": { - "id": 8117, + "id": 32292, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 750, - "src": "3475:9:45" + "referencedDeclaration": 24857, + "src": "3475:9:59" }, "nodeType": "ModifierInvocation", - "src": "3475:9:45" + "src": "3475:9:59" }, { - "id": 8120, + "id": 32295, "kind": "modifierInvocation", "modifierName": { - "id": 8119, + "id": 32294, "name": "ifNotDisabled", "nodeType": "IdentifierPath", - "referencedDeclaration": 8048, - "src": "3485:13:45" + "referencedDeclaration": 32223, + "src": "3485:13:59" }, "nodeType": "ModifierInvocation", - "src": "3485:13:45" + "src": "3485:13:59" } ], "name": "addNewToken", - "nameLocation": "3436:11:45", + "nameLocation": "3436:11:59", "parameters": { - "id": 8116, + "id": 32291, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8115, + "id": 32290, "mutability": "mutable", "name": "_uri", - "nameLocation": "3462:4:45", + "nameLocation": "3462:4:59", "nodeType": "VariableDeclaration", - "scope": 8135, - "src": "3448:18:45", + "scope": 32310, + "src": "3448:18:59", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4688,10 +4746,10 @@ "typeString": "string" }, "typeName": { - "id": 8114, + "id": 32289, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3448:6:45", + "src": "3448:6:59", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4700,40 +4758,40 @@ "visibility": "internal" } ], - "src": "3447:20:45" + "src": "3447:20:59" }, "returnParameters": { - "id": 8121, + "id": 32296, "nodeType": "ParameterList", "parameters": [], - "src": "3499:0:45" + "src": "3499:0:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 8159, + "id": 32334, "nodeType": "FunctionDefinition", - "src": "3677:323:45", + "src": "3677:323:59", "nodes": [], "body": { - "id": 8158, + "id": 32333, "nodeType": "Block", - "src": "3823:177:45", + "src": "3823:177:59", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 8149, + "id": 32324, "name": "_uri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8137, - "src": "3859:4:45", + "referencedDeclaration": 32312, + "src": "3859:4:59", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", "typeString": "string calldata" @@ -4741,37 +4799,37 @@ }, { "expression": { - "id": 8150, + "id": 32325, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "3877:3:45", + "src": "3877:3:59", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8151, + "id": 32326, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "3877:10:45", + "src": "3877:10:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 8152, + "id": 32327, "name": "_receiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8139, - "src": "3901:9:45", + "referencedDeclaration": 32314, + "src": "3901:9:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4781,18 +4839,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 8153, + "id": 32328, "name": "getDefaultRoyaltyPercentage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10392, - "src": "3924:27:45", + "referencedDeclaration": 35530, + "src": "3924:27:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 8154, + "id": 32329, "isConstant": false, "isLValue": false, "isPure": false, @@ -4800,7 +4858,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3924:29:45", + "src": "3924:29:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4808,12 +4866,12 @@ } }, { - "id": 8155, + "id": 32330, "name": "_royaltyReceiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8141, - "src": "3967:16:45", + "referencedDeclaration": 32316, + "src": "3967:16:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4843,18 +4901,18 @@ "typeString": "address" } ], - "id": 8148, + "id": 32323, "name": "_createToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8341, - "src": "3833:12:45", + "referencedDeclaration": 32516, + "src": "3833:12:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$_t_address_$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (string memory,address,address,uint256,address) returns (uint256)" } }, - "id": 8156, + "id": 32331, "isConstant": false, "isLValue": false, "isPure": false, @@ -4862,16 +4920,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3833:160:45", + "src": "3833:160:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8157, + "id": 32332, "nodeType": "ExpressionStatement", - "src": "3833:160:45" + "src": "3833:160:59" } ] }, @@ -4880,47 +4938,47 @@ "kind": "function", "modifiers": [ { - "id": 8144, + "id": 32319, "kind": "modifierInvocation", "modifierName": { - "id": 8143, + "id": 32318, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 750, - "src": "3799:9:45" + "referencedDeclaration": 24857, + "src": "3799:9:59" }, "nodeType": "ModifierInvocation", - "src": "3799:9:45" + "src": "3799:9:59" }, { - "id": 8146, + "id": 32321, "kind": "modifierInvocation", "modifierName": { - "id": 8145, + "id": 32320, "name": "ifNotDisabled", "nodeType": "IdentifierPath", - "referencedDeclaration": 8048, - "src": "3809:13:45" + "referencedDeclaration": 32223, + "src": "3809:13:59" }, "nodeType": "ModifierInvocation", - "src": "3809:13:45" + "src": "3809:13:59" } ], "name": "mintTo", - "nameLocation": "3686:6:45", + "nameLocation": "3686:6:59", "parameters": { - "id": 8142, + "id": 32317, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8137, + "id": 32312, "mutability": "mutable", "name": "_uri", - "nameLocation": "3718:4:45", + "nameLocation": "3718:4:59", "nodeType": "VariableDeclaration", - "scope": 8159, - "src": "3702:20:45", + "scope": 32334, + "src": "3702:20:59", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -4928,10 +4986,10 @@ "typeString": "string" }, "typeName": { - "id": 8136, + "id": 32311, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3702:6:45", + "src": "3702:6:59", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4941,13 +4999,13 @@ }, { "constant": false, - "id": 8139, + "id": 32314, "mutability": "mutable", "name": "_receiver", - "nameLocation": "3740:9:45", + "nameLocation": "3740:9:59", "nodeType": "VariableDeclaration", - "scope": 8159, - "src": "3732:17:45", + "scope": 32334, + "src": "3732:17:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4955,10 +5013,10 @@ "typeString": "address" }, "typeName": { - "id": 8138, + "id": 32313, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3732:7:45", + "src": "3732:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4969,13 +5027,13 @@ }, { "constant": false, - "id": 8141, + "id": 32316, "mutability": "mutable", "name": "_royaltyReceiver", - "nameLocation": "3767:16:45", + "nameLocation": "3767:16:59", "nodeType": "VariableDeclaration", - "scope": 8159, - "src": "3759:24:45", + "scope": 32334, + "src": "3759:24:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4983,10 +5041,10 @@ "typeString": "address" }, "typeName": { - "id": 8140, + "id": 32315, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3759:7:45", + "src": "3759:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4996,40 +5054,40 @@ "visibility": "internal" } ], - "src": "3692:97:45" + "src": "3692:97:59" }, "returnParameters": { - "id": 8147, + "id": 32322, "nodeType": "ParameterList", "parameters": [], - "src": "3823:0:45" + "src": "3823:0:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 8172, + "id": 32347, "nodeType": "FunctionDefinition", - "src": "4006:102:45", + "src": "4006:102:59", "nodes": [], "body": { - "id": 8171, + "id": 32346, "nodeType": "Block", - "src": "4077:31:45", + "src": "4077:31:59", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 8168, + "id": 32343, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8161, - "src": "4092:8:45", + "referencedDeclaration": 32336, + "src": "4092:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5043,18 +5101,20 @@ "typeString": "uint256" } ], - "id": 8167, + "id": 32342, "name": "burn", "nodeType": "Identifier", - "overloadedDeclarations": [8207], - "referencedDeclaration": 8207, - "src": "4087:4:45", + "overloadedDeclarations": [ + 32382 + ], + "referencedDeclaration": 32382, + "src": "4087:4:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 8169, + "id": 32344, "isConstant": false, "isLValue": false, "isPure": false, @@ -5062,16 +5122,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4087:14:45", + "src": "4087:14:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8170, + "id": 32345, "nodeType": "ExpressionStatement", - "src": "4087:14:45" + "src": "4087:14:59" } ] }, @@ -5082,46 +5142,46 @@ { "arguments": [ { - "id": 8164, + "id": 32339, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8161, - "src": "4067:8:45", + "referencedDeclaration": 32336, + "src": "4067:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 8165, + "id": 32340, "kind": "modifierInvocation", "modifierName": { - "id": 8163, + "id": 32338, "name": "onlyTokenOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 8038, - "src": "4052:14:45" + "referencedDeclaration": 32213, + "src": "4052:14:59" }, "nodeType": "ModifierInvocation", - "src": "4052:24:45" + "src": "4052:24:59" } ], "name": "deleteToken", - "nameLocation": "4015:11:45", + "nameLocation": "4015:11:59", "parameters": { - "id": 8162, + "id": 32337, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8161, + "id": 32336, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "4035:8:45", + "nameLocation": "4035:8:59", "nodeType": "VariableDeclaration", - "scope": 8172, - "src": "4027:16:45", + "scope": 32347, + "src": "4027:16:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5129,10 +5189,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8160, + "id": 32335, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4027:7:45", + "src": "4027:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5141,42 +5201,46 @@ "visibility": "internal" } ], - "src": "4026:18:45" + "src": "4026:18:59" }, "returnParameters": { - "id": 8166, + "id": 32341, "nodeType": "ParameterList", "parameters": [], - "src": "4077:0:45" + "src": "4077:0:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 8207, + "id": 32382, "nodeType": "FunctionDefinition", - "src": "4114:317:45", + "src": "4114:317:59", "nodes": [], "body": { - "id": 8206, + "id": 32381, "nodeType": "Block", - "src": "4170:261:45", + "src": "4170:261:59", "nodes": [], "statements": [ { - "assignments": [8179, null, null], + "assignments": [ + 32354, + null, + null + ], "declarations": [ { "constant": false, - "id": 8179, + "id": 32354, "mutability": "mutable", "name": "wasBatchMinted", - "nameLocation": "4186:14:45", + "nameLocation": "4186:14:59", "nodeType": "VariableDeclaration", - "scope": 8206, - "src": "4181:19:45", + "scope": 32381, + "src": "4181:19:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5184,10 +5248,10 @@ "typeString": "bool" }, "typeName": { - "id": 8178, + "id": 32353, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4181:4:45", + "src": "4181:4:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5198,16 +5262,16 @@ null, null ], - "id": 8183, + "id": 32358, "initialValue": { "arguments": [ { - "id": 8181, + "id": 32356, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8174, - "src": "4223:8:45", + "referencedDeclaration": 32349, + "src": "4223:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5221,18 +5285,18 @@ "typeString": "uint256" } ], - "id": 8180, + "id": 32355, "name": "_batchMintInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8691, - "src": "4208:14:45", + "referencedDeclaration": 32866, + "src": "4208:14:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$_t_uint256_$_t_string_memory_ptr_$", "typeString": "function (uint256) view returns (bool,uint256,string memory)" } }, - "id": 8182, + "id": 32357, "isConstant": false, "isLValue": false, "isPure": false, @@ -5240,7 +5304,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4208:24:45", + "src": "4208:24:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$_t_string_memory_ptr_$", @@ -5248,36 +5312,36 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4180:52:45" + "src": "4180:52:59" }, { "expression": { - "id": 8188, + "id": 32363, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 8184, + "id": 32359, "name": "tokensBurned", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7933, - "src": "4243:12:45", + "referencedDeclaration": 32108, + "src": "4243:12:59", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 8186, + "id": 32361, "indexExpression": { - "id": 8185, + "id": 32360, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8174, - "src": "4256:8:45", + "referencedDeclaration": 32349, + "src": "4256:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5288,7 +5352,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4243:22:45", + "src": "4243:22:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5298,29 +5362,29 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 8187, + "id": 32362, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4268:4:45", + "src": "4268:4:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "4243:29:45", + "src": "4243:29:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8189, + "id": 32364, "nodeType": "ExpressionStatement", - "src": "4243:29:45" + "src": "4243:29:59" }, { "condition": { @@ -5328,18 +5392,18 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8196, + "id": 32371, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8190, + "id": 32365, "name": "wasBatchMinted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8179, - "src": "4287:14:45", + "referencedDeclaration": 32354, + "src": "4287:14:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5348,7 +5412,7 @@ "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { - "id": 8195, + "id": 32370, "isConstant": false, "isLValue": false, "isPure": false, @@ -5356,16 +5420,16 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "4305:36:45", + "src": "4305:36:59", "subExpression": { "arguments": [ { - "id": 8193, + "id": 32368, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8174, - "src": "4332:8:45", + "referencedDeclaration": 32349, + "src": "4332:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5380,32 +5444,32 @@ } ], "expression": { - "id": 8191, + "id": 32366, "name": "ERC721Upgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2975, - "src": "4306:17:45", + "referencedDeclaration": 27082, + "src": "4306:17:59", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Upgradeable_$2975_$", + "typeIdentifier": "t_type$_t_contract$_ERC721Upgradeable_$27082_$", "typeString": "type(contract ERC721Upgradeable)" } }, - "id": 8192, + "id": 32367, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_exists", "nodeType": "MemberAccess", - "referencedDeclaration": 2543, - "src": "4306:25:45", + "referencedDeclaration": 26650, + "src": "4306:25:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 8194, + "id": 32369, "isConstant": false, "isLValue": false, "isPure": false, @@ -5413,7 +5477,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4306:35:45", + "src": "4306:35:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -5425,25 +5489,25 @@ "typeString": "bool" } }, - "src": "4287:54:45", + "src": "4287:54:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8199, + "id": 32374, "nodeType": "IfStatement", - "src": "4283:91:45", + "src": "4283:91:59", "trueBody": { - "id": 8198, + "id": 32373, "nodeType": "Block", - "src": "4343:31:45", + "src": "4343:31:59", "statements": [ { - "functionReturnParameters": 8177, - "id": 8197, + "functionReturnParameters": 32352, + "id": 32372, "nodeType": "Return", - "src": "4357:7:45" + "src": "4357:7:59" } ] } @@ -5452,12 +5516,12 @@ "expression": { "arguments": [ { - "id": 8203, + "id": 32378, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8174, - "src": "4415:8:45", + "referencedDeclaration": 32349, + "src": "4415:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5472,32 +5536,32 @@ } ], "expression": { - "id": 8200, + "id": 32375, "name": "ERC721BurnableUpgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3159, - "src": "4384:25:45", + "referencedDeclaration": 27266, + "src": "4384:25:59", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721BurnableUpgradeable_$3159_$", + "typeIdentifier": "t_type$_t_contract$_ERC721BurnableUpgradeable_$27266_$", "typeString": "type(contract ERC721BurnableUpgradeable)" } }, - "id": 8202, + "id": 32377, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "burn", "nodeType": "MemberAccess", - "referencedDeclaration": 3153, - "src": "4384:30:45", + "referencedDeclaration": 27260, + "src": "4384:30:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 8204, + "id": 32379, "isConstant": false, "isLValue": false, "isPure": false, @@ -5505,45 +5569,47 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4384:40:45", + "src": "4384:40:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8205, + "id": 32380, "nodeType": "ExpressionStatement", - "src": "4384:40:45" + "src": "4384:40:59" } ] }, - "baseFunctions": [3153], + "baseFunctions": [ + 27260 + ], "functionSelector": "42966c68", "implemented": true, "kind": "function", "modifiers": [], "name": "burn", - "nameLocation": "4123:4:45", + "nameLocation": "4123:4:59", "overrides": { - "id": 8176, + "id": 32351, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "4161:8:45" + "src": "4161:8:59" }, "parameters": { - "id": 8175, + "id": 32350, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8174, + "id": 32349, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "4136:8:45", + "nameLocation": "4136:8:59", "nodeType": "VariableDeclaration", - "scope": 8207, - "src": "4128:16:45", + "scope": 32382, + "src": "4128:16:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5551,10 +5617,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8173, + "id": 32348, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4128:7:45", + "src": "4128:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5563,28 +5629,28 @@ "visibility": "internal" } ], - "src": "4127:18:45" + "src": "4127:18:59" }, "returnParameters": { - "id": 8177, + "id": 32352, "nodeType": "ParameterList", "parameters": [], - "src": "4170:0:45" + "src": "4170:0:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { - "id": 8222, + "id": 32397, "nodeType": "FunctionDefinition", - "src": "4437:154:45", + "src": "4437:154:59", "nodes": [], "body": { - "id": 8221, + "id": 32396, "nodeType": "Block", - "src": "4551:40:45", + "src": "4551:40:59", "nodes": [], "statements": [ { @@ -5594,18 +5660,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 8217, + "id": 32392, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 736, - "src": "4576:5:45", + "referencedDeclaration": 24843, + "src": "4576:5:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 8218, + "id": 32393, "isConstant": false, "isLValue": false, "isPure": false, @@ -5613,7 +5679,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4576:7:45", + "src": "4576:7:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -5628,27 +5694,27 @@ "typeString": "address" } ], - "id": 8216, + "id": 32391, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4568:8:45", + "src": "4568:8:59", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_payable_$", "typeString": "type(address payable)" }, "typeName": { - "id": 8215, + "id": 32390, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4568:8:45", + "src": "4568:8:59", "stateMutability": "payable", "typeDescriptions": {} } }, - "id": 8219, + "id": 32394, "isConstant": false, "isLValue": false, "isPure": false, @@ -5656,46 +5722,48 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4568:16:45", + "src": "4568:16:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "functionReturnParameters": 8214, - "id": 8220, + "functionReturnParameters": 32389, + "id": 32395, "nodeType": "Return", - "src": "4561:23:45" + "src": "4561:23:59" } ] }, - "baseFunctions": [10418], + "baseFunctions": [ + 35556 + ], "functionSelector": "40c1a064", "implemented": true, "kind": "function", "modifiers": [], "name": "tokenCreator", - "nameLocation": "4446:12:45", + "nameLocation": "4446:12:59", "overrides": { - "id": 8211, + "id": 32386, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "4504:8:45" + "src": "4504:8:59" }, "parameters": { - "id": 8210, + "id": 32385, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8209, + "id": 32384, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 8222, - "src": "4459:7:45", + "scope": 32397, + "src": "4459:7:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5703,10 +5771,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8208, + "id": 32383, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4459:7:45", + "src": "4459:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5715,21 +5783,21 @@ "visibility": "internal" } ], - "src": "4458:9:45" + "src": "4458:9:59" }, "returnParameters": { - "id": 8214, + "id": 32389, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8213, + "id": 32388, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 8222, - "src": "4530:15:45", + "scope": 32397, + "src": "4530:15:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5737,10 +5805,10 @@ "typeString": "address payable" }, "typeName": { - "id": 8212, + "id": 32387, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4530:15:45", + "src": "4530:15:59", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -5750,38 +5818,38 @@ "visibility": "internal" } ], - "src": "4529:17:45" + "src": "4529:17:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "view", "virtual": false, "visibility": "public" }, { - "id": 8237, + "id": 32412, "nodeType": "FunctionDefinition", - "src": "4597:119:45", + "src": "4597:119:59", "nodes": [], "body": { - "id": 8236, + "id": 32411, "nodeType": "Block", - "src": "4641:75:45", + "src": "4641:75:59", "nodes": [], "statements": [ { "expression": { - "id": 8229, + "id": 32404, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 8227, + "id": 32402, "name": "disabled", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7923, - "src": "4651:8:45", + "referencedDeclaration": 32098, + "src": "4651:8:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5791,54 +5859,54 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 8228, + "id": 32403, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4662:4:45", + "src": "4662:4:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "4651:15:45", + "src": "4651:15:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8230, + "id": 32405, "nodeType": "ExpressionStatement", - "src": "4651:15:45" + "src": "4651:15:59" }, { "eventCall": { "arguments": [ { "expression": { - "id": 8232, + "id": 32407, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "4698:3:45", + "src": "4698:3:59", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8233, + "id": 32408, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "4698:10:45", + "src": "4698:10:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5852,18 +5920,18 @@ "typeString": "address" } ], - "id": 8231, + "id": 32406, "name": "ContractDisabled", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7952, - "src": "4681:16:45", + "referencedDeclaration": 32127, + "src": "4681:16:59", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 8234, + "id": 32409, "isConstant": false, "isLValue": false, "isPure": false, @@ -5871,16 +5939,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4681:28:45", + "src": "4681:28:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8235, + "id": 32410, "nodeType": "EmitStatement", - "src": "4676:33:45" + "src": "4676:33:59" } ] }, @@ -5889,59 +5957,59 @@ "kind": "function", "modifiers": [ { - "id": 8225, + "id": 32400, "kind": "modifierInvocation", "modifierName": { - "id": 8224, + "id": 32399, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 750, - "src": "4631:9:45" + "referencedDeclaration": 24857, + "src": "4631:9:59" }, "nodeType": "ModifierInvocation", - "src": "4631:9:45" + "src": "4631:9:59" } ], "name": "disableContract", - "nameLocation": "4606:15:45", + "nameLocation": "4606:15:59", "parameters": { - "id": 8223, + "id": 32398, "nodeType": "ParameterList", "parameters": [], - "src": "4621:2:45" + "src": "4621:2:59" }, "returnParameters": { - "id": 8226, + "id": 32401, "nodeType": "ParameterList", "parameters": [], - "src": "4641:0:45" + "src": "4641:0:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 8249, + "id": 32424, "nodeType": "FunctionDefinition", - "src": "4722:127:45", + "src": "4722:127:59", "nodes": [], "body": { - "id": 8248, + "id": 32423, "nodeType": "Block", - "src": "4795:54:45", + "src": "4795:54:59", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 8245, + "id": 32420, "name": "_receiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8239, - "src": "4832:9:45", + "referencedDeclaration": 32414, + "src": "4832:9:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5955,18 +6023,18 @@ "typeString": "address" } ], - "id": 8244, + "id": 32419, "name": "_setDefaultRoyaltyReceiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10317, - "src": "4805:26:45", + "referencedDeclaration": 35455, + "src": "4805:26:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 8246, + "id": 32421, "isConstant": false, "isLValue": false, "isPure": false, @@ -5974,16 +6042,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4805:37:45", + "src": "4805:37:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8247, + "id": 32422, "nodeType": "ExpressionStatement", - "src": "4805:37:45" + "src": "4805:37:59" } ] }, @@ -5992,34 +6060,34 @@ "kind": "function", "modifiers": [ { - "id": 8242, + "id": 32417, "kind": "modifierInvocation", "modifierName": { - "id": 8241, + "id": 32416, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 750, - "src": "4785:9:45" + "referencedDeclaration": 24857, + "src": "4785:9:59" }, "nodeType": "ModifierInvocation", - "src": "4785:9:45" + "src": "4785:9:59" } ], "name": "setDefaultRoyaltyReceiver", - "nameLocation": "4731:25:45", + "nameLocation": "4731:25:59", "parameters": { - "id": 8240, + "id": 32415, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8239, + "id": 32414, "mutability": "mutable", "name": "_receiver", - "nameLocation": "4765:9:45", + "nameLocation": "4765:9:59", "nodeType": "VariableDeclaration", - "scope": 8249, - "src": "4757:17:45", + "scope": 32424, + "src": "4757:17:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6027,10 +6095,10 @@ "typeString": "address" }, "typeName": { - "id": 8238, + "id": 32413, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4757:7:45", + "src": "4757:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6040,58 +6108,58 @@ "visibility": "internal" } ], - "src": "4756:19:45" + "src": "4756:19:59" }, "returnParameters": { - "id": 8243, + "id": 32418, "nodeType": "ParameterList", "parameters": [], - "src": "4795:0:45" + "src": "4795:0:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 8265, + "id": 32440, "nodeType": "FunctionDefinition", - "src": "4855:167:45", + "src": "4855:167:59", "nodes": [], "body": { - "id": 8264, + "id": 32439, "nodeType": "Block", - "src": "4967:55:45", + "src": "4967:55:59", "nodes": [], "statements": [ { "expression": { - "id": 8262, + "id": 32437, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 8258, + "id": 32433, "name": "royaltyReceivers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10242, - "src": "4977:16:45", + "referencedDeclaration": 35380, + "src": "4977:16:59", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 8260, + "id": 32435, "indexExpression": { - "id": 8259, + "id": 32434, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8253, - "src": "4994:8:45", + "referencedDeclaration": 32428, + "src": "4994:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6102,7 +6170,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4977:26:45", + "src": "4977:26:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6111,26 +6179,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 8261, + "id": 32436, "name": "_receiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8251, - "src": "5006:9:45", + "referencedDeclaration": 32426, + "src": "5006:9:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "4977:38:45", + "src": "4977:38:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 8263, + "id": 32438, "nodeType": "ExpressionStatement", - "src": "4977:38:45" + "src": "4977:38:59" } ] }, @@ -6139,34 +6207,34 @@ "kind": "function", "modifiers": [ { - "id": 8256, + "id": 32431, "kind": "modifierInvocation", "modifierName": { - "id": 8255, + "id": 32430, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 750, - "src": "4953:9:45" + "referencedDeclaration": 24857, + "src": "4953:9:59" }, "nodeType": "ModifierInvocation", - "src": "4953:9:45" + "src": "4953:9:59" } ], "name": "setRoyaltyReceiverForToken", - "nameLocation": "4864:26:45", + "nameLocation": "4864:26:59", "parameters": { - "id": 8254, + "id": 32429, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8251, + "id": 32426, "mutability": "mutable", "name": "_receiver", - "nameLocation": "4899:9:45", + "nameLocation": "4899:9:59", "nodeType": "VariableDeclaration", - "scope": 8265, - "src": "4891:17:45", + "scope": 32440, + "src": "4891:17:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6174,10 +6242,10 @@ "typeString": "address" }, "typeName": { - "id": 8250, + "id": 32425, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4891:7:45", + "src": "4891:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6188,13 +6256,13 @@ }, { "constant": false, - "id": 8253, + "id": 32428, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "4918:8:45", + "nameLocation": "4918:8:59", "nodeType": "VariableDeclaration", - "scope": 8265, - "src": "4910:16:45", + "scope": 32440, + "src": "4910:16:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6202,10 +6270,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8252, + "id": 32427, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4910:7:45", + "src": "4910:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6214,58 +6282,58 @@ "visibility": "internal" } ], - "src": "4890:37:45" + "src": "4890:37:59" }, "returnParameters": { - "id": 8257, + "id": 32432, "nodeType": "ParameterList", "parameters": [], - "src": "4967:0:45" + "src": "4967:0:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 8279, + "id": 32454, "nodeType": "FunctionDefinition", - "src": "5028:122:45", + "src": "5028:122:59", "nodes": [], "body": { - "id": 8278, + "id": 32453, "nodeType": "Block", - "src": "5099:51:45", + "src": "5099:51:59", "nodes": [], "statements": [ { "expression": { - "id": 8276, + "id": 32451, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 8272, + "id": 32447, "name": "tokenCreators", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7929, - "src": "5109:13:45", + "referencedDeclaration": 32104, + "src": "5109:13:59", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 8274, + "id": 32449, "indexExpression": { - "id": 8273, + "id": 32448, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8267, - "src": "5123:8:45", + "referencedDeclaration": 32442, + "src": "5123:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6276,7 +6344,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5109:23:45", + "src": "5109:23:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6285,26 +6353,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 8275, + "id": 32450, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8269, - "src": "5135:8:45", + "referencedDeclaration": 32444, + "src": "5135:8:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5109:34:45", + "src": "5109:34:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 8277, + "id": 32452, "nodeType": "ExpressionStatement", - "src": "5109:34:45" + "src": "5109:34:59" } ] }, @@ -6312,20 +6380,20 @@ "kind": "function", "modifiers": [], "name": "_setTokenCreator", - "nameLocation": "5037:16:45", + "nameLocation": "5037:16:59", "parameters": { - "id": 8270, + "id": 32445, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8267, + "id": 32442, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "5062:8:45", + "nameLocation": "5062:8:59", "nodeType": "VariableDeclaration", - "scope": 8279, - "src": "5054:16:45", + "scope": 32454, + "src": "5054:16:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6333,10 +6401,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8266, + "id": 32441, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5054:7:45", + "src": "5054:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6346,13 +6414,13 @@ }, { "constant": false, - "id": 8269, + "id": 32444, "mutability": "mutable", "name": "_creator", - "nameLocation": "5080:8:45", + "nameLocation": "5080:8:59", "nodeType": "VariableDeclaration", - "scope": 8279, - "src": "5072:16:45", + "scope": 32454, + "src": "5072:16:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6360,10 +6428,10 @@ "typeString": "address" }, "typeName": { - "id": 8268, + "id": 32443, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5072:7:45", + "src": "5072:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6373,28 +6441,28 @@ "visibility": "internal" } ], - "src": "5053:36:45" + "src": "5053:36:59" }, "returnParameters": { - "id": 8271, + "id": 32446, "nodeType": "ParameterList", "parameters": [], - "src": "5099:0:45" + "src": "5099:0:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 8341, + "id": 32516, "nodeType": "FunctionDefinition", - "src": "5156:624:45", + "src": "5156:624:59", "nodes": [], "body": { - "id": 8340, + "id": 32515, "nodeType": "Block", - "src": "5356:424:45", + "src": "5356:424:59", "nodes": [], "statements": [ { @@ -6403,32 +6471,32 @@ "expression": { "argumentTypes": [], "expression": { - "id": 8294, + "id": 32469, "name": "tokenIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7940, - "src": "5366:14:45", + "referencedDeclaration": 32115, + "src": "5366:14:59", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$3477_storage", + "typeIdentifier": "t_struct$_Counter_$27584_storage", "typeString": "struct CountersUpgradeable.Counter storage ref" } }, - "id": 8296, + "id": 32471, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increment", "nodeType": "MemberAccess", - "referencedDeclaration": 3503, - "src": "5366:24:45", + "referencedDeclaration": 27610, + "src": "5366:24:59", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$3477_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$3477_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$27584_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$27584_storage_ptr_$", "typeString": "function (struct CountersUpgradeable.Counter storage pointer)" } }, - "id": 8297, + "id": 32472, "isConstant": false, "isLValue": false, "isPure": false, @@ -6436,29 +6504,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5366:26:45", + "src": "5366:26:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8298, + "id": 32473, "nodeType": "ExpressionStatement", - "src": "5366:26:45" + "src": "5366:26:59" }, { - "assignments": [8300], + "assignments": [ + 32475 + ], "declarations": [ { "constant": false, - "id": 8300, + "id": 32475, "mutability": "mutable", "name": "tokenId", - "nameLocation": "5410:7:45", + "nameLocation": "5410:7:59", "nodeType": "VariableDeclaration", - "scope": 8340, - "src": "5402:15:45", + "scope": 32515, + "src": "5402:15:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6466,10 +6536,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8299, + "id": 32474, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5402:7:45", + "src": "5402:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6478,38 +6548,38 @@ "visibility": "internal" } ], - "id": 8304, + "id": 32479, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], "expression": { - "id": 8301, + "id": 32476, "name": "tokenIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7940, - "src": "5420:14:45", + "referencedDeclaration": 32115, + "src": "5420:14:59", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$3477_storage", + "typeIdentifier": "t_struct$_Counter_$27584_storage", "typeString": "struct CountersUpgradeable.Counter storage ref" } }, - "id": 8302, + "id": 32477, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "current", "nodeType": "MemberAccess", - "referencedDeclaration": 3489, - "src": "5420:22:45", + "referencedDeclaration": 27596, + "src": "5420:22:59", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$3477_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$3477_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$27584_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$27584_storage_ptr_$", "typeString": "function (struct CountersUpgradeable.Counter storage pointer) view returns (uint256)" } }, - "id": 8303, + "id": 32478, "isConstant": false, "isLValue": false, "isPure": false, @@ -6517,7 +6587,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5420:24:45", + "src": "5420:24:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -6525,7 +6595,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "5402:42:45" + "src": "5402:42:59" }, { "expression": { @@ -6535,18 +6605,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8308, + "id": 32483, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8306, + "id": 32481, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8300, - "src": "5462:7:45", + "referencedDeclaration": 32475, + "src": "5462:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6555,18 +6625,18 @@ "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { - "id": 8307, + "id": 32482, "name": "maxTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7925, - "src": "5473:9:45", + "referencedDeclaration": 32100, + "src": "5473:9:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5462:20:45", + "src": "5462:20:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6574,14 +6644,14 @@ }, { "hexValue": "5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e73", - "id": 8309, + "id": 32484, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5484:34:45", + "src": "5484:34:59", "typeDescriptions": { "typeIdentifier": "t_stringliteral_ae513c3d0861568782d381366f15b3d100b9bded3d0e0c001fa9100049752646", "typeString": "literal_string \"_createToken::exceeded maxTokens\"" @@ -6600,18 +6670,21 @@ "typeString": "literal_string \"_createToken::exceeded maxTokens\"" } ], - "id": 8305, + "id": 32480, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "5454:7:45", + "src": "5454:7:59", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8310, + "id": 32485, "isConstant": false, "isLValue": false, "isPure": false, @@ -6619,39 +6692,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5454:65:45", + "src": "5454:65:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8311, + "id": 32486, "nodeType": "ExpressionStatement", - "src": "5454:65:45" + "src": "5454:65:59" }, { "expression": { "arguments": [ { - "id": 8313, + "id": 32488, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8285, - "src": "5539:3:45", + "referencedDeclaration": 32460, + "src": "5539:3:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 8314, + "id": 32489, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8300, - "src": "5544:7:45", + "referencedDeclaration": 32475, + "src": "5544:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6669,18 +6742,21 @@ "typeString": "uint256" } ], - "id": 8312, + "id": 32487, "name": "_safeMint", "nodeType": "Identifier", - "overloadedDeclarations": [2599, 2628], - "referencedDeclaration": 2599, - "src": "5529:9:45", + "overloadedDeclarations": [ + 26706, + 26735 + ], + "referencedDeclaration": 26706, + "src": "5529:9:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 8315, + "id": 32490, "isConstant": false, "isLValue": false, "isPure": false, @@ -6688,45 +6764,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5529:23:45", + "src": "5529:23:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8316, + "id": 32491, "nodeType": "ExpressionStatement", - "src": "5529:23:45" + "src": "5529:23:59" }, { "expression": { - "id": 8321, + "id": 32496, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 8317, + "id": 32492, "name": "_tokenURIs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7948, - "src": "5562:10:45", + "referencedDeclaration": 32123, + "src": "5562:10:59", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", "typeString": "mapping(uint256 => string storage ref)" } }, - "id": 8319, + "id": 32494, "indexExpression": { - "id": 8318, + "id": 32493, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8300, - "src": "5573:7:45", + "referencedDeclaration": 32475, + "src": "5573:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6737,7 +6813,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5562:19:45", + "src": "5562:19:59", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -6746,49 +6822,49 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 8320, + "id": 32495, "name": "_uri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8281, - "src": "5584:4:45", + "referencedDeclaration": 32456, + "src": "5584:4:59", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5562:26:45", + "src": "5562:26:59", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 8322, + "id": 32497, "nodeType": "ExpressionStatement", - "src": "5562:26:45" + "src": "5562:26:59" }, { "expression": { "arguments": [ { - "id": 8324, + "id": 32499, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8300, - "src": "5615:7:45", + "referencedDeclaration": 32475, + "src": "5615:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 8325, + "id": 32500, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8283, - "src": "5624:8:45", + "referencedDeclaration": 32458, + "src": "5624:8:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6806,18 +6882,18 @@ "typeString": "address" } ], - "id": 8323, + "id": 32498, "name": "_setTokenCreator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8279, - "src": "5598:16:45", + "referencedDeclaration": 32454, + "src": "5598:16:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$", "typeString": "function (uint256,address)" } }, - "id": 8326, + "id": 32501, "isConstant": false, "isLValue": false, "isPure": false, @@ -6825,39 +6901,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5598:35:45", + "src": "5598:35:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8327, + "id": 32502, "nodeType": "ExpressionStatement", - "src": "5598:35:45" + "src": "5598:35:59" }, { "expression": { "arguments": [ { - "id": 8329, + "id": 32504, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8300, - "src": "5665:7:45", + "referencedDeclaration": 32475, + "src": "5665:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 8330, + "id": 32505, "name": "_royaltyPercentage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8287, - "src": "5674:18:45", + "referencedDeclaration": 32462, + "src": "5674:18:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6875,18 +6951,18 @@ "typeString": "uint256" } ], - "id": 8328, + "id": 32503, "name": "_setRoyaltyPercentage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10345, - "src": "5643:21:45", + "referencedDeclaration": 35483, + "src": "5643:21:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" } }, - "id": 8331, + "id": 32506, "isConstant": false, "isLValue": false, "isPure": false, @@ -6894,39 +6970,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5643:50:45", + "src": "5643:50:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8332, + "id": 32507, "nodeType": "ExpressionStatement", - "src": "5643:50:45" + "src": "5643:50:59" }, { "expression": { "arguments": [ { - "id": 8334, + "id": 32509, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8300, - "src": "5723:7:45", + "referencedDeclaration": 32475, + "src": "5723:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 8335, + "id": 32510, "name": "_royaltyReceiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8289, - "src": "5732:16:45", + "referencedDeclaration": 32464, + "src": "5732:16:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6944,18 +7020,18 @@ "typeString": "address" } ], - "id": 8333, + "id": 32508, "name": "_setRoyaltyReceiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10331, - "src": "5703:19:45", + "referencedDeclaration": 35469, + "src": "5703:19:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$", "typeString": "function (uint256,address)" } }, - "id": 8336, + "id": 32511, "isConstant": false, "isLValue": false, "isPure": false, @@ -6963,34 +7039,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5703:46:45", + "src": "5703:46:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8337, + "id": 32512, "nodeType": "ExpressionStatement", - "src": "5703:46:45" + "src": "5703:46:59" }, { "expression": { - "id": 8338, + "id": 32513, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8300, - "src": "5766:7:45", + "referencedDeclaration": 32475, + "src": "5766:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8293, - "id": 8339, + "functionReturnParameters": 32468, + "id": 32514, "nodeType": "Return", - "src": "5759:14:45" + "src": "5759:14:59" } ] }, @@ -6998,20 +7074,20 @@ "kind": "function", "modifiers": [], "name": "_createToken", - "nameLocation": "5165:12:45", + "nameLocation": "5165:12:59", "parameters": { - "id": 8290, + "id": 32465, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8281, + "id": 32456, "mutability": "mutable", "name": "_uri", - "nameLocation": "5201:4:45", + "nameLocation": "5201:4:59", "nodeType": "VariableDeclaration", - "scope": 8341, - "src": "5187:18:45", + "scope": 32516, + "src": "5187:18:59", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7019,10 +7095,10 @@ "typeString": "string" }, "typeName": { - "id": 8280, + "id": 32455, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5187:6:45", + "src": "5187:6:59", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7032,13 +7108,13 @@ }, { "constant": false, - "id": 8283, + "id": 32458, "mutability": "mutable", "name": "_creator", - "nameLocation": "5223:8:45", + "nameLocation": "5223:8:59", "nodeType": "VariableDeclaration", - "scope": 8341, - "src": "5215:16:45", + "scope": 32516, + "src": "5215:16:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7046,10 +7122,10 @@ "typeString": "address" }, "typeName": { - "id": 8282, + "id": 32457, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5215:7:45", + "src": "5215:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7060,13 +7136,13 @@ }, { "constant": false, - "id": 8285, + "id": 32460, "mutability": "mutable", "name": "_to", - "nameLocation": "5249:3:45", + "nameLocation": "5249:3:59", "nodeType": "VariableDeclaration", - "scope": 8341, - "src": "5241:11:45", + "scope": 32516, + "src": "5241:11:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7074,10 +7150,10 @@ "typeString": "address" }, "typeName": { - "id": 8284, + "id": 32459, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5241:7:45", + "src": "5241:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7088,13 +7164,13 @@ }, { "constant": false, - "id": 8287, + "id": 32462, "mutability": "mutable", "name": "_royaltyPercentage", - "nameLocation": "5270:18:45", + "nameLocation": "5270:18:59", "nodeType": "VariableDeclaration", - "scope": 8341, - "src": "5262:26:45", + "scope": 32516, + "src": "5262:26:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7102,10 +7178,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8286, + "id": 32461, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5262:7:45", + "src": "5262:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7115,13 +7191,13 @@ }, { "constant": false, - "id": 8289, + "id": 32464, "mutability": "mutable", "name": "_royaltyReceiver", - "nameLocation": "5306:16:45", + "nameLocation": "5306:16:59", "nodeType": "VariableDeclaration", - "scope": 8341, - "src": "5298:24:45", + "scope": 32516, + "src": "5298:24:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7129,10 +7205,10 @@ "typeString": "address" }, "typeName": { - "id": 8288, + "id": 32463, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5298:7:45", + "src": "5298:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7142,21 +7218,21 @@ "visibility": "internal" } ], - "src": "5177:151:45" + "src": "5177:151:59" }, "returnParameters": { - "id": 8293, + "id": 32468, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8292, + "id": 32467, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 8341, - "src": "5347:7:45", + "scope": 32516, + "src": "5347:7:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7164,10 +7240,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8291, + "id": 32466, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5347:7:45", + "src": "5347:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7176,36 +7252,40 @@ "visibility": "internal" } ], - "src": "5346:9:45" + "src": "5346:9:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 8380, + "id": 32555, "nodeType": "FunctionDefinition", - "src": "5939:616:45", + "src": "5939:616:59", "nodes": [], "body": { - "id": 8379, + "id": 32554, "nodeType": "Block", - "src": "6072:483:45", + "src": "6072:483:59", "nodes": [], "statements": [ { - "assignments": [8350, null, 8352], + "assignments": [ + 32525, + null, + 32527 + ], "declarations": [ { "constant": false, - "id": 8350, + "id": 32525, "mutability": "mutable", "name": "wasBatchMinted", - "nameLocation": "6088:14:45", + "nameLocation": "6088:14:59", "nodeType": "VariableDeclaration", - "scope": 8379, - "src": "6083:19:45", + "scope": 32554, + "src": "6083:19:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7213,10 +7293,10 @@ "typeString": "bool" }, "typeName": { - "id": 8349, + "id": 32524, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6083:4:45", + "src": "6083:4:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7227,13 +7307,13 @@ null, { "constant": false, - "id": 8352, + "id": 32527, "mutability": "mutable", "name": "baseTokenUri", - "nameLocation": "6120:12:45", + "nameLocation": "6120:12:59", "nodeType": "VariableDeclaration", - "scope": 8379, - "src": "6106:26:45", + "scope": 32554, + "src": "6106:26:59", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7241,10 +7321,10 @@ "typeString": "string" }, "typeName": { - "id": 8351, + "id": 32526, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6106:6:45", + "src": "6106:6:59", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7253,16 +7333,16 @@ "visibility": "internal" } ], - "id": 8356, + "id": 32531, "initialValue": { "arguments": [ { - "id": 8354, + "id": 32529, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8343, - "src": "6164:8:45", + "referencedDeclaration": 32518, + "src": "6164:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7276,18 +7356,18 @@ "typeString": "uint256" } ], - "id": 8353, + "id": 32528, "name": "_batchMintInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8691, - "src": "6136:14:45", + "referencedDeclaration": 32866, + "src": "6136:14:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$_t_uint256_$_t_string_memory_ptr_$", "typeString": "function (uint256) view returns (bool,uint256,string memory)" } }, - "id": 8355, + "id": 32530, "isConstant": false, "isLValue": false, "isPure": false, @@ -7295,7 +7375,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6136:46:45", + "src": "6136:46:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$_t_string_memory_ptr_$", @@ -7303,11 +7383,11 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "6082:100:45" + "src": "6082:100:59" }, { "condition": { - "id": 8358, + "id": 32533, "isConstant": false, "isLValue": false, "isPure": false, @@ -7315,14 +7395,14 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "6197:15:45", + "src": "6197:15:59", "subExpression": { - "id": 8357, + "id": 32532, "name": "wasBatchMinted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8350, - "src": "6198:14:45", + "referencedDeclaration": 32525, + "src": "6198:14:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7334,9 +7414,9 @@ } }, "falseBody": { - "id": 8377, + "id": 32552, "nodeType": "Block", - "src": "6272:277:45", + "src": "6272:277:59", "statements": [ { "expression": { @@ -7344,12 +7424,12 @@ { "arguments": [ { - "id": 8368, + "id": 32543, "name": "baseTokenUri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8352, - "src": "6379:12:45", + "referencedDeclaration": 32527, + "src": "6379:12:59", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7357,14 +7437,14 @@ }, { "hexValue": "2f", - "id": 8369, + "id": 32544, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6417:3:45", + "src": "6417:3:59", "typeDescriptions": { "typeIdentifier": "t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527", "typeString": "literal_string \"/\"" @@ -7376,32 +7456,32 @@ "expression": { "argumentTypes": [], "expression": { - "id": 8370, + "id": 32545, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8343, - "src": "6446:8:45", + "referencedDeclaration": 32518, + "src": "6446:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8371, + "id": 32546, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 3630, - "src": "6446:17:45", + "referencedDeclaration": 27737, + "src": "6446:17:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 8372, + "id": 32547, "isConstant": false, "isLValue": false, "isPure": false, @@ -7409,7 +7489,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6446:19:45", + "src": "6446:19:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -7418,14 +7498,14 @@ }, { "hexValue": "2e6a736f6e", - "id": 8373, + "id": 32548, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6491:7:45", + "src": "6491:7:59", "typeDescriptions": { "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", "typeString": "literal_string \".json\"" @@ -7453,31 +7533,31 @@ } ], "expression": { - "id": 8366, + "id": 32541, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "6337:3:45", + "src": "6337:3:59", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 8367, + "id": 32542, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "6337:16:45", + "src": "6337:16:59", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 8374, + "id": 32549, "isConstant": false, "isLValue": false, "isPure": false, @@ -7485,7 +7565,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6337:183:45", + "src": "6337:183:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -7500,26 +7580,26 @@ "typeString": "bytes memory" } ], - "id": 8365, + "id": 32540, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6309:6:45", + "src": "6309:6:59", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 8364, + "id": 32539, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6309:6:45", + "src": "6309:6:59", "typeDescriptions": {} } }, - "id": 8375, + "id": 32550, "isConstant": false, "isLValue": false, "isPure": false, @@ -7527,50 +7607,50 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6309:229:45", + "src": "6309:229:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 8348, - "id": 8376, + "functionReturnParameters": 32523, + "id": 32551, "nodeType": "Return", - "src": "6286:252:45" + "src": "6286:252:59" } ] }, - "id": 8378, + "id": 32553, "nodeType": "IfStatement", - "src": "6193:356:45", + "src": "6193:356:59", "trueBody": { - "id": 8363, + "id": 32538, "nodeType": "Block", - "src": "6214:52:45", + "src": "6214:52:59", "statements": [ { "expression": { "baseExpression": { - "id": 8359, + "id": 32534, "name": "_tokenURIs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7948, - "src": "6235:10:45", + "referencedDeclaration": 32123, + "src": "6235:10:59", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", "typeString": "mapping(uint256 => string storage ref)" } }, - "id": 8361, + "id": 32536, "indexExpression": { - "id": 8360, + "id": 32535, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8343, - "src": "6246:8:45", + "referencedDeclaration": 32518, + "src": "6246:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7581,48 +7661,50 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6235:20:45", + "src": "6235:20:59", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 8348, - "id": 8362, + "functionReturnParameters": 32523, + "id": 32537, "nodeType": "Return", - "src": "6228:27:45" + "src": "6228:27:59" } ] } } ] }, - "baseFunctions": [2312], + "baseFunctions": [ + 26419 + ], "functionSelector": "c87b56dd", "implemented": true, "kind": "function", "modifiers": [], "name": "tokenURI", - "nameLocation": "5948:8:45", + "nameLocation": "5948:8:59", "overrides": { - "id": 8345, + "id": 32520, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "6027:8:45" + "src": "6027:8:59" }, "parameters": { - "id": 8344, + "id": 32519, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8343, + "id": 32518, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "5965:8:45", + "nameLocation": "5965:8:59", "nodeType": "VariableDeclaration", - "scope": 8380, - "src": "5957:16:45", + "scope": 32555, + "src": "5957:16:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7630,10 +7712,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8342, + "id": 32517, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5957:7:45", + "src": "5957:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7642,21 +7724,21 @@ "visibility": "internal" } ], - "src": "5956:18:45" + "src": "5956:18:59" }, "returnParameters": { - "id": 8348, + "id": 32523, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8347, + "id": 32522, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 8380, - "src": "6053:13:45", + "scope": 32555, + "src": "6053:13:59", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7664,10 +7746,10 @@ "typeString": "string" }, "typeName": { - "id": 8346, + "id": 32521, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6053:6:45", + "src": "6053:6:59", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7676,36 +7758,40 @@ "visibility": "internal" } ], - "src": "6052:15:45" + "src": "6052:15:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 8431, + "id": 32606, "nodeType": "FunctionDefinition", - "src": "6561:594:45", + "src": "6561:594:59", "nodes": [], "body": { - "id": 8430, + "id": 32605, "nodeType": "Block", - "src": "6687:468:45", + "src": "6687:468:59", "nodes": [], "statements": [ { - "assignments": [8389, null, null], + "assignments": [ + 32564, + null, + null + ], "declarations": [ { "constant": false, - "id": 8389, + "id": 32564, "mutability": "mutable", "name": "wasBatchMinted", - "nameLocation": "6703:14:45", + "nameLocation": "6703:14:59", "nodeType": "VariableDeclaration", - "scope": 8430, - "src": "6698:19:45", + "scope": 32605, + "src": "6698:19:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7713,10 +7799,10 @@ "typeString": "bool" }, "typeName": { - "id": 8388, + "id": 32563, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6698:4:45", + "src": "6698:4:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7727,16 +7813,16 @@ null, null ], - "id": 8393, + "id": 32568, "initialValue": { "arguments": [ { - "id": 8391, + "id": 32566, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8382, - "src": "6740:8:45", + "referencedDeclaration": 32557, + "src": "6740:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7750,18 +7836,18 @@ "typeString": "uint256" } ], - "id": 8390, + "id": 32565, "name": "_batchMintInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8691, - "src": "6725:14:45", + "referencedDeclaration": 32866, + "src": "6725:14:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$_t_uint256_$_t_string_memory_ptr_$", "typeString": "function (uint256) view returns (bool,uint256,string memory)" } }, - "id": 8392, + "id": 32567, "isConstant": false, "isLValue": false, "isPure": false, @@ -7769,7 +7855,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6725:24:45", + "src": "6725:24:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$_t_string_memory_ptr_$", @@ -7777,11 +7863,11 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "6697:52:45" + "src": "6697:52:59" }, { "condition": { - "id": 8395, + "id": 32570, "isConstant": false, "isLValue": false, "isPure": false, @@ -7789,14 +7875,14 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "6764:15:45", + "src": "6764:15:59", "subExpression": { - "id": 8394, + "id": 32569, "name": "wasBatchMinted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8389, - "src": "6765:14:45", + "referencedDeclaration": 32564, + "src": "6765:14:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7810,25 +7896,25 @@ "falseBody": { "condition": { "baseExpression": { - "id": 8402, + "id": 32577, "name": "tokensBurned", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7933, - "src": "6858:12:45", + "referencedDeclaration": 32108, + "src": "6858:12:59", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 8404, + "id": 32579, "indexExpression": { - "id": 8403, + "id": 32578, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8382, - "src": "6871:8:45", + "referencedDeclaration": 32557, + "src": "6871:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7839,20 +7925,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6858:22:45", + "src": "6858:22:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 8427, + "id": 32602, "nodeType": "Block", - "src": "6955:194:45", + "src": "6955:194:59", "statements": [ { "condition": { - "id": 8415, + "id": 32590, "isConstant": false, "isLValue": false, "isPure": false, @@ -7860,16 +7946,16 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "6973:36:45", + "src": "6973:36:59", "subExpression": { "arguments": [ { - "id": 8413, + "id": 32588, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8382, - "src": "7000:8:45", + "referencedDeclaration": 32557, + "src": "7000:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7884,32 +7970,32 @@ } ], "expression": { - "id": 8411, + "id": 32586, "name": "ERC721Upgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2975, - "src": "6974:17:45", + "referencedDeclaration": 27082, + "src": "6974:17:59", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Upgradeable_$2975_$", + "typeIdentifier": "t_type$_t_contract$_ERC721Upgradeable_$27082_$", "typeString": "type(contract ERC721Upgradeable)" } }, - "id": 8412, + "id": 32587, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_exists", "nodeType": "MemberAccess", - "referencedDeclaration": 2543, - "src": "6974:25:45", + "referencedDeclaration": 26650, + "src": "6974:25:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 8414, + "id": 32589, "isConstant": false, "isLValue": false, "isPure": false, @@ -7917,7 +8003,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6974:35:45", + "src": "6974:35:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -7930,20 +8016,20 @@ } }, "falseBody": { - "id": 8425, + "id": 32600, "nodeType": "Block", - "src": "7064:75:45", + "src": "7064:75:59", "statements": [ { "expression": { "arguments": [ { - "id": 8422, + "id": 32597, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8382, - "src": "7115:8:45", + "referencedDeclaration": 32557, + "src": "7115:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7958,32 +8044,32 @@ } ], "expression": { - "id": 8420, + "id": 32595, "name": "ERC721Upgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2975, - "src": "7089:17:45", + "referencedDeclaration": 27082, + "src": "7089:17:59", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Upgradeable_$2975_$", + "typeIdentifier": "t_type$_t_contract$_ERC721Upgradeable_$27082_$", "typeString": "type(contract ERC721Upgradeable)" } }, - "id": 8421, + "id": 32596, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ownerOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2250, - "src": "7089:25:45", + "referencedDeclaration": 26357, + "src": "7089:25:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 8423, + "id": 32598, "isConstant": false, "isLValue": false, "isPure": false, @@ -7991,45 +8077,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7089:35:45", + "src": "7089:35:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 8387, - "id": 8424, + "functionReturnParameters": 32562, + "id": 32599, "nodeType": "Return", - "src": "7082:42:45" + "src": "7082:42:59" } ] }, - "id": 8426, + "id": 32601, "nodeType": "IfStatement", - "src": "6969:170:45", + "src": "6969:170:59", "trueBody": { - "id": 8419, + "id": 32594, "nodeType": "Block", - "src": "7011:47:45", + "src": "7011:47:59", "statements": [ { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 8416, + "id": 32591, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 736, - "src": "7036:5:45", + "referencedDeclaration": 24843, + "src": "7036:5:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 8417, + "id": 32592, "isConstant": false, "isLValue": false, "isPure": false, @@ -8037,41 +8123,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7036:7:45", + "src": "7036:7:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 8387, - "id": 8418, + "functionReturnParameters": 32562, + "id": 32593, "nodeType": "Return", - "src": "7029:14:45" + "src": "7029:14:59" } ] } } ] }, - "id": 8428, + "id": 32603, "nodeType": "IfStatement", - "src": "6854:295:45", + "src": "6854:295:59", "trueBody": { - "id": 8410, + "id": 32585, "nodeType": "Block", - "src": "6882:67:45", + "src": "6882:67:59", "statements": [ { "expression": { "arguments": [ { - "id": 8407, + "id": 32582, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8382, - "src": "6929:8:45", + "referencedDeclaration": 32557, + "src": "6929:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8086,32 +8172,32 @@ } ], "expression": { - "id": 8405, + "id": 32580, "name": "ERC721Upgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2975, - "src": "6903:17:45", + "referencedDeclaration": 27082, + "src": "6903:17:59", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Upgradeable_$2975_$", + "typeIdentifier": "t_type$_t_contract$_ERC721Upgradeable_$27082_$", "typeString": "type(contract ERC721Upgradeable)" } }, - "id": 8406, + "id": 32581, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ownerOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2250, - "src": "6903:25:45", + "referencedDeclaration": 26357, + "src": "6903:25:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 8408, + "id": 32583, "isConstant": false, "isLValue": false, "isPure": false, @@ -8119,39 +8205,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6903:35:45", + "src": "6903:35:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 8387, - "id": 8409, + "functionReturnParameters": 32562, + "id": 32584, "nodeType": "Return", - "src": "6896:42:45" + "src": "6896:42:59" } ] } }, - "id": 8429, + "id": 32604, "nodeType": "IfStatement", - "src": "6760:389:45", + "src": "6760:389:59", "trueBody": { - "id": 8401, + "id": 32576, "nodeType": "Block", - "src": "6781:67:45", + "src": "6781:67:59", "statements": [ { "expression": { "arguments": [ { - "id": 8398, + "id": 32573, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8382, - "src": "6828:8:45", + "referencedDeclaration": 32557, + "src": "6828:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8166,32 +8252,32 @@ } ], "expression": { - "id": 8396, + "id": 32571, "name": "ERC721Upgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2975, - "src": "6802:17:45", + "referencedDeclaration": 27082, + "src": "6802:17:59", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Upgradeable_$2975_$", + "typeIdentifier": "t_type$_t_contract$_ERC721Upgradeable_$27082_$", "typeString": "type(contract ERC721Upgradeable)" } }, - "id": 8397, + "id": 32572, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ownerOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2250, - "src": "6802:25:45", + "referencedDeclaration": 26357, + "src": "6802:25:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 8399, + "id": 32574, "isConstant": false, "isLValue": false, "isPure": false, @@ -8199,49 +8285,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6802:35:45", + "src": "6802:35:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 8387, - "id": 8400, + "functionReturnParameters": 32562, + "id": 32575, "nodeType": "Return", - "src": "6795:42:45" + "src": "6795:42:59" } ] } } ] }, - "baseFunctions": [2250], + "baseFunctions": [ + 26357 + ], "functionSelector": "6352211e", "implemented": true, "kind": "function", "modifiers": [], "name": "ownerOf", - "nameLocation": "6570:7:45", + "nameLocation": "6570:7:59", "overrides": { - "id": 8384, + "id": 32559, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "6648:8:45" + "src": "6648:8:59" }, "parameters": { - "id": 8383, + "id": 32558, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8382, + "id": 32557, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "6586:8:45", + "nameLocation": "6586:8:59", "nodeType": "VariableDeclaration", - "scope": 8431, - "src": "6578:16:45", + "scope": 32606, + "src": "6578:16:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8249,10 +8337,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8381, + "id": 32556, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6578:7:45", + "src": "6578:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8261,21 +8349,21 @@ "visibility": "internal" } ], - "src": "6577:18:45" + "src": "6577:18:59" }, "returnParameters": { - "id": 8387, + "id": 32562, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8386, + "id": 32561, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 8431, - "src": "6674:7:45", + "scope": 32606, + "src": "6674:7:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8283,10 +8371,10 @@ "typeString": "address" }, "typeName": { - "id": 8385, + "id": 32560, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6674:7:45", + "src": "6674:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8296,36 +8384,38 @@ "visibility": "internal" } ], - "src": "6673:9:45" + "src": "6673:9:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 8472, + "id": 32647, "nodeType": "FunctionDefinition", - "src": "7161:394:45", + "src": "7161:394:59", "nodes": [], "body": { - "id": 8471, + "id": 32646, "nodeType": "Block", - "src": "7231:324:45", + "src": "7231:324:59", "nodes": [], "statements": [ { - "assignments": [8440], + "assignments": [ + 32615 + ], "declarations": [ { "constant": false, - "id": 8440, + "id": 32615, "mutability": "mutable", "name": "owner", - "nameLocation": "7249:5:45", + "nameLocation": "7249:5:59", "nodeType": "VariableDeclaration", - "scope": 8471, - "src": "7241:13:45", + "scope": 32646, + "src": "7241:13:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8333,10 +8423,10 @@ "typeString": "address" }, "typeName": { - "id": 8439, + "id": 32614, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7241:7:45", + "src": "7241:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8346,16 +8436,16 @@ "visibility": "internal" } ], - "id": 8444, + "id": 32619, "initialValue": { "arguments": [ { - "id": 8442, + "id": 32617, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8435, - "src": "7265:7:45", + "referencedDeclaration": 32610, + "src": "7265:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8369,18 +8459,20 @@ "typeString": "uint256" } ], - "id": 8441, + "id": 32616, "name": "ownerOf", "nodeType": "Identifier", - "overloadedDeclarations": [8431], - "referencedDeclaration": 8431, - "src": "7257:7:45", + "overloadedDeclarations": [ + 32606 + ], + "referencedDeclaration": 32606, + "src": "7257:7:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 8443, + "id": 32618, "isConstant": false, "isLValue": false, "isPure": false, @@ -8388,7 +8480,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7257:16:45", + "src": "7257:16:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -8396,7 +8488,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "7241:32:45" + "src": "7241:32:59" }, { "expression": { @@ -8406,18 +8498,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8448, + "id": 32623, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8446, + "id": 32621, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8433, - "src": "7291:2:45", + "referencedDeclaration": 32608, + "src": "7291:2:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8426,18 +8518,18 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 8447, + "id": 32622, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8440, - "src": "7297:5:45", + "referencedDeclaration": 32615, + "src": "7297:5:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "7291:11:45", + "src": "7291:11:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8445,14 +8537,14 @@ }, { "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572", - "id": 8449, + "id": 32624, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7304:35:45", + "src": "7304:35:59", "typeDescriptions": { "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", "typeString": "literal_string \"ERC721: approval to current owner\"" @@ -8471,18 +8563,21 @@ "typeString": "literal_string \"ERC721: approval to current owner\"" } ], - "id": 8445, + "id": 32620, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "7283:7:45", + "src": "7283:7:59", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8450, + "id": 32625, "isConstant": false, "isLValue": false, "isPure": false, @@ -8490,16 +8585,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7283:57:45", + "src": "7283:57:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8451, + "id": 32626, "nodeType": "ExpressionStatement", - "src": "7283:57:45" + "src": "7283:57:59" }, { "expression": { @@ -8509,7 +8604,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8462, + "id": 32637, "isConstant": false, "isLValue": false, "isPure": false, @@ -8519,7 +8614,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8456, + "id": 32631, "isConstant": false, "isLValue": false, "isPure": false, @@ -8528,18 +8623,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 8453, + "id": 32628, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3456, - "src": "7372:10:45", + "referencedDeclaration": 27563, + "src": "7372:10:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 8454, + "id": 32629, "isConstant": false, "isLValue": false, "isPure": false, @@ -8547,7 +8642,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7372:12:45", + "src": "7372:12:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -8557,18 +8652,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 8455, + "id": 32630, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8440, - "src": "7388:5:45", + "referencedDeclaration": 32615, + "src": "7388:5:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "7372:21:45", + "src": "7372:21:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8579,12 +8674,12 @@ "rightExpression": { "arguments": [ { - "id": 8458, + "id": 32633, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8440, - "src": "7414:5:45", + "referencedDeclaration": 32615, + "src": "7414:5:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8594,18 +8689,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 8459, + "id": 32634, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3456, - "src": "7421:10:45", + "referencedDeclaration": 27563, + "src": "7421:10:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 8460, + "id": 32635, "isConstant": false, "isLValue": false, "isPure": false, @@ -8613,7 +8708,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7421:12:45", + "src": "7421:12:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -8632,18 +8727,18 @@ "typeString": "address" } ], - "id": 8457, + "id": 32632, "name": "isApprovedForAll", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2420, - "src": "7397:16:45", + "referencedDeclaration": 26527, + "src": "7397:16:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", "typeString": "function (address,address) view returns (bool)" } }, - "id": 8461, + "id": 32636, "isConstant": false, "isLValue": false, "isPure": false, @@ -8651,14 +8746,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7397:37:45", + "src": "7397:37:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "7372:62:45", + "src": "7372:62:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8666,14 +8761,14 @@ }, { "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c", - "id": 8463, + "id": 32638, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7448:58:45", + "src": "7448:58:59", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", "typeString": "literal_string \"ERC721: approve caller is not owner nor approved for all\"" @@ -8692,18 +8787,21 @@ "typeString": "literal_string \"ERC721: approve caller is not owner nor approved for all\"" } ], - "id": 8452, + "id": 32627, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "7351:7:45", + "src": "7351:7:59", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8464, + "id": 32639, "isConstant": false, "isLValue": false, "isPure": false, @@ -8711,39 +8809,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7351:165:45", + "src": "7351:165:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8465, + "id": 32640, "nodeType": "ExpressionStatement", - "src": "7351:165:45" + "src": "7351:165:59" }, { "expression": { "arguments": [ { - "id": 8467, + "id": 32642, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8433, - "src": "7536:2:45", + "referencedDeclaration": 32608, + "src": "7536:2:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 8468, + "id": 32643, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8435, - "src": "7540:7:45", + "referencedDeclaration": 32610, + "src": "7540:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8761,18 +8859,20 @@ "typeString": "uint256" } ], - "id": 8466, + "id": 32641, "name": "_approve", "nodeType": "Identifier", - "overloadedDeclarations": [8530], - "referencedDeclaration": 8530, - "src": "7527:8:45", + "overloadedDeclarations": [ + 32705 + ], + "referencedDeclaration": 32705, + "src": "7527:8:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 8469, + "id": 32644, "isConstant": false, "isLValue": false, "isPure": false, @@ -8780,45 +8880,47 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7527:21:45", + "src": "7527:21:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8470, + "id": 32645, "nodeType": "ExpressionStatement", - "src": "7527:21:45" + "src": "7527:21:59" } ] }, - "baseFunctions": [2364], + "baseFunctions": [ + 26471 + ], "functionSelector": "095ea7b3", "implemented": true, "kind": "function", "modifiers": [], "name": "approve", - "nameLocation": "7170:7:45", + "nameLocation": "7170:7:59", "overrides": { - "id": 8437, + "id": 32612, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "7222:8:45" + "src": "7222:8:59" }, "parameters": { - "id": 8436, + "id": 32611, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8433, + "id": 32608, "mutability": "mutable", "name": "to", - "nameLocation": "7186:2:45", + "nameLocation": "7186:2:59", "nodeType": "VariableDeclaration", - "scope": 8472, - "src": "7178:10:45", + "scope": 32647, + "src": "7178:10:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8826,10 +8928,10 @@ "typeString": "address" }, "typeName": { - "id": 8432, + "id": 32607, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7178:7:45", + "src": "7178:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8840,13 +8942,13 @@ }, { "constant": false, - "id": 8435, + "id": 32610, "mutability": "mutable", "name": "tokenId", - "nameLocation": "7198:7:45", + "nameLocation": "7198:7:59", "nodeType": "VariableDeclaration", - "scope": 8472, - "src": "7190:15:45", + "scope": 32647, + "src": "7190:15:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8854,10 +8956,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8434, + "id": 32609, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7190:7:45", + "src": "7190:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8866,42 +8968,44 @@ "visibility": "internal" } ], - "src": "7177:29:45" + "src": "7177:29:59" }, "returnParameters": { - "id": 8438, + "id": 32613, "nodeType": "ParameterList", "parameters": [], - "src": "7231:0:45" + "src": "7231:0:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { - "id": 8505, + "id": 32680, "nodeType": "FunctionDefinition", - "src": "7561:338:45", + "src": "7561:338:59", "nodes": [], "body": { - "id": 8504, + "id": 32679, "nodeType": "Block", - "src": "7715:184:45", + "src": "7715:184:59", "nodes": [], "statements": [ { - "assignments": [8483], + "assignments": [ + 32658 + ], "declarations": [ { "constant": false, - "id": 8483, + "id": 32658, "mutability": "mutable", "name": "owner", - "nameLocation": "7733:5:45", + "nameLocation": "7733:5:59", "nodeType": "VariableDeclaration", - "scope": 8504, - "src": "7725:13:45", + "scope": 32679, + "src": "7725:13:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8909,10 +9013,10 @@ "typeString": "address" }, "typeName": { - "id": 8482, + "id": 32657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7725:7:45", + "src": "7725:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8922,16 +9026,16 @@ "visibility": "internal" } ], - "id": 8487, + "id": 32662, "initialValue": { "arguments": [ { - "id": 8485, + "id": 32660, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8476, - "src": "7749:8:45", + "referencedDeclaration": 32651, + "src": "7749:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8945,18 +9049,20 @@ "typeString": "uint256" } ], - "id": 8484, + "id": 32659, "name": "ownerOf", "nodeType": "Identifier", - "overloadedDeclarations": [8431], - "referencedDeclaration": 8431, - "src": "7741:7:45", + "overloadedDeclarations": [ + 32606 + ], + "referencedDeclaration": 32606, + "src": "7741:7:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 8486, + "id": 32661, "isConstant": false, "isLValue": false, "isPure": false, @@ -8964,7 +9070,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7741:17:45", + "src": "7741:17:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -8972,7 +9078,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "7725:33:45" + "src": "7725:33:59" }, { "expression": { @@ -8982,7 +9088,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8501, + "id": 32676, "isConstant": false, "isLValue": false, "isPure": false, @@ -8992,7 +9098,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8496, + "id": 32671, "isConstant": false, "isLValue": false, "isPure": false, @@ -9002,18 +9108,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8490, + "id": 32665, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8488, + "id": 32663, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8474, - "src": "7776:8:45", + "referencedDeclaration": 32649, + "src": "7776:8:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9022,18 +9128,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 8489, + "id": 32664, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8483, - "src": "7788:5:45", + "referencedDeclaration": 32658, + "src": "7788:5:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "7776:17:45", + "src": "7776:17:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9046,7 +9152,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8495, + "id": 32670, "isConstant": false, "isLValue": false, "isPure": false, @@ -9054,12 +9160,12 @@ "leftExpression": { "arguments": [ { - "id": 8492, + "id": 32667, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8476, - "src": "7821:8:45", + "referencedDeclaration": 32651, + "src": "7821:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9073,18 +9179,20 @@ "typeString": "uint256" } ], - "id": 8491, + "id": 32666, "name": "getApproved", "nodeType": "Identifier", - "overloadedDeclarations": [8578], - "referencedDeclaration": 8578, - "src": "7809:11:45", + "overloadedDeclarations": [ + 32753 + ], + "referencedDeclaration": 32753, + "src": "7809:11:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 8493, + "id": 32668, "isConstant": false, "isLValue": false, "isPure": false, @@ -9092,7 +9200,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7809:21:45", + "src": "7809:21:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -9102,24 +9210,24 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 8494, + "id": 32669, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8474, - "src": "7834:8:45", + "referencedDeclaration": 32649, + "src": "7834:8:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "7809:33:45", + "src": "7809:33:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "7776:66:45", + "src": "7776:66:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9130,24 +9238,24 @@ "rightExpression": { "arguments": [ { - "id": 8498, + "id": 32673, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8483, - "src": "7875:5:45", + "referencedDeclaration": 32658, + "src": "7875:5:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 8499, + "id": 32674, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8474, - "src": "7882:8:45", + "referencedDeclaration": 32649, + "src": "7882:8:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9165,18 +9273,18 @@ "typeString": "address" } ], - "id": 8497, + "id": 32672, "name": "isApprovedForAll", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2420, - "src": "7858:16:45", + "referencedDeclaration": 26527, + "src": "7858:16:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", "typeString": "function (address,address) view returns (bool)" } }, - "id": 8500, + "id": 32675, "isConstant": false, "isLValue": false, "isPure": false, @@ -9184,65 +9292,67 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7858:33:45", + "src": "7858:33:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "7776:115:45", + "src": "7776:115:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 8502, + "id": 32677, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7775:117:45", + "src": "7775:117:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 8481, - "id": 8503, + "functionReturnParameters": 32656, + "id": 32678, "nodeType": "Return", - "src": "7768:124:45" + "src": "7768:124:59" } ] }, - "baseFunctions": [2584], + "baseFunctions": [ + 26691 + ], "implemented": true, "kind": "function", "modifiers": [], "name": "_isApprovedOrOwner", - "nameLocation": "7570:18:45", + "nameLocation": "7570:18:59", "overrides": { - "id": 8478, + "id": 32653, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "7679:8:45" + "src": "7679:8:59" }, "parameters": { - "id": 8477, + "id": 32652, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8474, + "id": 32649, "mutability": "mutable", "name": "_spender", - "nameLocation": "7597:8:45", + "nameLocation": "7597:8:59", "nodeType": "VariableDeclaration", - "scope": 8505, - "src": "7589:16:45", + "scope": 32680, + "src": "7589:16:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9250,10 +9360,10 @@ "typeString": "address" }, "typeName": { - "id": 8473, + "id": 32648, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7589:7:45", + "src": "7589:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9264,13 +9374,13 @@ }, { "constant": false, - "id": 8476, + "id": 32651, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "7615:8:45", + "nameLocation": "7615:8:59", "nodeType": "VariableDeclaration", - "scope": 8505, - "src": "7607:16:45", + "scope": 32680, + "src": "7607:16:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9278,10 +9388,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8475, + "id": 32650, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7607:7:45", + "src": "7607:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9290,21 +9400,21 @@ "visibility": "internal" } ], - "src": "7588:36:45" + "src": "7588:36:59" }, "returnParameters": { - "id": 8481, + "id": 32656, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8480, + "id": 32655, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 8505, - "src": "7705:4:45", + "scope": 32680, + "src": "7705:4:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9312,10 +9422,10 @@ "typeString": "bool" }, "typeName": { - "id": 8479, + "id": 32654, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7705:4:45", + "src": "7705:4:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9324,52 +9434,52 @@ "visibility": "internal" } ], - "src": "7704:6:45" + "src": "7704:6:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "view", "virtual": true, "visibility": "internal" }, { - "id": 8530, + "id": 32705, "nodeType": "FunctionDefinition", - "src": "8011:201:45", + "src": "8011:201:59", "nodes": [], "body": { - "id": 8529, + "id": 32704, "nodeType": "Block", - "src": "8076:136:45", + "src": "8076:136:59", "nodes": [], "statements": [ { "expression": { - "id": 8518, + "id": 32693, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 8514, + "id": 32689, "name": "_tokenApprovals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7937, - "src": "8086:15:45", + "referencedDeclaration": 32112, + "src": "8086:15:59", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 8516, + "id": 32691, "indexExpression": { - "id": 8515, + "id": 32690, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8510, - "src": "8102:7:45", + "referencedDeclaration": 32685, + "src": "8102:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9380,7 +9490,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8086:24:45", + "src": "8086:24:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9389,26 +9499,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 8517, + "id": 32692, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8508, - "src": "8113:2:45", + "referencedDeclaration": 32683, + "src": "8113:2:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "8086:29:45", + "src": "8086:29:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 8519, + "id": 32694, "nodeType": "ExpressionStatement", - "src": "8086:29:45" + "src": "8086:29:59" }, { "eventCall": { @@ -9416,12 +9526,12 @@ { "arguments": [ { - "id": 8523, + "id": 32698, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8510, - "src": "8165:7:45", + "referencedDeclaration": 32685, + "src": "8165:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9436,32 +9546,32 @@ } ], "expression": { - "id": 8521, + "id": 32696, "name": "ERC721Upgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2975, - "src": "8139:17:45", + "referencedDeclaration": 27082, + "src": "8139:17:59", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Upgradeable_$2975_$", + "typeIdentifier": "t_type$_t_contract$_ERC721Upgradeable_$27082_$", "typeString": "type(contract ERC721Upgradeable)" } }, - "id": 8522, + "id": 32697, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ownerOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2250, - "src": "8139:25:45", + "referencedDeclaration": 26357, + "src": "8139:25:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 8524, + "id": 32699, "isConstant": false, "isLValue": false, "isPure": false, @@ -9469,7 +9579,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8139:34:45", + "src": "8139:34:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -9477,24 +9587,24 @@ } }, { - "id": 8525, + "id": 32700, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8508, - "src": "8175:2:45", + "referencedDeclaration": 32683, + "src": "8175:2:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 8526, + "id": 32701, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8510, - "src": "8179:7:45", + "referencedDeclaration": 32685, + "src": "8179:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9516,18 +9626,18 @@ "typeString": "uint256" } ], - "id": 8520, + "id": 32695, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3017, - "src": "8130:8:45", + "referencedDeclaration": 27124, + "src": "8130:8:59", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 8527, + "id": 32702, "isConstant": false, "isLValue": false, "isPure": false, @@ -9535,50 +9645,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8130:57:45", + "src": "8130:57:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8528, + "id": 32703, "nodeType": "EmitStatement", - "src": "8125:62:45" + "src": "8125:62:59" } ] }, - "baseFunctions": [2853], + "baseFunctions": [ + 26960 + ], "documentation": { - "id": 8506, + "id": 32681, "nodeType": "StructuredDocumentation", - "src": "7905:101:45", + "src": "7905:101:59", "text": " @dev Approve `to` to operate on `tokenId`\n Emits an {Approval} event." }, "implemented": true, "kind": "function", "modifiers": [], "name": "_approve", - "nameLocation": "8020:8:45", + "nameLocation": "8020:8:59", "overrides": { - "id": 8512, + "id": 32687, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "8067:8:45" + "src": "8067:8:59" }, "parameters": { - "id": 8511, + "id": 32686, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8508, + "id": 32683, "mutability": "mutable", "name": "to", - "nameLocation": "8037:2:45", + "nameLocation": "8037:2:59", "nodeType": "VariableDeclaration", - "scope": 8530, - "src": "8029:10:45", + "scope": 32705, + "src": "8029:10:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9586,10 +9698,10 @@ "typeString": "address" }, "typeName": { - "id": 8507, + "id": 32682, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8029:7:45", + "src": "8029:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9600,13 +9712,13 @@ }, { "constant": false, - "id": 8510, + "id": 32685, "mutability": "mutable", "name": "tokenId", - "nameLocation": "8049:7:45", + "nameLocation": "8049:7:59", "nodeType": "VariableDeclaration", - "scope": 8530, - "src": "8041:15:45", + "scope": 32705, + "src": "8041:15:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9614,10 +9726,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8509, + "id": 32684, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8041:7:45", + "src": "8041:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9626,42 +9738,44 @@ "visibility": "internal" } ], - "src": "8028:29:45" + "src": "8028:29:59" }, "returnParameters": { - "id": 8513, + "id": 32688, "nodeType": "ParameterList", "parameters": [], - "src": "8076:0:45" + "src": "8076:0:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 8578, + "id": 32753, "nodeType": "FunctionDefinition", - "src": "8273:476:45", + "src": "8273:476:59", "nodes": [], "body": { - "id": 8577, + "id": 32752, "nodeType": "Block", - "src": "8403:346:45", + "src": "8403:346:59", "nodes": [], "statements": [ { - "assignments": [8540], + "assignments": [ + 32715 + ], "declarations": [ { "constant": false, - "id": 8540, + "id": 32715, "mutability": "mutable", "name": "receiver", - "nameLocation": "8421:8:45", + "nameLocation": "8421:8:59", "nodeType": "VariableDeclaration", - "scope": 8577, - "src": "8413:16:45", + "scope": 32752, + "src": "8413:16:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9669,10 +9783,10 @@ "typeString": "address" }, "typeName": { - "id": 8539, + "id": 32714, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8413:7:45", + "src": "8413:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9682,28 +9796,28 @@ "visibility": "internal" } ], - "id": 8544, + "id": 32719, "initialValue": { "baseExpression": { - "id": 8541, + "id": 32716, "name": "royaltyReceivers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10242, - "src": "8432:16:45", + "referencedDeclaration": 35380, + "src": "8432:16:59", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 8543, + "id": 32718, "indexExpression": { - "id": 8542, + "id": 32717, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8533, - "src": "8449:8:45", + "referencedDeclaration": 32708, + "src": "8449:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9714,27 +9828,31 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8432:26:45", + "src": "8432:26:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "8413:45:45" + "src": "8413:45:59" }, { - "assignments": [8546, null, null], + "assignments": [ + 32721, + null, + null + ], "declarations": [ { "constant": false, - "id": 8546, + "id": 32721, "mutability": "mutable", "name": "wasBatchMinted", - "nameLocation": "8474:14:45", + "nameLocation": "8474:14:59", "nodeType": "VariableDeclaration", - "scope": 8577, - "src": "8469:19:45", + "scope": 32752, + "src": "8469:19:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9742,10 +9860,10 @@ "typeString": "bool" }, "typeName": { - "id": 8545, + "id": 32720, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8469:4:45", + "src": "8469:4:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9756,16 +9874,16 @@ null, null ], - "id": 8550, + "id": 32725, "initialValue": { "arguments": [ { - "id": 8548, + "id": 32723, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8533, - "src": "8511:8:45", + "referencedDeclaration": 32708, + "src": "8511:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9779,18 +9897,18 @@ "typeString": "uint256" } ], - "id": 8547, + "id": 32722, "name": "_batchMintInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8691, - "src": "8496:14:45", + "referencedDeclaration": 32866, + "src": "8496:14:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$_t_uint256_$_t_string_memory_ptr_$", "typeString": "function (uint256) view returns (bool,uint256,string memory)" } }, - "id": 8549, + "id": 32724, "isConstant": false, "isLValue": false, "isPure": false, @@ -9798,7 +9916,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8496:24:45", + "src": "8496:24:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$_t_string_memory_ptr_$", @@ -9806,20 +9924,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "8468:52:45" + "src": "8468:52:59" }, { - "assignments": [8552], + "assignments": [ + 32727 + ], "declarations": [ { "constant": false, - "id": 8552, + "id": 32727, "mutability": "mutable", "name": "exists", - "nameLocation": "8535:6:45", + "nameLocation": "8535:6:59", "nodeType": "VariableDeclaration", - "scope": 8577, - "src": "8530:11:45", + "scope": 32752, + "src": "8530:11:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9827,10 +9947,10 @@ "typeString": "bool" }, "typeName": { - "id": 8551, + "id": 32726, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8530:4:45", + "src": "8530:4:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9839,13 +9959,13 @@ "visibility": "internal" } ], - "id": 8567, + "id": 32742, "initialValue": { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8566, + "id": 32741, "isConstant": false, "isLValue": false, "isPure": false, @@ -9857,18 +9977,18 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8560, + "id": 32735, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8553, + "id": 32728, "name": "wasBatchMinted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8546, - "src": "8545:14:45", + "referencedDeclaration": 32721, + "src": "8545:14:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9881,18 +10001,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8559, + "id": 32734, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8554, + "id": 32729, "name": "receiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8540, - "src": "8563:8:45", + "referencedDeclaration": 32715, + "src": "8563:8:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9904,14 +10024,14 @@ "arguments": [ { "hexValue": "30", - "id": 8557, + "id": 32732, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8583:1:45", + "src": "8583:1:59", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -9926,26 +10046,26 @@ "typeString": "int_const 0" } ], - "id": 8556, + "id": 32731, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8575:7:45", + "src": "8575:7:59", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 8555, + "id": 32730, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8575:7:45", + "src": "8575:7:59", "typeDescriptions": {} } }, - "id": 8558, + "id": 32733, "isConstant": false, "isLValue": false, "isPure": true, @@ -9953,34 +10073,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8575:10:45", + "src": "8575:10:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "8563:22:45", + "src": "8563:22:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "8545:40:45", + "src": "8545:40:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 8561, + "id": 32736, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8544:42:45", + "src": "8544:42:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9989,7 +10109,7 @@ "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { - "id": 8565, + "id": 32740, "isConstant": false, "isLValue": false, "isPure": false, @@ -9997,28 +10117,28 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "8602:23:45", + "src": "8602:23:59", "subExpression": { "baseExpression": { - "id": 8562, + "id": 32737, "name": "tokensBurned", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7933, - "src": "8603:12:45", + "referencedDeclaration": 32108, + "src": "8603:12:59", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 8564, + "id": 32739, "indexExpression": { - "id": 8563, + "id": 32738, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8533, - "src": "8616:8:45", + "referencedDeclaration": 32708, + "src": "8616:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10029,7 +10149,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8603:22:45", + "src": "8603:22:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10040,25 +10160,25 @@ "typeString": "bool" } }, - "src": "8544:81:45", + "src": "8544:81:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "8530:95:45" + "src": "8530:95:59" }, { "expression": { "arguments": [ { - "id": 8569, + "id": 32744, "name": "exists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8552, - "src": "8644:6:45", + "referencedDeclaration": 32727, + "src": "8644:6:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10066,14 +10186,14 @@ }, { "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 8570, + "id": 32745, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8652:46:45", + "src": "8652:46:59", "typeDescriptions": { "typeIdentifier": "t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", "typeString": "literal_string \"ERC721: approved query for nonexistent token\"" @@ -10092,18 +10212,21 @@ "typeString": "literal_string \"ERC721: approved query for nonexistent token\"" } ], - "id": 8568, + "id": 32743, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "8636:7:45", + "src": "8636:7:59", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8571, + "id": 32746, "isConstant": false, "isLValue": false, "isPure": false, @@ -10111,39 +10234,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8636:63:45", + "src": "8636:63:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8572, + "id": 32747, "nodeType": "ExpressionStatement", - "src": "8636:63:45" + "src": "8636:63:59" }, { "expression": { "baseExpression": { - "id": 8573, + "id": 32748, "name": "_tokenApprovals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7937, - "src": "8717:15:45", + "referencedDeclaration": 32112, + "src": "8717:15:59", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 8575, + "id": 32750, "indexExpression": { - "id": 8574, + "id": 32749, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8533, - "src": "8733:8:45", + "referencedDeclaration": 32708, + "src": "8733:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10154,24 +10277,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8717:25:45", + "src": "8717:25:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 8538, - "id": 8576, + "functionReturnParameters": 32713, + "id": 32751, "nodeType": "Return", - "src": "8710:32:45" + "src": "8710:32:59" } ] }, - "baseFunctions": [2385], + "baseFunctions": [ + 26492 + ], "documentation": { - "id": 8531, + "id": 32706, "nodeType": "StructuredDocumentation", - "src": "8218:50:45", + "src": "8218:50:59", "text": " @dev See {IERC721-getApproved}." }, "functionSelector": "081812fc", @@ -10179,26 +10304,26 @@ "kind": "function", "modifiers": [], "name": "getApproved", - "nameLocation": "8282:11:45", + "nameLocation": "8282:11:59", "overrides": { - "id": 8535, + "id": 32710, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "8364:8:45" + "src": "8364:8:59" }, "parameters": { - "id": 8534, + "id": 32709, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8533, + "id": 32708, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "8302:8:45", + "nameLocation": "8302:8:59", "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "8294:16:45", + "scope": 32753, + "src": "8294:16:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10206,10 +10331,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8532, + "id": 32707, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8294:7:45", + "src": "8294:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10218,21 +10343,21 @@ "visibility": "internal" } ], - "src": "8293:18:45" + "src": "8293:18:59" }, "returnParameters": { - "id": 8538, + "id": 32713, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8537, + "id": 32712, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 8578, - "src": "8390:7:45", + "scope": 32753, + "src": "8390:7:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10240,10 +10365,10 @@ "typeString": "address" }, "typeName": { - "id": 8536, + "id": 32711, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8390:7:45", + "src": "8390:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10253,22 +10378,22 @@ "visibility": "internal" } ], - "src": "8389:9:45" + "src": "8389:9:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 8628, + "id": 32803, "nodeType": "FunctionDefinition", - "src": "8755:473:45", + "src": "8755:473:59", "nodes": [], "body": { - "id": 8627, + "id": 32802, "nodeType": "Block", - "src": "8876:352:45", + "src": "8876:352:59", "nodes": [], "statements": [ { @@ -10279,18 +10404,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8591, + "id": 32766, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8589, + "id": 32764, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8584, - "src": "8894:8:45", + "referencedDeclaration": 32759, + "src": "8894:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10300,21 +10425,21 @@ "operator": "!=", "rightExpression": { "hexValue": "30", - "id": 8590, + "id": 32765, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8906:1:45", + "src": "8906:1:59", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "8894:13:45", + "src": "8894:13:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10328,18 +10453,21 @@ "typeString": "bool" } ], - "id": 8588, + "id": 32763, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "8886:7:45", + "src": "8886:7:59", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 8592, + "id": 32767, "isConstant": false, "isLValue": false, "isPure": false, @@ -10347,29 +10475,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8886:22:45", + "src": "8886:22:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8593, + "id": 32768, "nodeType": "ExpressionStatement", - "src": "8886:22:45" + "src": "8886:22:59" }, { - "assignments": [8595, null, null], + "assignments": [ + 32770, + null, + null + ], "declarations": [ { "constant": false, - "id": 8595, + "id": 32770, "mutability": "mutable", "name": "wasBatchMinted", - "nameLocation": "8925:14:45", + "nameLocation": "8925:14:59", "nodeType": "VariableDeclaration", - "scope": 8627, - "src": "8920:19:45", + "scope": 32802, + "src": "8920:19:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10377,10 +10509,10 @@ "typeString": "bool" }, "typeName": { - "id": 8594, + "id": 32769, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8920:4:45", + "src": "8920:4:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10391,16 +10523,16 @@ null, null ], - "id": 8599, + "id": 32774, "initialValue": { "arguments": [ { - "id": 8597, + "id": 32772, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8584, - "src": "8962:8:45", + "referencedDeclaration": 32759, + "src": "8962:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10414,18 +10546,18 @@ "typeString": "uint256" } ], - "id": 8596, + "id": 32771, "name": "_batchMintInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8691, - "src": "8947:14:45", + "referencedDeclaration": 32866, + "src": "8947:14:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$_t_uint256_$_t_string_memory_ptr_$", "typeString": "function (uint256) view returns (bool,uint256,string memory)" } }, - "id": 8598, + "id": 32773, "isConstant": false, "isLValue": false, "isPure": false, @@ -10433,7 +10565,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8947:24:45", + "src": "8947:24:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$_t_string_memory_ptr_$", @@ -10441,7 +10573,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "8919:52:45" + "src": "8919:52:59" }, { "condition": { @@ -10449,7 +10581,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8611, + "id": 32786, "isConstant": false, "isLValue": false, "isPure": false, @@ -10459,18 +10591,18 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8606, + "id": 32781, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8600, + "id": 32775, "name": "wasBatchMinted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8595, - "src": "8999:14:45", + "referencedDeclaration": 32770, + "src": "8999:14:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10479,7 +10611,7 @@ "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { - "id": 8605, + "id": 32780, "isConstant": false, "isLValue": false, "isPure": false, @@ -10487,16 +10619,16 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "9029:36:45", + "src": "9029:36:59", "subExpression": { "arguments": [ { - "id": 8603, + "id": 32778, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8584, - "src": "9056:8:45", + "referencedDeclaration": 32759, + "src": "9056:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10511,32 +10643,32 @@ } ], "expression": { - "id": 8601, + "id": 32776, "name": "ERC721Upgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2975, - "src": "9030:17:45", + "referencedDeclaration": 27082, + "src": "9030:17:59", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Upgradeable_$2975_$", + "typeIdentifier": "t_type$_t_contract$_ERC721Upgradeable_$27082_$", "typeString": "type(contract ERC721Upgradeable)" } }, - "id": 8602, + "id": 32777, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_exists", "nodeType": "MemberAccess", - "referencedDeclaration": 2543, - "src": "9030:25:45", + "referencedDeclaration": 26650, + "src": "9030:25:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 8604, + "id": 32779, "isConstant": false, "isLValue": false, "isPure": false, @@ -10544,7 +10676,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9030:35:45", + "src": "9030:35:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10556,7 +10688,7 @@ "typeString": "bool" } }, - "src": "8999:66:45", + "src": "8999:66:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10565,7 +10697,7 @@ "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { - "id": 8610, + "id": 32785, "isConstant": false, "isLValue": false, "isPure": false, @@ -10573,28 +10705,28 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "9081:23:45", + "src": "9081:23:59", "subExpression": { "baseExpression": { - "id": 8607, + "id": 32782, "name": "tokensBurned", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7933, - "src": "9082:12:45", + "referencedDeclaration": 32108, + "src": "9082:12:59", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 8609, + "id": 32784, "indexExpression": { - "id": 8608, + "id": 32783, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8584, - "src": "9095:8:45", + "referencedDeclaration": 32759, + "src": "9095:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10605,7 +10737,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9082:22:45", + "src": "9082:22:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10616,42 +10748,42 @@ "typeString": "bool" } }, - "src": "8999:105:45", + "src": "8999:105:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8618, + "id": 32793, "nodeType": "IfStatement", - "src": "8982:180:45", + "src": "8982:180:59", "trueBody": { - "id": 8617, + "id": 32792, "nodeType": "Block", - "src": "9115:47:45", + "src": "9115:47:59", "statements": [ { "expression": { "arguments": [ { - "id": 8613, + "id": 32788, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8580, - "src": "9135:5:45", + "referencedDeclaration": 32755, + "src": "9135:5:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 8614, + "id": 32789, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8584, - "src": "9142:8:45", + "referencedDeclaration": 32759, + "src": "9142:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10669,18 +10801,18 @@ "typeString": "uint256" } ], - "id": 8612, + "id": 32787, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2694, - "src": "9129:5:45", + "referencedDeclaration": 26801, + "src": "9129:5:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 8615, + "id": 32790, "isConstant": false, "isLValue": false, "isPure": false, @@ -10688,16 +10820,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9129:22:45", + "src": "9129:22:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8616, + "id": 32791, "nodeType": "ExpressionStatement", - "src": "9129:22:45" + "src": "9129:22:59" } ] } @@ -10706,36 +10838,36 @@ "expression": { "arguments": [ { - "id": 8622, + "id": 32797, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8580, - "src": "9200:5:45", + "referencedDeclaration": 32755, + "src": "9200:5:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 8623, + "id": 32798, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8582, - "src": "9207:3:45", + "referencedDeclaration": 32757, + "src": "9207:3:59", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 8624, + "id": 32799, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8584, - "src": "9212:8:45", + "referencedDeclaration": 32759, + "src": "9212:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10758,32 +10890,32 @@ } ], "expression": { - "id": 8619, + "id": 32794, "name": "ERC721Upgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2975, - "src": "9172:17:45", + "referencedDeclaration": 27082, + "src": "9172:17:59", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Upgradeable_$2975_$", + "typeIdentifier": "t_type$_t_contract$_ERC721Upgradeable_$27082_$", "typeString": "type(contract ERC721Upgradeable)" } }, - "id": 8621, + "id": 32796, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 2829, - "src": "9172:27:45", + "referencedDeclaration": 26936, + "src": "9172:27:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 8625, + "id": 32800, "isConstant": false, "isLValue": false, "isPure": false, @@ -10791,44 +10923,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9172:49:45", + "src": "9172:49:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8626, + "id": 32801, "nodeType": "ExpressionStatement", - "src": "9172:49:45" + "src": "9172:49:59" } ] }, - "baseFunctions": [2829], + "baseFunctions": [ + 26936 + ], "implemented": true, "kind": "function", "modifiers": [], "name": "_transfer", - "nameLocation": "8764:9:45", + "nameLocation": "8764:9:59", "overrides": { - "id": 8586, + "id": 32761, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "8867:8:45" + "src": "8867:8:59" }, "parameters": { - "id": 8585, + "id": 32760, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8580, + "id": 32755, "mutability": "mutable", "name": "_from", - "nameLocation": "8791:5:45", + "nameLocation": "8791:5:59", "nodeType": "VariableDeclaration", - "scope": 8628, - "src": "8783:13:45", + "scope": 32803, + "src": "8783:13:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10836,10 +10970,10 @@ "typeString": "address" }, "typeName": { - "id": 8579, + "id": 32754, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8783:7:45", + "src": "8783:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10850,13 +10984,13 @@ }, { "constant": false, - "id": 8582, + "id": 32757, "mutability": "mutable", "name": "_to", - "nameLocation": "8814:3:45", + "nameLocation": "8814:3:59", "nodeType": "VariableDeclaration", - "scope": 8628, - "src": "8806:11:45", + "scope": 32803, + "src": "8806:11:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10864,10 +10998,10 @@ "typeString": "address" }, "typeName": { - "id": 8581, + "id": 32756, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8806:7:45", + "src": "8806:7:59", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10878,13 +11012,13 @@ }, { "constant": false, - "id": 8584, + "id": 32759, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "8835:8:45", + "nameLocation": "8835:8:59", "nodeType": "VariableDeclaration", - "scope": 8628, - "src": "8827:16:45", + "scope": 32803, + "src": "8827:16:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10892,10 +11026,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8583, + "id": 32758, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8827:7:45", + "src": "8827:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10904,28 +11038,28 @@ "visibility": "internal" } ], - "src": "8773:76:45" + "src": "8773:76:59" }, "returnParameters": { - "id": 8587, + "id": 32762, "nodeType": "ParameterList", "parameters": [], - "src": "8876:0:45" + "src": "8876:0:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { - "id": 8638, + "id": 32813, "nodeType": "FunctionDefinition", - "src": "9234:109:45", + "src": "9234:109:59", "nodes": [], "body": { - "id": 8637, + "id": 32812, "nodeType": "Block", - "src": "9295:48:45", + "src": "9295:48:59", "nodes": [], "statements": [ { @@ -10934,32 +11068,32 @@ "expression": { "argumentTypes": [], "expression": { - "id": 8633, + "id": 32808, "name": "tokenIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7940, - "src": "9312:14:45", + "referencedDeclaration": 32115, + "src": "9312:14:59", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$3477_storage", + "typeIdentifier": "t_struct$_Counter_$27584_storage", "typeString": "struct CountersUpgradeable.Counter storage ref" } }, - "id": 8634, + "id": 32809, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "current", "nodeType": "MemberAccess", - "referencedDeclaration": 3489, - "src": "9312:22:45", + "referencedDeclaration": 27596, + "src": "9312:22:59", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$3477_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$3477_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$27584_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$27584_storage_ptr_$", "typeString": "function (struct CountersUpgradeable.Counter storage pointer) view returns (uint256)" } }, - "id": 8635, + "id": 32810, "isConstant": false, "isLValue": false, "isPure": false, @@ -10967,17 +11101,17 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9312:24:45", + "src": "9312:24:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 8632, - "id": 8636, + "functionReturnParameters": 32807, + "id": 32811, "nodeType": "Return", - "src": "9305:31:45" + "src": "9305:31:59" } ] }, @@ -10986,26 +11120,26 @@ "kind": "function", "modifiers": [], "name": "totalSupply", - "nameLocation": "9243:11:45", + "nameLocation": "9243:11:59", "parameters": { - "id": 8629, + "id": 32804, "nodeType": "ParameterList", "parameters": [], - "src": "9254:2:45" + "src": "9254:2:59" }, "returnParameters": { - "id": 8632, + "id": 32807, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8631, + "id": 32806, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 8638, - "src": "9286:7:45", + "scope": 32813, + "src": "9286:7:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11013,10 +11147,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8630, + "id": 32805, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9286:7:45", + "src": "9286:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11025,29 +11159,29 @@ "visibility": "internal" } ], - "src": "9285:9:45" + "src": "9285:9:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 8691, + "id": 32866, "nodeType": "FunctionDefinition", - "src": "9349:537:45", + "src": "9349:537:59", "nodes": [], "body": { - "id": 8690, + "id": 32865, "nodeType": "Block", - "src": "9560:326:45", + "src": "9560:326:59", "nodes": [], "statements": [ { "body": { - "id": 8683, + "id": 32858, "nodeType": "Block", - "src": "9619:229:45", + "src": "9619:229:59", "statements": [ { "condition": { @@ -11055,7 +11189,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8672, + "id": 32847, "isConstant": false, "isLValue": false, "isPure": false, @@ -11065,18 +11199,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8665, + "id": 32840, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8660, + "id": 32835, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8640, - "src": "9654:8:45", + "referencedDeclaration": 32815, + "src": "9654:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11087,25 +11221,25 @@ "rightExpression": { "expression": { "baseExpression": { - "id": 8661, + "id": 32836, "name": "mintBatches", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7944, - "src": "9666:11:45", + "referencedDeclaration": 32119, + "src": "9666:11:59", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MintBatch_$7921_storage_$dyn_storage", + "typeIdentifier": "t_array$_t_struct$_MintBatch_$32096_storage_$dyn_storage", "typeString": "struct SovereignNFT.MintBatch storage ref[] storage ref" } }, - "id": 8663, + "id": 32838, "indexExpression": { - "id": 8662, + "id": 32837, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8650, - "src": "9678:1:45", + "referencedDeclaration": 32825, + "src": "9678:1:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11116,27 +11250,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9666:14:45", + "src": "9666:14:59", "typeDescriptions": { - "typeIdentifier": "t_struct$_MintBatch_$7921_storage", + "typeIdentifier": "t_struct$_MintBatch_$32096_storage", "typeString": "struct SovereignNFT.MintBatch storage ref" } }, - "id": 8664, + "id": 32839, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "startTokenId", "nodeType": "MemberAccess", - "referencedDeclaration": 7916, - "src": "9666:27:45", + "referencedDeclaration": 32091, + "src": "9666:27:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9654:39:45", + "src": "9654:39:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11149,18 +11283,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8671, + "id": 32846, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8666, + "id": 32841, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8640, - "src": "9713:8:45", + "referencedDeclaration": 32815, + "src": "9713:8:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11171,25 +11305,25 @@ "rightExpression": { "expression": { "baseExpression": { - "id": 8667, + "id": 32842, "name": "mintBatches", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7944, - "src": "9725:11:45", + "referencedDeclaration": 32119, + "src": "9725:11:59", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MintBatch_$7921_storage_$dyn_storage", + "typeIdentifier": "t_array$_t_struct$_MintBatch_$32096_storage_$dyn_storage", "typeString": "struct SovereignNFT.MintBatch storage ref[] storage ref" } }, - "id": 8669, + "id": 32844, "indexExpression": { - "id": 8668, + "id": 32843, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8650, - "src": "9737:1:45", + "referencedDeclaration": 32825, + "src": "9737:1:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11200,59 +11334,59 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9725:14:45", + "src": "9725:14:59", "typeDescriptions": { - "typeIdentifier": "t_struct$_MintBatch_$7921_storage", + "typeIdentifier": "t_struct$_MintBatch_$32096_storage", "typeString": "struct SovereignNFT.MintBatch storage ref" } }, - "id": 8670, + "id": 32845, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "endTokenId", "nodeType": "MemberAccess", - "referencedDeclaration": 7918, - "src": "9725:25:45", + "referencedDeclaration": 32093, + "src": "9725:25:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9713:37:45", + "src": "9713:37:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "9654:96:45", + "src": "9654:96:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8682, + "id": 32857, "nodeType": "IfStatement", - "src": "9633:205:45", + "src": "9633:205:59", "trueBody": { - "id": 8681, + "id": 32856, "nodeType": "Block", - "src": "9765:73:45", + "src": "9765:73:59", "statements": [ { "expression": { "components": [ { "hexValue": "74727565", - "id": 8673, + "id": 32848, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "9791:4:45", + "src": "9791:4:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11260,12 +11394,12 @@ "value": "true" }, { - "id": 8674, + "id": 32849, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8650, - "src": "9797:1:45", + "referencedDeclaration": 32825, + "src": "9797:1:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11274,25 +11408,25 @@ { "expression": { "baseExpression": { - "id": 8675, + "id": 32850, "name": "mintBatches", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7944, - "src": "9800:11:45", + "referencedDeclaration": 32119, + "src": "9800:11:59", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MintBatch_$7921_storage_$dyn_storage", + "typeIdentifier": "t_array$_t_struct$_MintBatch_$32096_storage_$dyn_storage", "typeString": "struct SovereignNFT.MintBatch storage ref[] storage ref" } }, - "id": 8677, + "id": 32852, "indexExpression": { - "id": 8676, + "id": 32851, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8650, - "src": "9812:1:45", + "referencedDeclaration": 32825, + "src": "9812:1:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11303,44 +11437,44 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9800:14:45", + "src": "9800:14:59", "typeDescriptions": { - "typeIdentifier": "t_struct$_MintBatch_$7921_storage", + "typeIdentifier": "t_struct$_MintBatch_$32096_storage", "typeString": "struct SovereignNFT.MintBatch storage ref" } }, - "id": 8678, + "id": 32853, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "baseURI", "nodeType": "MemberAccess", - "referencedDeclaration": 7920, - "src": "9800:22:45", + "referencedDeclaration": 32095, + "src": "9800:22:59", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } } ], - "id": 8679, + "id": 32854, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "9790:33:45", + "src": "9790:33:59", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$_t_string_storage_$", "typeString": "tuple(bool,uint256,string storage ref)" } }, - "functionReturnParameters": 8648, - "id": 8680, + "functionReturnParameters": 32823, + "id": 32855, "nodeType": "Return", - "src": "9783:40:45" + "src": "9783:40:59" } ] } @@ -11352,18 +11486,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8656, + "id": 32831, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8653, + "id": 32828, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8650, - "src": "9590:1:45", + "referencedDeclaration": 32825, + "src": "9590:1:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11373,49 +11507,51 @@ "operator": "<", "rightExpression": { "expression": { - "id": 8654, + "id": 32829, "name": "mintBatches", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7944, - "src": "9594:11:45", + "referencedDeclaration": 32119, + "src": "9594:11:59", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MintBatch_$7921_storage_$dyn_storage", + "typeIdentifier": "t_array$_t_struct$_MintBatch_$32096_storage_$dyn_storage", "typeString": "struct SovereignNFT.MintBatch storage ref[] storage ref" } }, - "id": 8655, + "id": 32830, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "9594:18:45", + "src": "9594:18:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9590:22:45", + "src": "9590:22:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8684, + "id": 32859, "initializationExpression": { - "assignments": [8650], + "assignments": [ + 32825 + ], "declarations": [ { "constant": false, - "id": 8650, + "id": 32825, "mutability": "mutable", "name": "i", - "nameLocation": "9583:1:45", + "nameLocation": "9583:1:59", "nodeType": "VariableDeclaration", - "scope": 8684, - "src": "9575:9:45", + "scope": 32859, + "src": "9575:9:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11423,10 +11559,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8649, + "id": 32824, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9575:7:45", + "src": "9575:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11435,17 +11571,17 @@ "visibility": "internal" } ], - "id": 8652, + "id": 32827, "initialValue": { "hexValue": "30", - "id": 8651, + "id": 32826, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9587:1:45", + "src": "9587:1:59", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -11453,11 +11589,11 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "9575:13:45" + "src": "9575:13:59" }, "loopExpression": { "expression": { - "id": 8658, + "id": 32833, "isConstant": false, "isLValue": false, "isPure": false, @@ -11465,14 +11601,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "9614:3:45", + "src": "9614:3:59", "subExpression": { - "id": 8657, + "id": 32832, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8650, - "src": "9614:1:45", + "referencedDeclaration": 32825, + "src": "9614:1:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11483,26 +11619,26 @@ "typeString": "uint256" } }, - "id": 8659, + "id": 32834, "nodeType": "ExpressionStatement", - "src": "9614:3:45" + "src": "9614:3:59" }, "nodeType": "ForStatement", - "src": "9570:278:45" + "src": "9570:278:59" }, { "expression": { "components": [ { "hexValue": "66616c7365", - "id": 8685, + "id": 32860, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "9866:5:45", + "src": "9866:5:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11511,14 +11647,14 @@ }, { "hexValue": "30", - "id": 8686, + "id": 32861, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9873:1:45", + "src": "9873:1:59", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -11527,14 +11663,14 @@ }, { "hexValue": "", - "id": 8687, + "id": 32862, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9876:2:45", + "src": "9876:2:59", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" @@ -11542,23 +11678,23 @@ "value": "" } ], - "id": 8688, + "id": 32863, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "9865:14:45", + "src": "9865:14:59", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_$", "typeString": "tuple(bool,int_const 0,literal_string \"\")" } }, - "functionReturnParameters": 8648, - "id": 8689, + "functionReturnParameters": 32823, + "id": 32864, "nodeType": "Return", - "src": "9858:21:45" + "src": "9858:21:59" } ] }, @@ -11566,20 +11702,20 @@ "kind": "function", "modifiers": [], "name": "_batchMintInfo", - "nameLocation": "9358:14:45", + "nameLocation": "9358:14:59", "parameters": { - "id": 8641, + "id": 32816, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8640, + "id": 32815, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "9381:8:45", + "nameLocation": "9381:8:59", "nodeType": "VariableDeclaration", - "scope": 8691, - "src": "9373:16:45", + "scope": 32866, + "src": "9373:16:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11587,10 +11723,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8639, + "id": 32814, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9373:7:45", + "src": "9373:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11599,21 +11735,21 @@ "visibility": "internal" } ], - "src": "9372:18:45" + "src": "9372:18:59" }, "returnParameters": { - "id": 8648, + "id": 32823, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8643, + "id": 32818, "mutability": "mutable", "name": "_wasBatchMinted", - "nameLocation": "9456:15:45", + "nameLocation": "9456:15:59", "nodeType": "VariableDeclaration", - "scope": 8691, - "src": "9451:20:45", + "scope": 32866, + "src": "9451:20:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11621,10 +11757,10 @@ "typeString": "bool" }, "typeName": { - "id": 8642, + "id": 32817, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "9451:4:45", + "src": "9451:4:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11634,13 +11770,13 @@ }, { "constant": false, - "id": 8645, + "id": 32820, "mutability": "mutable", "name": "_batchIndex", - "nameLocation": "9493:11:45", + "nameLocation": "9493:11:59", "nodeType": "VariableDeclaration", - "scope": 8691, - "src": "9485:19:45", + "scope": 32866, + "src": "9485:19:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11648,10 +11784,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8644, + "id": 32819, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9485:7:45", + "src": "9485:7:59", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11661,13 +11797,13 @@ }, { "constant": false, - "id": 8647, + "id": 32822, "mutability": "mutable", "name": "_baseTokenUri", - "nameLocation": "9532:13:45", + "nameLocation": "9532:13:59", "nodeType": "VariableDeclaration", - "scope": 8691, - "src": "9518:27:45", + "scope": 32866, + "src": "9518:27:59", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11675,10 +11811,10 @@ "typeString": "string" }, "typeName": { - "id": 8646, + "id": 32821, "name": "string", "nodeType": "ElementaryTypeName", - "src": "9518:6:45", + "src": "9518:6:59", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -11687,22 +11823,22 @@ "visibility": "internal" } ], - "src": "9437:118:45" + "src": "9437:118:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "view", "virtual": false, "visibility": "internal" }, { - "id": 8726, + "id": 32901, "nodeType": "FunctionDefinition", - "src": "9953:468:45", + "src": "9953:468:59", "nodes": [], "body": { - "id": 8725, + "id": 32900, "nodeType": "Block", - "src": "10146:275:45", + "src": "10146:275:59", "nodes": [], "statements": [ { @@ -11711,7 +11847,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8723, + "id": 32898, "isConstant": false, "isLValue": false, "isPure": false, @@ -11721,7 +11857,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8718, + "id": 32893, "isConstant": false, "isLValue": false, "isPure": false, @@ -11731,7 +11867,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8713, + "id": 32888, "isConstant": false, "isLValue": false, "isPure": false, @@ -11741,18 +11877,18 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 8708, + "id": 32883, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8703, + "id": 32878, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8694, - "src": "10175:11:45", + "referencedDeclaration": 32869, + "src": "10175:11:59", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -11764,14 +11900,14 @@ "expression": { "arguments": [ { - "id": 8705, + "id": 32880, "name": "ITokenCreator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10419, - "src": "10195:13:45", + "referencedDeclaration": 35557, + "src": "10195:13:59", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenCreator_$10419_$", + "typeIdentifier": "t_type$_t_contract$_ITokenCreator_$35557_$", "typeString": "type(contract ITokenCreator)" } } @@ -11779,22 +11915,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_type$_t_contract$_ITokenCreator_$10419_$", + "typeIdentifier": "t_type$_t_contract$_ITokenCreator_$35557_$", "typeString": "type(contract ITokenCreator)" } ], - "id": 8704, + "id": 32879, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "10190:4:45", + "src": "10190:4:59", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 8706, + "id": 32881, "isConstant": false, "isLValue": false, "isPure": true, @@ -11802,27 +11938,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10190:19:45", + "src": "10190:19:59", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_ITokenCreator_$10419", + "typeIdentifier": "t_magic_meta_type_t_contract$_ITokenCreator_$35557", "typeString": "type(contract ITokenCreator)" } }, - "id": 8707, + "id": 32882, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "interfaceId", "nodeType": "MemberAccess", - "src": "10190:31:45", + "src": "10190:31:59", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "10175:46:45", + "src": "10175:46:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11833,12 +11969,12 @@ "rightExpression": { "arguments": [ { - "id": 8711, + "id": 32886, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8694, - "src": "10273:11:45", + "referencedDeclaration": 32869, + "src": "10273:11:59", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -11853,32 +11989,32 @@ } ], "expression": { - "id": 8709, + "id": 32884, "name": "ERC165Upgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3792, - "src": "10237:17:45", + "referencedDeclaration": 27899, + "src": "10237:17:59", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC165Upgradeable_$3792_$", + "typeIdentifier": "t_type$_t_contract$_ERC165Upgradeable_$27899_$", "typeString": "type(contract ERC165Upgradeable)" } }, - "id": 8710, + "id": 32885, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "supportsInterface", "nodeType": "MemberAccess", - "referencedDeclaration": 3786, - "src": "10237:35:45", + "referencedDeclaration": 27893, + "src": "10237:35:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", "typeString": "function (bytes4) view returns (bool)" } }, - "id": 8712, + "id": 32887, "isConstant": false, "isLValue": false, "isPure": false, @@ -11886,14 +12022,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10237:48:45", + "src": "10237:48:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10175:110:45", + "src": "10175:110:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11904,12 +12040,12 @@ "rightExpression": { "arguments": [ { - "id": 8716, + "id": 32891, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8694, - "src": "10338:11:45", + "referencedDeclaration": 32869, + "src": "10338:11:59", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -11924,32 +12060,32 @@ } ], "expression": { - "id": 8714, + "id": 32889, "name": "ERC2981Upgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10393, - "src": "10301:18:45", + "referencedDeclaration": 35531, + "src": "10301:18:59", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC2981Upgradeable_$10393_$", + "typeIdentifier": "t_type$_t_contract$_ERC2981Upgradeable_$35531_$", "typeString": "type(contract ERC2981Upgradeable)" } }, - "id": 8715, + "id": 32890, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "supportsInterface", "nodeType": "MemberAccess", - "referencedDeclaration": 10366, - "src": "10301:36:45", + "referencedDeclaration": 35504, + "src": "10301:36:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", "typeString": "function (bytes4) view returns (bool)" } }, - "id": 8717, + "id": 32892, "isConstant": false, "isLValue": false, "isPure": false, @@ -11957,14 +12093,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10301:49:45", + "src": "10301:49:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10175:175:45", + "src": "10175:175:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11975,12 +12111,12 @@ "rightExpression": { "arguments": [ { - "id": 8721, + "id": 32896, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8694, - "src": "10402:11:45", + "referencedDeclaration": 32869, + "src": "10402:11:59", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -11995,32 +12131,32 @@ } ], "expression": { - "id": 8719, + "id": 32894, "name": "ERC721Upgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2975, - "src": "10366:17:45", + "referencedDeclaration": 27082, + "src": "10366:17:59", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Upgradeable_$2975_$", + "typeIdentifier": "t_type$_t_contract$_ERC721Upgradeable_$27082_$", "typeString": "type(contract ERC721Upgradeable)" } }, - "id": 8720, + "id": 32895, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "supportsInterface", "nodeType": "MemberAccess", - "referencedDeclaration": 2198, - "src": "10366:35:45", + "referencedDeclaration": 26305, + "src": "10366:35:59", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", "typeString": "function (bytes4) view returns (bool)" } }, - "id": 8722, + "id": 32897, "isConstant": false, "isLValue": false, "isPure": false, @@ -12028,31 +12164,35 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10366:48:45", + "src": "10366:48:59", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10175:239:45", + "src": "10175:239:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 8702, - "id": 8724, + "functionReturnParameters": 32877, + "id": 32899, "nodeType": "Return", - "src": "10156:258:45" + "src": "10156:258:59" } ] }, - "baseFunctions": [2198, 3786, 10366], + "baseFunctions": [ + 26305, + 27893, + 35504 + ], "documentation": { - "id": 8692, + "id": 32867, "nodeType": "StructuredDocumentation", - "src": "9892:56:45", + "src": "9892:56:59", "text": " @dev See {IERC165-supportsInterface}." }, "functionSelector": "01ffc9a7", @@ -12060,48 +12200,48 @@ "kind": "function", "modifiers": [], "name": "supportsInterface", - "nameLocation": "9962:17:45", + "nameLocation": "9962:17:59", "overrides": { - "id": 8699, + "id": 32874, "nodeType": "OverrideSpecifier", "overrides": [ { - "id": 8696, + "id": 32871, "name": "ERC165Upgradeable", "nodeType": "IdentifierPath", - "referencedDeclaration": 3792, - "src": "10061:17:45" + "referencedDeclaration": 27899, + "src": "10061:17:59" }, { - "id": 8697, + "id": 32872, "name": "ERC2981Upgradeable", "nodeType": "IdentifierPath", - "referencedDeclaration": 10393, - "src": "10080:18:45" + "referencedDeclaration": 35531, + "src": "10080:18:59" }, { - "id": 8698, + "id": 32873, "name": "ERC721Upgradeable", "nodeType": "IdentifierPath", - "referencedDeclaration": 2975, - "src": "10100:17:45" + "referencedDeclaration": 27082, + "src": "10100:17:59" } ], - "src": "10052:66:45" + "src": "10052:66:59" }, "parameters": { - "id": 8695, + "id": 32870, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8694, + "id": 32869, "mutability": "mutable", "name": "interfaceId", - "nameLocation": "9987:11:45", + "nameLocation": "9987:11:59", "nodeType": "VariableDeclaration", - "scope": 8726, - "src": "9980:18:45", + "scope": 32901, + "src": "9980:18:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12109,10 +12249,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 8693, + "id": 32868, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "9980:6:45", + "src": "9980:6:59", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -12121,21 +12261,21 @@ "visibility": "internal" } ], - "src": "9979:20:45" + "src": "9979:20:59" }, "returnParameters": { - "id": 8702, + "id": 32877, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8701, + "id": 32876, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 8726, - "src": "10136:4:45", + "scope": 32901, + "src": "10136:4:59", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12143,10 +12283,10 @@ "typeString": "bool" }, "typeName": { - "id": 8700, + "id": 32875, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "10136:4:45", + "src": "10136:4:59", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12155,9 +12295,9 @@ "visibility": "internal" } ], - "src": "10135:6:45" + "src": "10135:6:59" }, - "scope": 8727, + "scope": 32902, "stateMutability": "view", "virtual": true, "visibility": "public" @@ -12167,75 +12307,75 @@ "baseContracts": [ { "baseName": { - "id": 7893, + "id": 32068, "name": "OwnableUpgradeable", "nodeType": "IdentifierPath", - "referencedDeclaration": 813, - "src": "731:18:45" + "referencedDeclaration": 24920, + "src": "731:18:59" }, - "id": 7894, + "id": 32069, "nodeType": "InheritanceSpecifier", - "src": "731:18:45" + "src": "731:18:59" }, { "baseName": { - "id": 7895, + "id": 32070, "name": "ERC165Upgradeable", "nodeType": "IdentifierPath", - "referencedDeclaration": 3792, - "src": "755:17:45" + "referencedDeclaration": 27899, + "src": "755:17:59" }, - "id": 7896, + "id": 32071, "nodeType": "InheritanceSpecifier", - "src": "755:17:45" + "src": "755:17:59" }, { "baseName": { - "id": 7897, + "id": 32072, "name": "ERC721Upgradeable", "nodeType": "IdentifierPath", - "referencedDeclaration": 2975, - "src": "778:17:45" + "referencedDeclaration": 27082, + "src": "778:17:59" }, - "id": 7898, + "id": 32073, "nodeType": "InheritanceSpecifier", - "src": "778:17:45" + "src": "778:17:59" }, { "baseName": { - "id": 7899, + "id": 32074, "name": "ITokenCreator", "nodeType": "IdentifierPath", - "referencedDeclaration": 10419, - "src": "801:13:45" + "referencedDeclaration": 35557, + "src": "801:13:59" }, - "id": 7900, + "id": 32075, "nodeType": "InheritanceSpecifier", - "src": "801:13:45" + "src": "801:13:59" }, { "baseName": { - "id": 7901, + "id": 32076, "name": "ERC721BurnableUpgradeable", "nodeType": "IdentifierPath", - "referencedDeclaration": 3159, - "src": "820:25:45" + "referencedDeclaration": 27266, + "src": "820:25:59" }, - "id": 7902, + "id": 32077, "nodeType": "InheritanceSpecifier", - "src": "820:25:45" + "src": "820:25:59" }, { "baseName": { - "id": 7903, + "id": 32078, "name": "ERC2981Upgradeable", "nodeType": "IdentifierPath", - "referencedDeclaration": 10393, - "src": "851:18:45" + "referencedDeclaration": 35531, + "src": "851:18:59" }, - "id": 7904, + "id": 32079, "nodeType": "InheritanceSpecifier", - "src": "851:18:45" + "src": "851:18:59" } ], "canonicalName": "SovereignNFT", @@ -12243,16 +12383,27 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 8727, 10393, 3159, 10419, 2975, 3186, 3109, 3792, 3804, 813, 3471, - 955, 10409 + 32902, + 35531, + 27266, + 35557, + 27082, + 27293, + 27216, + 27899, + 27911, + 24920, + 27578, + 25062, + 35547 ], "name": "SovereignNFT", - "nameLocation": "711:12:45", - "scope": 8728, + "nameLocation": "711:12:59", + "scope": 32903, "usedErrors": [] } ], "license": "MIT" }, - "id": 45 -} + "id": 59 +} \ No newline at end of file diff --git a/abis/SovereignNFTContractFactory.json b/abis/SovereignNFTContractFactory.json index 1c3ea73..0bb8ec6 100644 --- a/abis/SovereignNFTContractFactory.json +++ b/abis/SovereignNFTContractFactory.json @@ -1,15 +1,28 @@ { "abi": [ { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, "inputs": [ { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, "internalType": "address", - "name": "_marketplaceSettings", + "name": "newOwner", "type": "address" } ], - "stateMutability": "nonpayable", - "type": "constructor" + "name": "OwnershipTransferred", + "type": "event" }, { "anonymous": false, @@ -17,17 +30,17 @@ { "indexed": true, "internalType": "address", - "name": "previousOwner", + "name": "contractAddress", "type": "address" }, { "indexed": true, "internalType": "address", - "name": "newOwner", + "name": "owner", "type": "address" } ], - "name": "OwnershipTransferred", + "name": "SovereignNFTContractCreated", "type": "event" }, { @@ -44,11 +57,56 @@ "internalType": "address", "name": "owner", "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "contractType", + "type": "bytes32" } ], "name": "SovereignNFTContractCreated", "type": "event" }, + { + "inputs": [], + "name": "LAZY_ROYALTY_GUARD", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "LAZY_ROYALTY_GUARD_DEADMAN", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "LAZY_SOVEREIGN_NFT", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "ROYALTY_GUARD", @@ -177,10 +235,10 @@ }, { "inputs": [], - "name": "marketplaceSettings", + "name": "lazySovereignNFT", "outputs": [ { - "internalType": "contract IMarketplaceSettings", + "internalType": "address", "name": "", "type": "address" } @@ -190,7 +248,7 @@ }, { "inputs": [], - "name": "owner", + "name": "lazySovereignNFTRoyaltyGuard", "outputs": [ { "internalType": "address", @@ -203,20 +261,33 @@ }, { "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", + "name": "lazySovereignNFTRoyaltyGuardDeadmanTrigger", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", "type": "function" }, { - "inputs": [ + "inputs": [], + "name": "owner", + "outputs": [ { "internalType": "address", - "name": "_marketplaceSettings", + "name": "", "type": "address" } ], - "name": "setMarketplaceSettings", + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -306,26 +377,30 @@ } ], "bytecode": { - "object": "0x60806040523480156200001157600080fd5b506040516200a4de3803806200a4de833981016040819052620000349162000249565b6200003f33620001cf565b6001600160a01b038116620000c05760405162461bcd60e51b815260206004820152603960248201527f636f6e7374727563746f723a3a5f6d61726b6574706c61636553657474696e6760448201527f732063616e6e6f74206265207a65726f20616464726573732e00000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b038316179055604051600090620000ec906200021f565b604051809103906000f08015801562000109573d6000803e3d6000fd5b50600280546001600160a01b0319166001600160a01b03831617905560405190915060009062000139906200022d565b604051809103906000f08015801562000156573d6000803e3d6000fd5b50600380546001600160a01b0319166001600160a01b03831617905560405190915060009062000186906200023b565b604051809103906000f080158015620001a3573d6000803e3d6000fd5b50600480546001600160a01b0319166001600160a01b0392909216919091179055506200027b92505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61292a80620011f083390190565b6134498062003b1a83390190565b61357b8062006f6383390190565b6000602082840312156200025c57600080fd5b81516001600160a01b03811681146200027457600080fd5b9392505050565b610f65806200028b6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063ba50b63211610097578063da8d79f311610066578063da8d79f31461020d578063ea14289f14610220578063ef6fde5b14610237578063f2fde38b1461025657600080fd5b8063ba50b632146101c1578063c9be0590146101d4578063d05df883146101e7578063d1e0f700146101fa57600080fd5b8063877ebf51116100d3578063877ebf51146101775780638da5cb5b1461018a5780639607cb491461019b578063a55b1c25146101ae57600080fd5b8063176ab440146101055780633cebcf411461011a578063715018a61461014a5780637de4c08214610152575b600080fd5b610118610113366004610be4565b610269565b005b61012d610128366004610ca9565b6102d1565b6040516001600160a01b0390911681526020015b60405180910390f35b610118610404565b6101696c1493d65053151657d1d5505491609a1b81565b604051908152602001610141565b61012d610185366004610d0d565b61043a565b6000546001600160a01b031661012d565b6101186101a9366004610be4565b610752565b6101186101bc366004610d81565b6107b1565b60015461012d906001600160a01b031681565b60035461012d906001600160a01b031681565b60025461012d906001600160a01b031681565b60045461012d906001600160a01b031681565b61012d61021b366004610dab565b6108f4565b6101696c14d3d59154915251d397d39195609a1b81565b610169742927aca0a62a2cafa3aaa0a9222fa222a0a226a0a760591b81565b610118610264366004610be4565b610a46565b6000546001600160a01b0316331461029c5760405162461bcd60e51b815260040161029390610e18565b60405180910390fd5b6001600160a01b0381166102af57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60025460009081906102eb906001600160a01b0316610ae1565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c19906103229087908790339060001990600401610e9a565b600060405180830381600087803b15801561033c57600080fd5b505af1158015610350573d6000803e3d6000fd5b50506040513392506001600160a01b03841691507f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec90600090a360015460405163ae312a9760e01b81526001600160a01b038381166004830152600f60248301529091169063ae312a9790604401600060405180830381600087803b1580156103d857600080fd5b505af11580156103ec573d6000803e3d6000fd5b50506002546001600160a01b03169695505050505050565b6000546001600160a01b0316331461042e5760405162461bcd60e51b815260040161029390610e18565b6104386000610b7d565b565b60008260000361045c5760405162461bcd60e51b815260040161029390610edc565b60006c14d3d59154915251d397d39195609a1b83036104f25760025461048a906001600160a01b0316610ae1565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c19906104bf908990899033908a90600401610e9a565b600060405180830381600087803b1580156104d957600080fd5b505af11580156104ed573d6000803e3d6000fd5b505050505b6c1493d65053151657d1d5505491609a1b83036105865760035461051e906001600160a01b0316610ae1565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c1990610553908990899033908a90600401610e9a565b600060405180830381600087803b15801561056d57600080fd5b505af1158015610581573d6000803e3d6000fd5b505050505b742927aca0a62a2cafa3aaa0a9222fa222a0a226a0a760591b8303610622576004546105ba906001600160a01b0316610ae1565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c19906105ef908990899033908a90600401610e9a565b600060405180830381600087803b15801561060957600080fd5b505af115801561061d573d6000803e3d6000fd5b505050505b6001600160a01b0381166106ac5760405162461bcd60e51b8152602060048201526044602482018190527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f636f6e908201527f74726163745479706520756e737570706f7274656420636f6e747261637420746064820152633cb8329760e11b608482015260a401610293565b60405133906001600160a01b038316907f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec90600090a360015460405163ae312a9760e01b81526001600160a01b038381166004830152600f60248301529091169063ae312a9790604401600060405180830381600087803b15801561073057600080fd5b505af1158015610744573d6000803e3d6000fd5b509298975050505050505050565b6000546001600160a01b0316331461077c5760405162461bcd60e51b815260040161029390610e18565b6001600160a01b03811661078f57600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107db5760405162461bcd60e51b815260040161029390610e18565b6001600160a01b0382166107ee57600080fd5b6c14d3d59154915251d397d39195609a1b810361082457600280546001600160a01b0319166001600160a01b0384161790555050565b6c1493d65053151657d1d5505491609a1b810361085a57600380546001600160a01b0319166001600160a01b0384161790555050565b742927aca0a62a2cafa3aaa0a9222fa222a0a226a0a760591b810361089857600480546001600160a01b0319166001600160a01b0384161790555050565b60405162461bcd60e51b815260206004820152602b60248201527f736574536f7665726569676e4e46543a3a556e737570706f72746564205f636f60448201526a373a3930b1ba2a3cb8329760a91b6064820152608401610293565b6000816000036109165760405162461bcd60e51b815260040161029390610edc565b60025460009061092e906001600160a01b0316610ae1565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c1990610963908890889033908990600401610e9a565b600060405180830381600087803b15801561097d57600080fd5b505af1158015610991573d6000803e3d6000fd5b50506040513392506001600160a01b03841691507f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec90600090a360015460405163ae312a9760e01b81526001600160a01b038381166004830152600f60248301529091169063ae312a9790604401600060405180830381600087803b158015610a1957600080fd5b505af1158015610a2d573d6000803e3d6000fd5b50506002546001600160a01b0316979650505050505050565b6000546001600160a01b03163314610a705760405162461bcd60e51b815260040161029390610e18565b6001600160a01b038116610ad55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610293565b610ade81610b7d565b50565b600060405172602d8060093d393df3363d3d373d3d3d363d7360681b81528260601b60138201526e5af43d82803e903d91602b57fd5bf360881b60278201526036816000f09150506001600160a01b038116610b785760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606401610293565b919050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610b7857600080fd5b600060208284031215610bf657600080fd5b610bff82610bcd565b9392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610c2d57600080fd5b813567ffffffffffffffff80821115610c4857610c48610c06565b604051601f8301601f19908116603f01168101908282118183101715610c7057610c70610c06565b81604052838152866020858801011115610c8957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215610cbc57600080fd5b823567ffffffffffffffff80821115610cd457600080fd5b610ce086838701610c1c565b93506020850135915080821115610cf657600080fd5b50610d0385828601610c1c565b9150509250929050565b60008060008060808587031215610d2357600080fd5b843567ffffffffffffffff80821115610d3b57600080fd5b610d4788838901610c1c565b95506020870135915080821115610d5d57600080fd5b50610d6a87828801610c1c565b949794965050505060408301359260600135919050565b60008060408385031215610d9457600080fd5b610d9d83610bcd565b946020939093013593505050565b600080600060608486031215610dc057600080fd5b833567ffffffffffffffff80821115610dd857600080fd5b610de487838801610c1c565b94506020860135915080821115610dfa57600080fd5b50610e0786828701610c1c565b925050604084013590509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000815180845260005b81811015610e7357602081850181015186830182015201610e57565b81811115610e85576000602083870101525b50601f01601f19169290920160200192915050565b608081526000610ead6080830187610e4d565b8281036020840152610ebf8187610e4d565b6001600160a01b0395909516604084015250506060015292915050565b60208082526033908201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f6d6178604082015272546f6b656e732063616e74206265207a65726f60681b60608201526080019056fea2646970667358221220879b31feef61fe49b423a03ff2ce2d0f0afff7fef169979b6a6d045c5372029564736f6c634300080f0033608060405234801561001057600080fd5b5061290a806100206000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806370a082311161010f578063b88d4fde116100a2578063e985e9c511610071578063e985e9c514610423578063ee0708051461045f578063efc32cd41461046b578063f2fde38b1461047e57600080fd5b8063b88d4fde146103e0578063c87b56dd146103f3578063d9856c2114610406578063e83157421461041957600080fd5b80638da5cb5b116100de5780638da5cb5b146103ac57806395d89b41146103bd578063a22cb465146103c5578063ab69607a146103d857600080fd5b806370a0823114610376578063715018a6146103895780637cc918d114610391578063894ba833146103a457600080fd5b80633ebc82c5116101875780634aa52c41116101565780634aa52c411461032a5780635edc7c191461033d5780636297c16c146103505780636352211e1461036357600080fd5b80633ebc82c5146102de57806340c1a064146102f157806342842e0e1461030457806342966c681461031757600080fd5b806318160ddd116101c357806318160ddd1461027257806323b872dd146102885780632a55205a1461029b5780633403c4e9146102cd57600080fd5b806301ffc9a7146101f557806306fdde031461021d578063081812fc14610232578063095ea7b31461025d575b600080fd5b610208610203366004611fe6565b610491565b60405190151581526020015b60405180910390f35b6102256104da565b604051610214919061205b565b61024561024036600461206e565b61056c565b6040516001600160a01b039091168152602001610214565b61027061026b36600461209e565b61064d565b005b61027a610762565b604051908152602001610214565b6102706102963660046120c8565b610773565b6102ae6102a9366004612104565b6107a5565b604080516001600160a01b039093168352602083019190915201610214565b60fb546001600160a01b0316610245565b6102706102ec366004612126565b610840565b6102456102ff36600461206e565b610876565b6102706103123660046120c8565b61088a565b61027061032536600461206e565b6108a5565b61027061033836600461218a565b610906565b61027061034b3660046121ef565b61099f565b61027061035e36600461206e565b610b1f565b61024561037136600461206e565b610b89565b61027a610384366004612126565b610c0b565b610270610c91565b61027061039f366004612278565b610cc7565b610270610eaa565b6033546001600160a01b0316610245565b610225610f0e565b6102706103d33660046122c4565b610f1d565b60fc5461027a565b6102706103ee36600461238c565b610f28565b61022561040136600461206e565b610f60565b610270610414366004612408565b61104c565b61027a6101005481565b610208610431366004612451565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b60ff8054610208911681565b61027061047936600461209e565b6110ad565b61027061048c366004612126565b611105565b60006001600160e01b03198216631030681960e21b14806104b657506104b68261119d565b806104c557506104c5826111b3565b806104d457506104d4826111d4565b92915050565b6060609780546104e99061247b565b80601f01602080910402602001604051908101604052809291908181526020018280546105159061247b565b80156105625780601f1061053757610100808354040283529160200191610562565b820191906000526020600020905b81548152906001019060200180831161054557829003601f168201915b5050505050905090565b600081815260fd60205260408120546001600160a01b03168161058e84611214565b50509050600081806105a857506001600160a01b03831615155b80156105c457506000858152610102602052604090205460ff16155b90508061062d5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b50505060009182525061010360205260409020546001600160a01b031690565b600061065882610b89565b9050806001600160a01b0316836001600160a01b0316036106c55760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610624565b336001600160a01b03821614806106e157506106e18133610431565b6107535760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610624565b61075d8383611377565b505050565b600061076e6101045490565b905090565b61077e335b826113e6565b61079a5760405162461bcd60e51b8152600401610624906124af565b61075d838383611465565b600082815260fd602052604081205481906001600160a01b03166107d45760fb546001600160a01b03166107ed565b600084815260fd60205260409020546001600160a01b03165b9150610837606461083160fe60008881526020019081526020016000205460000361081a5760fc5461082a565b600087815260fe60205260409020545b86906114d9565b906114e5565b90509250929050565b6033546001600160a01b0316331461086a5760405162461bcd60e51b815260040161062490612500565b610873816114f1565b50565b60006104d46033546001600160a01b031690565b61075d83838360405180602001604052806000815250610f28565b60006108b082611214565b5050600083815261010260205260409020805460ff1916600117905590508080156108f057506000828152609960205260409020546001600160a01b0316155b156108f9575050565b61090282611513565b5050565b6033546001600160a01b031633146109305760405162461bcd60e51b815260040161062490612500565b60ff805416156109525760405162461bcd60e51b815260040161062490612535565b61099884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060fc543392508691508561158a565b5050505050565b60006109ab600161168b565b905080156109c3576000805461ff0019166101001790555b6001600160a01b038316610a195760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606401610624565b610a23600a60fc55565b60ff805460ff19169055610100829055610a3b611718565b610aae87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061174792505050565b610ab6611778565b610abe61179f565b610ac7836114f1565b610ad083611105565b8015610b16576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b8033610b2a82610b89565b6001600160a01b031614610b805760405162461bcd60e51b815260206004820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152606401610624565b610902826108a5565b600080610b9583611214565b5050905080610bae57610ba7836117ce565b9392505050565b6000838152610102602052604090205460ff1615610bcf57610ba7836117ce565b6000838152609960205260409020546001600160a01b0316610bfc576033546001600160a01b0316610ba7565b610ba7836117ce565b50919050565b60006001600160a01b038216610c755760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610624565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610cbb5760405162461bcd60e51b815260040161062490612500565b610cc56000611845565b565b6033546001600160a01b03163314610cf15760405162461bcd60e51b815260040161062490612500565b60ff80541615610d135760405162461bcd60e51b815260040161062490612535565b6000610d1f6101045490565b610d2a906001612582565b905060006001610d3a8484612582565b610d44919061259a565b604080516020810190915281905261010481905561010054909150811115610dae5760405162461bcd60e51b815260206004820152601d60248201527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606401610624565b610105604051806060016040528084815260200183815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018181018655948252602091829020845160039092020190815590830151938101939093555060408101519091906002820190610e4090826125ff565b505050610e556033546001600160a01b031690565b6001600160a01b031660006001600160a01b0316837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d84604051610e9b91815260200190565b60405180910390a45050505050565b6033546001600160a01b03163314610ed45760405162461bcd60e51b815260040161062490612500565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b6060609880546104e99061247b565b610902338383611897565b610f3233836113e6565b610f4e5760405162461bcd60e51b8152600401610624906124af565b610f5a84848484611965565b50505050565b6060600080610f6e84611214565b925050915081611019576000848152610106602052604090208054610f929061247b565b80601f0160208091040260200160405190810160405280929190818152602001828054610fbe9061247b565b801561100b5780601f10610fe05761010080835404028352916020019161100b565b820191906000526020600020905b815481529060010190602001808311610fee57829003601f168201915b505050505092505050919050565b8061102385611998565b6040516020016110349291906126bf565b60405160208183030381529060405292505050919050565b6033546001600160a01b031633146110765760405162461bcd60e51b815260040161062490612500565b60ff805416156110985760405162461bcd60e51b815260040161062490612535565b6109028133336110a760fc5490565b3361158a565b6033546001600160a01b031633146110d75760405162461bcd60e51b815260040161062490612500565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461112f5760405162461bcd60e51b815260040161062490612500565b6001600160a01b0381166111945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610624565b61087381611845565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b14806104d457506104d4825b60006001600160e01b031982166380ac58cd60e01b148061120557506001600160e01b03198216635b5e139f60e01b145b806104d457506104d48261119d565b600080606060005b6101055481101561135857610105818154811061123b5761123b61270d565b90600052602060002090600302016000015485101580156112815750610105818154811061126b5761126b61270d565b9060005260206000209060030201600101548511155b1561134657600181610105838154811061129d5761129d61270d565b90600052602060002090600302016002018080546112ba9061247b565b80601f01602080910402602001604051908101604052809291908181526020018280546112e69061247b565b80156113335780601f1061130857610100808354040283529160200191611333565b820191906000526020600020905b81548152906001019060200180831161131657829003601f168201915b5050505050905093509350935050611370565b8061135081612723565b91505061121c565b50506040805160208101909152600080825292508291505b9193909250565b60008181526101036020526040902080546001600160a01b0319166001600160a01b03841690811790915581906113ad826117ce565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806113f283610b89565b9050806001600160a01b0316846001600160a01b0316148061142d5750836001600160a01b03166114228461056c565b6001600160a01b0316145b8061145d57506001600160a01b038082166000908152609c602090815260408083209388168352929052205460ff165b949350505050565b8060000361147257600080fd5b600061147d82611214565b505090508080156114a357506000828152609960205260409020546001600160a01b0316155b80156114bf57506000828152610102602052604090205460ff16155b156114ce576114ce8483611a99565b610f5a848484611bdb565b6000610ba7828461273c565b6000610ba78284612771565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b61151c33610778565b6115815760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b6064820152608401610624565b61087381611d77565b600061159b61010480546001019055565b60006115a76101045490565b9050610100548111156115fc5760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152606401610624565b6116068582611e12565b60008181526101066020526040902061161f88826125ff565b5060008181526101016020526040902080546001600160a01b0319166001600160a01b038816179055600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b0385161790555b9695505050505050565b60008054610100900460ff16156116d2578160ff1660011480156116ae5750303b155b6116ca5760405162461bcd60e51b815260040161062490612785565b506000919050565b60005460ff8084169116106116f95760405162461bcd60e51b815260040161062490612785565b506000805460ff191660ff92909216919091179055600190565b919050565b600054610100900460ff1661173f5760405162461bcd60e51b8152600401610624906127d3565b610cc5611e2c565b600054610100900460ff1661176e5760405162461bcd60e51b8152600401610624906127d3565b6109028282611e5c565b600054610100900460ff16610cc55760405162461bcd60e51b8152600401610624906127d3565b600054610100900460ff166117c65760405162461bcd60e51b8152600401610624906127d3565b610cc5611778565b6000818152609960205260408120546001600160a01b0316806104d45760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610624565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036118f85760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610624565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611970848484611465565b61197c84848484611e9c565b610f5a5760405162461bcd60e51b81526004016106249061281e565b6060816000036119bf5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156119e957806119d381612723565b91506119e29050600a83612771565b91506119c3565b60008167ffffffffffffffff811115611a0457611a04612300565b6040519080825280601f01601f191660200182016040528015611a2e576020820181803683370190505b5090505b841561145d57611a4360018361259a565b9150611a50600a86612870565b611a5b906030612582565b60f81b818381518110611a7057611a7061270d565b60200101906001600160f81b031916908160001a905350611a92600a86612771565b9450611a32565b6001600160a01b038216611aef5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610624565b6000818152609960205260409020546001600160a01b031615611b545760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610624565b6001600160a01b0382166000908152609a60205260408120805460019290611b7d908490612582565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b826001600160a01b0316611bee826117ce565b6001600160a01b031614611c525760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610624565b6001600160a01b038216611cb45760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610624565b611cbf600082611377565b6001600160a01b0383166000908152609a60205260408120805460019290611ce890849061259a565b90915550506001600160a01b0382166000908152609a60205260408120805460019290611d16908490612582565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611d82826117ce565b9050611d8f600083611377565b6001600160a01b0381166000908152609a60205260408120805460019290611db890849061259a565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b610902828260405180602001604052806000815250611f9d565b600054610100900460ff16611e535760405162461bcd60e51b8152600401610624906127d3565b610cc533611845565b600054610100900460ff16611e835760405162461bcd60e51b8152600401610624906127d3565b6097611e8f83826125ff565b50609861075d82826125ff565b60006001600160a01b0384163b15611f9257604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611ee0903390899088908890600401612884565b6020604051808303816000875af1925050508015611f1b575060408051601f3d908101601f19168201909252611f18918101906128b7565b60015b611f78573d808015611f49576040519150601f19603f3d011682016040523d82523d6000602084013e611f4e565b606091505b508051600003611f705760405162461bcd60e51b81526004016106249061281e565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061145d565b506001949350505050565b611fa78383611a99565b611fb46000848484611e9c565b61075d5760405162461bcd60e51b81526004016106249061281e565b6001600160e01b03198116811461087357600080fd5b600060208284031215611ff857600080fd5b8135610ba781611fd0565b60005b8381101561201e578181015183820152602001612006565b83811115610f5a5750506000910152565b60008151808452612047816020860160208601612003565b601f01601f19169290920160200192915050565b602081526000610ba7602083018461202f565b60006020828403121561208057600080fd5b5035919050565b80356001600160a01b038116811461171357600080fd5b600080604083850312156120b157600080fd5b6120ba83612087565b946020939093013593505050565b6000806000606084860312156120dd57600080fd5b6120e684612087565b92506120f460208501612087565b9150604084013590509250925092565b6000806040838503121561211757600080fd5b50508035926020909101359150565b60006020828403121561213857600080fd5b610ba782612087565b60008083601f84011261215357600080fd5b50813567ffffffffffffffff81111561216b57600080fd5b60208301915083602082850101111561218357600080fd5b9250929050565b600080600080606085870312156121a057600080fd5b843567ffffffffffffffff8111156121b757600080fd5b6121c387828801612141565b90955093506121d6905060208601612087565b91506121e460408601612087565b905092959194509250565b6000806000806000806080878903121561220857600080fd5b863567ffffffffffffffff8082111561222057600080fd5b61222c8a838b01612141565b9098509650602089013591508082111561224557600080fd5b5061225289828a01612141565b9095509350612265905060408801612087565b9150606087013590509295509295509295565b60008060006040848603121561228d57600080fd5b833567ffffffffffffffff8111156122a457600080fd5b6122b086828701612141565b909790965060209590950135949350505050565b600080604083850312156122d757600080fd5b6122e083612087565b9150602083013580151581146122f557600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561233157612331612300565b604051601f8501601f19908116603f0116810190828211818310171561235957612359612300565b8160405280935085815286868601111561237257600080fd5b858560208301376000602087830101525050509392505050565b600080600080608085870312156123a257600080fd5b6123ab85612087565b93506123b960208601612087565b925060408501359150606085013567ffffffffffffffff8111156123dc57600080fd5b8501601f810187136123ed57600080fd5b6123fc87823560208401612316565b91505092959194509250565b60006020828403121561241a57600080fd5b813567ffffffffffffffff81111561243157600080fd5b8201601f8101841361244257600080fd5b61145d84823560208401612316565b6000806040838503121561246457600080fd5b61246d83612087565b915061083760208401612087565b600181811c9082168061248f57607f821691505b602082108103610c0557634e487b7160e01b600052602260045260246000fd5b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082198211156125955761259561256c565b500190565b6000828210156125ac576125ac61256c565b500390565b601f82111561075d57600081815260208120601f850160051c810160208610156125d85750805b601f850160051c820191505b818110156125f7578281556001016125e4565b505050505050565b815167ffffffffffffffff81111561261957612619612300565b61262d81612627845461247b565b846125b1565b602080601f831160018114612662576000841561264a5750858301515b600019600386901b1c1916600185901b1785556125f7565b600085815260208120601f198616915b8281101561269157888601518255948401946001909101908401612672565b50858210156126af5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600083516126d1818460208801612003565b602f60f81b90830190815283516126ef816001840160208801612003565b64173539b7b760d91b60019290910191820152600601949350505050565b634e487b7160e01b600052603260045260246000fd5b6000600182016127355761273561256c565b5060010190565b60008160001904831182151516156127565761275661256c565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826127805761278061275b565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008261287f5761287f61275b565b500690565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906116819083018461202f565b6000602082840312156128c957600080fd5b8151610ba781611fd056fea264697066735822122014f81705c9f0ffc17ea64790d7023ee26d60862cd9e94c2a934ac560aeab1a1764736f6c634300080f0033608060405234801561001057600080fd5b50613429806100206000396000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c806370a0823111610146578063b88d4fde116100c3578063e985e9c511610087578063e985e9c514610512578063eab8511814610525578063ee07080514610538578063efc32cd414610544578063f2fde38b14610557578063ff6e8c8f1461056a57600080fd5b8063b88d4fde146104bc578063bc719455146104cf578063c87b56dd146104e2578063d9856c21146104f5578063e83157421461050857600080fd5b80638da5cb5b1161010a5780638da5cb5b1461047557806395d89b41146104865780639e860f2a1461048e578063a22cb465146104a1578063ab69607a146104b457600080fd5b806370a082311461042b578063715018a61461043e5780637cc918d11461044657806387bc793f14610459578063894ba8331461046d57600080fd5b80633403c4e9116101d4578063472a663811610198578063472a6638146103cc5780634aa52c41146103df5780635edc7c19146103f25780636297c16c146104055780636352211e1461041857600080fd5b80633403c4e91461036f5780633ebc82c51461038057806340c1a0641461039357806342842e0e146103a657806342966c68146103b957600080fd5b806318160ddd1161021b57806318160ddd146102f9578063204274861461030f57806323b872dd146103225780632a55205a146103355780632ce878da1461036757600080fd5b8063012cf1e81461025857806301ffc9a71461028157806306fdde03146102a4578063081812fc146102b9578063095ea7b3146102e4575b600080fd5b61026b6102663660046129ad565b61057d565b60405161027891906129c8565b60405180910390f35b61029461028f366004612a2b565b6105c3565b6040519015158152602001610278565b6102ac6105dd565b6040516102789190612aa0565b6102cc6102c7366004612ab3565b61066f565b6040516001600160a01b039091168152602001610278565b6102f76102f2366004612ae3565b610750565b005b610301610825565b604051908152602001610278565b61029461031d366004612b0d565b610836565b6102f7610330366004612b28565b610865565b610348610343366004612b64565b610897565b604080516001600160a01b039093168352602083019190915201610278565b61026b610932565b60fb546001600160a01b03166102cc565b6102f761038e366004612b0d565b610958565b6102cc6103a1366004612ab3565b61098e565b6102f76103b4366004612b28565b6109a2565b6102f76103c7366004612ab3565b6109bd565b6102f76103da3660046129ad565b610a1e565b6102f76103ed366004612bcf565b610a4d565b6102f7610400366004612c34565b610ae6565b6102f7610413366004612ab3565b610c66565b6102cc610426366004612ab3565b610cd0565b610301610439366004612b0d565b610d52565b6102f7610dd8565b6102f7610454366004612cbd565b610e0e565b6101085460ff166040516102789190612d1f565b6102f7610ff1565b6033546001600160a01b03166102cc565b6102ac611055565b6102f761049c366004612d47565b611064565b6102f76104af366004612dcd565b6110c7565b60fc54610301565b6102f76104ca366004612e95565b61116e565b6102f76104dd3660046129ad565b6111a6565b6102ac6104f0366004612ab3565b61125b565b6102f7610503366004612f11565b611347565b6103016101005481565b610294610520366004612f5a565b6113a8565b610294610533366004612b0d565b6113d6565b60ff8054610294911681565b6102f7610552366004612ae3565b6113fd565b6102f7610565366004612b0d565b611455565b6102f7610578366004612d47565b6114ed565b60606105bd610107600084600281111561059957610599612d09565b60028111156105aa576105aa612d09565b8152602001908152602001600020611585565b92915050565b60006105ce82611592565b806105bd57506105bd826115b7565b6060609780546105ec90612f84565b80601f016020809104026020016040519081016040528092919081815260200182805461061890612f84565b80156106655780601f1061063a57610100808354040283529160200191610665565b820191906000526020600020905b81548152906001019060200180831161064857829003601f168201915b5050505050905090565b600081815260fd60205260408120546001600160a01b031681610691846115fa565b50509050600081806106ab57506001600160a01b03831615155b80156106c757506000858152610102602052604090205460ff16155b9050806107305760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b50505060009182525061010360205260409020546001600160a01b031690565b8160016101085460ff16600281111561076b5761076b612d09565b036107ca576107a981610107600060015b600281111561078d5761078d612d09565b815260200190815260200160002061175d90919063ffffffff16565b6107c5576040516282b42960e81b815260040160405180910390fd5b610816565b60026101085460ff1660028111156107e4576107e4612d09565b03610816576107f9816101076000600261077c565b15610816576040516282b42960e81b815260040160405180910390fd5b610820838361177f565b505050565b60006108316101045490565b905090565b600061084a6033546001600160a01b031690565b6001600160a01b0316826001600160a01b0316149050919050565b610870335b8261188f565b61088c5760405162461bcd60e51b815260040161072790612fb8565b6108208383836118ee565b600082815260fd602052604081205481906001600160a01b03166108c65760fb546001600160a01b03166108df565b600084815260fd60205260409020546001600160a01b03165b9150610929606461092360fe60008881526020019081526020016000205460000361090c5760fc5461091c565b600087815260fe60205260409020545b8690611962565b9061196e565b90509250929050565b61010854606090610831906101079060009060ff16600281111561059957610599612d09565b6033546001600160a01b031633146109825760405162461bcd60e51b815260040161072790613009565b61098b8161197a565b50565b60006105bd6033546001600160a01b031690565b6108208383836040518060200160405280600081525061116e565b60006109c8826115fa565b5050600083815261010260205260409020805460ff191660011790559050808015610a0857506000828152609960205260409020546001600160a01b0316155b15610a11575050565b610a1a8261199c565b5050565b610a2733610836565b610a4457604051635c510c8360e11b815260040160405180910390fd5b61098b81611a13565b6033546001600160a01b03163314610a775760405162461bcd60e51b815260040161072790613009565b60ff80541615610a995760405162461bcd60e51b81526004016107279061303e565b610adf84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060fc5433925086915085611a90565b5050505050565b6000610af26001611b91565b90508015610b0a576000805461ff0019166101001790555b6001600160a01b038316610b605760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606401610727565b610b6a600a60fc55565b60ff805460ff19169055610100829055610b82611c1e565b610bf587878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611c4d92505050565b610bfd611c7e565b610c05611ca5565b610c0e8361197a565b610c1783611455565b8015610c5d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b8033610c7182610cd0565b6001600160a01b031614610cc75760405162461bcd60e51b815260206004820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152606401610727565b610a1a826109bd565b600080610cdc836115fa565b5050905080610cf557610cee83611cd4565b9392505050565b6000838152610102602052604090205460ff1615610d1657610cee83611cd4565b6000838152609960205260409020546001600160a01b0316610d43576033546001600160a01b0316610cee565b610cee83611cd4565b50919050565b60006001600160a01b038216610dbc5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610727565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610e025760405162461bcd60e51b815260040161072790613009565b610e0c6000611d4b565b565b6033546001600160a01b03163314610e385760405162461bcd60e51b815260040161072790613009565b60ff80541615610e5a5760405162461bcd60e51b81526004016107279061303e565b6000610e666101045490565b610e7190600161308b565b905060006001610e81848461308b565b610e8b91906130a3565b604080516020810190915281905261010481905561010054909150811115610ef55760405162461bcd60e51b815260206004820152601d60248201527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606401610727565b610105604051806060016040528084815260200183815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018181018655948252602091829020845160039092020190815590830151938101939093555060408101519091906002820190610f879082613108565b505050610f9c6033546001600160a01b031690565b6001600160a01b031660006001600160a01b0316837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d84604051610fe291815260200190565b60405180910390a45050505050565b6033546001600160a01b0316331461101b5760405162461bcd60e51b815260040161072790613009565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b6060609880546105ec90612f84565b61106d33610836565b61108a57604051635c510c8360e11b815260040160405180910390fd5b6108208383838080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509250611d9d915050565b8160016101085460ff1660028111156110e2576110e2612d09565b03611118576110f7816101076000600161077c565b611113576040516282b42960e81b815260040160405180910390fd5b611164565b60026101085460ff16600281111561113257611132612d09565b0361116457611147816101076000600261077c565b15611164576040516282b42960e81b815260040160405180910390fd5b6108208383611f7a565b611178338361188f565b6111945760405162461bcd60e51b815260040161072790612fb8565b6111a084848484611f85565b50505050565b6111af33610836565b6111cc57604051635c510c8360e11b815260040160405180910390fd5b61010760008260028111156111e3576111e3612d09565b60028111156111f4576111f4612d09565b815260208101919091526040016000908120908181611213828261296c565b50505050336001600160a01b03167f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da24826040516112509190612d1f565b60405180910390a250565b6060600080611269846115fa565b92505091508161131457600084815261010660205260409020805461128d90612f84565b80601f01602080910402602001604051908101604052809291908181526020018280546112b990612f84565b80156113065780601f106112db57610100808354040283529160200191611306565b820191906000526020600020905b8154815290600101906020018083116112e957829003601f168201915b505050505092505050919050565b8061131e85611fb8565b60405160200161132f9291906131c8565b60405160208183030381529060405292505050919050565b6033546001600160a01b031633146113715760405162461bcd60e51b815260040161072790613009565b60ff805416156113935760405162461bcd60e51b81526004016107279061303e565b610a1a8133336113a260fc5490565b33611a90565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b610108546000906105bd90839061010790849060ff16600281111561077c5761077c612d09565b6033546001600160a01b031633146114275760405162461bcd60e51b815260040161072790613009565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461147f5760405162461bcd60e51b815260040161072790613009565b6001600160a01b0381166114e45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610727565b61098b81611d4b565b6114f633610836565b61151357604051635c510c8360e11b815260040160405180910390fd5b600083600281111561152757611527612d09565b0361154557604051632de777a160e11b815260040160405180910390fd5b6108208383838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525060019250611d9d915050565b60606000610cee836120b9565b60006001600160e01b0319821663fa31a45b60e01b14806105bd57506105bd82612115565b60006001600160e01b03198216631030681960e21b14806115dc57506115dc82612115565b806115eb57506115eb8261212b565b806105bd57506105bd8261214c565b600080606060005b6101055481101561173e57610105818154811061162157611621613216565b90600052602060002090600302016000015485101580156116675750610105818154811061165157611651613216565b9060005260206000209060030201600101548511155b1561172c57600181610105838154811061168357611683613216565b90600052602060002090600302016002018080546116a090612f84565b80601f01602080910402602001604051908101604052809291908181526020018280546116cc90612f84565b80156117195780601f106116ee57610100808354040283529160200191611719565b820191906000526020600020905b8154815290600101906020018083116116fc57829003601f168201915b5050505050905093509350935050611756565b806117368161322c565b915050611602565b50506040805160208101909152600080825292508291505b9193909250565b6001600160a01b03811660009081526001830160205260408120541515610cee565b600061178a82610cd0565b9050806001600160a01b0316836001600160a01b0316036117f75760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610727565b336001600160a01b0382161480611813575061181381336113a8565b6118855760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610727565b610820838361218c565b60008061189b83610cd0565b9050806001600160a01b0316846001600160a01b031614806118d65750836001600160a01b03166118cb8461066f565b6001600160a01b0316145b806118e657506118e681856113a8565b949350505050565b806000036118fb57600080fd5b6000611906826115fa565b5050905080801561192c57506000828152609960205260409020546001600160a01b0316155b801561194857506000828152610102602052604090205460ff16155b156119575761195784836121fb565b6111a084848461233d565b6000610cee8284613245565b6000610cee828461327a565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b6119a53361086a565b611a0a5760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b6064820152608401610727565b61098b816124d9565b806002811115611a2557611a25612d09565b6101085460ff166002811115611a3d57611a3d612d09565b60405133907f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f90600090a4610108805482919060ff19166001836002811115611a8857611a88612d09565b021790555050565b6000611aa161010480546001019055565b6000611aad6101045490565b905061010054811115611b025760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152606401610727565b611b0c8582612574565b600081815261010660205260409020611b258882613108565b5060008181526101016020526040902080546001600160a01b0319166001600160a01b038816179055600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b0385161790555b9695505050505050565b60008054610100900460ff1615611bd8578160ff166001148015611bb45750303b155b611bd05760405162461bcd60e51b81526004016107279061328e565b506000919050565b60005460ff808416911610611bff5760405162461bcd60e51b81526004016107279061328e565b506000805460ff191660ff92909216919091179055600190565b919050565b600054610100900460ff16611c455760405162461bcd60e51b8152600401610727906132dc565b610e0c61258e565b600054610100900460ff16611c745760405162461bcd60e51b8152600401610727906132dc565b610a1a82826125be565b600054610100900460ff16610e0c5760405162461bcd60e51b8152600401610727906132dc565b600054610100900460ff16611ccc5760405162461bcd60e51b8152600401610727906132dc565b610e0c611c7e565b6000818152609960205260408120546001600160a01b0316806105bd5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610727565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000836002811115611db157611db1612d09565b146108205760005b82518110156111a0578115611e9a57611e29838281518110611ddd57611ddd613216565b60200260200101516101076000876002811115611dfc57611dfc612d09565b6002811115611e0d57611e0d612d09565b81526020019081526020016000206125fe90919063ffffffff16565b50836002811115611e3c57611e3c612d09565b838281518110611e4e57611e4e613216565b60200260200101516001600160a01b0316336001600160a01b03167f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba153660405160405180910390a4611f68565b611efb838281518110611eaf57611eaf613216565b60200260200101516101076000876002811115611ece57611ece612d09565b6002811115611edf57611edf612d09565b815260200190815260200160002061261390919063ffffffff16565b50836002811115611f0e57611f0e612d09565b838281518110611f2057611f20613216565b60200260200101516001600160a01b0316336001600160a01b03167fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed9560405160405180910390a45b80611f728161322c565b915050611db9565b610a1a338383612628565b611f908484846118ee565b611f9c848484846126f6565b6111a05760405162461bcd60e51b815260040161072790613327565b606081600003611fdf5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156120095780611ff38161322c565b91506120029050600a8361327a565b9150611fe3565b60008167ffffffffffffffff81111561202457612024612e09565b6040519080825280601f01601f19166020018201604052801561204e576020820181803683370190505b5090505b84156118e6576120636001836130a3565b9150612070600a86613379565b61207b90603061308b565b60f81b81838151811061209057612090613216565b60200101906001600160f81b031916908160001a9053506120b2600a8661327a565b9450612052565b60608160000180548060200260200160405190810160405280929190818152602001828054801561210957602002820191906000526020600020905b8154815260200190600101908083116120f5575b50505050509050919050565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b14806105bd57506105bd825b60006001600160e01b031982166380ac58cd60e01b148061217d57506001600160e01b03198216635b5e139f60e01b145b806105bd57506105bd82612115565b60008181526101036020526040902080546001600160a01b0319166001600160a01b03841690811790915581906121c282611cd4565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6001600160a01b0382166122515760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610727565b6000818152609960205260409020546001600160a01b0316156122b65760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610727565b6001600160a01b0382166000908152609a602052604081208054600192906122df90849061308b565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b826001600160a01b031661235082611cd4565b6001600160a01b0316146123b45760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610727565b6001600160a01b0382166124165760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610727565b61242160008261218c565b6001600160a01b0383166000908152609a6020526040812080546001929061244a9084906130a3565b90915550506001600160a01b0382166000908152609a6020526040812080546001929061247890849061308b565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006124e482611cd4565b90506124f160008361218c565b6001600160a01b0381166000908152609a6020526040812080546001929061251a9084906130a3565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b610a1a8282604051806020016040528060008152506127f7565b600054610100900460ff166125b55760405162461bcd60e51b8152600401610727906132dc565b610e0c33611d4b565b600054610100900460ff166125e55760405162461bcd60e51b8152600401610727906132dc565b60976125f18382613108565b5060986108208282613108565b6000610cee836001600160a01b03841661282a565b6000610cee836001600160a01b038416612879565b816001600160a01b0316836001600160a01b0316036126895760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610727565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60006001600160a01b0384163b156127ec57604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061273a90339089908890889060040161338d565b6020604051808303816000875af1925050508015612775575060408051601f3d908101601f19168201909252612772918101906133c0565b60015b6127d2573d8080156127a3576040519150601f19603f3d011682016040523d82523d6000602084013e6127a8565b606091505b5080516000036127ca5760405162461bcd60e51b815260040161072790613327565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506118e6565b506001949350505050565b61280183836121fb565b61280e60008484846126f6565b6108205760405162461bcd60e51b815260040161072790613327565b6000818152600183016020526040812054612871575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556105bd565b5060006105bd565b6000818152600183016020526040812054801561296257600061289d6001836130a3565b85549091506000906128b1906001906130a3565b90508181146129165760008660000182815481106128d1576128d1613216565b90600052602060002001549050808760000184815481106128f4576128f4613216565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612927576129276133dd565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506105bd565b60009150506105bd565b508054600082559060005260206000209081019061098b91905b8082111561299a5760008155600101612986565b5090565b803560038110611c1957600080fd5b6000602082840312156129bf57600080fd5b610cee8261299e565b6020808252825182820181905260009190848201906040850190845b81811015612a095783516001600160a01b0316835292840192918401916001016129e4565b50909695505050505050565b6001600160e01b03198116811461098b57600080fd5b600060208284031215612a3d57600080fd5b8135610cee81612a15565b60005b83811015612a63578181015183820152602001612a4b565b838111156111a05750506000910152565b60008151808452612a8c816020860160208601612a48565b601f01601f19169290920160200192915050565b602081526000610cee6020830184612a74565b600060208284031215612ac557600080fd5b5035919050565b80356001600160a01b0381168114611c1957600080fd5b60008060408385031215612af657600080fd5b612aff83612acc565b946020939093013593505050565b600060208284031215612b1f57600080fd5b610cee82612acc565b600080600060608486031215612b3d57600080fd5b612b4684612acc565b9250612b5460208501612acc565b9150604084013590509250925092565b60008060408385031215612b7757600080fd5b50508035926020909101359150565b60008083601f840112612b9857600080fd5b50813567ffffffffffffffff811115612bb057600080fd5b602083019150836020828501011115612bc857600080fd5b9250929050565b60008060008060608587031215612be557600080fd5b843567ffffffffffffffff811115612bfc57600080fd5b612c0887828801612b86565b9095509350612c1b905060208601612acc565b9150612c2960408601612acc565b905092959194509250565b60008060008060008060808789031215612c4d57600080fd5b863567ffffffffffffffff80821115612c6557600080fd5b612c718a838b01612b86565b90985096506020890135915080821115612c8a57600080fd5b50612c9789828a01612b86565b9095509350612caa905060408801612acc565b9150606087013590509295509295509295565b600080600060408486031215612cd257600080fd5b833567ffffffffffffffff811115612ce957600080fd5b612cf586828701612b86565b909790965060209590950135949350505050565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612d4157634e487b7160e01b600052602160045260246000fd5b91905290565b600080600060408486031215612d5c57600080fd5b612d658461299e565b9250602084013567ffffffffffffffff80821115612d8257600080fd5b818601915086601f830112612d9657600080fd5b813581811115612da557600080fd5b8760208260051b8501011115612dba57600080fd5b6020830194508093505050509250925092565b60008060408385031215612de057600080fd5b612de983612acc565b915060208301358015158114612dfe57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115612e3a57612e3a612e09565b604051601f8501601f19908116603f01168101908282118183101715612e6257612e62612e09565b81604052809350858152868686011115612e7b57600080fd5b858560208301376000602087830101525050509392505050565b60008060008060808587031215612eab57600080fd5b612eb485612acc565b9350612ec260208601612acc565b925060408501359150606085013567ffffffffffffffff811115612ee557600080fd5b8501601f81018713612ef657600080fd5b612f0587823560208401612e1f565b91505092959194509250565b600060208284031215612f2357600080fd5b813567ffffffffffffffff811115612f3a57600080fd5b8201601f81018413612f4b57600080fd5b6118e684823560208401612e1f565b60008060408385031215612f6d57600080fd5b612f7683612acc565b915061092960208401612acc565b600181811c90821680612f9857607f821691505b602082108103610d4c57634e487b7160e01b600052602260045260246000fd5b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000821982111561309e5761309e613075565b500190565b6000828210156130b5576130b5613075565b500390565b601f82111561082057600081815260208120601f850160051c810160208610156130e15750805b601f850160051c820191505b81811015613100578281556001016130ed565b505050505050565b815167ffffffffffffffff81111561312257613122612e09565b613136816131308454612f84565b846130ba565b602080601f83116001811461316b57600084156131535750858301515b600019600386901b1c1916600185901b178555613100565b600085815260208120601f198616915b8281101561319a5788860151825594840194600190910190840161317b565b50858210156131b85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600083516131da818460208801612a48565b602f60f81b90830190815283516131f8816001840160208801612a48565b64173539b7b760d91b60019290910191820152600601949350505050565b634e487b7160e01b600052603260045260246000fd5b60006001820161323e5761323e613075565b5060010190565b600081600019048311821515161561325f5761325f613075565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261328957613289613264565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008261338857613388613264565b500690565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611b8790830184612a74565b6000602082840312156133d257600080fd5b8151610cee81612a15565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220938ce2757d4bf31de29a45d48be70d84d733bd4e1e833fb2c0faa8e73438ddf164736f6c634300080f0033608060405234801561001057600080fd5b5061355b806100206000396000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c806370a0823111610151578063b88d4fde116100c3578063e985e9c511610087578063e985e9c514610557578063eab851181461056a578063ee0708051461057d578063efc32cd414610589578063f2fde38b1461059c578063ff6e8c8f146105af57600080fd5b8063b88d4fde14610501578063bc71945514610514578063c87b56dd14610527578063d9856c211461053a578063e83157421461054d57600080fd5b8063894ba83311610115578063894ba833146104b25780638da5cb5b146104ba57806395d89b41146104cb5780639e860f2a146104d3578063a22cb465146104e6578063ab69607a146104f957600080fd5b806370a0823114610467578063715018a61461047a578063717392ed146104825780637cc918d11461048b57806387bc793f1461049e57600080fd5b80633403c4e9116101ea578063472a6638116101ae578063472a6638146104005780634aa52c41146104135780635aec8d62146104265780635edc7c191461042e5780636297c16c146104415780636352211e1461045457600080fd5b80633403c4e9146103a35780633ebc82c5146103b457806340c1a064146103c757806342842e0e146103da57806342966c68146103ed57600080fd5b806318160ddd1161023c57806318160ddd1461031a578063204274861461033057806321c4a5d81461034357806323b872dd146103565780632a55205a146103695780632ce878da1461039b57600080fd5b8063012cf1e81461027957806301ffc9a7146102a257806306fdde03146102c5578063081812fc146102da578063095ea7b314610305575b600080fd5b61028c610287366004612adf565b6105c2565b6040516102999190612afa565b60405180910390f35b6102b56102b0366004612b5d565b610608565b6040519015158152602001610299565b6102cd610622565b6040516102999190612bd2565b6102ed6102e8366004612be5565b6106b4565b6040516001600160a01b039091168152602001610299565b610318610313366004612c15565b610795565b005b61032261086a565b604051908152602001610299565b6102b561033e366004612c3f565b61087b565b610318610351366004612be5565b6108aa565b610318610364366004612c5a565b6108dc565b61037c610377366004612c96565b61090e565b604080516001600160a01b039093168352602083019190915201610299565b61028c6109a9565b60fb546001600160a01b03166102ed565b6103186103c2366004612c3f565b6109cf565b6102ed6103d5366004612be5565b610a02565b6103186103e8366004612c5a565b610a16565b6103186103fb366004612be5565b610a31565b61031861040e366004612adf565b610a92565b610318610421366004612d01565b610ac1565b610318610b5a565b61031861043c366004612d66565b610bb5565b61031861044f366004612be5565b610d35565b6102ed610462366004612be5565b610d9f565b610322610475366004612c3f565b610e21565b610318610ea7565b61010954610322565b610318610499366004612def565b610edd565b6101085460ff166040516102999190612e51565b6103186110c0565b6033546001600160a01b03166102ed565b6102cd611124565b6103186104e1366004612e79565b611133565b6103186104f4366004612eff565b611196565b60fc54610322565b61031861050f366004612fc7565b61123d565b610318610522366004612adf565b611275565b6102cd610535366004612be5565b61132a565b610318610548366004613043565b611416565b6103226101005481565b6102b561056536600461308c565b611477565b6102b5610578366004612c3f565b6114a5565b60ff80546102b5911681565b610318610597366004612c15565b6114cc565b6103186105aa366004612c3f565b611524565b6103186105bd366004612e79565b6115bc565b606061060261010760008460028111156105de576105de612e3b565b60028111156105ef576105ef612e3b565b8152602001908152602001600020611654565b92915050565b600061061382611661565b80610602575061060282611686565b606060978054610631906130b6565b80601f016020809104026020016040519081016040528092919081815260200182805461065d906130b6565b80156106aa5780601f1061067f576101008083540402835291602001916106aa565b820191906000526020600020905b81548152906001019060200180831161068d57829003601f168201915b5050505050905090565b600081815260fd60205260408120546001600160a01b0316816106d6846116c9565b50509050600081806106f057506001600160a01b03831615155b801561070c57506000858152610102602052604090205460ff16155b9050806107755760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b50505060009182525061010360205260409020546001600160a01b031690565b8160016101085460ff1660028111156107b0576107b0612e3b565b0361080f576107ee81610107600060015b60028111156107d2576107d2612e3b565b815260200190815260200160002061182c90919063ffffffff16565b61080a576040516282b42960e81b815260040160405180910390fd5b61085b565b60026101085460ff16600281111561082957610829612e3b565b0361085b5761083e81610107600060026107c1565b1561085b576040516282b42960e81b815260040160405180910390fd5b610865838361184e565b505050565b60006108766101045490565b905090565b600061088f6033546001600160a01b031690565b6001600160a01b0316826001600160a01b0316149050919050565b6108b33361087b565b6108d057604051635c510c8360e11b815260040160405180910390fd5b6108d98161195e565b50565b6108e7335b826119c1565b6109035760405162461bcd60e51b815260040161076c906130ea565b610865838383611a20565b600082815260fd602052604081205481906001600160a01b031661093d5760fb546001600160a01b0316610956565b600084815260fd60205260409020546001600160a01b03165b91506109a0606461099a60fe6000888152602001908152602001600020546000036109835760fc54610993565b600087815260fe60205260409020545b8690611a94565b90611aa0565b90509250929050565b61010854606090610876906101079060009060ff1660028111156105de576105de612e3b565b6033546001600160a01b031633146109f95760405162461bcd60e51b815260040161076c9061313b565b6108d981611aac565b60006106026033546001600160a01b031690565b6108658383836040518060200160405280600081525061123d565b6000610a3c826116c9565b5050600083815261010260205260409020805460ff191660011790559050808015610a7c57506000828152609960205260409020546001600160a01b0316155b15610a85575050565b610a8e82611ace565b5050565b610a9b3361087b565b610ab857604051635c510c8360e11b815260040160405180910390fd5b6108d981611b45565b6033546001600160a01b03163314610aeb5760405162461bcd60e51b815260040161076c9061313b565b60ff80541615610b0d5760405162461bcd60e51b815260040161076c90613170565b610b5384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060fc5433925086915085611bc2565b5050505050565b42610109541115610b7e5760405163807a684760e01b815260040160405180910390fd5b610b886000611b45565b60405133907f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a4690600090a2565b6000610bc16001611cc3565b90508015610bd9576000805461ff0019166101001790555b6001600160a01b038316610c2f5760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c20616464726573730000604482015260640161076c565b610c39600a60fc55565b60ff805460ff19169055610100829055610c51611d50565b610cc487878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611d7f92505050565b610ccc611db0565b610cd4611dd7565b610cdd83611aac565b610ce683611524565b8015610d2c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b8033610d4082610d9f565b6001600160a01b031614610d965760405162461bcd60e51b815260206004820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e000000000000000000604482015260640161076c565b610a8e82610a31565b600080610dab836116c9565b5050905080610dc457610dbd83611e06565b9392505050565b6000838152610102602052604090205460ff1615610de557610dbd83611e06565b6000838152609960205260409020546001600160a01b0316610e12576033546001600160a01b0316610dbd565b610dbd83611e06565b50919050565b60006001600160a01b038216610e8b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161076c565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610ed15760405162461bcd60e51b815260040161076c9061313b565b610edb6000611e7d565b565b6033546001600160a01b03163314610f075760405162461bcd60e51b815260040161076c9061313b565b60ff80541615610f295760405162461bcd60e51b815260040161076c90613170565b6000610f356101045490565b610f409060016131bd565b905060006001610f5084846131bd565b610f5a91906131d5565b604080516020810190915281905261010481905561010054909150811115610fc45760405162461bcd60e51b815260206004820152601d60248201527f62617463684d696e743a3a6578636565646564206d6178546f6b656e73000000604482015260640161076c565b610105604051806060016040528084815260200183815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018181018655948252602091829020845160039092020190815590830151938101939093555060408101519091906002820190611056908261323a565b50505061106b6033546001600160a01b031690565b6001600160a01b031660006001600160a01b0316837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d846040516110b191815260200190565b60405180910390a45050505050565b6033546001600160a01b031633146110ea5760405162461bcd60e51b815260040161076c9061313b565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b606060988054610631906130b6565b61113c3361087b565b61115957604051635c510c8360e11b815260040160405180910390fd5b6108658383838080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509250611ecf915050565b8160016101085460ff1660028111156111b1576111b1612e3b565b036111e7576111c681610107600060016107c1565b6111e2576040516282b42960e81b815260040160405180910390fd5b611233565b60026101085460ff16600281111561120157611201612e3b565b036112335761121681610107600060026107c1565b15611233576040516282b42960e81b815260040160405180910390fd5b61086583836120ac565b61124733836119c1565b6112635760405162461bcd60e51b815260040161076c906130ea565b61126f848484846120b7565b50505050565b61127e3361087b565b61129b57604051635c510c8360e11b815260040160405180910390fd5b61010760008260028111156112b2576112b2612e3b565b60028111156112c3576112c3612e3b565b8152602081019190915260400160009081209081816112e28282612a9e565b50505050336001600160a01b03167f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da248260405161131f9190612e51565b60405180910390a250565b6060600080611338846116c9565b9250509150816113e357600084815261010660205260409020805461135c906130b6565b80601f0160208091040260200160405190810160405280929190818152602001828054611388906130b6565b80156113d55780601f106113aa576101008083540402835291602001916113d5565b820191906000526020600020905b8154815290600101906020018083116113b857829003601f168201915b505050505092505050919050565b806113ed856120ea565b6040516020016113fe9291906132fa565b60405160208183030381529060405292505050919050565b6033546001600160a01b031633146114405760405162461bcd60e51b815260040161076c9061313b565b60ff805416156114625760405162461bcd60e51b815260040161076c90613170565b610a8e81333361147160fc5490565b33611bc2565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b6101085460009061060290839061010790849060ff1660028111156107c1576107c1612e3b565b6033546001600160a01b031633146114f65760405162461bcd60e51b815260040161076c9061313b565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461154e5760405162461bcd60e51b815260040161076c9061313b565b6001600160a01b0381166115b35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161076c565b6108d981611e7d565b6115c53361087b565b6115e257604051635c510c8360e11b815260040160405180910390fd5b60008360028111156115f6576115f6612e3b565b0361161457604051632de777a160e11b815260040160405180910390fd5b6108658383838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525060019250611ecf915050565b60606000610dbd836121eb565b60006001600160e01b0319821663fa31a45b60e01b1480610602575061060282612247565b60006001600160e01b03198216631030681960e21b14806116ab57506116ab82612247565b806116ba57506116ba8261225d565b8061060257506106028261227e565b600080606060005b6101055481101561180d5761010581815481106116f0576116f0613348565b90600052602060002090600302016000015485101580156117365750610105818154811061172057611720613348565b9060005260206000209060030201600101548511155b156117fb57600181610105838154811061175257611752613348565b906000526020600020906003020160020180805461176f906130b6565b80601f016020809104026020016040519081016040528092919081815260200182805461179b906130b6565b80156117e85780601f106117bd576101008083540402835291602001916117e8565b820191906000526020600020905b8154815290600101906020018083116117cb57829003601f168201915b5050505050905093509350935050611825565b806118058161335e565b9150506116d1565b50506040805160208101909152600080825292508291505b9193909250565b6001600160a01b03811660009081526001830160205260408120541515610dbd565b600061185982610d9f565b9050806001600160a01b0316836001600160a01b0316036118c65760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b606482015260840161076c565b336001600160a01b03821614806118e257506118e28133611477565b6119545760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606482015260840161076c565b61086583836122be565b600061196e826301e13380613377565b61197890426131bd565b61010954604080519182526020820183905291925033917f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc9910160405180910390a26101095550565b6000806119cd83610d9f565b9050806001600160a01b0316846001600160a01b03161480611a085750836001600160a01b03166119fd846106b4565b6001600160a01b0316145b80611a185750611a188185611477565b949350505050565b80600003611a2d57600080fd5b6000611a38826116c9565b50509050808015611a5e57506000828152609960205260409020546001600160a01b0316155b8015611a7a57506000828152610102602052604090205460ff16155b15611a8957611a89848361232d565b61126f84848461246f565b6000610dbd8284613377565b6000610dbd82846133ac565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b611ad7336108e1565b611b3c5760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b606482015260840161076c565b6108d98161260b565b806002811115611b5757611b57612e3b565b6101085460ff166002811115611b6f57611b6f612e3b565b60405133907f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f90600090a4610108805482919060ff19166001836002811115611bba57611bba612e3b565b021790555050565b6000611bd361010480546001019055565b6000611bdf6101045490565b905061010054811115611c345760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e73604482015260640161076c565b611c3e85826126a6565b600081815261010660205260409020611c57888261323a565b5060008181526101016020526040902080546001600160a01b0319166001600160a01b038816179055600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b0385161790555b9695505050505050565b60008054610100900460ff1615611d0a578160ff166001148015611ce65750303b155b611d025760405162461bcd60e51b815260040161076c906133c0565b506000919050565b60005460ff808416911610611d315760405162461bcd60e51b815260040161076c906133c0565b506000805460ff191660ff92909216919091179055600190565b919050565b600054610100900460ff16611d775760405162461bcd60e51b815260040161076c9061340e565b610edb6126c0565b600054610100900460ff16611da65760405162461bcd60e51b815260040161076c9061340e565b610a8e82826126f0565b600054610100900460ff16610edb5760405162461bcd60e51b815260040161076c9061340e565b600054610100900460ff16611dfe5760405162461bcd60e51b815260040161076c9061340e565b610edb611db0565b6000818152609960205260408120546001600160a01b0316806106025760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b606482015260840161076c565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000836002811115611ee357611ee3612e3b565b146108655760005b825181101561126f578115611fcc57611f5b838281518110611f0f57611f0f613348565b60200260200101516101076000876002811115611f2e57611f2e612e3b565b6002811115611f3f57611f3f612e3b565b815260200190815260200160002061273090919063ffffffff16565b50836002811115611f6e57611f6e612e3b565b838281518110611f8057611f80613348565b60200260200101516001600160a01b0316336001600160a01b03167f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba153660405160405180910390a461209a565b61202d838281518110611fe157611fe1613348565b6020026020010151610107600087600281111561200057612000612e3b565b600281111561201157612011612e3b565b815260200190815260200160002061274590919063ffffffff16565b5083600281111561204057612040612e3b565b83828151811061205257612052613348565b60200260200101516001600160a01b0316336001600160a01b03167fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed9560405160405180910390a45b806120a48161335e565b915050611eeb565b610a8e33838361275a565b6120c2848484611a20565b6120ce84848484612828565b61126f5760405162461bcd60e51b815260040161076c90613459565b6060816000036121115750506040805180820190915260018152600360fc1b602082015290565b8160005b811561213b57806121258161335e565b91506121349050600a836133ac565b9150612115565b60008167ffffffffffffffff81111561215657612156612f3b565b6040519080825280601f01601f191660200182016040528015612180576020820181803683370190505b5090505b8415611a18576121956001836131d5565b91506121a2600a866134ab565b6121ad9060306131bd565b60f81b8183815181106121c2576121c2613348565b60200101906001600160f81b031916908160001a9053506121e4600a866133ac565b9450612184565b60608160000180548060200260200160405190810160405280929190818152602001828054801561223b57602002820191906000526020600020905b815481526020019060010190808311612227575b50505050509050919050565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b14806106025750610602825b60006001600160e01b031982166380ac58cd60e01b14806122af57506001600160e01b03198216635b5e139f60e01b145b80610602575061060282612247565b60008181526101036020526040902080546001600160a01b0319166001600160a01b03841690811790915581906122f482611e06565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6001600160a01b0382166123835760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161076c565b6000818152609960205260409020546001600160a01b0316156123e85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161076c565b6001600160a01b0382166000908152609a602052604081208054600192906124119084906131bd565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b826001600160a01b031661248282611e06565b6001600160a01b0316146124e65760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b606482015260840161076c565b6001600160a01b0382166125485760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161076c565b6125536000826122be565b6001600160a01b0383166000908152609a6020526040812080546001929061257c9084906131d5565b90915550506001600160a01b0382166000908152609a602052604081208054600192906125aa9084906131bd565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600061261682611e06565b90506126236000836122be565b6001600160a01b0381166000908152609a6020526040812080546001929061264c9084906131d5565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b610a8e828260405180602001604052806000815250612929565b600054610100900460ff166126e75760405162461bcd60e51b815260040161076c9061340e565b610edb33611e7d565b600054610100900460ff166127175760405162461bcd60e51b815260040161076c9061340e565b6097612723838261323a565b506098610865828261323a565b6000610dbd836001600160a01b03841661295c565b6000610dbd836001600160a01b0384166129ab565b816001600160a01b0316836001600160a01b0316036127bb5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161076c565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60006001600160a01b0384163b1561291e57604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061286c9033908990889088906004016134bf565b6020604051808303816000875af19250505080156128a7575060408051601f3d908101601f191682019092526128a4918101906134f2565b60015b612904573d8080156128d5576040519150601f19603f3d011682016040523d82523d6000602084013e6128da565b606091505b5080516000036128fc5760405162461bcd60e51b815260040161076c90613459565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611a18565b506001949350505050565b612933838361232d565b6129406000848484612828565b6108655760405162461bcd60e51b815260040161076c90613459565b60008181526001830160205260408120546129a357508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610602565b506000610602565b60008181526001830160205260408120548015612a945760006129cf6001836131d5565b85549091506000906129e3906001906131d5565b9050818114612a48576000866000018281548110612a0357612a03613348565b9060005260206000200154905080876000018481548110612a2657612a26613348565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612a5957612a5961350f565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610602565b6000915050610602565b50805460008255906000526020600020908101906108d991905b80821115612acc5760008155600101612ab8565b5090565b803560038110611d4b57600080fd5b600060208284031215612af157600080fd5b610dbd82612ad0565b6020808252825182820181905260009190848201906040850190845b81811015612b3b5783516001600160a01b031683529284019291840191600101612b16565b50909695505050505050565b6001600160e01b0319811681146108d957600080fd5b600060208284031215612b6f57600080fd5b8135610dbd81612b47565b60005b83811015612b95578181015183820152602001612b7d565b8381111561126f5750506000910152565b60008151808452612bbe816020860160208601612b7a565b601f01601f19169290920160200192915050565b602081526000610dbd6020830184612ba6565b600060208284031215612bf757600080fd5b5035919050565b80356001600160a01b0381168114611d4b57600080fd5b60008060408385031215612c2857600080fd5b612c3183612bfe565b946020939093013593505050565b600060208284031215612c5157600080fd5b610dbd82612bfe565b600080600060608486031215612c6f57600080fd5b612c7884612bfe565b9250612c8660208501612bfe565b9150604084013590509250925092565b60008060408385031215612ca957600080fd5b50508035926020909101359150565b60008083601f840112612cca57600080fd5b50813567ffffffffffffffff811115612ce257600080fd5b602083019150836020828501011115612cfa57600080fd5b9250929050565b60008060008060608587031215612d1757600080fd5b843567ffffffffffffffff811115612d2e57600080fd5b612d3a87828801612cb8565b9095509350612d4d905060208601612bfe565b9150612d5b60408601612bfe565b905092959194509250565b60008060008060008060808789031215612d7f57600080fd5b863567ffffffffffffffff80821115612d9757600080fd5b612da38a838b01612cb8565b90985096506020890135915080821115612dbc57600080fd5b50612dc989828a01612cb8565b9095509350612ddc905060408801612bfe565b9150606087013590509295509295509295565b600080600060408486031215612e0457600080fd5b833567ffffffffffffffff811115612e1b57600080fd5b612e2786828701612cb8565b909790965060209590950135949350505050565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612e7357634e487b7160e01b600052602160045260246000fd5b91905290565b600080600060408486031215612e8e57600080fd5b612e9784612ad0565b9250602084013567ffffffffffffffff80821115612eb457600080fd5b818601915086601f830112612ec857600080fd5b813581811115612ed757600080fd5b8760208260051b8501011115612eec57600080fd5b6020830194508093505050509250925092565b60008060408385031215612f1257600080fd5b612f1b83612bfe565b915060208301358015158114612f3057600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115612f6c57612f6c612f3b565b604051601f8501601f19908116603f01168101908282118183101715612f9457612f94612f3b565b81604052809350858152868686011115612fad57600080fd5b858560208301376000602087830101525050509392505050565b60008060008060808587031215612fdd57600080fd5b612fe685612bfe565b9350612ff460208601612bfe565b925060408501359150606085013567ffffffffffffffff81111561301757600080fd5b8501601f8101871361302857600080fd5b61303787823560208401612f51565b91505092959194509250565b60006020828403121561305557600080fd5b813567ffffffffffffffff81111561306c57600080fd5b8201601f8101841361307d57600080fd5b611a1884823560208401612f51565b6000806040838503121561309f57600080fd5b6130a883612bfe565b91506109a060208401612bfe565b600181811c908216806130ca57607f821691505b602082108103610e1b57634e487b7160e01b600052602260045260246000fd5b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082198211156131d0576131d06131a7565b500190565b6000828210156131e7576131e76131a7565b500390565b601f82111561086557600081815260208120601f850160051c810160208610156132135750805b601f850160051c820191505b818110156132325782815560010161321f565b505050505050565b815167ffffffffffffffff81111561325457613254612f3b565b6132688161326284546130b6565b846131ec565b602080601f83116001811461329d57600084156132855750858301515b600019600386901b1c1916600185901b178555613232565b600085815260208120601f198616915b828110156132cc578886015182559484019460019091019084016132ad565b50858210156132ea5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000835161330c818460208801612b7a565b602f60f81b908301908152835161332a816001840160208801612b7a565b64173539b7b760d91b60019290910191820152600601949350505050565b634e487b7160e01b600052603260045260246000fd5b600060018201613370576133706131a7565b5060010190565b6000816000190483118215151615613391576133916131a7565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826133bb576133bb613396565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000826134ba576134ba613396565b500690565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611cb990830184612ba6565b60006020828403121561350457600080fd5b8151610dbd81612b47565b634e487b7160e01b600052603160045260246000fdfea26469706673582212206c9333f611af818dfc9bd40a27c875d4d2b0bf5e040a755155019b4a2656673c64736f6c634300080f0033", - "sourceMap": "439:4991:46:-:0;;;1003:671;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;921:32:28;719:10:35;921:18:28;:32::i;:::-;-1:-1:-1;;;;;1076:34:46;;1055:138;;;;-1:-1:-1;;;1055:138:46;;511:2:59;1055:138:46;;;493:21:59;550:2;530:18;;;523:30;589:34;569:18;;;562:62;660:27;640:18;;;633:55;705:19;;1055:138:46;;;;;;;;1204:19;:64;;-1:-1:-1;;;;;;1204:64:46;-1:-1:-1;;;;;1204:64:46;;;;;1301:18;;-1:-1:-1;;1301:18:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1329:12:46;:30;;-1:-1:-1;;;;;;1329:30:46;-1:-1:-1;;;;;1329:30:46;;;;;1406;;1329;;-1:-1:-1;;;1406:30:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1446:24:46;:44;;-1:-1:-1;;;;;;1446:44:46;-1:-1:-1;;;;;1446:44:46;;;;;1553;;1446;;-1:-1:-1;;;1553:44:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1607:38:46;:60;;-1:-1:-1;;;;;;1607:60:46;-1:-1:-1;;;;;1607:60:46;;;;;;;;;;-1:-1:-1;439:4991:46;;-1:-1:-1;;;439:4991:46;2270:187:28;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:28;;;-1:-1:-1;;;;;;2378:17:28;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;439:4991:46:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:290:59:-;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:59;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:59:o;309:421::-;439:4991:46;;;;;;", + "object": "0x608060405234801561001057600080fd5b5061001a33610102565b600060405161002890610152565b604051809103906000f080158015610044573d6000803e3d6000fd5b50600180546001600160a01b0319166001600160a01b03831617905560405190915060009061007290610160565b604051809103906000f08015801561008e573d6000803e3d6000fd5b50600280546001600160a01b0319166001600160a01b0383161790556040519091506000906100bc9061016e565b604051809103906000f0801580156100d8573d6000803e3d6000fd5b50600380546001600160a01b0319166001600160a01b03929092169190911790555061017c915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61292a806200108a83390190565b61344980620039b483390190565b61357b8062006dfd83390190565b610efe806200018c6000396000f3fe608060405234801561001057600080fd5b506004361061012b5760003560e01c8063a55b1c25116100ad578063da8d79f311610071578063da8d79f3146102bd578063ea14289f146102d0578063ef6fde5b146102f7578063f2fde38b1461031e578063f5e0e6df1461033157600080fd5b8063a55b1c251461025e578063c4dca7ab14610271578063c9be059014610284578063d05df88314610297578063d1e0f700146102aa57600080fd5b8063740adf31116100f4578063740adf31146101d95780637de4c08214610200578063877ebf51146102275780638da5cb5b1461023a5780639607cb491461024b57600080fd5b8062e8ece61461013057806322d60fcb1461016a5780633cebcf4114610195578063637944f5146101a8578063715018a6146101cf575b600080fd5b6101577f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c581565b6040519081526020015b60405180910390f35b60055461017d906001600160a01b031681565b6040516001600160a01b039091168152602001610161565b61017d6101a3366004610c09565b610344565b6101577f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd6881565b6101d7610411565b005b6101577f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c662517081565b6101577fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b74381565b61017d610235366004610c6d565b610450565b6000546001600160a01b031661017d565b6101d7610259366004610cf8565b610729565b6101d761026c366004610d1a565b610788565b60065461017d906001600160a01b031681565b60025461017d906001600160a01b031681565b60015461017d906001600160a01b031681565b60035461017d906001600160a01b031681565b61017d6102cb366004610d44565b6108f3565b6101577f618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd81565b6101577f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f81565b6101d761032c366004610cf8565b6109df565b60045461017d906001600160a01b031681565b600154600090819061035e906001600160a01b0316610a7a565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c19906103959087908790339060001990600401610dfe565b600060405180830381600087803b1580156103af57600080fd5b505af11580156103c3573d6000803e3d6000fd5b50506040513392506001600160a01b03841691507f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec90600090a350506001546001600160a01b031692915050565b6000546001600160a01b031633146104445760405162461bcd60e51b815260040161043b90610e40565b60405180910390fd5b61044e6000610b16565b565b6000826000036104725760405162461bcd60e51b815260040161043b90610e75565b60007f618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd8303610518576001546104b0906001600160a01b0316610a7a565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c19906104e5908990899033908a90600401610dfe565b600060405180830381600087803b1580156104ff57600080fd5b505af1158015610513573d6000803e3d6000fd5b505050505b7fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b74383036105bc57600254610554906001600160a01b0316610a7a565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c1990610589908990899033908a90600401610dfe565b600060405180830381600087803b1580156105a357600080fd5b505af11580156105b7573d6000803e3d6000fd5b505050505b7f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f8303610660576003546105f8906001600160a01b0316610a7a565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c199061062d908990899033908a90600401610dfe565b600060405180830381600087803b15801561064757600080fd5b505af115801561065b573d6000803e3d6000fd5b505050505b6001600160a01b0381166106ea5760405162461bcd60e51b8152602060048201526044602482018190527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f636f6e908201527f74726163745479706520756e737570706f7274656420636f6e747261637420746064820152633cb8329760e11b608482015260a40161043b565b60405133906001600160a01b038316907f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec90600090a395945050505050565b6000546001600160a01b031633146107535760405162461bcd60e51b815260040161043b90610e40565b6001600160a01b03811661076657600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107b25760405162461bcd60e51b815260040161043b90610e40565b6001600160a01b0382166107c557600080fd5b7f618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd810361080b57600180546001600160a01b0319166001600160a01b0384161790555050565b7fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b743810361085157600280546001600160a01b0319166001600160a01b0384161790555050565b7f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f810361089757600380546001600160a01b0319166001600160a01b0384161790555050565b60405162461bcd60e51b815260206004820152602b60248201527f736574536f7665726569676e4e46543a3a556e737570706f72746564205f636f60448201526a373a3930b1ba2a3cb8329760a91b606482015260840161043b565b6000816000036109155760405162461bcd60e51b815260040161043b90610e75565b60015460009061092d906001600160a01b0316610a7a565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c1990610962908890889033908990600401610dfe565b600060405180830381600087803b15801561097c57600080fd5b505af1158015610990573d6000803e3d6000fd5b50506040513392506001600160a01b03841691507f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec90600090a350506001546001600160a01b03169392505050565b6000546001600160a01b03163314610a095760405162461bcd60e51b815260040161043b90610e40565b6001600160a01b038116610a6e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161043b565b610a7781610b16565b50565b600060405172602d8060093d393df3363d3d373d3d3d363d7360681b81528260601b60138201526e5af43d82803e903d91602b57fd5bf360881b60278201526036816000f09150506001600160a01b038116610b115760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640161043b565b919050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610b8d57600080fd5b813567ffffffffffffffff80821115610ba857610ba8610b66565b604051601f8301601f19908116603f01168101908282118183101715610bd057610bd0610b66565b81604052838152866020858801011115610be957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215610c1c57600080fd5b823567ffffffffffffffff80821115610c3457600080fd5b610c4086838701610b7c565b93506020850135915080821115610c5657600080fd5b50610c6385828601610b7c565b9150509250929050565b60008060008060808587031215610c8357600080fd5b843567ffffffffffffffff80821115610c9b57600080fd5b610ca788838901610b7c565b95506020870135915080821115610cbd57600080fd5b50610cca87828801610b7c565b949794965050505060408301359260600135919050565b80356001600160a01b0381168114610b1157600080fd5b600060208284031215610d0a57600080fd5b610d1382610ce1565b9392505050565b60008060408385031215610d2d57600080fd5b610d3683610ce1565b946020939093013593505050565b600080600060608486031215610d5957600080fd5b833567ffffffffffffffff80821115610d7157600080fd5b610d7d87838801610b7c565b94506020860135915080821115610d9357600080fd5b50610da086828701610b7c565b925050604084013590509250925092565b6000815180845260005b81811015610dd757602081850181015186830182015201610dbb565b81811115610de9576000602083870101525b50601f01601f19169290920160200192915050565b608081526000610e116080830187610db1565b8281036020840152610e238187610db1565b6001600160a01b0395909516604084015250506060015292915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526033908201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f6d6178604082015272546f6b656e732063616e74206265207a65726f60681b60608201526080019056fea2646970667358221220fa5a0276b536793b20174a889e579a3d2070ffaac49be3debafd2babf2538e8c64736f6c634300080f0033608060405234801561001057600080fd5b5061290a806100206000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806370a082311161010f578063b88d4fde116100a2578063e985e9c511610071578063e985e9c514610423578063ee0708051461045f578063efc32cd41461046b578063f2fde38b1461047e57600080fd5b8063b88d4fde146103e0578063c87b56dd146103f3578063d9856c2114610406578063e83157421461041957600080fd5b80638da5cb5b116100de5780638da5cb5b146103ac57806395d89b41146103bd578063a22cb465146103c5578063ab69607a146103d857600080fd5b806370a0823114610376578063715018a6146103895780637cc918d114610391578063894ba833146103a457600080fd5b80633ebc82c5116101875780634aa52c41116101565780634aa52c411461032a5780635edc7c191461033d5780636297c16c146103505780636352211e1461036357600080fd5b80633ebc82c5146102de57806340c1a064146102f157806342842e0e1461030457806342966c681461031757600080fd5b806318160ddd116101c357806318160ddd1461027257806323b872dd146102885780632a55205a1461029b5780633403c4e9146102cd57600080fd5b806301ffc9a7146101f557806306fdde031461021d578063081812fc14610232578063095ea7b31461025d575b600080fd5b610208610203366004611fe6565b610491565b60405190151581526020015b60405180910390f35b6102256104da565b604051610214919061205b565b61024561024036600461206e565b61056c565b6040516001600160a01b039091168152602001610214565b61027061026b36600461209e565b61064d565b005b61027a610762565b604051908152602001610214565b6102706102963660046120c8565b610773565b6102ae6102a9366004612104565b6107a5565b604080516001600160a01b039093168352602083019190915201610214565b60fb546001600160a01b0316610245565b6102706102ec366004612126565b610840565b6102456102ff36600461206e565b610876565b6102706103123660046120c8565b61088a565b61027061032536600461206e565b6108a5565b61027061033836600461218a565b610906565b61027061034b3660046121ef565b61099f565b61027061035e36600461206e565b610b1f565b61024561037136600461206e565b610b89565b61027a610384366004612126565b610c0b565b610270610c91565b61027061039f366004612278565b610cc7565b610270610eaa565b6033546001600160a01b0316610245565b610225610f0e565b6102706103d33660046122c4565b610f1d565b60fc5461027a565b6102706103ee36600461238c565b610f28565b61022561040136600461206e565b610f60565b610270610414366004612408565b61104c565b61027a6101005481565b610208610431366004612451565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b60ff8054610208911681565b61027061047936600461209e565b6110ad565b61027061048c366004612126565b611105565b60006001600160e01b03198216631030681960e21b14806104b657506104b68261119d565b806104c557506104c5826111b3565b806104d457506104d4826111d4565b92915050565b6060609780546104e99061247b565b80601f01602080910402602001604051908101604052809291908181526020018280546105159061247b565b80156105625780601f1061053757610100808354040283529160200191610562565b820191906000526020600020905b81548152906001019060200180831161054557829003601f168201915b5050505050905090565b600081815260fd60205260408120546001600160a01b03168161058e84611214565b50509050600081806105a857506001600160a01b03831615155b80156105c457506000858152610102602052604090205460ff16155b90508061062d5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b50505060009182525061010360205260409020546001600160a01b031690565b600061065882610b89565b9050806001600160a01b0316836001600160a01b0316036106c55760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610624565b336001600160a01b03821614806106e157506106e18133610431565b6107535760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610624565b61075d8383611377565b505050565b600061076e6101045490565b905090565b61077e335b826113e6565b61079a5760405162461bcd60e51b8152600401610624906124af565b61075d838383611465565b600082815260fd602052604081205481906001600160a01b03166107d45760fb546001600160a01b03166107ed565b600084815260fd60205260409020546001600160a01b03165b9150610837606461083160fe60008881526020019081526020016000205460000361081a5760fc5461082a565b600087815260fe60205260409020545b86906114d9565b906114e5565b90509250929050565b6033546001600160a01b0316331461086a5760405162461bcd60e51b815260040161062490612500565b610873816114f1565b50565b60006104d46033546001600160a01b031690565b61075d83838360405180602001604052806000815250610f28565b60006108b082611214565b5050600083815261010260205260409020805460ff1916600117905590508080156108f057506000828152609960205260409020546001600160a01b0316155b156108f9575050565b61090282611513565b5050565b6033546001600160a01b031633146109305760405162461bcd60e51b815260040161062490612500565b60ff805416156109525760405162461bcd60e51b815260040161062490612535565b61099884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060fc543392508691508561158a565b5050505050565b60006109ab600161168b565b905080156109c3576000805461ff0019166101001790555b6001600160a01b038316610a195760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606401610624565b610a23600a60fc55565b60ff805460ff19169055610100829055610a3b611718565b610aae87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061174792505050565b610ab6611778565b610abe61179f565b610ac7836114f1565b610ad083611105565b8015610b16576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b8033610b2a82610b89565b6001600160a01b031614610b805760405162461bcd60e51b815260206004820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152606401610624565b610902826108a5565b600080610b9583611214565b5050905080610bae57610ba7836117ce565b9392505050565b6000838152610102602052604090205460ff1615610bcf57610ba7836117ce565b6000838152609960205260409020546001600160a01b0316610bfc576033546001600160a01b0316610ba7565b610ba7836117ce565b50919050565b60006001600160a01b038216610c755760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610624565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610cbb5760405162461bcd60e51b815260040161062490612500565b610cc56000611845565b565b6033546001600160a01b03163314610cf15760405162461bcd60e51b815260040161062490612500565b60ff80541615610d135760405162461bcd60e51b815260040161062490612535565b6000610d1f6101045490565b610d2a906001612582565b905060006001610d3a8484612582565b610d44919061259a565b604080516020810190915281905261010481905561010054909150811115610dae5760405162461bcd60e51b815260206004820152601d60248201527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606401610624565b610105604051806060016040528084815260200183815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018181018655948252602091829020845160039092020190815590830151938101939093555060408101519091906002820190610e4090826125ff565b505050610e556033546001600160a01b031690565b6001600160a01b031660006001600160a01b0316837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d84604051610e9b91815260200190565b60405180910390a45050505050565b6033546001600160a01b03163314610ed45760405162461bcd60e51b815260040161062490612500565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b6060609880546104e99061247b565b610902338383611897565b610f3233836113e6565b610f4e5760405162461bcd60e51b8152600401610624906124af565b610f5a84848484611965565b50505050565b6060600080610f6e84611214565b925050915081611019576000848152610106602052604090208054610f929061247b565b80601f0160208091040260200160405190810160405280929190818152602001828054610fbe9061247b565b801561100b5780601f10610fe05761010080835404028352916020019161100b565b820191906000526020600020905b815481529060010190602001808311610fee57829003601f168201915b505050505092505050919050565b8061102385611998565b6040516020016110349291906126bf565b60405160208183030381529060405292505050919050565b6033546001600160a01b031633146110765760405162461bcd60e51b815260040161062490612500565b60ff805416156110985760405162461bcd60e51b815260040161062490612535565b6109028133336110a760fc5490565b3361158a565b6033546001600160a01b031633146110d75760405162461bcd60e51b815260040161062490612500565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461112f5760405162461bcd60e51b815260040161062490612500565b6001600160a01b0381166111945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610624565b61087381611845565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b14806104d457506104d4825b60006001600160e01b031982166380ac58cd60e01b148061120557506001600160e01b03198216635b5e139f60e01b145b806104d457506104d48261119d565b600080606060005b6101055481101561135857610105818154811061123b5761123b61270d565b90600052602060002090600302016000015485101580156112815750610105818154811061126b5761126b61270d565b9060005260206000209060030201600101548511155b1561134657600181610105838154811061129d5761129d61270d565b90600052602060002090600302016002018080546112ba9061247b565b80601f01602080910402602001604051908101604052809291908181526020018280546112e69061247b565b80156113335780601f1061130857610100808354040283529160200191611333565b820191906000526020600020905b81548152906001019060200180831161131657829003601f168201915b5050505050905093509350935050611370565b8061135081612723565b91505061121c565b50506040805160208101909152600080825292508291505b9193909250565b60008181526101036020526040902080546001600160a01b0319166001600160a01b03841690811790915581906113ad826117ce565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806113f283610b89565b9050806001600160a01b0316846001600160a01b0316148061142d5750836001600160a01b03166114228461056c565b6001600160a01b0316145b8061145d57506001600160a01b038082166000908152609c602090815260408083209388168352929052205460ff165b949350505050565b8060000361147257600080fd5b600061147d82611214565b505090508080156114a357506000828152609960205260409020546001600160a01b0316155b80156114bf57506000828152610102602052604090205460ff16155b156114ce576114ce8483611a99565b610f5a848484611bdb565b6000610ba7828461273c565b6000610ba78284612771565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b61151c33610778565b6115815760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b6064820152608401610624565b61087381611d77565b600061159b61010480546001019055565b60006115a76101045490565b9050610100548111156115fc5760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152606401610624565b6116068582611e12565b60008181526101066020526040902061161f88826125ff565b5060008181526101016020526040902080546001600160a01b0319166001600160a01b038816179055600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b0385161790555b9695505050505050565b60008054610100900460ff16156116d2578160ff1660011480156116ae5750303b155b6116ca5760405162461bcd60e51b815260040161062490612785565b506000919050565b60005460ff8084169116106116f95760405162461bcd60e51b815260040161062490612785565b506000805460ff191660ff92909216919091179055600190565b919050565b600054610100900460ff1661173f5760405162461bcd60e51b8152600401610624906127d3565b610cc5611e2c565b600054610100900460ff1661176e5760405162461bcd60e51b8152600401610624906127d3565b6109028282611e5c565b600054610100900460ff16610cc55760405162461bcd60e51b8152600401610624906127d3565b600054610100900460ff166117c65760405162461bcd60e51b8152600401610624906127d3565b610cc5611778565b6000818152609960205260408120546001600160a01b0316806104d45760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610624565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036118f85760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610624565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611970848484611465565b61197c84848484611e9c565b610f5a5760405162461bcd60e51b81526004016106249061281e565b6060816000036119bf5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156119e957806119d381612723565b91506119e29050600a83612771565b91506119c3565b60008167ffffffffffffffff811115611a0457611a04612300565b6040519080825280601f01601f191660200182016040528015611a2e576020820181803683370190505b5090505b841561145d57611a4360018361259a565b9150611a50600a86612870565b611a5b906030612582565b60f81b818381518110611a7057611a7061270d565b60200101906001600160f81b031916908160001a905350611a92600a86612771565b9450611a32565b6001600160a01b038216611aef5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610624565b6000818152609960205260409020546001600160a01b031615611b545760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610624565b6001600160a01b0382166000908152609a60205260408120805460019290611b7d908490612582565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b826001600160a01b0316611bee826117ce565b6001600160a01b031614611c525760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610624565b6001600160a01b038216611cb45760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610624565b611cbf600082611377565b6001600160a01b0383166000908152609a60205260408120805460019290611ce890849061259a565b90915550506001600160a01b0382166000908152609a60205260408120805460019290611d16908490612582565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611d82826117ce565b9050611d8f600083611377565b6001600160a01b0381166000908152609a60205260408120805460019290611db890849061259a565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b610902828260405180602001604052806000815250611f9d565b600054610100900460ff16611e535760405162461bcd60e51b8152600401610624906127d3565b610cc533611845565b600054610100900460ff16611e835760405162461bcd60e51b8152600401610624906127d3565b6097611e8f83826125ff565b50609861075d82826125ff565b60006001600160a01b0384163b15611f9257604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611ee0903390899088908890600401612884565b6020604051808303816000875af1925050508015611f1b575060408051601f3d908101601f19168201909252611f18918101906128b7565b60015b611f78573d808015611f49576040519150601f19603f3d011682016040523d82523d6000602084013e611f4e565b606091505b508051600003611f705760405162461bcd60e51b81526004016106249061281e565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061145d565b506001949350505050565b611fa78383611a99565b611fb46000848484611e9c565b61075d5760405162461bcd60e51b81526004016106249061281e565b6001600160e01b03198116811461087357600080fd5b600060208284031215611ff857600080fd5b8135610ba781611fd0565b60005b8381101561201e578181015183820152602001612006565b83811115610f5a5750506000910152565b60008151808452612047816020860160208601612003565b601f01601f19169290920160200192915050565b602081526000610ba7602083018461202f565b60006020828403121561208057600080fd5b5035919050565b80356001600160a01b038116811461171357600080fd5b600080604083850312156120b157600080fd5b6120ba83612087565b946020939093013593505050565b6000806000606084860312156120dd57600080fd5b6120e684612087565b92506120f460208501612087565b9150604084013590509250925092565b6000806040838503121561211757600080fd5b50508035926020909101359150565b60006020828403121561213857600080fd5b610ba782612087565b60008083601f84011261215357600080fd5b50813567ffffffffffffffff81111561216b57600080fd5b60208301915083602082850101111561218357600080fd5b9250929050565b600080600080606085870312156121a057600080fd5b843567ffffffffffffffff8111156121b757600080fd5b6121c387828801612141565b90955093506121d6905060208601612087565b91506121e460408601612087565b905092959194509250565b6000806000806000806080878903121561220857600080fd5b863567ffffffffffffffff8082111561222057600080fd5b61222c8a838b01612141565b9098509650602089013591508082111561224557600080fd5b5061225289828a01612141565b9095509350612265905060408801612087565b9150606087013590509295509295509295565b60008060006040848603121561228d57600080fd5b833567ffffffffffffffff8111156122a457600080fd5b6122b086828701612141565b909790965060209590950135949350505050565b600080604083850312156122d757600080fd5b6122e083612087565b9150602083013580151581146122f557600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561233157612331612300565b604051601f8501601f19908116603f0116810190828211818310171561235957612359612300565b8160405280935085815286868601111561237257600080fd5b858560208301376000602087830101525050509392505050565b600080600080608085870312156123a257600080fd5b6123ab85612087565b93506123b960208601612087565b925060408501359150606085013567ffffffffffffffff8111156123dc57600080fd5b8501601f810187136123ed57600080fd5b6123fc87823560208401612316565b91505092959194509250565b60006020828403121561241a57600080fd5b813567ffffffffffffffff81111561243157600080fd5b8201601f8101841361244257600080fd5b61145d84823560208401612316565b6000806040838503121561246457600080fd5b61246d83612087565b915061083760208401612087565b600181811c9082168061248f57607f821691505b602082108103610c0557634e487b7160e01b600052602260045260246000fd5b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082198211156125955761259561256c565b500190565b6000828210156125ac576125ac61256c565b500390565b601f82111561075d57600081815260208120601f850160051c810160208610156125d85750805b601f850160051c820191505b818110156125f7578281556001016125e4565b505050505050565b815167ffffffffffffffff81111561261957612619612300565b61262d81612627845461247b565b846125b1565b602080601f831160018114612662576000841561264a5750858301515b600019600386901b1c1916600185901b1785556125f7565b600085815260208120601f198616915b8281101561269157888601518255948401946001909101908401612672565b50858210156126af5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600083516126d1818460208801612003565b602f60f81b90830190815283516126ef816001840160208801612003565b64173539b7b760d91b60019290910191820152600601949350505050565b634e487b7160e01b600052603260045260246000fd5b6000600182016127355761273561256c565b5060010190565b60008160001904831182151516156127565761275661256c565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826127805761278061275b565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008261287f5761287f61275b565b500690565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906116819083018461202f565b6000602082840312156128c957600080fd5b8151610ba781611fd056fea264697066735822122014f81705c9f0ffc17ea64790d7023ee26d60862cd9e94c2a934ac560aeab1a1764736f6c634300080f0033608060405234801561001057600080fd5b50613429806100206000396000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c806370a0823111610146578063b88d4fde116100c3578063e985e9c511610087578063e985e9c514610512578063eab8511814610525578063ee07080514610538578063efc32cd414610544578063f2fde38b14610557578063ff6e8c8f1461056a57600080fd5b8063b88d4fde146104bc578063bc719455146104cf578063c87b56dd146104e2578063d9856c21146104f5578063e83157421461050857600080fd5b80638da5cb5b1161010a5780638da5cb5b1461047557806395d89b41146104865780639e860f2a1461048e578063a22cb465146104a1578063ab69607a146104b457600080fd5b806370a082311461042b578063715018a61461043e5780637cc918d11461044657806387bc793f14610459578063894ba8331461046d57600080fd5b80633403c4e9116101d4578063472a663811610198578063472a6638146103cc5780634aa52c41146103df5780635edc7c19146103f25780636297c16c146104055780636352211e1461041857600080fd5b80633403c4e91461036f5780633ebc82c51461038057806340c1a0641461039357806342842e0e146103a657806342966c68146103b957600080fd5b806318160ddd1161021b57806318160ddd146102f9578063204274861461030f57806323b872dd146103225780632a55205a146103355780632ce878da1461036757600080fd5b8063012cf1e81461025857806301ffc9a71461028157806306fdde03146102a4578063081812fc146102b9578063095ea7b3146102e4575b600080fd5b61026b6102663660046129ad565b61057d565b60405161027891906129c8565b60405180910390f35b61029461028f366004612a2b565b6105c3565b6040519015158152602001610278565b6102ac6105dd565b6040516102789190612aa0565b6102cc6102c7366004612ab3565b61066f565b6040516001600160a01b039091168152602001610278565b6102f76102f2366004612ae3565b610750565b005b610301610825565b604051908152602001610278565b61029461031d366004612b0d565b610836565b6102f7610330366004612b28565b610865565b610348610343366004612b64565b610897565b604080516001600160a01b039093168352602083019190915201610278565b61026b610932565b60fb546001600160a01b03166102cc565b6102f761038e366004612b0d565b610958565b6102cc6103a1366004612ab3565b61098e565b6102f76103b4366004612b28565b6109a2565b6102f76103c7366004612ab3565b6109bd565b6102f76103da3660046129ad565b610a1e565b6102f76103ed366004612bcf565b610a4d565b6102f7610400366004612c34565b610ae6565b6102f7610413366004612ab3565b610c66565b6102cc610426366004612ab3565b610cd0565b610301610439366004612b0d565b610d52565b6102f7610dd8565b6102f7610454366004612cbd565b610e0e565b6101085460ff166040516102789190612d1f565b6102f7610ff1565b6033546001600160a01b03166102cc565b6102ac611055565b6102f761049c366004612d47565b611064565b6102f76104af366004612dcd565b6110c7565b60fc54610301565b6102f76104ca366004612e95565b61116e565b6102f76104dd3660046129ad565b6111a6565b6102ac6104f0366004612ab3565b61125b565b6102f7610503366004612f11565b611347565b6103016101005481565b610294610520366004612f5a565b6113a8565b610294610533366004612b0d565b6113d6565b60ff8054610294911681565b6102f7610552366004612ae3565b6113fd565b6102f7610565366004612b0d565b611455565b6102f7610578366004612d47565b6114ed565b60606105bd610107600084600281111561059957610599612d09565b60028111156105aa576105aa612d09565b8152602001908152602001600020611585565b92915050565b60006105ce82611592565b806105bd57506105bd826115b7565b6060609780546105ec90612f84565b80601f016020809104026020016040519081016040528092919081815260200182805461061890612f84565b80156106655780601f1061063a57610100808354040283529160200191610665565b820191906000526020600020905b81548152906001019060200180831161064857829003601f168201915b5050505050905090565b600081815260fd60205260408120546001600160a01b031681610691846115fa565b50509050600081806106ab57506001600160a01b03831615155b80156106c757506000858152610102602052604090205460ff16155b9050806107305760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b50505060009182525061010360205260409020546001600160a01b031690565b8160016101085460ff16600281111561076b5761076b612d09565b036107ca576107a981610107600060015b600281111561078d5761078d612d09565b815260200190815260200160002061175d90919063ffffffff16565b6107c5576040516282b42960e81b815260040160405180910390fd5b610816565b60026101085460ff1660028111156107e4576107e4612d09565b03610816576107f9816101076000600261077c565b15610816576040516282b42960e81b815260040160405180910390fd5b610820838361177f565b505050565b60006108316101045490565b905090565b600061084a6033546001600160a01b031690565b6001600160a01b0316826001600160a01b0316149050919050565b610870335b8261188f565b61088c5760405162461bcd60e51b815260040161072790612fb8565b6108208383836118ee565b600082815260fd602052604081205481906001600160a01b03166108c65760fb546001600160a01b03166108df565b600084815260fd60205260409020546001600160a01b03165b9150610929606461092360fe60008881526020019081526020016000205460000361090c5760fc5461091c565b600087815260fe60205260409020545b8690611962565b9061196e565b90509250929050565b61010854606090610831906101079060009060ff16600281111561059957610599612d09565b6033546001600160a01b031633146109825760405162461bcd60e51b815260040161072790613009565b61098b8161197a565b50565b60006105bd6033546001600160a01b031690565b6108208383836040518060200160405280600081525061116e565b60006109c8826115fa565b5050600083815261010260205260409020805460ff191660011790559050808015610a0857506000828152609960205260409020546001600160a01b0316155b15610a11575050565b610a1a8261199c565b5050565b610a2733610836565b610a4457604051635c510c8360e11b815260040160405180910390fd5b61098b81611a13565b6033546001600160a01b03163314610a775760405162461bcd60e51b815260040161072790613009565b60ff80541615610a995760405162461bcd60e51b81526004016107279061303e565b610adf84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060fc5433925086915085611a90565b5050505050565b6000610af26001611b91565b90508015610b0a576000805461ff0019166101001790555b6001600160a01b038316610b605760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606401610727565b610b6a600a60fc55565b60ff805460ff19169055610100829055610b82611c1e565b610bf587878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611c4d92505050565b610bfd611c7e565b610c05611ca5565b610c0e8361197a565b610c1783611455565b8015610c5d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b8033610c7182610cd0565b6001600160a01b031614610cc75760405162461bcd60e51b815260206004820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152606401610727565b610a1a826109bd565b600080610cdc836115fa565b5050905080610cf557610cee83611cd4565b9392505050565b6000838152610102602052604090205460ff1615610d1657610cee83611cd4565b6000838152609960205260409020546001600160a01b0316610d43576033546001600160a01b0316610cee565b610cee83611cd4565b50919050565b60006001600160a01b038216610dbc5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610727565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610e025760405162461bcd60e51b815260040161072790613009565b610e0c6000611d4b565b565b6033546001600160a01b03163314610e385760405162461bcd60e51b815260040161072790613009565b60ff80541615610e5a5760405162461bcd60e51b81526004016107279061303e565b6000610e666101045490565b610e7190600161308b565b905060006001610e81848461308b565b610e8b91906130a3565b604080516020810190915281905261010481905561010054909150811115610ef55760405162461bcd60e51b815260206004820152601d60248201527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606401610727565b610105604051806060016040528084815260200183815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018181018655948252602091829020845160039092020190815590830151938101939093555060408101519091906002820190610f879082613108565b505050610f9c6033546001600160a01b031690565b6001600160a01b031660006001600160a01b0316837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d84604051610fe291815260200190565b60405180910390a45050505050565b6033546001600160a01b0316331461101b5760405162461bcd60e51b815260040161072790613009565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b6060609880546105ec90612f84565b61106d33610836565b61108a57604051635c510c8360e11b815260040160405180910390fd5b6108208383838080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509250611d9d915050565b8160016101085460ff1660028111156110e2576110e2612d09565b03611118576110f7816101076000600161077c565b611113576040516282b42960e81b815260040160405180910390fd5b611164565b60026101085460ff16600281111561113257611132612d09565b0361116457611147816101076000600261077c565b15611164576040516282b42960e81b815260040160405180910390fd5b6108208383611f7a565b611178338361188f565b6111945760405162461bcd60e51b815260040161072790612fb8565b6111a084848484611f85565b50505050565b6111af33610836565b6111cc57604051635c510c8360e11b815260040160405180910390fd5b61010760008260028111156111e3576111e3612d09565b60028111156111f4576111f4612d09565b815260208101919091526040016000908120908181611213828261296c565b50505050336001600160a01b03167f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da24826040516112509190612d1f565b60405180910390a250565b6060600080611269846115fa565b92505091508161131457600084815261010660205260409020805461128d90612f84565b80601f01602080910402602001604051908101604052809291908181526020018280546112b990612f84565b80156113065780601f106112db57610100808354040283529160200191611306565b820191906000526020600020905b8154815290600101906020018083116112e957829003601f168201915b505050505092505050919050565b8061131e85611fb8565b60405160200161132f9291906131c8565b60405160208183030381529060405292505050919050565b6033546001600160a01b031633146113715760405162461bcd60e51b815260040161072790613009565b60ff805416156113935760405162461bcd60e51b81526004016107279061303e565b610a1a8133336113a260fc5490565b33611a90565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b610108546000906105bd90839061010790849060ff16600281111561077c5761077c612d09565b6033546001600160a01b031633146114275760405162461bcd60e51b815260040161072790613009565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461147f5760405162461bcd60e51b815260040161072790613009565b6001600160a01b0381166114e45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610727565b61098b81611d4b565b6114f633610836565b61151357604051635c510c8360e11b815260040160405180910390fd5b600083600281111561152757611527612d09565b0361154557604051632de777a160e11b815260040160405180910390fd5b6108208383838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525060019250611d9d915050565b60606000610cee836120b9565b60006001600160e01b0319821663fa31a45b60e01b14806105bd57506105bd82612115565b60006001600160e01b03198216631030681960e21b14806115dc57506115dc82612115565b806115eb57506115eb8261212b565b806105bd57506105bd8261214c565b600080606060005b6101055481101561173e57610105818154811061162157611621613216565b90600052602060002090600302016000015485101580156116675750610105818154811061165157611651613216565b9060005260206000209060030201600101548511155b1561172c57600181610105838154811061168357611683613216565b90600052602060002090600302016002018080546116a090612f84565b80601f01602080910402602001604051908101604052809291908181526020018280546116cc90612f84565b80156117195780601f106116ee57610100808354040283529160200191611719565b820191906000526020600020905b8154815290600101906020018083116116fc57829003601f168201915b5050505050905093509350935050611756565b806117368161322c565b915050611602565b50506040805160208101909152600080825292508291505b9193909250565b6001600160a01b03811660009081526001830160205260408120541515610cee565b600061178a82610cd0565b9050806001600160a01b0316836001600160a01b0316036117f75760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610727565b336001600160a01b0382161480611813575061181381336113a8565b6118855760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610727565b610820838361218c565b60008061189b83610cd0565b9050806001600160a01b0316846001600160a01b031614806118d65750836001600160a01b03166118cb8461066f565b6001600160a01b0316145b806118e657506118e681856113a8565b949350505050565b806000036118fb57600080fd5b6000611906826115fa565b5050905080801561192c57506000828152609960205260409020546001600160a01b0316155b801561194857506000828152610102602052604090205460ff16155b156119575761195784836121fb565b6111a084848461233d565b6000610cee8284613245565b6000610cee828461327a565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b6119a53361086a565b611a0a5760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b6064820152608401610727565b61098b816124d9565b806002811115611a2557611a25612d09565b6101085460ff166002811115611a3d57611a3d612d09565b60405133907f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f90600090a4610108805482919060ff19166001836002811115611a8857611a88612d09565b021790555050565b6000611aa161010480546001019055565b6000611aad6101045490565b905061010054811115611b025760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152606401610727565b611b0c8582612574565b600081815261010660205260409020611b258882613108565b5060008181526101016020526040902080546001600160a01b0319166001600160a01b038816179055600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b0385161790555b9695505050505050565b60008054610100900460ff1615611bd8578160ff166001148015611bb45750303b155b611bd05760405162461bcd60e51b81526004016107279061328e565b506000919050565b60005460ff808416911610611bff5760405162461bcd60e51b81526004016107279061328e565b506000805460ff191660ff92909216919091179055600190565b919050565b600054610100900460ff16611c455760405162461bcd60e51b8152600401610727906132dc565b610e0c61258e565b600054610100900460ff16611c745760405162461bcd60e51b8152600401610727906132dc565b610a1a82826125be565b600054610100900460ff16610e0c5760405162461bcd60e51b8152600401610727906132dc565b600054610100900460ff16611ccc5760405162461bcd60e51b8152600401610727906132dc565b610e0c611c7e565b6000818152609960205260408120546001600160a01b0316806105bd5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610727565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000836002811115611db157611db1612d09565b146108205760005b82518110156111a0578115611e9a57611e29838281518110611ddd57611ddd613216565b60200260200101516101076000876002811115611dfc57611dfc612d09565b6002811115611e0d57611e0d612d09565b81526020019081526020016000206125fe90919063ffffffff16565b50836002811115611e3c57611e3c612d09565b838281518110611e4e57611e4e613216565b60200260200101516001600160a01b0316336001600160a01b03167f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba153660405160405180910390a4611f68565b611efb838281518110611eaf57611eaf613216565b60200260200101516101076000876002811115611ece57611ece612d09565b6002811115611edf57611edf612d09565b815260200190815260200160002061261390919063ffffffff16565b50836002811115611f0e57611f0e612d09565b838281518110611f2057611f20613216565b60200260200101516001600160a01b0316336001600160a01b03167fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed9560405160405180910390a45b80611f728161322c565b915050611db9565b610a1a338383612628565b611f908484846118ee565b611f9c848484846126f6565b6111a05760405162461bcd60e51b815260040161072790613327565b606081600003611fdf5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156120095780611ff38161322c565b91506120029050600a8361327a565b9150611fe3565b60008167ffffffffffffffff81111561202457612024612e09565b6040519080825280601f01601f19166020018201604052801561204e576020820181803683370190505b5090505b84156118e6576120636001836130a3565b9150612070600a86613379565b61207b90603061308b565b60f81b81838151811061209057612090613216565b60200101906001600160f81b031916908160001a9053506120b2600a8661327a565b9450612052565b60608160000180548060200260200160405190810160405280929190818152602001828054801561210957602002820191906000526020600020905b8154815260200190600101908083116120f5575b50505050509050919050565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b14806105bd57506105bd825b60006001600160e01b031982166380ac58cd60e01b148061217d57506001600160e01b03198216635b5e139f60e01b145b806105bd57506105bd82612115565b60008181526101036020526040902080546001600160a01b0319166001600160a01b03841690811790915581906121c282611cd4565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6001600160a01b0382166122515760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610727565b6000818152609960205260409020546001600160a01b0316156122b65760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610727565b6001600160a01b0382166000908152609a602052604081208054600192906122df90849061308b565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b826001600160a01b031661235082611cd4565b6001600160a01b0316146123b45760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610727565b6001600160a01b0382166124165760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610727565b61242160008261218c565b6001600160a01b0383166000908152609a6020526040812080546001929061244a9084906130a3565b90915550506001600160a01b0382166000908152609a6020526040812080546001929061247890849061308b565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006124e482611cd4565b90506124f160008361218c565b6001600160a01b0381166000908152609a6020526040812080546001929061251a9084906130a3565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b610a1a8282604051806020016040528060008152506127f7565b600054610100900460ff166125b55760405162461bcd60e51b8152600401610727906132dc565b610e0c33611d4b565b600054610100900460ff166125e55760405162461bcd60e51b8152600401610727906132dc565b60976125f18382613108565b5060986108208282613108565b6000610cee836001600160a01b03841661282a565b6000610cee836001600160a01b038416612879565b816001600160a01b0316836001600160a01b0316036126895760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610727565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60006001600160a01b0384163b156127ec57604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061273a90339089908890889060040161338d565b6020604051808303816000875af1925050508015612775575060408051601f3d908101601f19168201909252612772918101906133c0565b60015b6127d2573d8080156127a3576040519150601f19603f3d011682016040523d82523d6000602084013e6127a8565b606091505b5080516000036127ca5760405162461bcd60e51b815260040161072790613327565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506118e6565b506001949350505050565b61280183836121fb565b61280e60008484846126f6565b6108205760405162461bcd60e51b815260040161072790613327565b6000818152600183016020526040812054612871575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556105bd565b5060006105bd565b6000818152600183016020526040812054801561296257600061289d6001836130a3565b85549091506000906128b1906001906130a3565b90508181146129165760008660000182815481106128d1576128d1613216565b90600052602060002001549050808760000184815481106128f4576128f4613216565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612927576129276133dd565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506105bd565b60009150506105bd565b508054600082559060005260206000209081019061098b91905b8082111561299a5760008155600101612986565b5090565b803560038110611c1957600080fd5b6000602082840312156129bf57600080fd5b610cee8261299e565b6020808252825182820181905260009190848201906040850190845b81811015612a095783516001600160a01b0316835292840192918401916001016129e4565b50909695505050505050565b6001600160e01b03198116811461098b57600080fd5b600060208284031215612a3d57600080fd5b8135610cee81612a15565b60005b83811015612a63578181015183820152602001612a4b565b838111156111a05750506000910152565b60008151808452612a8c816020860160208601612a48565b601f01601f19169290920160200192915050565b602081526000610cee6020830184612a74565b600060208284031215612ac557600080fd5b5035919050565b80356001600160a01b0381168114611c1957600080fd5b60008060408385031215612af657600080fd5b612aff83612acc565b946020939093013593505050565b600060208284031215612b1f57600080fd5b610cee82612acc565b600080600060608486031215612b3d57600080fd5b612b4684612acc565b9250612b5460208501612acc565b9150604084013590509250925092565b60008060408385031215612b7757600080fd5b50508035926020909101359150565b60008083601f840112612b9857600080fd5b50813567ffffffffffffffff811115612bb057600080fd5b602083019150836020828501011115612bc857600080fd5b9250929050565b60008060008060608587031215612be557600080fd5b843567ffffffffffffffff811115612bfc57600080fd5b612c0887828801612b86565b9095509350612c1b905060208601612acc565b9150612c2960408601612acc565b905092959194509250565b60008060008060008060808789031215612c4d57600080fd5b863567ffffffffffffffff80821115612c6557600080fd5b612c718a838b01612b86565b90985096506020890135915080821115612c8a57600080fd5b50612c9789828a01612b86565b9095509350612caa905060408801612acc565b9150606087013590509295509295509295565b600080600060408486031215612cd257600080fd5b833567ffffffffffffffff811115612ce957600080fd5b612cf586828701612b86565b909790965060209590950135949350505050565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612d4157634e487b7160e01b600052602160045260246000fd5b91905290565b600080600060408486031215612d5c57600080fd5b612d658461299e565b9250602084013567ffffffffffffffff80821115612d8257600080fd5b818601915086601f830112612d9657600080fd5b813581811115612da557600080fd5b8760208260051b8501011115612dba57600080fd5b6020830194508093505050509250925092565b60008060408385031215612de057600080fd5b612de983612acc565b915060208301358015158114612dfe57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115612e3a57612e3a612e09565b604051601f8501601f19908116603f01168101908282118183101715612e6257612e62612e09565b81604052809350858152868686011115612e7b57600080fd5b858560208301376000602087830101525050509392505050565b60008060008060808587031215612eab57600080fd5b612eb485612acc565b9350612ec260208601612acc565b925060408501359150606085013567ffffffffffffffff811115612ee557600080fd5b8501601f81018713612ef657600080fd5b612f0587823560208401612e1f565b91505092959194509250565b600060208284031215612f2357600080fd5b813567ffffffffffffffff811115612f3a57600080fd5b8201601f81018413612f4b57600080fd5b6118e684823560208401612e1f565b60008060408385031215612f6d57600080fd5b612f7683612acc565b915061092960208401612acc565b600181811c90821680612f9857607f821691505b602082108103610d4c57634e487b7160e01b600052602260045260246000fd5b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000821982111561309e5761309e613075565b500190565b6000828210156130b5576130b5613075565b500390565b601f82111561082057600081815260208120601f850160051c810160208610156130e15750805b601f850160051c820191505b81811015613100578281556001016130ed565b505050505050565b815167ffffffffffffffff81111561312257613122612e09565b613136816131308454612f84565b846130ba565b602080601f83116001811461316b57600084156131535750858301515b600019600386901b1c1916600185901b178555613100565b600085815260208120601f198616915b8281101561319a5788860151825594840194600190910190840161317b565b50858210156131b85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600083516131da818460208801612a48565b602f60f81b90830190815283516131f8816001840160208801612a48565b64173539b7b760d91b60019290910191820152600601949350505050565b634e487b7160e01b600052603260045260246000fd5b60006001820161323e5761323e613075565b5060010190565b600081600019048311821515161561325f5761325f613075565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261328957613289613264565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008261338857613388613264565b500690565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611b8790830184612a74565b6000602082840312156133d257600080fd5b8151610cee81612a15565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220938ce2757d4bf31de29a45d48be70d84d733bd4e1e833fb2c0faa8e73438ddf164736f6c634300080f0033608060405234801561001057600080fd5b5061355b806100206000396000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c806370a0823111610151578063b88d4fde116100c3578063e985e9c511610087578063e985e9c514610557578063eab851181461056a578063ee0708051461057d578063efc32cd414610589578063f2fde38b1461059c578063ff6e8c8f146105af57600080fd5b8063b88d4fde14610501578063bc71945514610514578063c87b56dd14610527578063d9856c211461053a578063e83157421461054d57600080fd5b8063894ba83311610115578063894ba833146104b25780638da5cb5b146104ba57806395d89b41146104cb5780639e860f2a146104d3578063a22cb465146104e6578063ab69607a146104f957600080fd5b806370a0823114610467578063715018a61461047a578063717392ed146104825780637cc918d11461048b57806387bc793f1461049e57600080fd5b80633403c4e9116101ea578063472a6638116101ae578063472a6638146104005780634aa52c41146104135780635aec8d62146104265780635edc7c191461042e5780636297c16c146104415780636352211e1461045457600080fd5b80633403c4e9146103a35780633ebc82c5146103b457806340c1a064146103c757806342842e0e146103da57806342966c68146103ed57600080fd5b806318160ddd1161023c57806318160ddd1461031a578063204274861461033057806321c4a5d81461034357806323b872dd146103565780632a55205a146103695780632ce878da1461039b57600080fd5b8063012cf1e81461027957806301ffc9a7146102a257806306fdde03146102c5578063081812fc146102da578063095ea7b314610305575b600080fd5b61028c610287366004612adf565b6105c2565b6040516102999190612afa565b60405180910390f35b6102b56102b0366004612b5d565b610608565b6040519015158152602001610299565b6102cd610622565b6040516102999190612bd2565b6102ed6102e8366004612be5565b6106b4565b6040516001600160a01b039091168152602001610299565b610318610313366004612c15565b610795565b005b61032261086a565b604051908152602001610299565b6102b561033e366004612c3f565b61087b565b610318610351366004612be5565b6108aa565b610318610364366004612c5a565b6108dc565b61037c610377366004612c96565b61090e565b604080516001600160a01b039093168352602083019190915201610299565b61028c6109a9565b60fb546001600160a01b03166102ed565b6103186103c2366004612c3f565b6109cf565b6102ed6103d5366004612be5565b610a02565b6103186103e8366004612c5a565b610a16565b6103186103fb366004612be5565b610a31565b61031861040e366004612adf565b610a92565b610318610421366004612d01565b610ac1565b610318610b5a565b61031861043c366004612d66565b610bb5565b61031861044f366004612be5565b610d35565b6102ed610462366004612be5565b610d9f565b610322610475366004612c3f565b610e21565b610318610ea7565b61010954610322565b610318610499366004612def565b610edd565b6101085460ff166040516102999190612e51565b6103186110c0565b6033546001600160a01b03166102ed565b6102cd611124565b6103186104e1366004612e79565b611133565b6103186104f4366004612eff565b611196565b60fc54610322565b61031861050f366004612fc7565b61123d565b610318610522366004612adf565b611275565b6102cd610535366004612be5565b61132a565b610318610548366004613043565b611416565b6103226101005481565b6102b561056536600461308c565b611477565b6102b5610578366004612c3f565b6114a5565b60ff80546102b5911681565b610318610597366004612c15565b6114cc565b6103186105aa366004612c3f565b611524565b6103186105bd366004612e79565b6115bc565b606061060261010760008460028111156105de576105de612e3b565b60028111156105ef576105ef612e3b565b8152602001908152602001600020611654565b92915050565b600061061382611661565b80610602575061060282611686565b606060978054610631906130b6565b80601f016020809104026020016040519081016040528092919081815260200182805461065d906130b6565b80156106aa5780601f1061067f576101008083540402835291602001916106aa565b820191906000526020600020905b81548152906001019060200180831161068d57829003601f168201915b5050505050905090565b600081815260fd60205260408120546001600160a01b0316816106d6846116c9565b50509050600081806106f057506001600160a01b03831615155b801561070c57506000858152610102602052604090205460ff16155b9050806107755760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b50505060009182525061010360205260409020546001600160a01b031690565b8160016101085460ff1660028111156107b0576107b0612e3b565b0361080f576107ee81610107600060015b60028111156107d2576107d2612e3b565b815260200190815260200160002061182c90919063ffffffff16565b61080a576040516282b42960e81b815260040160405180910390fd5b61085b565b60026101085460ff16600281111561082957610829612e3b565b0361085b5761083e81610107600060026107c1565b1561085b576040516282b42960e81b815260040160405180910390fd5b610865838361184e565b505050565b60006108766101045490565b905090565b600061088f6033546001600160a01b031690565b6001600160a01b0316826001600160a01b0316149050919050565b6108b33361087b565b6108d057604051635c510c8360e11b815260040160405180910390fd5b6108d98161195e565b50565b6108e7335b826119c1565b6109035760405162461bcd60e51b815260040161076c906130ea565b610865838383611a20565b600082815260fd602052604081205481906001600160a01b031661093d5760fb546001600160a01b0316610956565b600084815260fd60205260409020546001600160a01b03165b91506109a0606461099a60fe6000888152602001908152602001600020546000036109835760fc54610993565b600087815260fe60205260409020545b8690611a94565b90611aa0565b90509250929050565b61010854606090610876906101079060009060ff1660028111156105de576105de612e3b565b6033546001600160a01b031633146109f95760405162461bcd60e51b815260040161076c9061313b565b6108d981611aac565b60006106026033546001600160a01b031690565b6108658383836040518060200160405280600081525061123d565b6000610a3c826116c9565b5050600083815261010260205260409020805460ff191660011790559050808015610a7c57506000828152609960205260409020546001600160a01b0316155b15610a85575050565b610a8e82611ace565b5050565b610a9b3361087b565b610ab857604051635c510c8360e11b815260040160405180910390fd5b6108d981611b45565b6033546001600160a01b03163314610aeb5760405162461bcd60e51b815260040161076c9061313b565b60ff80541615610b0d5760405162461bcd60e51b815260040161076c90613170565b610b5384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060fc5433925086915085611bc2565b5050505050565b42610109541115610b7e5760405163807a684760e01b815260040160405180910390fd5b610b886000611b45565b60405133907f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a4690600090a2565b6000610bc16001611cc3565b90508015610bd9576000805461ff0019166101001790555b6001600160a01b038316610c2f5760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c20616464726573730000604482015260640161076c565b610c39600a60fc55565b60ff805460ff19169055610100829055610c51611d50565b610cc487878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611d7f92505050565b610ccc611db0565b610cd4611dd7565b610cdd83611aac565b610ce683611524565b8015610d2c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b8033610d4082610d9f565b6001600160a01b031614610d965760405162461bcd60e51b815260206004820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e000000000000000000604482015260640161076c565b610a8e82610a31565b600080610dab836116c9565b5050905080610dc457610dbd83611e06565b9392505050565b6000838152610102602052604090205460ff1615610de557610dbd83611e06565b6000838152609960205260409020546001600160a01b0316610e12576033546001600160a01b0316610dbd565b610dbd83611e06565b50919050565b60006001600160a01b038216610e8b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161076c565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610ed15760405162461bcd60e51b815260040161076c9061313b565b610edb6000611e7d565b565b6033546001600160a01b03163314610f075760405162461bcd60e51b815260040161076c9061313b565b60ff80541615610f295760405162461bcd60e51b815260040161076c90613170565b6000610f356101045490565b610f409060016131bd565b905060006001610f5084846131bd565b610f5a91906131d5565b604080516020810190915281905261010481905561010054909150811115610fc45760405162461bcd60e51b815260206004820152601d60248201527f62617463684d696e743a3a6578636565646564206d6178546f6b656e73000000604482015260640161076c565b610105604051806060016040528084815260200183815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018181018655948252602091829020845160039092020190815590830151938101939093555060408101519091906002820190611056908261323a565b50505061106b6033546001600160a01b031690565b6001600160a01b031660006001600160a01b0316837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d846040516110b191815260200190565b60405180910390a45050505050565b6033546001600160a01b031633146110ea5760405162461bcd60e51b815260040161076c9061313b565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b606060988054610631906130b6565b61113c3361087b565b61115957604051635c510c8360e11b815260040160405180910390fd5b6108658383838080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509250611ecf915050565b8160016101085460ff1660028111156111b1576111b1612e3b565b036111e7576111c681610107600060016107c1565b6111e2576040516282b42960e81b815260040160405180910390fd5b611233565b60026101085460ff16600281111561120157611201612e3b565b036112335761121681610107600060026107c1565b15611233576040516282b42960e81b815260040160405180910390fd5b61086583836120ac565b61124733836119c1565b6112635760405162461bcd60e51b815260040161076c906130ea565b61126f848484846120b7565b50505050565b61127e3361087b565b61129b57604051635c510c8360e11b815260040160405180910390fd5b61010760008260028111156112b2576112b2612e3b565b60028111156112c3576112c3612e3b565b8152602081019190915260400160009081209081816112e28282612a9e565b50505050336001600160a01b03167f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da248260405161131f9190612e51565b60405180910390a250565b6060600080611338846116c9565b9250509150816113e357600084815261010660205260409020805461135c906130b6565b80601f0160208091040260200160405190810160405280929190818152602001828054611388906130b6565b80156113d55780601f106113aa576101008083540402835291602001916113d5565b820191906000526020600020905b8154815290600101906020018083116113b857829003601f168201915b505050505092505050919050565b806113ed856120ea565b6040516020016113fe9291906132fa565b60405160208183030381529060405292505050919050565b6033546001600160a01b031633146114405760405162461bcd60e51b815260040161076c9061313b565b60ff805416156114625760405162461bcd60e51b815260040161076c90613170565b610a8e81333361147160fc5490565b33611bc2565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b6101085460009061060290839061010790849060ff1660028111156107c1576107c1612e3b565b6033546001600160a01b031633146114f65760405162461bcd60e51b815260040161076c9061313b565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461154e5760405162461bcd60e51b815260040161076c9061313b565b6001600160a01b0381166115b35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161076c565b6108d981611e7d565b6115c53361087b565b6115e257604051635c510c8360e11b815260040160405180910390fd5b60008360028111156115f6576115f6612e3b565b0361161457604051632de777a160e11b815260040160405180910390fd5b6108658383838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525060019250611ecf915050565b60606000610dbd836121eb565b60006001600160e01b0319821663fa31a45b60e01b1480610602575061060282612247565b60006001600160e01b03198216631030681960e21b14806116ab57506116ab82612247565b806116ba57506116ba8261225d565b8061060257506106028261227e565b600080606060005b6101055481101561180d5761010581815481106116f0576116f0613348565b90600052602060002090600302016000015485101580156117365750610105818154811061172057611720613348565b9060005260206000209060030201600101548511155b156117fb57600181610105838154811061175257611752613348565b906000526020600020906003020160020180805461176f906130b6565b80601f016020809104026020016040519081016040528092919081815260200182805461179b906130b6565b80156117e85780601f106117bd576101008083540402835291602001916117e8565b820191906000526020600020905b8154815290600101906020018083116117cb57829003601f168201915b5050505050905093509350935050611825565b806118058161335e565b9150506116d1565b50506040805160208101909152600080825292508291505b9193909250565b6001600160a01b03811660009081526001830160205260408120541515610dbd565b600061185982610d9f565b9050806001600160a01b0316836001600160a01b0316036118c65760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b606482015260840161076c565b336001600160a01b03821614806118e257506118e28133611477565b6119545760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606482015260840161076c565b61086583836122be565b600061196e826301e13380613377565b61197890426131bd565b61010954604080519182526020820183905291925033917f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc9910160405180910390a26101095550565b6000806119cd83610d9f565b9050806001600160a01b0316846001600160a01b03161480611a085750836001600160a01b03166119fd846106b4565b6001600160a01b0316145b80611a185750611a188185611477565b949350505050565b80600003611a2d57600080fd5b6000611a38826116c9565b50509050808015611a5e57506000828152609960205260409020546001600160a01b0316155b8015611a7a57506000828152610102602052604090205460ff16155b15611a8957611a89848361232d565b61126f84848461246f565b6000610dbd8284613377565b6000610dbd82846133ac565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b611ad7336108e1565b611b3c5760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b606482015260840161076c565b6108d98161260b565b806002811115611b5757611b57612e3b565b6101085460ff166002811115611b6f57611b6f612e3b565b60405133907f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f90600090a4610108805482919060ff19166001836002811115611bba57611bba612e3b565b021790555050565b6000611bd361010480546001019055565b6000611bdf6101045490565b905061010054811115611c345760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e73604482015260640161076c565b611c3e85826126a6565b600081815261010660205260409020611c57888261323a565b5060008181526101016020526040902080546001600160a01b0319166001600160a01b038816179055600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b0385161790555b9695505050505050565b60008054610100900460ff1615611d0a578160ff166001148015611ce65750303b155b611d025760405162461bcd60e51b815260040161076c906133c0565b506000919050565b60005460ff808416911610611d315760405162461bcd60e51b815260040161076c906133c0565b506000805460ff191660ff92909216919091179055600190565b919050565b600054610100900460ff16611d775760405162461bcd60e51b815260040161076c9061340e565b610edb6126c0565b600054610100900460ff16611da65760405162461bcd60e51b815260040161076c9061340e565b610a8e82826126f0565b600054610100900460ff16610edb5760405162461bcd60e51b815260040161076c9061340e565b600054610100900460ff16611dfe5760405162461bcd60e51b815260040161076c9061340e565b610edb611db0565b6000818152609960205260408120546001600160a01b0316806106025760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b606482015260840161076c565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000836002811115611ee357611ee3612e3b565b146108655760005b825181101561126f578115611fcc57611f5b838281518110611f0f57611f0f613348565b60200260200101516101076000876002811115611f2e57611f2e612e3b565b6002811115611f3f57611f3f612e3b565b815260200190815260200160002061273090919063ffffffff16565b50836002811115611f6e57611f6e612e3b565b838281518110611f8057611f80613348565b60200260200101516001600160a01b0316336001600160a01b03167f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba153660405160405180910390a461209a565b61202d838281518110611fe157611fe1613348565b6020026020010151610107600087600281111561200057612000612e3b565b600281111561201157612011612e3b565b815260200190815260200160002061274590919063ffffffff16565b5083600281111561204057612040612e3b565b83828151811061205257612052613348565b60200260200101516001600160a01b0316336001600160a01b03167fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed9560405160405180910390a45b806120a48161335e565b915050611eeb565b610a8e33838361275a565b6120c2848484611a20565b6120ce84848484612828565b61126f5760405162461bcd60e51b815260040161076c90613459565b6060816000036121115750506040805180820190915260018152600360fc1b602082015290565b8160005b811561213b57806121258161335e565b91506121349050600a836133ac565b9150612115565b60008167ffffffffffffffff81111561215657612156612f3b565b6040519080825280601f01601f191660200182016040528015612180576020820181803683370190505b5090505b8415611a18576121956001836131d5565b91506121a2600a866134ab565b6121ad9060306131bd565b60f81b8183815181106121c2576121c2613348565b60200101906001600160f81b031916908160001a9053506121e4600a866133ac565b9450612184565b60608160000180548060200260200160405190810160405280929190818152602001828054801561223b57602002820191906000526020600020905b815481526020019060010190808311612227575b50505050509050919050565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b14806106025750610602825b60006001600160e01b031982166380ac58cd60e01b14806122af57506001600160e01b03198216635b5e139f60e01b145b80610602575061060282612247565b60008181526101036020526040902080546001600160a01b0319166001600160a01b03841690811790915581906122f482611e06565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6001600160a01b0382166123835760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161076c565b6000818152609960205260409020546001600160a01b0316156123e85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161076c565b6001600160a01b0382166000908152609a602052604081208054600192906124119084906131bd565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b826001600160a01b031661248282611e06565b6001600160a01b0316146124e65760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b606482015260840161076c565b6001600160a01b0382166125485760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161076c565b6125536000826122be565b6001600160a01b0383166000908152609a6020526040812080546001929061257c9084906131d5565b90915550506001600160a01b0382166000908152609a602052604081208054600192906125aa9084906131bd565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600061261682611e06565b90506126236000836122be565b6001600160a01b0381166000908152609a6020526040812080546001929061264c9084906131d5565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b610a8e828260405180602001604052806000815250612929565b600054610100900460ff166126e75760405162461bcd60e51b815260040161076c9061340e565b610edb33611e7d565b600054610100900460ff166127175760405162461bcd60e51b815260040161076c9061340e565b6097612723838261323a565b506098610865828261323a565b6000610dbd836001600160a01b03841661295c565b6000610dbd836001600160a01b0384166129ab565b816001600160a01b0316836001600160a01b0316036127bb5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161076c565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60006001600160a01b0384163b1561291e57604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061286c9033908990889088906004016134bf565b6020604051808303816000875af19250505080156128a7575060408051601f3d908101601f191682019092526128a4918101906134f2565b60015b612904573d8080156128d5576040519150601f19603f3d011682016040523d82523d6000602084013e6128da565b606091505b5080516000036128fc5760405162461bcd60e51b815260040161076c90613459565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611a18565b506001949350505050565b612933838361232d565b6129406000848484612828565b6108655760405162461bcd60e51b815260040161076c90613459565b60008181526001830160205260408120546129a357508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610602565b506000610602565b60008181526001830160205260408120548015612a945760006129cf6001836131d5565b85549091506000906129e3906001906131d5565b9050818114612a48576000866000018281548110612a0357612a03613348565b9060005260206000200154905080876000018481548110612a2657612a26613348565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612a5957612a5961350f565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610602565b6000915050610602565b50805460008255906000526020600020908101906108d991905b80821115612acc5760008155600101612ab8565b5090565b803560038110611d4b57600080fd5b600060208284031215612af157600080fd5b610dbd82612ad0565b6020808252825182820181905260009190848201906040850190845b81811015612b3b5783516001600160a01b031683529284019291840191600101612b16565b50909695505050505050565b6001600160e01b0319811681146108d957600080fd5b600060208284031215612b6f57600080fd5b8135610dbd81612b47565b60005b83811015612b95578181015183820152602001612b7d565b8381111561126f5750506000910152565b60008151808452612bbe816020860160208601612b7a565b601f01601f19169290920160200192915050565b602081526000610dbd6020830184612ba6565b600060208284031215612bf757600080fd5b5035919050565b80356001600160a01b0381168114611d4b57600080fd5b60008060408385031215612c2857600080fd5b612c3183612bfe565b946020939093013593505050565b600060208284031215612c5157600080fd5b610dbd82612bfe565b600080600060608486031215612c6f57600080fd5b612c7884612bfe565b9250612c8660208501612bfe565b9150604084013590509250925092565b60008060408385031215612ca957600080fd5b50508035926020909101359150565b60008083601f840112612cca57600080fd5b50813567ffffffffffffffff811115612ce257600080fd5b602083019150836020828501011115612cfa57600080fd5b9250929050565b60008060008060608587031215612d1757600080fd5b843567ffffffffffffffff811115612d2e57600080fd5b612d3a87828801612cb8565b9095509350612d4d905060208601612bfe565b9150612d5b60408601612bfe565b905092959194509250565b60008060008060008060808789031215612d7f57600080fd5b863567ffffffffffffffff80821115612d9757600080fd5b612da38a838b01612cb8565b90985096506020890135915080821115612dbc57600080fd5b50612dc989828a01612cb8565b9095509350612ddc905060408801612bfe565b9150606087013590509295509295509295565b600080600060408486031215612e0457600080fd5b833567ffffffffffffffff811115612e1b57600080fd5b612e2786828701612cb8565b909790965060209590950135949350505050565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612e7357634e487b7160e01b600052602160045260246000fd5b91905290565b600080600060408486031215612e8e57600080fd5b612e9784612ad0565b9250602084013567ffffffffffffffff80821115612eb457600080fd5b818601915086601f830112612ec857600080fd5b813581811115612ed757600080fd5b8760208260051b8501011115612eec57600080fd5b6020830194508093505050509250925092565b60008060408385031215612f1257600080fd5b612f1b83612bfe565b915060208301358015158114612f3057600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115612f6c57612f6c612f3b565b604051601f8501601f19908116603f01168101908282118183101715612f9457612f94612f3b565b81604052809350858152868686011115612fad57600080fd5b858560208301376000602087830101525050509392505050565b60008060008060808587031215612fdd57600080fd5b612fe685612bfe565b9350612ff460208601612bfe565b925060408501359150606085013567ffffffffffffffff81111561301757600080fd5b8501601f8101871361302857600080fd5b61303787823560208401612f51565b91505092959194509250565b60006020828403121561305557600080fd5b813567ffffffffffffffff81111561306c57600080fd5b8201601f8101841361307d57600080fd5b611a1884823560208401612f51565b6000806040838503121561309f57600080fd5b6130a883612bfe565b91506109a060208401612bfe565b600181811c908216806130ca57607f821691505b602082108103610e1b57634e487b7160e01b600052602260045260246000fd5b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082198211156131d0576131d06131a7565b500190565b6000828210156131e7576131e76131a7565b500390565b601f82111561086557600081815260208120601f850160051c810160208610156132135750805b601f850160051c820191505b818110156132325782815560010161321f565b505050505050565b815167ffffffffffffffff81111561325457613254612f3b565b6132688161326284546130b6565b846131ec565b602080601f83116001811461329d57600084156132855750858301515b600019600386901b1c1916600185901b178555613232565b600085815260208120601f198616915b828110156132cc578886015182559484019460019091019084016132ad565b50858210156132ea5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000835161330c818460208801612b7a565b602f60f81b908301908152835161332a816001840160208801612b7a565b64173539b7b760d91b60019290910191820152600601949350505050565b634e487b7160e01b600052603260045260246000fd5b600060018201613370576133706131a7565b5060010190565b6000816000190483118215151615613391576133916131a7565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826133bb576133bb613396565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000826134ba576134ba613396565b500690565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611cb990830184612ba6565b60006020828403121561350457600080fd5b8151610dbd81612b47565b634e487b7160e01b600052603160045260246000fdfea26469706673582212206c9333f611af818dfc9bd40a27c875d4d2b0bf5e040a755155019b4a2656673c64736f6c634300080f0033", + "sourceMap": "375:4689:60:-:0;;;1486:419;;;;;;;;;-1:-1:-1;921:32:40;719:10:47;921:18:40;:32::i;:::-;1510:19:60;1532:18;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1560:12:60;:30;;-1:-1:-1;;;;;;1560:30:60;-1:-1:-1;;;;;1560:30:60;;;;;1637;;1560;;-1:-1:-1;;;1637:30:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1677:24:60;:44;;-1:-1:-1;;;;;;1677:44:60;-1:-1:-1;;;;;1677:44:60;;;;;1784;;1677;;-1:-1:-1;;;1784:44:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1838:38:60;:60;;-1:-1:-1;;;;;;1838:60:60;-1:-1:-1;;;;;1838:60:60;;;;;;;;;;-1:-1:-1;375:4689:60;;-1:-1:-1;;375:4689:60;2270:187:40;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:40;;;-1:-1:-1;;;;;;2378:17:40;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;375:4689:60:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c8063ba50b63211610097578063da8d79f311610066578063da8d79f31461020d578063ea14289f14610220578063ef6fde5b14610237578063f2fde38b1461025657600080fd5b8063ba50b632146101c1578063c9be0590146101d4578063d05df883146101e7578063d1e0f700146101fa57600080fd5b8063877ebf51116100d3578063877ebf51146101775780638da5cb5b1461018a5780639607cb491461019b578063a55b1c25146101ae57600080fd5b8063176ab440146101055780633cebcf411461011a578063715018a61461014a5780637de4c08214610152575b600080fd5b610118610113366004610be4565b610269565b005b61012d610128366004610ca9565b6102d1565b6040516001600160a01b0390911681526020015b60405180910390f35b610118610404565b6101696c1493d65053151657d1d5505491609a1b81565b604051908152602001610141565b61012d610185366004610d0d565b61043a565b6000546001600160a01b031661012d565b6101186101a9366004610be4565b610752565b6101186101bc366004610d81565b6107b1565b60015461012d906001600160a01b031681565b60035461012d906001600160a01b031681565b60025461012d906001600160a01b031681565b60045461012d906001600160a01b031681565b61012d61021b366004610dab565b6108f4565b6101696c14d3d59154915251d397d39195609a1b81565b610169742927aca0a62a2cafa3aaa0a9222fa222a0a226a0a760591b81565b610118610264366004610be4565b610a46565b6000546001600160a01b0316331461029c5760405162461bcd60e51b815260040161029390610e18565b60405180910390fd5b6001600160a01b0381166102af57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60025460009081906102eb906001600160a01b0316610ae1565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c19906103229087908790339060001990600401610e9a565b600060405180830381600087803b15801561033c57600080fd5b505af1158015610350573d6000803e3d6000fd5b50506040513392506001600160a01b03841691507f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec90600090a360015460405163ae312a9760e01b81526001600160a01b038381166004830152600f60248301529091169063ae312a9790604401600060405180830381600087803b1580156103d857600080fd5b505af11580156103ec573d6000803e3d6000fd5b50506002546001600160a01b03169695505050505050565b6000546001600160a01b0316331461042e5760405162461bcd60e51b815260040161029390610e18565b6104386000610b7d565b565b60008260000361045c5760405162461bcd60e51b815260040161029390610edc565b60006c14d3d59154915251d397d39195609a1b83036104f25760025461048a906001600160a01b0316610ae1565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c19906104bf908990899033908a90600401610e9a565b600060405180830381600087803b1580156104d957600080fd5b505af11580156104ed573d6000803e3d6000fd5b505050505b6c1493d65053151657d1d5505491609a1b83036105865760035461051e906001600160a01b0316610ae1565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c1990610553908990899033908a90600401610e9a565b600060405180830381600087803b15801561056d57600080fd5b505af1158015610581573d6000803e3d6000fd5b505050505b742927aca0a62a2cafa3aaa0a9222fa222a0a226a0a760591b8303610622576004546105ba906001600160a01b0316610ae1565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c19906105ef908990899033908a90600401610e9a565b600060405180830381600087803b15801561060957600080fd5b505af115801561061d573d6000803e3d6000fd5b505050505b6001600160a01b0381166106ac5760405162461bcd60e51b8152602060048201526044602482018190527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f636f6e908201527f74726163745479706520756e737570706f7274656420636f6e747261637420746064820152633cb8329760e11b608482015260a401610293565b60405133906001600160a01b038316907f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec90600090a360015460405163ae312a9760e01b81526001600160a01b038381166004830152600f60248301529091169063ae312a9790604401600060405180830381600087803b15801561073057600080fd5b505af1158015610744573d6000803e3d6000fd5b509298975050505050505050565b6000546001600160a01b0316331461077c5760405162461bcd60e51b815260040161029390610e18565b6001600160a01b03811661078f57600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107db5760405162461bcd60e51b815260040161029390610e18565b6001600160a01b0382166107ee57600080fd5b6c14d3d59154915251d397d39195609a1b810361082457600280546001600160a01b0319166001600160a01b0384161790555050565b6c1493d65053151657d1d5505491609a1b810361085a57600380546001600160a01b0319166001600160a01b0384161790555050565b742927aca0a62a2cafa3aaa0a9222fa222a0a226a0a760591b810361089857600480546001600160a01b0319166001600160a01b0384161790555050565b60405162461bcd60e51b815260206004820152602b60248201527f736574536f7665726569676e4e46543a3a556e737570706f72746564205f636f60448201526a373a3930b1ba2a3cb8329760a91b6064820152608401610293565b6000816000036109165760405162461bcd60e51b815260040161029390610edc565b60025460009061092e906001600160a01b0316610ae1565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c1990610963908890889033908990600401610e9a565b600060405180830381600087803b15801561097d57600080fd5b505af1158015610991573d6000803e3d6000fd5b50506040513392506001600160a01b03841691507f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec90600090a360015460405163ae312a9760e01b81526001600160a01b038381166004830152600f60248301529091169063ae312a9790604401600060405180830381600087803b158015610a1957600080fd5b505af1158015610a2d573d6000803e3d6000fd5b50506002546001600160a01b0316979650505050505050565b6000546001600160a01b03163314610a705760405162461bcd60e51b815260040161029390610e18565b6001600160a01b038116610ad55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610293565b610ade81610b7d565b50565b600060405172602d8060093d393df3363d3d373d3d3d363d7360681b81528260601b60138201526e5af43d82803e903d91602b57fd5bf360881b60278201526036816000f09150506001600160a01b038116610b785760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606401610293565b919050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610b7857600080fd5b600060208284031215610bf657600080fd5b610bff82610bcd565b9392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610c2d57600080fd5b813567ffffffffffffffff80821115610c4857610c48610c06565b604051601f8301601f19908116603f01168101908282118183101715610c7057610c70610c06565b81604052838152866020858801011115610c8957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215610cbc57600080fd5b823567ffffffffffffffff80821115610cd457600080fd5b610ce086838701610c1c565b93506020850135915080821115610cf657600080fd5b50610d0385828601610c1c565b9150509250929050565b60008060008060808587031215610d2357600080fd5b843567ffffffffffffffff80821115610d3b57600080fd5b610d4788838901610c1c565b95506020870135915080821115610d5d57600080fd5b50610d6a87828801610c1c565b949794965050505060408301359260600135919050565b60008060408385031215610d9457600080fd5b610d9d83610bcd565b946020939093013593505050565b600080600060608486031215610dc057600080fd5b833567ffffffffffffffff80821115610dd857600080fd5b610de487838801610c1c565b94506020860135915080821115610dfa57600080fd5b50610e0786828701610c1c565b925050604084013590509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000815180845260005b81811015610e7357602081850181015186830182015201610e57565b81811115610e85576000602083870101525b50601f01601f19169290920160200192915050565b608081526000610ead6080830187610e4d565b8281036020840152610ebf8187610e4d565b6001600160a01b0395909516604084015250506060015292915050565b60208082526033908201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f6d6178604082015272546f6b656e732063616e74206265207a65726f60681b60608201526080019056fea2646970667358221220879b31feef61fe49b423a03ff2ce2d0f0afff7fef169979b6a6d045c5372029564736f6c634300080f0033", - "sourceMap": "439:4991:46:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1680:235;;;;;;:::i;:::-;;:::i;:::-;;3368:551;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1951:32:59;;;1933:51;;1921:2;1906:18;3368:551:46;;;;;;;;1668:101:28;;;:::i;608:55:46:-;;-1:-1:-1;;;608:55:46;;;;;2141:25:59;;;2129:2;2114:18;608:55:46;1995:177:59;3925:1503:46;;;;;;:::i;:::-;;:::i;1036:85:28:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:28;1036:85;;1921:158:46;;;;;;:::i;:::-;;:::i;2085:634::-;;;;;;:::i;:::-;;:::i;493:47::-;;;;;-1:-1:-1;;;;;493:47:46;;;780:39;;;;;-1:-1:-1;;;;;780:39:46;;;747:27;;;;;-1:-1:-1;;;;;747:27:46;;;825:53;;;;;-1:-1:-1;;;;;825:53:46;;;2725:637;;;;;;:::i;:::-;;:::i;547:55::-;;-1:-1:-1;;;547:55:46;;669:71;;-1:-1:-1;;;669:71:46;;1918:198:28;;;;;;:::i;:::-;;:::i;1680:235:46:-;1082:7:28;1108:6;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;1799:34:46;::::1;1791:43;;;::::0;::::1;;1844:19;:64:::0;;-1:-1:-1;;;;;;1844:64:46::1;-1:-1:-1::0;;;;;1844:64:46;;;::::1;::::0;;;::::1;::::0;;1680:235::o;3368:551::-;3536:12;;3486:7;;;;3523:26;;-1:-1:-1;;;;;3536:12:46;3523;:26::i;:::-;3559:131;;-1:-1:-1;;;3559:131:46;;3505:44;;-1:-1:-1;;;;;;3559:26:46;;;;;:131;;3599:5;;3618:7;;3639:10;;-1:-1:-1;;3663:17:46;3559:131;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3706:48:46;;3743:10;;-1:-1:-1;;;;;;3706:48:46;;;-1:-1:-1;3706:48:46;;;;;3765:19;;:108;;-1:-1:-1;;;3765:108:46;;-1:-1:-1;;;;;5567:32:59;;;3765:108:46;;;5549:51:59;3861:2:46;5616:18:59;;;5609:45;3765:19:46;;;;:61;;5522:18:59;;3765:108:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3899:12:46;;-1:-1:-1;;;;;3899:12:46;;3368:551;-1:-1:-1;;;;;;3368:551:46:o;1668:101:28:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;3925:1503:46:-;4102:7;4142:10;4156:1;4142:15;4121:113;;;;-1:-1:-1;;;4121:113:46;;;;;;;:::i;:::-;4245:15;-1:-1:-1;;;4274:13:46;:30;4270:177;;4343:12;;4330:26;;-1:-1:-1;;;;;4343:12:46;4330;:26::i;:::-;4370:66;;-1:-1:-1;;;4370:66:46;;4320:36;;-1:-1:-1;;;;;;4370:26:46;;;;;:66;;4397:5;;4404:7;;4413:10;;4425;;4370:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4270:177;-1:-1:-1;;;4460:13:46;:30;4456:279;;4529:24;;4516:38;;-1:-1:-1;;;;;4529:24:46;4516:12;:38::i;:::-;4568:156;;-1:-1:-1;;;4568:156:46;;4506:48;;-1:-1:-1;;;;;;4568:38:46;;;;;:156;;4624:5;;4647:7;;4672:10;;4700;;4568:156;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4456:279;-1:-1:-1;;;4748:13:46;:38;4744:315;;4825:38;;4812:52;;-1:-1:-1;;;;;4825:38:46;4812:12;:52::i;:::-;4878:170;;-1:-1:-1;;;4878:170:46;;4802:62;;-1:-1:-1;;;;;;4878:52:46;;;;;:170;;4948:5;;4971:7;;4996:10;;5024;;4878:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4744:315;-1:-1:-1;;;;;5090:21:46;;5069:136;;;;-1:-1:-1;;;5069:136:46;;6287:2:59;5069:136:46;;;6269:21:59;6326:2;6306:18;;;6299:30;;;6365:34;6345:18;;;6338:62;6436:34;6416:18;;;6409:62;-1:-1:-1;;;6487:19:59;;;6480:35;6532:19;;5069:136:46;6085:472:59;5069:136:46;5220:48;;5257:10;;-1:-1:-1;;;;;5220:48:46;;;;;;;;5279:19;;:108;;-1:-1:-1;;;5279:108:46;;-1:-1:-1;;;;;5567:32:59;;;5279:108:46;;;5549:51:59;5375:2:46;5616:18:59;;;5609:45;5279:19:46;;;;:61;;5522:18:59;;5279:108:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5413:7:46;;3925:1503;-1:-1:-1;;;;;;;;3925:1503:46:o;1921:158::-;1082:7:28;1108:6;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:27:46;::::1;1998:36;;;::::0;::::1;;2044:12;:28:::0;;-1:-1:-1;;;;;;2044:28:46::1;-1:-1:-1::0;;;;;2044:28:46;;;::::1;::::0;;;::::1;::::0;;1921:158::o;2085:634::-;1082:7:28;1108:6;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;-1:-1:-1;;;;;2213:27:46;::::1;2205:36;;;::::0;::::1;;-1:-1:-1::0;;;2255:13:46::1;:30:::0;2251:109:::1;;2301:12;:28:::0;;-1:-1:-1;;;;;;2301:28:46::1;-1:-1:-1::0;;;;;2301:28:46;::::1;;::::0;;2085:634;;:::o;2251:109::-:1;-1:-1:-1::0;;;2373:13:46::1;:30:::0;2369:121:::1;;2419:24;:40:::0;;-1:-1:-1;;;;;;2419:40:46::1;-1:-1:-1::0;;;;;2419:40:46;::::1;;::::0;;2085:634;;:::o;2369:121::-:1;-1:-1:-1::0;;;2503:13:46::1;:38:::0;2499:143:::1;;2557:38;:54:::0;;-1:-1:-1;;;;;;2557:54:46::1;-1:-1:-1::0;;;;;2557:54:46;::::1;;::::0;;2085:634;;:::o;2499:143::-:1;2651:61;::::0;-1:-1:-1;;;2651:61:46;;6764:2:59;2651:61:46::1;::::0;::::1;6746:21:59::0;6803:2;6783:18;;;6776:30;6842:34;6822:18;;;6815:62;-1:-1:-1;;;6893:18:59;;;6886:41;6944:19;;2651:61:46::1;6562:407:59::0;2725:637:46;2871:7;2911:10;2925:1;2911:15;2890:113;;;;-1:-1:-1;;;2890:113:46;;;;;;;:::i;:::-;3044:12;;3013:15;;3031:26;;-1:-1:-1;;;;;3044:12:46;3031;:26::i;:::-;3067:66;;-1:-1:-1;;;3067:66:46;;3013:44;;-1:-1:-1;;;;;;3067:26:46;;;;;:66;;3094:5;;3101:7;;3110:10;;3122;;3067:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3149:48:46;;3186:10;;-1:-1:-1;;;;;;3149:48:46;;;-1:-1:-1;3149:48:46;;;;;3208:19;;:108;;-1:-1:-1;;;3208:108:46;;-1:-1:-1;;;;;5567:32:59;;;3208:108:46;;;5549:51:59;3304:2:46;5616:18:59;;;5609:45;3208:19:46;;;;:61;;5522:18:59;;3208:108:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3342:12:46;;-1:-1:-1;;;;;3342:12:46;;2725:637;-1:-1:-1;;;;;;;2725:637:46:o;1918:198:28:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:28;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:28;;7176:2:59;1998:73:28::1;::::0;::::1;7158:21:59::0;7215:2;7195:18;;;7188:30;7254:34;7234:18;;;7227:62;-1:-1:-1;;;7305:18:59;;;7298:36;7351:19;;1998:73:28::1;6974:402:59::0;1998:73:28::1;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;958:515:29:-;1015:16;1083:4;1077:11;-1:-1:-1;;;1108:3:29;1101:79;1226:14;1220:4;1216:25;1209:4;1204:3;1200:14;1193:49;-1:-1:-1;;;1271:4:29;1266:3;1262:14;1255:90;1385:4;1380:3;1377:1;1370:20;1358:32;-1:-1:-1;;;;;;;1417:22:29;;1409:57;;;;-1:-1:-1;;;1409:57:29;;7583:2:59;1409:57:29;;;7565:21:59;7622:2;7602:18;;;7595:30;-1:-1:-1;;;7641:18:59;;;7634:52;7703:18;;1409:57:29;7381:346:59;1409:57:29;958:515;;;:::o;2270:187:28:-;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:28;;;-1:-1:-1;;;;;;2378:17:28;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;14:173:59:-;82:20;;-1:-1:-1;;;;;131:31:59;;121:42;;111:70;;177:1;174;167:12;192:186;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;:::-;333:39;192:186;-1:-1:-1;;;192:186:59:o;383:127::-;444:10;439:3;435:20;432:1;425:31;475:4;472:1;465:15;499:4;496:1;489:15;515:719;558:5;611:3;604:4;596:6;592:17;588:27;578:55;;629:1;626;619:12;578:55;665:6;652:20;691:18;728:2;724;721:10;718:36;;;734:18;;:::i;:::-;809:2;803:9;777:2;863:13;;-1:-1:-1;;859:22:59;;;883:2;855:31;851:40;839:53;;;907:18;;;927:22;;;904:46;901:72;;;953:18;;:::i;:::-;993:10;989:2;982:22;1028:2;1020:6;1013:18;1074:3;1067:4;1062:2;1054:6;1050:15;1046:26;1043:35;1040:55;;;1091:1;1088;1081:12;1040:55;1155:2;1148:4;1140:6;1136:17;1129:4;1121:6;1117:17;1104:54;1202:1;1195:4;1190:2;1182:6;1178:15;1174:26;1167:37;1222:6;1213:15;;;;;;515:719;;;;:::o;1239:543::-;1327:6;1335;1388:2;1376:9;1367:7;1363:23;1359:32;1356:52;;;1404:1;1401;1394:12;1356:52;1444:9;1431:23;1473:18;1514:2;1506:6;1503:14;1500:34;;;1530:1;1527;1520:12;1500:34;1553:50;1595:7;1586:6;1575:9;1571:22;1553:50;:::i;:::-;1543:60;;1656:2;1645:9;1641:18;1628:32;1612:48;;1685:2;1675:8;1672:16;1669:36;;;1701:1;1698;1691:12;1669:36;;1724:52;1768:7;1757:8;1746:9;1742:24;1724:52;:::i;:::-;1714:62;;;1239:543;;;;;:::o;2177:680::-;2283:6;2291;2299;2307;2360:3;2348:9;2339:7;2335:23;2331:33;2328:53;;;2377:1;2374;2367:12;2328:53;2417:9;2404:23;2446:18;2487:2;2479:6;2476:14;2473:34;;;2503:1;2500;2493:12;2473:34;2526:50;2568:7;2559:6;2548:9;2544:22;2526:50;:::i;:::-;2516:60;;2629:2;2618:9;2614:18;2601:32;2585:48;;2658:2;2648:8;2645:16;2642:36;;;2674:1;2671;2664:12;2642:36;;2697:52;2741:7;2730:8;2719:9;2715:24;2697:52;:::i;:::-;2177:680;;2687:62;;-1:-1:-1;;;;2796:2:59;2781:18;;2768:32;;2847:2;2832:18;2819:32;;2177:680;-1:-1:-1;2177:680:59:o;2862:254::-;2930:6;2938;2991:2;2979:9;2970:7;2966:23;2962:32;2959:52;;;3007:1;3004;2997:12;2959:52;3030:29;3049:9;3030:29;:::i;:::-;3020:39;3106:2;3091:18;;;;3078:32;;-1:-1:-1;;;2862:254:59:o;3356:611::-;3453:6;3461;3469;3522:2;3510:9;3501:7;3497:23;3493:32;3490:52;;;3538:1;3535;3528:12;3490:52;3578:9;3565:23;3607:18;3648:2;3640:6;3637:14;3634:34;;;3664:1;3661;3654:12;3634:34;3687:50;3729:7;3720:6;3709:9;3705:22;3687:50;:::i;:::-;3677:60;;3790:2;3779:9;3775:18;3762:32;3746:48;;3819:2;3809:8;3806:16;3803:36;;;3835:1;3832;3825:12;3803:36;;3858:52;3902:7;3891:8;3880:9;3876:24;3858:52;:::i;:::-;3848:62;;;3957:2;3946:9;3942:18;3929:32;3919:42;;3356:611;;;;;:::o;3972:356::-;4174:2;4156:21;;;4193:18;;;4186:30;4252:34;4247:2;4232:18;;4225:62;4319:2;4304:18;;3972:356::o;4333:472::-;4375:3;4413:5;4407:12;4440:6;4435:3;4428:19;4465:1;4475:162;4489:6;4486:1;4483:13;4475:162;;;4551:4;4607:13;;;4603:22;;4597:29;4579:11;;;4575:20;;4568:59;4504:12;4475:162;;;4655:6;4652:1;4649:13;4646:87;;;4721:1;4714:4;4705:6;4700:3;4696:16;4692:27;4685:38;4646:87;-1:-1:-1;4787:2:59;4766:15;-1:-1:-1;;4762:29:59;4753:39;;;;4794:4;4749:50;;4333:472;-1:-1:-1;;4333:472:59:o;4810:553::-;5063:3;5052:9;5045:22;5026:4;5090:46;5131:3;5120:9;5116:19;5108:6;5090:46;:::i;:::-;5184:9;5176:6;5172:22;5167:2;5156:9;5152:18;5145:50;5212:33;5238:6;5230;5212:33;:::i;:::-;-1:-1:-1;;;;;5281:32:59;;;;5276:2;5261:18;;5254:60;-1:-1:-1;;5345:2:59;5330:18;5323:34;5204:41;4810:553;-1:-1:-1;;4810:553:59:o;5665:415::-;5867:2;5849:21;;;5906:2;5886:18;;;5879:30;5945:34;5940:2;5925:18;;5918:62;-1:-1:-1;;;6011:2:59;5996:18;;5989:49;6070:3;6055:19;;5665:415::o", + "object": "0x608060405234801561001057600080fd5b506004361061012b5760003560e01c8063a55b1c25116100ad578063da8d79f311610071578063da8d79f3146102bd578063ea14289f146102d0578063ef6fde5b146102f7578063f2fde38b1461031e578063f5e0e6df1461033157600080fd5b8063a55b1c251461025e578063c4dca7ab14610271578063c9be059014610284578063d05df88314610297578063d1e0f700146102aa57600080fd5b8063740adf31116100f4578063740adf31146101d95780637de4c08214610200578063877ebf51146102275780638da5cb5b1461023a5780639607cb491461024b57600080fd5b8062e8ece61461013057806322d60fcb1461016a5780633cebcf4114610195578063637944f5146101a8578063715018a6146101cf575b600080fd5b6101577f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c581565b6040519081526020015b60405180910390f35b60055461017d906001600160a01b031681565b6040516001600160a01b039091168152602001610161565b61017d6101a3366004610c09565b610344565b6101577f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd6881565b6101d7610411565b005b6101577f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c662517081565b6101577fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b74381565b61017d610235366004610c6d565b610450565b6000546001600160a01b031661017d565b6101d7610259366004610cf8565b610729565b6101d761026c366004610d1a565b610788565b60065461017d906001600160a01b031681565b60025461017d906001600160a01b031681565b60015461017d906001600160a01b031681565b60035461017d906001600160a01b031681565b61017d6102cb366004610d44565b6108f3565b6101577f618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd81565b6101577f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f81565b6101d761032c366004610cf8565b6109df565b60045461017d906001600160a01b031681565b600154600090819061035e906001600160a01b0316610a7a565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c19906103959087908790339060001990600401610dfe565b600060405180830381600087803b1580156103af57600080fd5b505af11580156103c3573d6000803e3d6000fd5b50506040513392506001600160a01b03841691507f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec90600090a350506001546001600160a01b031692915050565b6000546001600160a01b031633146104445760405162461bcd60e51b815260040161043b90610e40565b60405180910390fd5b61044e6000610b16565b565b6000826000036104725760405162461bcd60e51b815260040161043b90610e75565b60007f618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd8303610518576001546104b0906001600160a01b0316610a7a565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c19906104e5908990899033908a90600401610dfe565b600060405180830381600087803b1580156104ff57600080fd5b505af1158015610513573d6000803e3d6000fd5b505050505b7fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b74383036105bc57600254610554906001600160a01b0316610a7a565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c1990610589908990899033908a90600401610dfe565b600060405180830381600087803b1580156105a357600080fd5b505af11580156105b7573d6000803e3d6000fd5b505050505b7f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f8303610660576003546105f8906001600160a01b0316610a7a565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c199061062d908990899033908a90600401610dfe565b600060405180830381600087803b15801561064757600080fd5b505af115801561065b573d6000803e3d6000fd5b505050505b6001600160a01b0381166106ea5760405162461bcd60e51b8152602060048201526044602482018190527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f636f6e908201527f74726163745479706520756e737570706f7274656420636f6e747261637420746064820152633cb8329760e11b608482015260a40161043b565b60405133906001600160a01b038316907f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec90600090a395945050505050565b6000546001600160a01b031633146107535760405162461bcd60e51b815260040161043b90610e40565b6001600160a01b03811661076657600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107b25760405162461bcd60e51b815260040161043b90610e40565b6001600160a01b0382166107c557600080fd5b7f618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd810361080b57600180546001600160a01b0319166001600160a01b0384161790555050565b7fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b743810361085157600280546001600160a01b0319166001600160a01b0384161790555050565b7f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f810361089757600380546001600160a01b0319166001600160a01b0384161790555050565b60405162461bcd60e51b815260206004820152602b60248201527f736574536f7665726569676e4e46543a3a556e737570706f72746564205f636f60448201526a373a3930b1ba2a3cb8329760a91b606482015260840161043b565b6000816000036109155760405162461bcd60e51b815260040161043b90610e75565b60015460009061092d906001600160a01b0316610a7a565b604051635edc7c1960e01b81529091506001600160a01b03821690635edc7c1990610962908890889033908990600401610dfe565b600060405180830381600087803b15801561097c57600080fd5b505af1158015610990573d6000803e3d6000fd5b50506040513392506001600160a01b03841691507f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec90600090a350506001546001600160a01b03169392505050565b6000546001600160a01b03163314610a095760405162461bcd60e51b815260040161043b90610e40565b6001600160a01b038116610a6e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161043b565b610a7781610b16565b50565b600060405172602d8060093d393df3363d3d373d3d3d363d7360681b81528260601b60138201526e5af43d82803e903d91602b57fd5bf360881b60278201526036816000f09150506001600160a01b038116610b115760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640161043b565b919050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610b8d57600080fd5b813567ffffffffffffffff80821115610ba857610ba8610b66565b604051601f8301601f19908116603f01168101908282118183101715610bd057610bd0610b66565b81604052838152866020858801011115610be957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215610c1c57600080fd5b823567ffffffffffffffff80821115610c3457600080fd5b610c4086838701610b7c565b93506020850135915080821115610c5657600080fd5b50610c6385828601610b7c565b9150509250929050565b60008060008060808587031215610c8357600080fd5b843567ffffffffffffffff80821115610c9b57600080fd5b610ca788838901610b7c565b95506020870135915080821115610cbd57600080fd5b50610cca87828801610b7c565b949794965050505060408301359260600135919050565b80356001600160a01b0381168114610b1157600080fd5b600060208284031215610d0a57600080fd5b610d1382610ce1565b9392505050565b60008060408385031215610d2d57600080fd5b610d3683610ce1565b946020939093013593505050565b600080600060608486031215610d5957600080fd5b833567ffffffffffffffff80821115610d7157600080fd5b610d7d87838801610b7c565b94506020860135915080821115610d9357600080fd5b50610da086828701610b7c565b925050604084013590509250925092565b6000815180845260005b81811015610dd757602081850181015186830182015201610dbb565b81811115610de9576000602083870101525b50601f01601f19169290920160200192915050565b608081526000610e116080830187610db1565b8281036020840152610e238187610db1565b6001600160a01b0395909516604084015250506060015292915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526033908201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f6d6178604082015272546f6b656e732063616e74206265207a65726f60681b60608201526080019056fea2646970667358221220fa5a0276b536793b20174a889e579a3d2070ffaac49be3debafd2babf2538e8c64736f6c634300080f0033", + "sourceMap": "375:4689:60:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;744:76;;789:31;744:76;;;;;160:25:77;;;148:2;133:18;744:76:60;;;;;;;;1099:43;;;;;-1:-1:-1;;;;;1099:43:60;;;;;;-1:-1:-1;;;;;360:32:77;;;342:51;;330:2;315:18;1099:43:60;196:203:77;3241:432:60;;;;;;:::i;:::-;;:::i;662:76::-;;707:31;662:76;;1668:101:40;;;:::i;:::-;;826:92:60;;879:39;826:92;;502:66;;542:26;502:66;;3679:1383;;;;;;:::i;:::-;;:::i;1036:85:40:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:40;1036:85;;1911:158:60;;;;;;:::i;:::-;;:::i;2075:635::-;;;;;;:::i;:::-;;:::i;1148:57::-;;;;;-1:-1:-1;;;;;1148:57:60;;;958:39;;;;;-1:-1:-1;;;;;958:39:60;;;925:27;;;;;-1:-1:-1;;;;;925:27:60;;;1003:53;;;;;-1:-1:-1;;;;;1003:53:60;;;2716:519;;;;;;:::i;:::-;;:::i;430:66::-;;470:26;430:66;;574:82;;622:34;574:82;;1918:198:40;;;;;;:::i;:::-;;:::i;1062:31:60:-;;;;;-1:-1:-1;;;;;1062:31:60;;;3241:432;3409:12;;3359:7;;;;3396:26;;-1:-1:-1;;;;;3409:12:60;3396;:26::i;:::-;3432:131;;-1:-1:-1;;;3432:131:60;;3378:44;;-1:-1:-1;;;;;;3432:26:60;;;;;:131;;3472:5;;3491:7;;3512:10;;-1:-1:-1;;3536:17:60;3432:131;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3579:48:60;;3616:10;;-1:-1:-1;;;;;;3579:48:60;;;-1:-1:-1;3579:48:60;;;;;-1:-1:-1;;3653:12:60;;-1:-1:-1;;;;;3653:12:60;3241:432;;;;:::o;1668:101:40:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;;;;;;;;;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;3679:1383:60:-;3856:7;3896:10;3910:1;3896:15;3875:113;;;;-1:-1:-1;;;3875:113:60;;;;;;;:::i;:::-;3999:15;470:26;4028:13;:30;4024:177;;4097:12;;4084:26;;-1:-1:-1;;;;;4097:12:60;4084;:26::i;:::-;4124:66;;-1:-1:-1;;;4124:66:60;;4074:36;;-1:-1:-1;;;;;;4124:26:60;;;;;:66;;4151:5;;4158:7;;4167:10;;4179;;4124:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4024:177;542:26;4214:13;:30;4210:279;;4283:24;;4270:38;;-1:-1:-1;;;;;4283:24:60;4270:12;:38::i;:::-;4322:156;;-1:-1:-1;;;4322:156:60;;4260:48;;-1:-1:-1;;;;;;4322:38:60;;;;;:156;;4378:5;;4401:7;;4426:10;;4454;;4322:156;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4210:279;622:34;4502:13;:38;4498:314;;4579:38;;4566:52;;-1:-1:-1;;;;;4579:38:60;4566:12;:52::i;:::-;4631:170;;-1:-1:-1;;;4631:170:60;;4556:62;;-1:-1:-1;;;;;;4631:52:60;;;;;:170;;4701:5;;4724:7;;4749:10;;4777;;4631:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4498:314;-1:-1:-1;;;;;4843:21:60;;4822:136;;;;-1:-1:-1;;;4822:136:60;;5755:2:77;4822:136:60;;;5737:21:77;5794:2;5774:18;;;5767:30;;;5833:34;5813:18;;;5806:62;5904:34;5884:18;;;5877:62;-1:-1:-1;;;5955:19:77;;;5948:35;6000:19;;4822:136:60;5553:472:77;4822:136:60;4973:48;;5010:10;;-1:-1:-1;;;;;4973:48:60;;;;;;;;5047:7;3679:1383;-1:-1:-1;;;;;3679:1383:60:o;1911:158::-;1082:7:40;1108:6;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;-1:-1:-1;;;;;1996:27:60;::::1;1988:36;;;::::0;::::1;;2034:12;:28:::0;;-1:-1:-1;;;;;;2034:28:60::1;-1:-1:-1::0;;;;;2034:28:60;;;::::1;::::0;;;::::1;::::0;;1911:158::o;2075:635::-;1082:7:40;1108:6;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;-1:-1:-1;;;;;2203:27:60;::::1;2195:36;;;::::0;::::1;;470:26;2245:13;:30:::0;2241:109:::1;;2291:12;:28:::0;;-1:-1:-1;;;;;;2291:28:60::1;-1:-1:-1::0;;;;;2291:28:60;::::1;;::::0;;2075:635;;:::o;2241:109::-:1;542:26;2363:13;:30:::0;2359:121:::1;;2409:24;:40:::0;;-1:-1:-1;;;;;;2409:40:60::1;-1:-1:-1::0;;;;;2409:40:60;::::1;;::::0;;2075:635;;:::o;2359:121::-:1;622:34;2493:13;:38:::0;2489:143:::1;;2547:38;:54:::0;;-1:-1:-1;;;;;;2547:54:60::1;-1:-1:-1::0;;;;;2547:54:60;::::1;;::::0;;2075:635;;:::o;2489:143::-:1;2642:61;::::0;-1:-1:-1;;;2642:61:60;;6232:2:77;2642:61:60::1;::::0;::::1;6214:21:77::0;6271:2;6251:18;;;6244:30;6310:34;6290:18;;;6283:62;-1:-1:-1;;;6361:18:77;;;6354:41;6412:19;;2642:61:60::1;6030:407:77::0;2716:519:60;2862:7;2902:10;2916:1;2902:15;2881:113;;;;-1:-1:-1;;;2881:113:60;;;;;;;:::i;:::-;3035:12;;3004:15;;3022:26;;-1:-1:-1;;;;;3035:12:60;3022;:26::i;:::-;3058:66;;-1:-1:-1;;;3058:66:60;;3004:44;;-1:-1:-1;;;;;;3058:26:60;;;;;:66;;3085:5;;3092:7;;3101:10;;3113;;3058:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3140:48:60;;3177:10;;-1:-1:-1;;;;;;3140:48:60;;;-1:-1:-1;3140:48:60;;;;;-1:-1:-1;;3215:12:60;;-1:-1:-1;;;;;3215:12:60;2716:519;;;;;:::o;1918:198:40:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:40;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:40;;6644:2:77;1998:73:40::1;::::0;::::1;6626:21:77::0;6683:2;6663:18;;;6656:30;6722:34;6702:18;;;6695:62;-1:-1:-1;;;6773:18:77;;;6766:36;6819:19;;1998:73:40::1;6442:402:77::0;1998:73:40::1;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;958:515:41:-;1015:16;1083:4;1077:11;-1:-1:-1;;;1108:3:41;1101:79;1226:14;1220:4;1216:25;1209:4;1204:3;1200:14;1193:49;-1:-1:-1;;;1271:4:41;1266:3;1262:14;1255:90;1385:4;1380:3;1377:1;1370:20;1358:32;-1:-1:-1;;;;;;;1417:22:41;;1409:57;;;;-1:-1:-1;;;1409:57:41;;7051:2:77;1409:57:41;;;7033:21:77;7090:2;7070:18;;;7063:30;-1:-1:-1;;;7109:18:77;;;7102:52;7171:18;;1409:57:41;6849:346:77;1409:57:41;958:515;;;:::o;2270:187:40:-;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:40;;;-1:-1:-1;;;;;;2378:17:40;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;404:127:77:-;465:10;460:3;456:20;453:1;446:31;496:4;493:1;486:15;520:4;517:1;510:15;536:719;579:5;632:3;625:4;617:6;613:17;609:27;599:55;;650:1;647;640:12;599:55;686:6;673:20;712:18;749:2;745;742:10;739:36;;;755:18;;:::i;:::-;830:2;824:9;798:2;884:13;;-1:-1:-1;;880:22:77;;;904:2;876:31;872:40;860:53;;;928:18;;;948:22;;;925:46;922:72;;;974:18;;:::i;:::-;1014:10;1010:2;1003:22;1049:2;1041:6;1034:18;1095:3;1088:4;1083:2;1075:6;1071:15;1067:26;1064:35;1061:55;;;1112:1;1109;1102:12;1061:55;1176:2;1169:4;1161:6;1157:17;1150:4;1142:6;1138:17;1125:54;1223:1;1216:4;1211:2;1203:6;1199:15;1195:26;1188:37;1243:6;1234:15;;;;;;536:719;;;;:::o;1260:543::-;1348:6;1356;1409:2;1397:9;1388:7;1384:23;1380:32;1377:52;;;1425:1;1422;1415:12;1377:52;1465:9;1452:23;1494:18;1535:2;1527:6;1524:14;1521:34;;;1551:1;1548;1541:12;1521:34;1574:50;1616:7;1607:6;1596:9;1592:22;1574:50;:::i;:::-;1564:60;;1677:2;1666:9;1662:18;1649:32;1633:48;;1706:2;1696:8;1693:16;1690:36;;;1722:1;1719;1712:12;1690:36;;1745:52;1789:7;1778:8;1767:9;1763:24;1745:52;:::i;:::-;1735:62;;;1260:543;;;;;:::o;1808:680::-;1914:6;1922;1930;1938;1991:3;1979:9;1970:7;1966:23;1962:33;1959:53;;;2008:1;2005;1998:12;1959:53;2048:9;2035:23;2077:18;2118:2;2110:6;2107:14;2104:34;;;2134:1;2131;2124:12;2104:34;2157:50;2199:7;2190:6;2179:9;2175:22;2157:50;:::i;:::-;2147:60;;2260:2;2249:9;2245:18;2232:32;2216:48;;2289:2;2279:8;2276:16;2273:36;;;2305:1;2302;2295:12;2273:36;;2328:52;2372:7;2361:8;2350:9;2346:24;2328:52;:::i;:::-;1808:680;;2318:62;;-1:-1:-1;;;;2427:2:77;2412:18;;2399:32;;2478:2;2463:18;2450:32;;1808:680;-1:-1:-1;1808:680:77:o;2493:173::-;2561:20;;-1:-1:-1;;;;;2610:31:77;;2600:42;;2590:70;;2656:1;2653;2646:12;2671:186;2730:6;2783:2;2771:9;2762:7;2758:23;2754:32;2751:52;;;2799:1;2796;2789:12;2751:52;2822:29;2841:9;2822:29;:::i;:::-;2812:39;2671:186;-1:-1:-1;;;2671:186:77:o;2862:254::-;2930:6;2938;2991:2;2979:9;2970:7;2966:23;2962:32;2959:52;;;3007:1;3004;2997:12;2959:52;3030:29;3049:9;3030:29;:::i;:::-;3020:39;3106:2;3091:18;;;;3078:32;;-1:-1:-1;;;2862:254:77:o;3121:611::-;3218:6;3226;3234;3287:2;3275:9;3266:7;3262:23;3258:32;3255:52;;;3303:1;3300;3293:12;3255:52;3343:9;3330:23;3372:18;3413:2;3405:6;3402:14;3399:34;;;3429:1;3426;3419:12;3399:34;3452:50;3494:7;3485:6;3474:9;3470:22;3452:50;:::i;:::-;3442:60;;3555:2;3544:9;3540:18;3527:32;3511:48;;3584:2;3574:8;3571:16;3568:36;;;3600:1;3597;3590:12;3568:36;;3623:52;3667:7;3656:8;3645:9;3641:24;3623:52;:::i;:::-;3613:62;;;3722:2;3711:9;3707:18;3694:32;3684:42;;3121:611;;;;;:::o;3737:472::-;3779:3;3817:5;3811:12;3844:6;3839:3;3832:19;3869:1;3879:162;3893:6;3890:1;3887:13;3879:162;;;3955:4;4011:13;;;4007:22;;4001:29;3983:11;;;3979:20;;3972:59;3908:12;3879:162;;;4059:6;4056:1;4053:13;4050:87;;;4125:1;4118:4;4109:6;4104:3;4100:16;4096:27;4089:38;4050:87;-1:-1:-1;4191:2:77;4170:15;-1:-1:-1;;4166:29:77;4157:39;;;;4198:4;4153:50;;3737:472;-1:-1:-1;;3737:472:77:o;4214:553::-;4467:3;4456:9;4449:22;4430:4;4494:46;4535:3;4524:9;4520:19;4512:6;4494:46;:::i;:::-;4588:9;4580:6;4576:22;4571:2;4560:9;4556:18;4549:50;4616:33;4642:6;4634;4616:33;:::i;:::-;-1:-1:-1;;;;;4685:32:77;;;;4680:2;4665:18;;4658:60;-1:-1:-1;;4749:2:77;4734:18;4727:34;4608:41;4214:553;-1:-1:-1;;4214:553:77:o;4772:356::-;4974:2;4956:21;;;4993:18;;;4986:30;5052:34;5047:2;5032:18;;5025:62;5119:2;5104:18;;4772:356::o;5133:415::-;5335:2;5317:21;;;5374:2;5354:18;;;5347:30;5413:34;5408:2;5393:18;;5386:62;-1:-1:-1;;;5479:2:77;5464:18;;5457:49;5538:3;5523:19;;5133:415::o", "linkReferences": {} }, "methodIdentifiers": { + "LAZY_ROYALTY_GUARD()": "00e8ece6", + "LAZY_ROYALTY_GUARD_DEADMAN()": "740adf31", + "LAZY_SOVEREIGN_NFT()": "637944f5", "ROYALTY_GUARD()": "7de4c082", "ROYALTY_GUARD_DEADMAN()": "ef6fde5b", "SOVEREIGN_NFT()": "ea14289f", "createSovereignNFTContract(string,string)": "3cebcf41", "createSovereignNFTContract(string,string,uint256)": "da8d79f3", "createSovereignNFTContract(string,string,uint256,bytes32)": "877ebf51", - "marketplaceSettings()": "ba50b632", + "lazySovereignNFT()": "f5e0e6df", + "lazySovereignNFTRoyaltyGuard()": "22d60fcb", + "lazySovereignNFTRoyaltyGuardDeadmanTrigger()": "c4dca7ab", "owner()": "8da5cb5b", "renounceOwnership()": "715018a6", - "setMarketplaceSettings(address)": "176ab440", "setSovereignNFT(address)": "9607cb49", "setSovereignNFT(address,bytes32)": "a55b1c25", "sovereignNFT()": "d05df883", @@ -333,7 +408,7 @@ "sovereignNFTRoyaltyGuardDeadmanTrigger()": "d1e0f700", "transferOwnership(address)": "f2fde38b" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"SovereignNFTContractCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ROYALTY_GUARD\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROYALTY_GUARD_DEADMAN\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SOVEREIGN_NFT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"name\":\"createSovereignNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_contractType\",\"type\":\"bytes32\"}],\"name\":\"createSovereignNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"createSovereignNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"marketplaceSettings\",\"outputs\":[{\"internalType\":\"contract IMarketplaceSettings\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"}],\"name\":\"setMarketplaceSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sovereignNFT\",\"type\":\"address\"}],\"name\":\"setSovereignNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sovereignNFT\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_contractType\",\"type\":\"bytes32\"}],\"name\":\"setSovereignNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sovereignNFT\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sovereignNFTRoyaltyGuard\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sovereignNFTRoyaltyGuardDeadmanTrigger\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"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 anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing 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\":{\"src/token/ERC721/sovereign/SovereignNFTContractFactory.sol\":\"SovereignNFTContractFactory\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":aux/=lib/aux/\",\":ds-test/=lib/ds-test/src/\",\":erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/\",\":rareprotocol/aux/=lib/aux/src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":solmate/=lib/royalty-guard/lib/solmate/src/\"]},\"sources\":{\"lib/aux/src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x652fee292f698d8dba81bf287cb71f1682f6483b67ebe601a5f7387dcfc30b34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98c7bba29bcab7240cdaada7dd7cbe3529fec83314801270c46239e72a9e84d7\",\"dweb:/ipfs/QmfHCc1KMygjXchXVwafWTkFjhbb2SQ3Cu5GzRTdV4CCCh\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xb5239b505e918cb7427b939ff15da7bf7c4bb68ccb109caef246a3f58b19ba5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5f2ea070e870eea699ee433245459f08020a4752df4f5d391de87a529fc2bad\",\"dweb:/ipfs/QmWUcKCKzqQtB6sfJHxGzNj7QRogPmUsW3QQZPAcD3kLSB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0xf7f866b810ddf2508a9cba461906617a1ff561e33835d81a1be9bff9bbfb7ff9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21142ed30406e8f3dc9d42907aaef8bd34dfee63101d011fc3e1a3a198b9c740\",\"dweb:/ipfs/QmW7EkuJFzsejU5keEjULPFFDe8gBEiNYdQ6Z1LrgWnHst\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0x6c4dd0c916c4d69014b1a430f5803d3ea1f35c1a8021aefafde55ca4c2d20c2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93fd17a1502ac391fd929e9c585032efed0b2ed1fb6fe6026dbc44621538b84d\",\"dweb:/ipfs/Qmd3S9HaNGe83wctpj7Bvn6p2veG5P6QH1nPcRuKNJfUqN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xd16dc04b4bf357ae9d04e02d9fd05cc320bbc89720e0ad8efc2386e476f0b921\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d9c9054ada43073f83e6e36761a5e428da1a0ec0f1b238995deddcac2c21b8c\",\"dweb:/ipfs/QmS3pcaWW4uwaQqJ3iQ56fpNcf6NtWZTHeYL4fvPa3gQYz\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x417a6f201d6b0e3872979beca22f173ca518ef826fafb23b8d5b93bf7e42192d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ccc2bdaacf5e5cd18d3d5424e9eb118ff9e59485011595381869af89665c579\",\"dweb:/ipfs/QmdPps2gVGqktfANjoxyU93ridF86vpppp7HNoiJkDzksm\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x55cf2bd9fc76704ddcdc19834cd288b7de00fc0f298a40ea16a954ae8991db2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37e4df53c8d2e3c1062c1c7b2c17366db7de03bfd2559d340ca95c588aa49c2f\",\"dweb:/ipfs/QmQ9vsG3o4wED3FRogiSUhdzJvZSjjYFtydzXvFEJtgZk4\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0x398d3323c1932a5986bf36be7c57593e121e69d5db5b6574b4ee0d031443de37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b268304e03daf22c349abe3c318bc6a6badd6542d62311716ab401eec745f78\",\"dweb:/ipfs/QmNYy2sc2RoTjDhyT6HAibmeDGqfhDiDpsWRbHFHoGVHLr\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0x2033e349d606483684968f190b814bbc853774c8d82305e179d094c5042fb512\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa9b82acfb4493894b4123b4ab44f5ace697e743631642a8e0bc60aafca2bac5\",\"dweb:/ipfs/QmePLecHQuCPTErGNPH7C2zdXod9RZncAZ2cJoYBaUaPQp\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"lib/openzeppelin-contracts/contracts/proxy/Clones.sol\":{\"keccak256\":\"0x4413f86457f0ff24f7bc4cc94d296e822036203a8c90f565d6614f71d54add05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c7085025ed06e48a1c45b18499fdf6f2c1fdaeff1009e27174f7859a91af183\",\"dweb:/ipfs/QmTEMcuRneWqcPLtRqBpyqwHrmoPThfsEoo9mz1hjYcYFB\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacac2065b3ed1facff1163435890d4a6bcdc474e857e8e2c91ae5fb50418f723\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acd44ec097dd623f40870ca848c31deb02dca032ec9c56bd2e52ee103d35ce6d\",\"dweb:/ipfs/Qme3CuA45xCft72RjE6s4bmhffpe2NHvHULH9fh5oPbzBv\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x1fd7933ef0875db5bb8f32053e6ca36ab5544268c69cb04de9575609052a3fde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e70aba58a73da37b33e8c7f6e04cbf957530afd3f463d4010e2a671773f5d82\",\"dweb:/ipfs/QmVitut8wbt64G3vpg4SmtbkPYGyqYCoBAFBqfv2KybE11\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0xe06d80490ce50e16b7e631d6183cb3dac8b25482748814f394590f0de3c2e4a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d07b9e7985fd8a09150c8e69178bfb05eb5e86d90fd3d91f17f1a57289e805f\",\"dweb:/ipfs/QmczFpxjLYsaWndsDj2NFLa4cfoCYi3g8jHMVNfUCzN9xF\"]},\"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xe68316395a79ca1b88a356d821c3abb44dcf342cc5633914198d395f5e6fb255\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4849b485458869816863dca773fe26d4520046adfd1f017cc54a9480cdf0b81e\",\"dweb:/ipfs/QmPgdjLvhEW6ArWWy6eU5fPGVtb12ecQrhBHApFLCN2nQo\"]},\"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xcf9bb8bff70abfed58cf76ebb24db355677b70de14bb335dcf95bccf3e657f5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e283a8161fa7f163c2db9a0d45ad5c7d5890e531134838b6914e512cbb1fdbfb\",\"dweb:/ipfs/QmTkfaaQPCdVGCn2QG38NHe7auaUbDa8HwLcCSuZd5UFvT\"]},\"src/token/ERC721/sovereign/SovereignNFT.sol\":{\"keccak256\":\"0x754297fecaa8aa7f407773197398cc3c83acd484ee0afbccd9d2bf6846aa8a6c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://381b56357103a7de46ed140ea7061f9776320ec38f8a5adbb68c2b25848fbc6d\",\"dweb:/ipfs/QmRm5rX8mRxFx3HofMpEG49Vv93Y2SBP7w2iDeUfMdunxD\"]},\"src/token/ERC721/sovereign/SovereignNFTContractFactory.sol\":{\"keccak256\":\"0x0095528bb8f330c4854f20dc4822d4d58a2f9b650cd4b7555617a26418fa4cd0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0bfbe18571bec97dfe929c3ba031c6b29baa62ff0338b1575889ada9d4fb652\",\"dweb:/ipfs/Qmb5xh7GufF3M9NnJE8JBa11UREMCB5yjA1MYko9Fi12M6\"]},\"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuard.sol\":{\"keccak256\":\"0xdc4744ba9693b17dcb6bf34354531a6b85e3ed53a5529f128811f60bf7f7d6b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3585861c3af4c62e76dafa32bebeeeb4dd5cfdee77850010ad3e3d8902baa93a\",\"dweb:/ipfs/QmSTWwX64TULoxQZ5GhBrdbXfGyX3XET6pwJVwc37C7uA1\"]},\"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0x0156be33303c1bbebc3d176ffcb64fd7b2400689377c8dbeded00a181a6e9318\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a95478c056ab2c1f50f3fd5cb93ade3d742a4530cd5ae3cea7d4f2ba2e7165\",\"dweb:/ipfs/Qmc4aiZnkTbnjj6XEF1gzhbwaQGvQ7M9GKtu2UoN8jkt1a\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"SovereignNFTContractCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"contractType\",\"type\":\"bytes32\"}],\"name\":\"SovereignNFTContractCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"LAZY_ROYALTY_GUARD\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LAZY_ROYALTY_GUARD_DEADMAN\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LAZY_SOVEREIGN_NFT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROYALTY_GUARD\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROYALTY_GUARD_DEADMAN\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SOVEREIGN_NFT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"name\":\"createSovereignNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_contractType\",\"type\":\"bytes32\"}],\"name\":\"createSovereignNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"createSovereignNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lazySovereignNFT\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lazySovereignNFTRoyaltyGuard\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lazySovereignNFTRoyaltyGuardDeadmanTrigger\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sovereignNFT\",\"type\":\"address\"}],\"name\":\"setSovereignNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sovereignNFT\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_contractType\",\"type\":\"bytes32\"}],\"name\":\"setSovereignNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sovereignNFT\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sovereignNFTRoyaltyGuard\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sovereignNFTRoyaltyGuardDeadmanTrigger\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"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 anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing 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\":{\"src/token/ERC721/sovereign/SovereignNFTContractFactory.sol\":\"SovereignNFTContractFactory\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":aux/=lib/aux/\",\":ds-test/=lib/ds-test/src/\",\":erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/\",\":rareprotocol/aux/=lib/aux/src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":solmate/=lib/royalty-guard/lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x652fee292f698d8dba81bf287cb71f1682f6483b67ebe601a5f7387dcfc30b34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98c7bba29bcab7240cdaada7dd7cbe3529fec83314801270c46239e72a9e84d7\",\"dweb:/ipfs/QmfHCc1KMygjXchXVwafWTkFjhbb2SQ3Cu5GzRTdV4CCCh\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xb5239b505e918cb7427b939ff15da7bf7c4bb68ccb109caef246a3f58b19ba5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5f2ea070e870eea699ee433245459f08020a4752df4f5d391de87a529fc2bad\",\"dweb:/ipfs/QmWUcKCKzqQtB6sfJHxGzNj7QRogPmUsW3QQZPAcD3kLSB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0xf7f866b810ddf2508a9cba461906617a1ff561e33835d81a1be9bff9bbfb7ff9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21142ed30406e8f3dc9d42907aaef8bd34dfee63101d011fc3e1a3a198b9c740\",\"dweb:/ipfs/QmW7EkuJFzsejU5keEjULPFFDe8gBEiNYdQ6Z1LrgWnHst\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0x6c4dd0c916c4d69014b1a430f5803d3ea1f35c1a8021aefafde55ca4c2d20c2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93fd17a1502ac391fd929e9c585032efed0b2ed1fb6fe6026dbc44621538b84d\",\"dweb:/ipfs/Qmd3S9HaNGe83wctpj7Bvn6p2veG5P6QH1nPcRuKNJfUqN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xd16dc04b4bf357ae9d04e02d9fd05cc320bbc89720e0ad8efc2386e476f0b921\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d9c9054ada43073f83e6e36761a5e428da1a0ec0f1b238995deddcac2c21b8c\",\"dweb:/ipfs/QmS3pcaWW4uwaQqJ3iQ56fpNcf6NtWZTHeYL4fvPa3gQYz\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x417a6f201d6b0e3872979beca22f173ca518ef826fafb23b8d5b93bf7e42192d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ccc2bdaacf5e5cd18d3d5424e9eb118ff9e59485011595381869af89665c579\",\"dweb:/ipfs/QmdPps2gVGqktfANjoxyU93ridF86vpppp7HNoiJkDzksm\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x55cf2bd9fc76704ddcdc19834cd288b7de00fc0f298a40ea16a954ae8991db2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37e4df53c8d2e3c1062c1c7b2c17366db7de03bfd2559d340ca95c588aa49c2f\",\"dweb:/ipfs/QmQ9vsG3o4wED3FRogiSUhdzJvZSjjYFtydzXvFEJtgZk4\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0x398d3323c1932a5986bf36be7c57593e121e69d5db5b6574b4ee0d031443de37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b268304e03daf22c349abe3c318bc6a6badd6542d62311716ab401eec745f78\",\"dweb:/ipfs/QmNYy2sc2RoTjDhyT6HAibmeDGqfhDiDpsWRbHFHoGVHLr\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0x2033e349d606483684968f190b814bbc853774c8d82305e179d094c5042fb512\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa9b82acfb4493894b4123b4ab44f5ace697e743631642a8e0bc60aafca2bac5\",\"dweb:/ipfs/QmePLecHQuCPTErGNPH7C2zdXod9RZncAZ2cJoYBaUaPQp\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"lib/openzeppelin-contracts/contracts/proxy/Clones.sol\":{\"keccak256\":\"0x4413f86457f0ff24f7bc4cc94d296e822036203a8c90f565d6614f71d54add05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c7085025ed06e48a1c45b18499fdf6f2c1fdaeff1009e27174f7859a91af183\",\"dweb:/ipfs/QmTEMcuRneWqcPLtRqBpyqwHrmoPThfsEoo9mz1hjYcYFB\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacac2065b3ed1facff1163435890d4a6bcdc474e857e8e2c91ae5fb50418f723\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acd44ec097dd623f40870ca848c31deb02dca032ec9c56bd2e52ee103d35ce6d\",\"dweb:/ipfs/Qme3CuA45xCft72RjE6s4bmhffpe2NHvHULH9fh5oPbzBv\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x1fd7933ef0875db5bb8f32053e6ca36ab5544268c69cb04de9575609052a3fde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e70aba58a73da37b33e8c7f6e04cbf957530afd3f463d4010e2a671773f5d82\",\"dweb:/ipfs/QmVitut8wbt64G3vpg4SmtbkPYGyqYCoBAFBqfv2KybE11\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0xe06d80490ce50e16b7e631d6183cb3dac8b25482748814f394590f0de3c2e4a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d07b9e7985fd8a09150c8e69178bfb05eb5e86d90fd3d91f17f1a57289e805f\",\"dweb:/ipfs/QmczFpxjLYsaWndsDj2NFLa4cfoCYi3g8jHMVNfUCzN9xF\"]},\"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xe68316395a79ca1b88a356d821c3abb44dcf342cc5633914198d395f5e6fb255\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4849b485458869816863dca773fe26d4520046adfd1f017cc54a9480cdf0b81e\",\"dweb:/ipfs/QmPgdjLvhEW6ArWWy6eU5fPGVtb12ecQrhBHApFLCN2nQo\"]},\"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xcf9bb8bff70abfed58cf76ebb24db355677b70de14bb335dcf95bccf3e657f5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e283a8161fa7f163c2db9a0d45ad5c7d5890e531134838b6914e512cbb1fdbfb\",\"dweb:/ipfs/QmTkfaaQPCdVGCn2QG38NHe7auaUbDa8HwLcCSuZd5UFvT\"]},\"src/token/ERC721/sovereign/SovereignNFT.sol\":{\"keccak256\":\"0x754297fecaa8aa7f407773197398cc3c83acd484ee0afbccd9d2bf6846aa8a6c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://381b56357103a7de46ed140ea7061f9776320ec38f8a5adbb68c2b25848fbc6d\",\"dweb:/ipfs/QmRm5rX8mRxFx3HofMpEG49Vv93Y2SBP7w2iDeUfMdunxD\"]},\"src/token/ERC721/sovereign/SovereignNFTContractFactory.sol\":{\"keccak256\":\"0x080826980b910a601169a127a62aef24cd738ea55c1fbe26e380407aebe718cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c53792d27e52f894efddd57a8bbd0a304d3440eccaad6e996b1408917625836\",\"dweb:/ipfs/Qmef7BYbt2jcCrRKpQNzSFEA6KkVfkT69DkfFGFQTixvJ7\"]},\"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuard.sol\":{\"keccak256\":\"0xdc4744ba9693b17dcb6bf34354531a6b85e3ed53a5529f128811f60bf7f7d6b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3585861c3af4c62e76dafa32bebeeeb4dd5cfdee77850010ad3e3d8902baa93a\",\"dweb:/ipfs/QmSTWwX64TULoxQZ5GhBrdbXfGyX3XET6pwJVwc37C7uA1\"]},\"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0x0156be33303c1bbebc3d176ffcb64fd7b2400689377c8dbeded00a181a6e9318\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a95478c056ab2c1f50f3fd5cb93ade3d742a4530cd5ae3cea7d4f2ba2e7165\",\"dweb:/ipfs/Qmc4aiZnkTbnjj6XEF1gzhbwaQGvQ7M9GKtu2UoN8jkt1a\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.15+commit.e14f2714" @@ -342,13 +417,7 @@ "output": { "abi": [ { - "inputs": [ - { - "internalType": "address", - "name": "_marketplaceSettings", - "type": "address" - } - ], + "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, @@ -390,6 +459,70 @@ "name": "SovereignNFTContractCreated", "anonymous": false }, + { + "inputs": [ + { + "internalType": "address", + "name": "contractAddress", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "bytes32", + "name": "contractType", + "type": "bytes32", + "indexed": true + } + ], + "type": "event", + "name": "SovereignNFTContractCreated", + "anonymous": false + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "LAZY_ROYALTY_GUARD", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "LAZY_ROYALTY_GUARD_DEADMAN", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "LAZY_SOVEREIGN_NFT", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ] + }, { "inputs": [], "stateMutability": "view", @@ -520,10 +653,10 @@ "inputs": [], "stateMutability": "view", "type": "function", - "name": "marketplaceSettings", + "name": "lazySovereignNFT", "outputs": [ { - "internalType": "contract IMarketplaceSettings", + "internalType": "address", "name": "", "type": "address" } @@ -533,7 +666,7 @@ "inputs": [], "stateMutability": "view", "type": "function", - "name": "owner", + "name": "lazySovereignNFTRoyaltyGuard", "outputs": [ { "internalType": "address", @@ -544,21 +677,35 @@ }, { "inputs": [], - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "name": "renounceOwnership" + "name": "lazySovereignNFTRoyaltyGuardDeadmanTrigger", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] }, { - "inputs": [ + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "owner", + "outputs": [ { "internalType": "address", - "name": "_marketplaceSettings", + "name": "", "type": "address" } - ], + ] + }, + { + "inputs": [], "stateMutability": "nonpayable", "type": "function", - "name": "setMarketplaceSettings" + "name": "renounceOwnership" }, { "inputs": [ @@ -664,16 +811,16 @@ }, "settings": { "remappings": [ - ":aux/=lib/aux/", - ":ds-test/=lib/ds-test/src/", - ":erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - ":forge-std/=lib/forge-std/src/", - ":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", - ":openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", - ":rareprotocol/aux/=lib/aux/src/", - ":royalty-guard/=lib/royalty-guard/src/royalty-guard/", - ":solmate/=lib/royalty-guard/lib/solmate/src/" + "aux/=lib/aux/", + "ds-test/=lib/ds-test/src/", + "erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", + "openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", + "rareprotocol/aux/=lib/aux/src/", + "royalty-guard/=lib/royalty-guard/src/royalty-guard/", + "solmate/=lib/royalty-guard/lib/solmate/src/" ], "optimizer": { "enabled": true, @@ -688,14 +835,6 @@ "libraries": {} }, "sources": { - "lib/aux/src/marketplace/IMarketplaceSettings.sol": { - "keccak256": "0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083", - "urls": [ - "bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0", - "dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13" - ], - "license": "MIT" - }, "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol": { "keccak256": "0x652fee292f698d8dba81bf287cb71f1682f6483b67ebe601a5f7387dcfc30b34", "urls": [ @@ -897,10 +1036,10 @@ "license": "MIT" }, "src/token/ERC721/sovereign/SovereignNFTContractFactory.sol": { - "keccak256": "0x0095528bb8f330c4854f20dc4822d4d58a2f9b650cd4b7555617a26418fa4cd0", + "keccak256": "0x080826980b910a601169a127a62aef24cd738ea55c1fbe26e380407aebe718cf", "urls": [ - "bzz-raw://f0bfbe18571bec97dfe929c3ba031c6b29baa62ff0338b1575889ada9d4fb652", - "dweb:/ipfs/Qmb5xh7GufF3M9NnJE8JBa11UREMCB5yjA1MYko9Fi12M6" + "bzz-raw://8c53792d27e52f894efddd57a8bbd0a304d3440eccaad6e996b1408917625836", + "dweb:/ipfs/Qmef7BYbt2jcCrRKpQNzSFEA6KkVfkT69DkfFGFQTixvJ7" ], "license": "MIT" }, @@ -949,180 +1088,194 @@ }, "ast": { "absolutePath": "src/token/ERC721/sovereign/SovereignNFTContractFactory.sol", - "id": 9154, + "id": 33298, "exportedSymbols": { - "AddressUpgradeable": [3429], - "Clones": [4900], - "Context": [6244], - "ContextUpgradeable": [3471], - "CountersUpgradeable": [3545], - "ERC165": [6471], - "ERC165Upgradeable": [3792], - "ERC2981Upgradeable": [10393], - "ERC721BurnableUpgradeable": [3159], - "ERC721Upgradeable": [2975], - "EnumerableSet": [7082], - "IERC165Upgradeable": [3804], - "IERC2981": [10409], - "IERC721MetadataUpgradeable": [3186], - "IERC721ReceiverUpgradeable": [2993], - "IERC721Upgradeable": [3109], - "IMarketplaceSettings": [74], - "IRoyaltyGuard": [7212], - "IRoyaltyGuardDeadmanTrigger": [7609], - "ITokenCreator": [10419], - "Initializable": [955], - "Ownable": [4820], - "OwnableUpgradeable": [813], - "RoyaltyGuard": [7568], - "RoyaltyGuardDeadmanTrigger": [7703], - "SafeMathUpgradeable": [4116], - "SovereignNFT": [8727], - "SovereignNFTContractFactory": [9153], - "SovereignNFTRoyaltyGuard": [9239], - "SovereignNFTRoyaltyGuardDeadmanTrigger": [9327], - "StringsUpgradeable": [3748] + "AddressUpgradeable": [ + 27536 + ], + "Clones": [ + 29007 + ], + "Context": [ + 30351 + ], + "ContextUpgradeable": [ + 27578 + ], + "CountersUpgradeable": [ + 27652 + ], + "ERC165": [ + 30578 + ], + "ERC165Upgradeable": [ + 27899 + ], + "ERC2981Upgradeable": [ + 35531 + ], + "ERC721BurnableUpgradeable": [ + 27266 + ], + "ERC721Upgradeable": [ + 27082 + ], + "EnumerableSet": [ + 31189 + ], + "IERC165Upgradeable": [ + 27911 + ], + "IERC2981": [ + 35547 + ], + "IERC721MetadataUpgradeable": [ + 27293 + ], + "IERC721ReceiverUpgradeable": [ + 27100 + ], + "IERC721Upgradeable": [ + 27216 + ], + "IRoyaltyGuard": [ + 31319 + ], + "IRoyaltyGuardDeadmanTrigger": [ + 31716 + ], + "ITokenCreator": [ + 35557 + ], + "Initializable": [ + 25062 + ], + "Ownable": [ + 28927 + ], + "OwnableUpgradeable": [ + 24920 + ], + "RoyaltyGuard": [ + 31675 + ], + "RoyaltyGuardDeadmanTrigger": [ + 31810 + ], + "SafeMathUpgradeable": [ + 28223 + ], + "SovereignNFT": [ + 32902 + ], + "SovereignNFTContractFactory": [ + 33297 + ], + "SovereignNFTRoyaltyGuard": [ + 33383 + ], + "SovereignNFTRoyaltyGuardDeadmanTrigger": [ + 33471 + ], + "StringsUpgradeable": [ + 27855 + ] }, "nodeType": "SourceUnit", - "src": "100:5331:46", + "src": "100:4965:60", "nodes": [ { - "id": 8729, + "id": 32904, "nodeType": "PragmaDirective", - "src": "100:23:46", + "src": "100:23:60", "nodes": [], - "literals": ["solidity", "0.8", ".15"] + "literals": [ + "solidity", + "0.8", + ".15" + ] }, { - "id": 8730, + "id": 32905, "nodeType": "ImportDirective", - "src": "125:51:46", + "src": "125:51:60", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/access/Ownable.sol", "file": "openzeppelin-contracts/access/Ownable.sol", "nameLocation": "-1:-1:-1", - "scope": 9154, - "sourceUnit": 4821, + "scope": 33298, + "sourceUnit": 28928, "symbolAliases": [], "unitAlias": "" }, { - "id": 8731, + "id": 32906, "nodeType": "ImportDirective", - "src": "177:49:46", + "src": "177:49:60", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/proxy/Clones.sol", "file": "openzeppelin-contracts/proxy/Clones.sol", "nameLocation": "-1:-1:-1", - "scope": 9154, - "sourceUnit": 4901, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 8732, - "nodeType": "ImportDirective", - "src": "227:63:46", - "nodes": [], - "absolutePath": "lib/aux/src/marketplace/IMarketplaceSettings.sol", - "file": "rareprotocol/aux/marketplace/IMarketplaceSettings.sol", - "nameLocation": "-1:-1:-1", - "scope": 9154, - "sourceUnit": 75, + "scope": 33298, + "sourceUnit": 29008, "symbolAliases": [], "unitAlias": "" }, { - "id": 8733, + "id": 32907, "nodeType": "ImportDirective", - "src": "291:28:46", + "src": "227:28:60", "nodes": [], "absolutePath": "src/token/ERC721/sovereign/SovereignNFT.sol", "file": "./SovereignNFT.sol", "nameLocation": "-1:-1:-1", - "scope": 9154, - "sourceUnit": 8728, + "scope": 33298, + "sourceUnit": 32903, "symbolAliases": [], "unitAlias": "" }, { - "id": 8734, + "id": 32908, "nodeType": "ImportDirective", - "src": "320:51:46", + "src": "256:51:60", "nodes": [], "absolutePath": "src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuard.sol", "file": "./extensions/SovereignNFTRoyaltyGuard.sol", "nameLocation": "-1:-1:-1", - "scope": 9154, - "sourceUnit": 9240, + "scope": 33298, + "sourceUnit": 33384, "symbolAliases": [], "unitAlias": "" }, { - "id": 8735, + "id": 32909, "nodeType": "ImportDirective", - "src": "372:65:46", + "src": "308:65:60", "nodes": [], "absolutePath": "src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTrigger.sol", "file": "./extensions/SovereignNFTRoyaltyGuardDeadmanTrigger.sol", "nameLocation": "-1:-1:-1", - "scope": 9154, - "sourceUnit": 9328, + "scope": 33298, + "sourceUnit": 33472, "symbolAliases": [], "unitAlias": "" }, { - "id": 9153, + "id": 33297, "nodeType": "ContractDefinition", - "src": "439:4991:46", + "src": "375:4689:60", "nodes": [ { - "id": 8740, - "nodeType": "VariableDeclaration", - "src": "493:47:46", - "nodes": [], - "constant": false, - "functionSelector": "ba50b632", - "mutability": "mutable", - "name": "marketplaceSettings", - "nameLocation": "521:19:46", - "scope": 9153, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IMarketplaceSettings_$74", - "typeString": "contract IMarketplaceSettings" - }, - "typeName": { - "id": 8739, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 8738, - "name": "IMarketplaceSettings", - "nodeType": "IdentifierPath", - "referencedDeclaration": 74, - "src": "493:20:46" - }, - "referencedDeclaration": 74, - "src": "493:20:46", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IMarketplaceSettings_$74", - "typeString": "contract IMarketplaceSettings" - } - }, - "visibility": "public" - }, - { - "id": 8743, + "id": 32916, "nodeType": "VariableDeclaration", - "src": "547:55:46", + "src": "430:66:60", "nodes": [], "constant": true, "functionSelector": "ea14289f", "mutability": "constant", "name": "SOVEREIGN_NFT", - "nameLocation": "571:13:46", - "scope": 9153, + "nameLocation": "454:13:60", + "scope": 33297, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1130,44 +1283,80 @@ "typeString": "bytes32" }, "typeName": { - "id": 8741, + "id": 32912, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "547:7:46", + "src": "430:7:60", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": { - "hexValue": "534f5645524549474e5f4e4654", - "id": 8742, + "arguments": [ + { + "hexValue": "534f5645524549474e5f4e4654", + "id": 32914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "480:15:60", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd", + "typeString": "literal_string \"SOVEREIGN_NFT\"" + }, + "value": "SOVEREIGN_NFT" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd", + "typeString": "literal_string \"SOVEREIGN_NFT\"" + } + ], + "id": 32913, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "470:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 32915, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "string", + "kind": "functionCall", "lValueRequested": false, - "nodeType": "Literal", - "src": "587:15:46", + "names": [], + "nodeType": "FunctionCall", + "src": "470:26:60", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd", - "typeString": "literal_string \"SOVEREIGN_NFT\"" - }, - "value": "SOVEREIGN_NFT" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } }, "visibility": "public" }, { - "id": 8746, + "id": 32921, "nodeType": "VariableDeclaration", - "src": "608:55:46", + "src": "502:66:60", "nodes": [], "constant": true, "functionSelector": "7de4c082", "mutability": "constant", "name": "ROYALTY_GUARD", - "nameLocation": "632:13:46", - "scope": 9153, + "nameLocation": "526:13:60", + "scope": 33297, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1175,44 +1364,161 @@ "typeString": "bytes32" }, "typeName": { - "id": 8744, + "id": 32917, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "608:7:46", + "src": "502:7:60", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": { - "hexValue": "524f59414c54595f4755415244", - "id": 8745, + "arguments": [ + { + "hexValue": "524f59414c54595f4755415244", + "id": 32919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "552:15:60", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b743", + "typeString": "literal_string \"ROYALTY_GUARD\"" + }, + "value": "ROYALTY_GUARD" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b743", + "typeString": "literal_string \"ROYALTY_GUARD\"" + } + ], + "id": 32918, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "542:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 32920, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "string", + "kind": "functionCall", "lValueRequested": false, - "nodeType": "Literal", - "src": "648:15:46", + "names": [], + "nodeType": "FunctionCall", + "src": "542:26:60", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b743", - "typeString": "literal_string \"ROYALTY_GUARD\"" - }, - "value": "ROYALTY_GUARD" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } }, "visibility": "public" }, { - "id": 8749, + "id": 32926, "nodeType": "VariableDeclaration", - "src": "669:71:46", + "src": "574:82:60", "nodes": [], "constant": true, "functionSelector": "ef6fde5b", "mutability": "constant", "name": "ROYALTY_GUARD_DEADMAN", - "nameLocation": "693:21:46", - "scope": 9153, + "nameLocation": "598:21:60", + "scope": 33297, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32922, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "574:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "524f59414c54595f47554152445f444541444d414e", + "id": 32924, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "632:23:60", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f", + "typeString": "literal_string \"ROYALTY_GUARD_DEADMAN\"" + }, + "value": "ROYALTY_GUARD_DEADMAN" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f", + "typeString": "literal_string \"ROYALTY_GUARD_DEADMAN\"" + } + ], + "id": 32923, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "622:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 32925, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "622:34:60", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 32931, + "nodeType": "VariableDeclaration", + "src": "662:76:60", + "nodes": [], + "constant": true, + "functionSelector": "637944f5", + "mutability": "constant", + "name": "LAZY_SOVEREIGN_NFT", + "nameLocation": "686:18:60", + "scope": 33297, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1220,44 +1526,242 @@ "typeString": "bytes32" }, "typeName": { - "id": 8747, + "id": 32927, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "669:7:46", + "src": "662:7:60", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": { - "hexValue": "524f59414c54595f47554152445f444541444d414e", - "id": 8748, + "arguments": [ + { + "hexValue": "4c415a595f534f5645524549474e5f4e4654", + "id": 32929, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "717:20:60", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd68", + "typeString": "literal_string \"LAZY_SOVEREIGN_NFT\"" + }, + "value": "LAZY_SOVEREIGN_NFT" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd68", + "typeString": "literal_string \"LAZY_SOVEREIGN_NFT\"" + } + ], + "id": 32928, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "707:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 32930, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "string", + "kind": "functionCall", "lValueRequested": false, - "nodeType": "Literal", - "src": "717:23:46", + "names": [], + "nodeType": "FunctionCall", + "src": "707:31:60", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 32936, + "nodeType": "VariableDeclaration", + "src": "744:76:60", + "nodes": [], + "constant": true, + "functionSelector": "00e8ece6", + "mutability": "constant", + "name": "LAZY_ROYALTY_GUARD", + "nameLocation": "768:18:60", + "scope": 33297, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32932, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "744:7:60", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f", - "typeString": "literal_string \"ROYALTY_GUARD_DEADMAN\"" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4c415a595f524f59414c54595f4755415244", + "id": 32934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "799:20:60", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c5", + "typeString": "literal_string \"LAZY_ROYALTY_GUARD\"" + }, + "value": "LAZY_ROYALTY_GUARD" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c5", + "typeString": "literal_string \"LAZY_ROYALTY_GUARD\"" + } + ], + "id": 32933, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "789:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } }, - "value": "ROYALTY_GUARD_DEADMAN" + "id": 32935, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "789:31:60", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } }, "visibility": "public" }, { - "id": 8751, + "id": 32941, "nodeType": "VariableDeclaration", - "src": "747:27:46", + "src": "826:92:60", + "nodes": [], + "constant": true, + "functionSelector": "740adf31", + "mutability": "constant", + "name": "LAZY_ROYALTY_GUARD_DEADMAN", + "nameLocation": "850:26:60", + "scope": 33297, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32937, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "826:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4c415a595f524f59414c54595f47554152445f444541444d414e", + "id": 32939, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "889:28:60", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c6625170", + "typeString": "literal_string \"LAZY_ROYALTY_GUARD_DEADMAN\"" + }, + "value": "LAZY_ROYALTY_GUARD_DEADMAN" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c6625170", + "typeString": "literal_string \"LAZY_ROYALTY_GUARD_DEADMAN\"" + } + ], + "id": 32938, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "879:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 32940, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "879:39:60", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 32943, + "nodeType": "VariableDeclaration", + "src": "925:27:60", "nodes": [], "constant": false, "functionSelector": "d05df883", "mutability": "mutable", "name": "sovereignNFT", - "nameLocation": "762:12:46", - "scope": 9153, + "nameLocation": "940:12:60", + "scope": 33297, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1265,10 +1769,10 @@ "typeString": "address" }, "typeName": { - "id": 8750, + "id": 32942, "name": "address", "nodeType": "ElementaryTypeName", - "src": "747:7:46", + "src": "925:7:60", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1278,16 +1782,16 @@ "visibility": "public" }, { - "id": 8753, + "id": 32945, "nodeType": "VariableDeclaration", - "src": "780:39:46", + "src": "958:39:60", "nodes": [], "constant": false, "functionSelector": "c9be0590", "mutability": "mutable", "name": "sovereignNFTRoyaltyGuard", - "nameLocation": "795:24:46", - "scope": 9153, + "nameLocation": "973:24:60", + "scope": 33297, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1295,10 +1799,10 @@ "typeString": "address" }, "typeName": { - "id": 8752, + "id": 32944, "name": "address", "nodeType": "ElementaryTypeName", - "src": "780:7:46", + "src": "958:7:60", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1308,16 +1812,46 @@ "visibility": "public" }, { - "id": 8755, + "id": 32947, "nodeType": "VariableDeclaration", - "src": "825:53:46", + "src": "1003:53:60", "nodes": [], "constant": false, "functionSelector": "d1e0f700", "mutability": "mutable", "name": "sovereignNFTRoyaltyGuardDeadmanTrigger", - "nameLocation": "840:38:46", - "scope": 9153, + "nameLocation": "1018:38:60", + "scope": 33297, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32946, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1003:7:60", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "id": 32949, + "nodeType": "VariableDeclaration", + "src": "1062:31:60", + "nodes": [], + "constant": false, + "functionSelector": "f5e0e6df", + "mutability": "mutable", + "name": "lazySovereignNFT", + "nameLocation": "1077:16:60", + "scope": 33297, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1325,10 +1859,10 @@ "typeString": "address" }, "typeName": { - "id": 8754, + "id": 32948, "name": "address", "nodeType": "ElementaryTypeName", - "src": "825:7:46", + "src": "1062:7:60", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1338,28 +1872,88 @@ "visibility": "public" }, { - "id": 8761, + "id": 32951, + "nodeType": "VariableDeclaration", + "src": "1099:43:60", + "nodes": [], + "constant": false, + "functionSelector": "22d60fcb", + "mutability": "mutable", + "name": "lazySovereignNFTRoyaltyGuard", + "nameLocation": "1114:28:60", + "scope": 33297, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32950, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1099:7:60", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "id": 32953, + "nodeType": "VariableDeclaration", + "src": "1148:57:60", + "nodes": [], + "constant": false, + "functionSelector": "c4dca7ab", + "mutability": "mutable", + "name": "lazySovereignNFTRoyaltyGuardDeadmanTrigger", + "nameLocation": "1163:42:60", + "scope": 33297, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32952, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1148:7:60", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "id": 32959, "nodeType": "EventDefinition", - "src": "885:112:46", + "src": "1212:112:60", "nodes": [], "anonymous": false, "eventSelector": "46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec", "name": "SovereignNFTContractCreated", - "nameLocation": "891:27:46", + "nameLocation": "1218:27:60", "parameters": { - "id": 8760, + "id": 32958, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8757, + "id": 32955, "indexed": true, "mutability": "mutable", "name": "contractAddress", - "nameLocation": "944:15:46", + "nameLocation": "1271:15:60", "nodeType": "VariableDeclaration", - "scope": 8761, - "src": "928:31:46", + "scope": 32959, + "src": "1255:31:60", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1367,10 +1961,10 @@ "typeString": "address" }, "typeName": { - "id": 8756, + "id": 32954, "name": "address", "nodeType": "ElementaryTypeName", - "src": "928:7:46", + "src": "1255:7:60", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1381,14 +1975,14 @@ }, { "constant": false, - "id": 8759, + "id": 32957, "indexed": true, "mutability": "mutable", "name": "owner", - "nameLocation": "985:5:46", + "nameLocation": "1312:5:60", "nodeType": "VariableDeclaration", - "scope": 8761, - "src": "969:21:46", + "scope": 32959, + "src": "1296:21:60", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1396,10 +1990,10 @@ "typeString": "address" }, "typeName": { - "id": 8758, + "id": 32956, "name": "address", "nodeType": "ElementaryTypeName", - "src": "969:7:46", + "src": "1296:7:60", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1409,323 +2003,198 @@ "visibility": "internal" } ], - "src": "918:78:46" + "src": "1245:78:60" } }, { - "id": 8828, - "nodeType": "FunctionDefinition", - "src": "1003:671:46", + "id": 32967, + "nodeType": "EventDefinition", + "src": "1330:150:60", "nodes": [], - "body": { - "id": 8827, - "nodeType": "Block", - "src": "1045:629:46", - "nodes": [], - "statements": [ + "anonymous": false, + "eventSelector": "eec8a411955d10f84b6b0e3110b206d0888593b71381b8ca931e8f131f7eb365", + "name": "SovereignNFTContractCreated", + "nameLocation": "1336:27:60", + "parameters": { + "id": 32966, + "nodeType": "ParameterList", + "parameters": [ { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 8767, - "name": "_marketplaceSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8763, - "src": "1076:20:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 8770, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1108:1:46", - "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": 8769, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1100:7:46", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8768, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1100:7:46", - "typeDescriptions": {} - } - }, - "id": 8771, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1100:10:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1076:34:46", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "636f6e7374727563746f723a3a5f6d61726b6574706c61636553657474696e67732063616e6e6f74206265207a65726f20616464726573732e", - "id": 8773, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1124:59:46", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f57325f33ac66a6667f1a9042c234dd9b526821569765500a7204f261a8784ec", - "typeString": "literal_string \"constructor::_marketplaceSettings cannot be zero address.\"" - }, - "value": "constructor::_marketplaceSettings cannot be zero address." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f57325f33ac66a6667f1a9042c234dd9b526821569765500a7204f261a8784ec", - "typeString": "literal_string \"constructor::_marketplaceSettings cannot be zero address.\"" - } - ], - "id": 8766, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], - "referencedDeclaration": -18, - "src": "1055:7:46", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1055:138:46", - "tryCall": false, + "constant": false, + "id": 32961, + "indexed": true, + "mutability": "mutable", + "name": "contractAddress", + "nameLocation": "1389:15:60", + "nodeType": "VariableDeclaration", + "scope": 32967, + "src": "1373:31:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32960, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1373:7:60", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 8775, - "nodeType": "ExpressionStatement", - "src": "1055:138:46" + "visibility": "internal" }, { - "expression": { - "id": 8780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 8776, - "name": "marketplaceSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8740, - "src": "1204:19:46", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IMarketplaceSettings_$74", - "typeString": "contract IMarketplaceSettings" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 8778, - "name": "_marketplaceSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8763, - "src": "1247:20:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8777, - "name": "IMarketplaceSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74, - "src": "1226:20:46", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IMarketplaceSettings_$74_$", - "typeString": "type(contract IMarketplaceSettings)" - } - }, - "id": 8779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1226:42:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IMarketplaceSettings_$74", - "typeString": "contract IMarketplaceSettings" - } - }, - "src": "1204:64:46", + "constant": false, + "id": 32963, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1430:5:60", + "nodeType": "VariableDeclaration", + "scope": 32967, + "src": "1414:21:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32962, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1414:7:60", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 32965, + "indexed": true, + "mutability": "mutable", + "name": "contractType", + "nameLocation": "1461:12:60", + "nodeType": "VariableDeclaration", + "scope": 32967, + "src": "1445:28:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 32964, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1445:7:60", "typeDescriptions": { - "typeIdentifier": "t_contract$_IMarketplaceSettings_$74", - "typeString": "contract IMarketplaceSettings" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 8781, - "nodeType": "ExpressionStatement", - "src": "1204:64:46" - }, + "visibility": "internal" + } + ], + "src": "1363:116:60" + } + }, + { + "id": 33016, + "nodeType": "FunctionDefinition", + "src": "1486:419:60", + "nodes": [], + "body": { + "id": 33015, + "nodeType": "Block", + "src": "1500:405:60", + "nodes": [], + "statements": [ { - "assignments": [8784], + "assignments": [ + 32972 + ], "declarations": [ { "constant": false, - "id": 8784, + "id": 32972, "mutability": "mutable", "name": "sovNFT", - "nameLocation": "1292:6:46", + "nameLocation": "1523:6:60", "nodeType": "VariableDeclaration", - "scope": 8827, - "src": "1279:19:46", + "scope": 33015, + "src": "1510:19:60", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFT_$8727", + "typeIdentifier": "t_contract$_SovereignNFT_$32902", "typeString": "contract SovereignNFT" }, "typeName": { - "id": 8783, + "id": 32971, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 8782, + "id": 32970, "name": "SovereignNFT", "nodeType": "IdentifierPath", - "referencedDeclaration": 8727, - "src": "1279:12:46" + "referencedDeclaration": 32902, + "src": "1510:12:60" }, - "referencedDeclaration": 8727, - "src": "1279:12:46", + "referencedDeclaration": 32902, + "src": "1510:12:60", "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFT_$8727", + "typeIdentifier": "t_contract$_SovereignNFT_$32902", "typeString": "contract SovereignNFT" } }, "visibility": "internal" } ], - "id": 8789, + "id": 32977, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 8787, + "id": 32975, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", - "src": "1301:16:46", + "src": "1532:16:60", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_SovereignNFT_$8727_$", + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_SovereignNFT_$32902_$", "typeString": "function () returns (contract SovereignNFT)" }, "typeName": { - "id": 8786, + "id": 32974, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 8785, + "id": 32973, "name": "SovereignNFT", "nodeType": "IdentifierPath", - "referencedDeclaration": 8727, - "src": "1305:12:46" + "referencedDeclaration": 32902, + "src": "1536:12:60" }, - "referencedDeclaration": 8727, - "src": "1305:12:46", + "referencedDeclaration": 32902, + "src": "1536:12:60", "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFT_$8727", + "typeIdentifier": "t_contract$_SovereignNFT_$32902", "typeString": "contract SovereignNFT" } } }, - "id": 8788, + "id": 32976, "isConstant": false, "isLValue": false, "isPure": false, @@ -1733,30 +2202,30 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1301:18:46", + "src": "1532:18:60", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFT_$8727", + "typeIdentifier": "t_contract$_SovereignNFT_$32902", "typeString": "contract SovereignNFT" } }, "nodeType": "VariableDeclarationStatement", - "src": "1279:40:46" + "src": "1510:40:60" }, { "expression": { - "id": 8795, + "id": 32983, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 8790, + "id": 32978, "name": "sovereignNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "1329:12:46", + "referencedDeclaration": 32943, + "src": "1560:12:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1767,14 +2236,14 @@ "rightHandSide": { "arguments": [ { - "id": 8793, + "id": 32981, "name": "sovNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8784, - "src": "1352:6:46", + "referencedDeclaration": 32972, + "src": "1583:6:60", "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFT_$8727", + "typeIdentifier": "t_contract$_SovereignNFT_$32902", "typeString": "contract SovereignNFT" } } @@ -1782,30 +2251,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SovereignNFT_$8727", + "typeIdentifier": "t_contract$_SovereignNFT_$32902", "typeString": "contract SovereignNFT" } ], - "id": 8792, + "id": 32980, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1344:7:46", + "src": "1575:7:60", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 8791, + "id": 32979, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1344:7:46", + "src": "1575:7:60", "typeDescriptions": {} } }, - "id": 8794, + "id": 32982, "isConstant": false, "isLValue": false, "isPure": false, @@ -1813,96 +2282,98 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1344:15:46", + "src": "1575:15:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1329:30:46", + "src": "1560:30:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 8796, + "id": 32984, "nodeType": "ExpressionStatement", - "src": "1329:30:46" + "src": "1560:30:60" }, { - "assignments": [8799], + "assignments": [ + 32987 + ], "declarations": [ { "constant": false, - "id": 8799, + "id": 32987, "mutability": "mutable", "name": "sovNFTRG", - "nameLocation": "1395:8:46", + "nameLocation": "1626:8:60", "nodeType": "VariableDeclaration", - "scope": 8827, - "src": "1370:33:46", + "scope": 33015, + "src": "1601:33:60", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuard_$9239", + "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuard_$33383", "typeString": "contract SovereignNFTRoyaltyGuard" }, "typeName": { - "id": 8798, + "id": 32986, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 8797, + "id": 32985, "name": "SovereignNFTRoyaltyGuard", "nodeType": "IdentifierPath", - "referencedDeclaration": 9239, - "src": "1370:24:46" + "referencedDeclaration": 33383, + "src": "1601:24:60" }, - "referencedDeclaration": 9239, - "src": "1370:24:46", + "referencedDeclaration": 33383, + "src": "1601:24:60", "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuard_$9239", + "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuard_$33383", "typeString": "contract SovereignNFTRoyaltyGuard" } }, "visibility": "internal" } ], - "id": 8804, + "id": 32992, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 8802, + "id": 32990, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", - "src": "1406:28:46", + "src": "1637:28:60", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_SovereignNFTRoyaltyGuard_$9239_$", + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_SovereignNFTRoyaltyGuard_$33383_$", "typeString": "function () returns (contract SovereignNFTRoyaltyGuard)" }, "typeName": { - "id": 8801, + "id": 32989, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 8800, + "id": 32988, "name": "SovereignNFTRoyaltyGuard", "nodeType": "IdentifierPath", - "referencedDeclaration": 9239, - "src": "1410:24:46" + "referencedDeclaration": 33383, + "src": "1641:24:60" }, - "referencedDeclaration": 9239, - "src": "1410:24:46", + "referencedDeclaration": 33383, + "src": "1641:24:60", "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuard_$9239", + "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuard_$33383", "typeString": "contract SovereignNFTRoyaltyGuard" } } }, - "id": 8803, + "id": 32991, "isConstant": false, "isLValue": false, "isPure": false, @@ -1910,30 +2381,30 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1406:30:46", + "src": "1637:30:60", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuard_$9239", + "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuard_$33383", "typeString": "contract SovereignNFTRoyaltyGuard" } }, "nodeType": "VariableDeclarationStatement", - "src": "1370:66:46" + "src": "1601:66:60" }, { "expression": { - "id": 8810, + "id": 32998, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 8805, + "id": 32993, "name": "sovereignNFTRoyaltyGuard", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8753, - "src": "1446:24:46", + "referencedDeclaration": 32945, + "src": "1677:24:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1944,14 +2415,14 @@ "rightHandSide": { "arguments": [ { - "id": 8808, + "id": 32996, "name": "sovNFTRG", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8799, - "src": "1481:8:46", + "referencedDeclaration": 32987, + "src": "1712:8:60", "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuard_$9239", + "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuard_$33383", "typeString": "contract SovereignNFTRoyaltyGuard" } } @@ -1959,30 +2430,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuard_$9239", + "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuard_$33383", "typeString": "contract SovereignNFTRoyaltyGuard" } ], - "id": 8807, + "id": 32995, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1473:7:46", + "src": "1704:7:60", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 8806, + "id": 32994, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1473:7:46", + "src": "1704:7:60", "typeDescriptions": {} } }, - "id": 8809, + "id": 32997, "isConstant": false, "isLValue": false, "isPure": false, @@ -1990,96 +2461,98 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1473:17:46", + "src": "1704:17:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1446:44:46", + "src": "1677:44:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 8811, + "id": 32999, "nodeType": "ExpressionStatement", - "src": "1446:44:46" + "src": "1677:44:60" }, { - "assignments": [8814], + "assignments": [ + 33002 + ], "declarations": [ { "constant": false, - "id": 8814, + "id": 33002, "mutability": "mutable", "name": "sovNFTRGDT", - "nameLocation": "1540:10:46", + "nameLocation": "1771:10:60", "nodeType": "VariableDeclaration", - "scope": 8827, - "src": "1501:49:46", + "scope": 33015, + "src": "1732:49:60", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuardDeadmanTrigger_$9327", + "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuardDeadmanTrigger_$33471", "typeString": "contract SovereignNFTRoyaltyGuardDeadmanTrigger" }, "typeName": { - "id": 8813, + "id": 33001, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 8812, + "id": 33000, "name": "SovereignNFTRoyaltyGuardDeadmanTrigger", "nodeType": "IdentifierPath", - "referencedDeclaration": 9327, - "src": "1501:38:46" + "referencedDeclaration": 33471, + "src": "1732:38:60" }, - "referencedDeclaration": 9327, - "src": "1501:38:46", + "referencedDeclaration": 33471, + "src": "1732:38:60", "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuardDeadmanTrigger_$9327", + "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuardDeadmanTrigger_$33471", "typeString": "contract SovereignNFTRoyaltyGuardDeadmanTrigger" } }, "visibility": "internal" } ], - "id": 8819, + "id": 33007, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 8817, + "id": 33005, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", - "src": "1553:42:46", + "src": "1784:42:60", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_SovereignNFTRoyaltyGuardDeadmanTrigger_$9327_$", + "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_SovereignNFTRoyaltyGuardDeadmanTrigger_$33471_$", "typeString": "function () returns (contract SovereignNFTRoyaltyGuardDeadmanTrigger)" }, "typeName": { - "id": 8816, + "id": 33004, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 8815, + "id": 33003, "name": "SovereignNFTRoyaltyGuardDeadmanTrigger", "nodeType": "IdentifierPath", - "referencedDeclaration": 9327, - "src": "1557:38:46" + "referencedDeclaration": 33471, + "src": "1788:38:60" }, - "referencedDeclaration": 9327, - "src": "1557:38:46", + "referencedDeclaration": 33471, + "src": "1788:38:60", "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuardDeadmanTrigger_$9327", + "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuardDeadmanTrigger_$33471", "typeString": "contract SovereignNFTRoyaltyGuardDeadmanTrigger" } } }, - "id": 8818, + "id": 33006, "isConstant": false, "isLValue": false, "isPure": false, @@ -2087,30 +2560,30 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1553:44:46", + "src": "1784:44:60", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuardDeadmanTrigger_$9327", + "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuardDeadmanTrigger_$33471", "typeString": "contract SovereignNFTRoyaltyGuardDeadmanTrigger" } }, "nodeType": "VariableDeclarationStatement", - "src": "1501:96:46" + "src": "1732:96:60" }, { "expression": { - "id": 8825, + "id": 33013, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 8820, + "id": 33008, "name": "sovereignNFTRoyaltyGuardDeadmanTrigger", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8755, - "src": "1607:38:46", + "referencedDeclaration": 32947, + "src": "1838:38:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2121,14 +2594,14 @@ "rightHandSide": { "arguments": [ { - "id": 8823, + "id": 33011, "name": "sovNFTRGDT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8814, - "src": "1656:10:46", + "referencedDeclaration": 33002, + "src": "1887:10:60", "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuardDeadmanTrigger_$9327", + "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuardDeadmanTrigger_$33471", "typeString": "contract SovereignNFTRoyaltyGuardDeadmanTrigger" } } @@ -2136,304 +2609,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuardDeadmanTrigger_$9327", + "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuardDeadmanTrigger_$33471", "typeString": "contract SovereignNFTRoyaltyGuardDeadmanTrigger" } ], - "id": 8822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1648:7:46", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8821, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1648:7:46", - "typeDescriptions": {} - } - }, - "id": 8824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1648:19:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1607:60:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 8826, - "nodeType": "ExpressionStatement", - "src": "1607:60:46" - } - ] - }, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 8764, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8763, - "mutability": "mutable", - "name": "_marketplaceSettings", - "nameLocation": "1023:20:46", - "nodeType": "VariableDeclaration", - "scope": 8828, - "src": "1015:28:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8762, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1015:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1014:30:46" - }, - "returnParameters": { - "id": 8765, - "nodeType": "ParameterList", - "parameters": [], - "src": "1045:0:46" - }, - "scope": 9153, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 8851, - "nodeType": "FunctionDefinition", - "src": "1680:235:46", - "nodes": [], - "body": { - "id": 8850, - "nodeType": "Block", - "src": "1781:134:46", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 8836, - "name": "_marketplaceSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8830, - "src": "1799:20:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 8839, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1831:1:46", - "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": 8838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1823:7:46", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8837, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1823:7:46", - "typeDescriptions": {} - } - }, - "id": 8840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1823:10:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1799:34:46", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 8835, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], - "referencedDeclaration": -18, - "src": "1791:7:46", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 8842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1791:43:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8843, - "nodeType": "ExpressionStatement", - "src": "1791:43:46" - }, - { - "expression": { - "id": 8848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 8844, - "name": "marketplaceSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8740, - "src": "1844:19:46", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IMarketplaceSettings_$74", - "typeString": "contract IMarketplaceSettings" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 8846, - "name": "_marketplaceSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8830, - "src": "1887:20:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8845, - "name": "IMarketplaceSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74, - "src": "1866:20:46", + "id": 33010, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1879:7:60", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IMarketplaceSettings_$74_$", - "typeString": "type(contract IMarketplaceSettings)" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 33009, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1879:7:60", + "typeDescriptions": {} } }, - "id": 8847, + "id": 33012, "isConstant": false, "isLValue": false, "isPure": false, @@ -2441,100 +2640,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1866:42:46", + "src": "1879:19:60", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IMarketplaceSettings_$74", - "typeString": "contract IMarketplaceSettings" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "1844:64:46", + "src": "1838:60:60", "typeDescriptions": { - "typeIdentifier": "t_contract$_IMarketplaceSettings_$74", - "typeString": "contract IMarketplaceSettings" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 8849, + "id": 33014, "nodeType": "ExpressionStatement", - "src": "1844:64:46" + "src": "1838:60:60" } ] }, - "functionSelector": "176ab440", "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 8833, - "kind": "modifierInvocation", - "modifierName": { - "id": 8832, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4762, - "src": "1767:9:46" - }, - "nodeType": "ModifierInvocation", - "src": "1767:9:46" - } - ], - "name": "setMarketplaceSettings", - "nameLocation": "1689:22:46", + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", "parameters": { - "id": 8831, + "id": 32968, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8830, - "mutability": "mutable", - "name": "_marketplaceSettings", - "nameLocation": "1720:20:46", - "nodeType": "VariableDeclaration", - "scope": 8851, - "src": "1712:28:46", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8829, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1712:7:46", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1711:30:46" + "parameters": [], + "src": "1497:2:60" }, "returnParameters": { - "id": 8834, + "id": 32969, "nodeType": "ParameterList", "parameters": [], - "src": "1781:0:46" + "src": "1500:0:60" }, - "scope": 9153, + "scope": 33297, "stateMutability": "nonpayable", "virtual": false, - "visibility": "external" + "visibility": "public" }, { - "id": 8872, + "id": 33037, "nodeType": "FunctionDefinition", - "src": "1921:158:46", + "src": "1911:158:60", "nodes": [], "body": { - "id": 8871, + "id": 33036, "nodeType": "Block", - "src": "1988:91:46", + "src": "1978:91:60", "nodes": [], "statements": [ { @@ -2545,18 +2700,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8864, + "id": 33029, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8859, + "id": 33024, "name": "_sovereignNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8853, - "src": "2006:13:46", + "referencedDeclaration": 33018, + "src": "1996:13:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2568,14 +2723,14 @@ "arguments": [ { "hexValue": "30", - "id": 8862, + "id": 33027, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2031:1:46", + "src": "2021:1:60", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -2590,26 +2745,26 @@ "typeString": "int_const 0" } ], - "id": 8861, + "id": 33026, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2023:7:46", + "src": "2013:7:60", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 8860, + "id": 33025, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2023:7:46", + "src": "2013:7:60", "typeDescriptions": {} } }, - "id": 8863, + "id": 33028, "isConstant": false, "isLValue": false, "isPure": true, @@ -2617,14 +2772,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2023:10:46", + "src": "2013:10:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2006:27:46", + "src": "1996:27:60", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2638,18 +2793,21 @@ "typeString": "bool" } ], - "id": 8858, + "id": 33023, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "1998:7:46", + "src": "1988:7:60", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 8865, + "id": 33030, "isConstant": false, "isLValue": false, "isPure": false, @@ -2657,31 +2815,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1998:36:46", + "src": "1988:36:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8866, + "id": 33031, "nodeType": "ExpressionStatement", - "src": "1998:36:46" + "src": "1988:36:60" }, { "expression": { - "id": 8869, + "id": 33034, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 8867, + "id": 33032, "name": "sovereignNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "2044:12:46", + "referencedDeclaration": 32943, + "src": "2034:12:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2690,26 +2848,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 8868, + "id": 33033, "name": "_sovereignNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8853, - "src": "2059:13:46", + "referencedDeclaration": 33018, + "src": "2049:13:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2044:28:46", + "src": "2034:28:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 8870, + "id": 33035, "nodeType": "ExpressionStatement", - "src": "2044:28:46" + "src": "2034:28:60" } ] }, @@ -2718,34 +2876,34 @@ "kind": "function", "modifiers": [ { - "id": 8856, + "id": 33021, "kind": "modifierInvocation", "modifierName": { - "id": 8855, + "id": 33020, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 4762, - "src": "1978:9:46" + "referencedDeclaration": 28869, + "src": "1968:9:60" }, "nodeType": "ModifierInvocation", - "src": "1978:9:46" + "src": "1968:9:60" } ], "name": "setSovereignNFT", - "nameLocation": "1930:15:46", + "nameLocation": "1920:15:60", "parameters": { - "id": 8854, + "id": 33019, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8853, + "id": 33018, "mutability": "mutable", "name": "_sovereignNFT", - "nameLocation": "1954:13:46", + "nameLocation": "1944:13:60", "nodeType": "VariableDeclaration", - "scope": 8872, - "src": "1946:21:46", + "scope": 33037, + "src": "1936:21:60", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2753,10 +2911,10 @@ "typeString": "address" }, "typeName": { - "id": 8852, + "id": 33017, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1946:7:46", + "src": "1936:7:60", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2766,28 +2924,28 @@ "visibility": "internal" } ], - "src": "1945:23:46" + "src": "1935:23:60" }, "returnParameters": { - "id": 8857, + "id": 33022, "nodeType": "ParameterList", "parameters": [], - "src": "1988:0:46" + "src": "1978:0:60" }, - "scope": 9153, + "scope": 33297, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 8926, + "id": 33091, "nodeType": "FunctionDefinition", - "src": "2085:634:46", + "src": "2075:635:60", "nodes": [], "body": { - "id": 8925, + "id": 33090, "nodeType": "Block", - "src": "2195:524:46", + "src": "2185:525:60", "nodes": [], "statements": [ { @@ -2798,18 +2956,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8887, + "id": 33052, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8882, + "id": 33047, "name": "_sovereignNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8874, - "src": "2213:13:46", + "referencedDeclaration": 33039, + "src": "2203:13:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2821,14 +2979,14 @@ "arguments": [ { "hexValue": "30", - "id": 8885, + "id": 33050, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2238:1:46", + "src": "2228:1:60", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -2843,26 +3001,26 @@ "typeString": "int_const 0" } ], - "id": 8884, + "id": 33049, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2230:7:46", + "src": "2220:7:60", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 8883, + "id": 33048, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2230:7:46", + "src": "2220:7:60", "typeDescriptions": {} } }, - "id": 8886, + "id": 33051, "isConstant": false, "isLValue": false, "isPure": true, @@ -2870,14 +3028,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2230:10:46", + "src": "2220:10:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2213:27:46", + "src": "2203:27:60", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2891,18 +3049,21 @@ "typeString": "bool" } ], - "id": 8881, + "id": 33046, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "2205:7:46", + "src": "2195:7:60", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 8888, + "id": 33053, "isConstant": false, "isLValue": false, "isPure": false, @@ -2910,16 +3071,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2205:36:46", + "src": "2195:36:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8889, + "id": 33054, "nodeType": "ExpressionStatement", - "src": "2205:36:46" + "src": "2195:36:60" }, { "condition": { @@ -2927,18 +3088,18 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 8892, + "id": 33057, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8890, + "id": 33055, "name": "_contractType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8876, - "src": "2255:13:46", + "referencedDeclaration": 33041, + "src": "2245:13:60", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2947,45 +3108,45 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 8891, + "id": 33056, "name": "SOVEREIGN_NFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8743, - "src": "2272:13:46", + "referencedDeclaration": 32916, + "src": "2262:13:60", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "2255:30:46", + "src": "2245:30:60", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8899, + "id": 33064, "nodeType": "IfStatement", - "src": "2251:109:46", + "src": "2241:109:60", "trueBody": { - "id": 8898, + "id": 33063, "nodeType": "Block", - "src": "2287:73:46", + "src": "2277:73:60", "statements": [ { "expression": { - "id": 8895, + "id": 33060, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 8893, + "id": 33058, "name": "sovereignNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "2301:12:46", + "referencedDeclaration": 32943, + "src": "2291:12:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2994,32 +3155,32 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 8894, + "id": 33059, "name": "_sovereignNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8874, - "src": "2316:13:46", + "referencedDeclaration": 33039, + "src": "2306:13:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2301:28:46", + "src": "2291:28:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 8896, + "id": 33061, "nodeType": "ExpressionStatement", - "src": "2301:28:46" + "src": "2291:28:60" }, { - "functionReturnParameters": 8880, - "id": 8897, + "functionReturnParameters": 33045, + "id": 33062, "nodeType": "Return", - "src": "2343:7:46" + "src": "2333:7:60" } ] } @@ -3030,18 +3191,18 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 8902, + "id": 33067, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8900, + "id": 33065, "name": "_contractType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8876, - "src": "2373:13:46", + "referencedDeclaration": 33041, + "src": "2363:13:60", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3050,45 +3211,45 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 8901, + "id": 33066, "name": "ROYALTY_GUARD", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8746, - "src": "2390:13:46", + "referencedDeclaration": 32921, + "src": "2380:13:60", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "2373:30:46", + "src": "2363:30:60", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8909, + "id": 33074, "nodeType": "IfStatement", - "src": "2369:121:46", + "src": "2359:121:60", "trueBody": { - "id": 8908, + "id": 33073, "nodeType": "Block", - "src": "2405:85:46", + "src": "2395:85:60", "statements": [ { "expression": { - "id": 8905, + "id": 33070, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 8903, + "id": 33068, "name": "sovereignNFTRoyaltyGuard", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8753, - "src": "2419:24:46", + "referencedDeclaration": 32945, + "src": "2409:24:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3097,32 +3258,32 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 8904, + "id": 33069, "name": "_sovereignNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8874, - "src": "2446:13:46", + "referencedDeclaration": 33039, + "src": "2436:13:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2419:40:46", + "src": "2409:40:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 8906, + "id": 33071, "nodeType": "ExpressionStatement", - "src": "2419:40:46" + "src": "2409:40:60" }, { - "functionReturnParameters": 8880, - "id": 8907, + "functionReturnParameters": 33045, + "id": 33072, "nodeType": "Return", - "src": "2473:7:46" + "src": "2463:7:60" } ] } @@ -3133,18 +3294,18 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 8912, + "id": 33077, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8910, + "id": 33075, "name": "_contractType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8876, - "src": "2503:13:46", + "referencedDeclaration": 33041, + "src": "2493:13:60", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3153,45 +3314,45 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 8911, + "id": 33076, "name": "ROYALTY_GUARD_DEADMAN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8749, - "src": "2520:21:46", + "referencedDeclaration": 32926, + "src": "2510:21:60", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "2503:38:46", + "src": "2493:38:60", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8919, + "id": 33084, "nodeType": "IfStatement", - "src": "2499:143:46", + "src": "2489:143:60", "trueBody": { - "id": 8918, + "id": 33083, "nodeType": "Block", - "src": "2543:99:46", + "src": "2533:99:60", "statements": [ { "expression": { - "id": 8915, + "id": 33080, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 8913, + "id": 33078, "name": "sovereignNFTRoyaltyGuardDeadmanTrigger", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8755, - "src": "2557:38:46", + "referencedDeclaration": 32947, + "src": "2547:38:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3200,32 +3361,32 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 8914, + "id": 33079, "name": "_sovereignNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8874, - "src": "2598:13:46", + "referencedDeclaration": 33039, + "src": "2588:13:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2557:54:46", + "src": "2547:54:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 8916, + "id": 33081, "nodeType": "ExpressionStatement", - "src": "2557:54:46" + "src": "2547:54:60" }, { - "functionReturnParameters": 8880, - "id": 8917, + "functionReturnParameters": 33045, + "id": 33082, "nodeType": "Return", - "src": "2625:7:46" + "src": "2615:7:60" } ] } @@ -3235,14 +3396,14 @@ "arguments": [ { "hexValue": "66616c7365", - "id": 8921, + "id": 33086, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2659:5:46", + "src": "2650:5:60", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3251,14 +3412,14 @@ }, { "hexValue": "736574536f7665726569676e4e46543a3a556e737570706f72746564205f636f6e7472616374547970652e", - "id": 8922, + "id": 33087, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2666:45:46", + "src": "2657:45:60", "typeDescriptions": { "typeIdentifier": "t_stringliteral_365f6c67456e1ce84bc4ef8e31e19e1062eacf868ad456d3be3bc47bb66c957e", "typeString": "literal_string \"setSovereignNFT::Unsupported _contractType.\"" @@ -3277,18 +3438,21 @@ "typeString": "literal_string \"setSovereignNFT::Unsupported _contractType.\"" } ], - "id": 8920, + "id": 33085, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "2651:7:46", + "src": "2642:7:60", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8923, + "id": 33088, "isConstant": false, "isLValue": false, "isPure": false, @@ -3296,16 +3460,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2651:61:46", + "src": "2642:61:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8924, + "id": 33089, "nodeType": "ExpressionStatement", - "src": "2651:61:46" + "src": "2642:61:60" } ] }, @@ -3314,34 +3478,34 @@ "kind": "function", "modifiers": [ { - "id": 8879, + "id": 33044, "kind": "modifierInvocation", "modifierName": { - "id": 8878, + "id": 33043, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 4762, - "src": "2181:9:46" + "referencedDeclaration": 28869, + "src": "2171:9:60" }, "nodeType": "ModifierInvocation", - "src": "2181:9:46" + "src": "2171:9:60" } ], "name": "setSovereignNFT", - "nameLocation": "2094:15:46", + "nameLocation": "2084:15:60", "parameters": { - "id": 8877, + "id": 33042, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8874, + "id": 33039, "mutability": "mutable", "name": "_sovereignNFT", - "nameLocation": "2118:13:46", + "nameLocation": "2108:13:60", "nodeType": "VariableDeclaration", - "scope": 8926, - "src": "2110:21:46", + "scope": 33091, + "src": "2100:21:60", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3349,10 +3513,10 @@ "typeString": "address" }, "typeName": { - "id": 8873, + "id": 33038, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2110:7:46", + "src": "2100:7:60", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3363,13 +3527,13 @@ }, { "constant": false, - "id": 8876, + "id": 33041, "mutability": "mutable", "name": "_contractType", - "nameLocation": "2141:13:46", + "nameLocation": "2131:13:60", "nodeType": "VariableDeclaration", - "scope": 8926, - "src": "2133:21:46", + "scope": 33091, + "src": "2123:21:60", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3377,10 +3541,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 8875, + "id": 33040, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2133:7:46", + "src": "2123:7:60", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3389,28 +3553,28 @@ "visibility": "internal" } ], - "src": "2109:46:46" + "src": "2099:46:60" }, "returnParameters": { - "id": 8880, + "id": 33045, "nodeType": "ParameterList", "parameters": [], - "src": "2195:0:46" + "src": "2185:0:60" }, - "scope": 9153, + "scope": 33297, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 8981, + "id": 33139, "nodeType": "FunctionDefinition", - "src": "2725:637:46", + "src": "2716:519:60", "nodes": [], "body": { - "id": 8980, + "id": 33138, "nodeType": "Block", - "src": "2880:482:46", + "src": "2871:364:60", "nodes": [], "statements": [ { @@ -3421,18 +3585,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8940, + "id": 33105, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8938, + "id": 33103, "name": "_maxTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8932, - "src": "2911:10:46", + "referencedDeclaration": 33097, + "src": "2902:10:60", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3442,21 +3606,21 @@ "operator": "!=", "rightExpression": { "hexValue": "30", - "id": 8939, + "id": 33104, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2925:1:46", + "src": "2916:1:60", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "2911:15:46", + "src": "2902:15:60", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3464,14 +3628,14 @@ }, { "hexValue": "637265617465536f7665726569676e4e4654436f6e74726163743a3a5f6d6178546f6b656e732063616e74206265207a65726f", - "id": 8941, + "id": 33106, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2940:53:46", + "src": "2931:53:60", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6a88a19143de23347e5503714575555c74233b2ddf44ce438aef8481b84e220c", "typeString": "literal_string \"createSovereignNFTContract::_maxTokens cant be zero\"" @@ -3490,18 +3654,21 @@ "typeString": "literal_string \"createSovereignNFTContract::_maxTokens cant be zero\"" } ], - "id": 8937, + "id": 33102, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "2890:7:46", + "src": "2881:7:60", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 8942, + "id": 33107, "isConstant": false, "isLValue": false, "isPure": false, @@ -3509,29 +3676,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2890:113:46", + "src": "2881:113:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8943, + "id": 33108, "nodeType": "ExpressionStatement", - "src": "2890:113:46" + "src": "2881:113:60" }, { - "assignments": [8945], + "assignments": [ + 33110 + ], "declarations": [ { "constant": false, - "id": 8945, + "id": 33110, "mutability": "mutable", "name": "sovAddr", - "nameLocation": "3021:7:46", + "nameLocation": "3012:7:60", "nodeType": "VariableDeclaration", - "scope": 8980, - "src": "3013:15:46", + "scope": 33138, + "src": "3004:15:60", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3539,10 +3708,10 @@ "typeString": "address" }, "typeName": { - "id": 8944, + "id": 33109, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3013:7:46", + "src": "3004:7:60", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3552,16 +3721,16 @@ "visibility": "internal" } ], - "id": 8950, + "id": 33115, "initialValue": { "arguments": [ { - "id": 8948, + "id": 33113, "name": "sovereignNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "3044:12:46", + "referencedDeclaration": 32943, + "src": "3035:12:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3576,32 +3745,32 @@ } ], "expression": { - "id": 8946, + "id": 33111, "name": "Clones", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4900, - "src": "3031:6:46", + "referencedDeclaration": 29007, + "src": "3022:6:60", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Clones_$4900_$", + "typeIdentifier": "t_type$_t_contract$_Clones_$29007_$", "typeString": "type(library Clones)" } }, - "id": 8947, + "id": 33112, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "clone", "nodeType": "MemberAccess", - "referencedDeclaration": 4843, - "src": "3031:12:46", + "referencedDeclaration": 28950, + "src": "3022:12:60", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_address_$", "typeString": "function (address) returns (address)" } }, - "id": 8949, + "id": 33114, "isConstant": false, "isLValue": false, "isPure": false, @@ -3609,7 +3778,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3031:26:46", + "src": "3022:26:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -3617,30 +3786,30 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "3013:44:46" + "src": "3004:44:60" }, { "expression": { "arguments": [ { - "id": 8955, + "id": 33120, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8928, - "src": "3094:5:46", + "referencedDeclaration": 33093, + "src": "3085:5:60", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 8956, + "id": 33121, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8930, - "src": "3101:7:46", + "referencedDeclaration": 33095, + "src": "3092:7:60", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3648,37 +3817,37 @@ }, { "expression": { - "id": 8957, + "id": 33122, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "3110:3:46", + "src": "3101:3:60", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8958, + "id": 33123, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "3110:10:46", + "src": "3101:10:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 8959, + "id": 33124, "name": "_maxTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8932, - "src": "3122:10:46", + "referencedDeclaration": 33097, + "src": "3113:10:60", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3707,12 +3876,12 @@ "expression": { "arguments": [ { - "id": 8952, + "id": 33117, "name": "sovAddr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8945, - "src": "3080:7:46", + "referencedDeclaration": 33110, + "src": "3071:7:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3726,18 +3895,18 @@ "typeString": "address" } ], - "id": 8951, + "id": 33116, "name": "SovereignNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8727, - "src": "3067:12:46", + "referencedDeclaration": 32902, + "src": "3058:12:60", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SovereignNFT_$8727_$", + "typeIdentifier": "t_type$_t_contract$_SovereignNFT_$32902_$", "typeString": "type(contract SovereignNFT)" } }, - "id": 8953, + "id": 33118, "isConstant": false, "isLValue": false, "isPure": false, @@ -3745,28 +3914,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3067:21:46", + "src": "3058:21:60", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFT_$8727", + "typeIdentifier": "t_contract$_SovereignNFT_$32902", "typeString": "contract SovereignNFT" } }, - "id": 8954, + "id": 33119, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "init", "nodeType": "MemberAccess", - "referencedDeclaration": 8022, - "src": "3067:26:46", + "referencedDeclaration": 32197, + "src": "3058:26:60", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (string memory,string memory,address,uint256) external" } }, - "id": 8960, + "id": 33125, "isConstant": false, "isLValue": false, "isPure": false, @@ -3774,27 +3943,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3067:66:46", + "src": "3058:66:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8961, + "id": 33126, "nodeType": "ExpressionStatement", - "src": "3067:66:46" + "src": "3058:66:60" }, { "eventCall": { "arguments": [ { - "id": 8963, + "id": 33128, "name": "sovAddr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8945, - "src": "3177:7:46", + "referencedDeclaration": 33110, + "src": "3168:7:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3802,25 +3971,25 @@ }, { "expression": { - "id": 8964, + "id": 33129, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "3186:3:46", + "src": "3177:3:60", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8965, + "id": 33130, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "3186:10:46", + "src": "3177:10:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3838,18 +4007,21 @@ "typeString": "address" } ], - "id": 8962, + "id": 33127, "name": "SovereignNFTContractCreated", "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8761, - "src": "3149:27:46", + "overloadedDeclarations": [ + 32959, + 32967 + ], + "referencedDeclaration": 32959, + "src": "3140:27:60", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 8966, + "id": 33131, "isConstant": false, "isLValue": false, "isPure": false, @@ -3857,115 +4029,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3149:48:46", + "src": "3140:48:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8967, + "id": 33132, "nodeType": "EmitStatement", - "src": "3144:53:46" - }, - { - "expression": { - "arguments": [ - { - "id": 8971, - "name": "sovAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8945, - "src": "3283:7:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "3135", - "id": 8972, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3304:2:46", - "typeDescriptions": { - "typeIdentifier": "t_rational_15_by_1", - "typeString": "int_const 15" - }, - "value": "15" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_15_by_1", - "typeString": "int_const 15" - } - ], - "expression": { - "id": 8968, - "name": "marketplaceSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8740, - "src": "3208:19:46", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IMarketplaceSettings_$74", - "typeString": "contract IMarketplaceSettings" - } - }, - "id": 8970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setERC721ContractPrimarySaleFeePercentage", - "nodeType": "MemberAccess", - "referencedDeclaration": 73, - "src": "3208:61:46", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint8_$returns$__$", - "typeString": "function (address,uint8) external" - } - }, - "id": 8973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3208:108:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8974, - "nodeType": "ExpressionStatement", - "src": "3208:108:46" + "src": "3135:53:60" }, { "expression": { "arguments": [ { - "id": 8977, + "id": 33135, "name": "sovereignNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "3342:12:46", + "referencedDeclaration": 32943, + "src": "3215:12:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3979,26 +4063,26 @@ "typeString": "address" } ], - "id": 8976, + "id": 33134, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3334:7:46", + "src": "3207:7:60", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 8975, + "id": 33133, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3334:7:46", + "src": "3207:7:60", "typeDescriptions": {} } }, - "id": 8978, + "id": 33136, "isConstant": false, "isLValue": false, "isPure": false, @@ -4006,17 +4090,17 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3334:21:46", + "src": "3207:21:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 8936, - "id": 8979, + "functionReturnParameters": 33101, + "id": 33137, "nodeType": "Return", - "src": "3327:28:46" + "src": "3200:28:60" } ] }, @@ -4025,20 +4109,20 @@ "kind": "function", "modifiers": [], "name": "createSovereignNFTContract", - "nameLocation": "2734:26:46", + "nameLocation": "2725:26:60", "parameters": { - "id": 8933, + "id": 33098, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8928, + "id": 33093, "mutability": "mutable", "name": "_name", - "nameLocation": "2784:5:46", + "nameLocation": "2775:5:60", "nodeType": "VariableDeclaration", - "scope": 8981, - "src": "2770:19:46", + "scope": 33139, + "src": "2761:19:60", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4046,10 +4130,10 @@ "typeString": "string" }, "typeName": { - "id": 8927, + "id": 33092, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2770:6:46", + "src": "2761:6:60", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4059,13 +4143,13 @@ }, { "constant": false, - "id": 8930, + "id": 33095, "mutability": "mutable", "name": "_symbol", - "nameLocation": "2813:7:46", + "nameLocation": "2804:7:60", "nodeType": "VariableDeclaration", - "scope": 8981, - "src": "2799:21:46", + "scope": 33139, + "src": "2790:21:60", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4073,10 +4157,10 @@ "typeString": "string" }, "typeName": { - "id": 8929, + "id": 33094, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2799:6:46", + "src": "2790:6:60", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4086,13 +4170,13 @@ }, { "constant": false, - "id": 8932, + "id": 33097, "mutability": "mutable", "name": "_maxTokens", - "nameLocation": "2838:10:46", + "nameLocation": "2829:10:60", "nodeType": "VariableDeclaration", - "scope": 8981, - "src": "2830:18:46", + "scope": 33139, + "src": "2821:18:60", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4100,10 +4184,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8931, + "id": 33096, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2830:7:46", + "src": "2821:7:60", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4112,21 +4196,21 @@ "visibility": "internal" } ], - "src": "2760:94:46" + "src": "2751:94:60" }, "returnParameters": { - "id": 8936, + "id": 33101, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8935, + "id": 33100, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 8981, - "src": "2871:7:46", + "scope": 33139, + "src": "2862:7:60", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4134,10 +4218,10 @@ "typeString": "address" }, "typeName": { - "id": 8934, + "id": 33099, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2871:7:46", + "src": "2862:7:60", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4147,36 +4231,38 @@ "visibility": "internal" } ], - "src": "2870:9:46" + "src": "2861:9:60" }, - "scope": 9153, + "scope": 33297, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 9031, + "id": 33182, "nodeType": "FunctionDefinition", - "src": "3368:551:46", + "src": "3241:432:60", "nodes": [], "body": { - "id": 9030, + "id": 33181, "nodeType": "Block", - "src": "3495:424:46", + "src": "3368:305:60", "nodes": [], "statements": [ { - "assignments": [8991], + "assignments": [ + 33149 + ], "declarations": [ { "constant": false, - "id": 8991, + "id": 33149, "mutability": "mutable", "name": "sovAddr", - "nameLocation": "3513:7:46", + "nameLocation": "3386:7:60", "nodeType": "VariableDeclaration", - "scope": 9030, - "src": "3505:15:46", + "scope": 33181, + "src": "3378:15:60", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4184,10 +4270,10 @@ "typeString": "address" }, "typeName": { - "id": 8990, + "id": 33148, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3505:7:46", + "src": "3378:7:60", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4197,16 +4283,16 @@ "visibility": "internal" } ], - "id": 8996, + "id": 33154, "initialValue": { "arguments": [ { - "id": 8994, + "id": 33152, "name": "sovereignNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "3536:12:46", + "referencedDeclaration": 32943, + "src": "3409:12:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4221,32 +4307,32 @@ } ], "expression": { - "id": 8992, + "id": 33150, "name": "Clones", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4900, - "src": "3523:6:46", + "referencedDeclaration": 29007, + "src": "3396:6:60", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Clones_$4900_$", + "typeIdentifier": "t_type$_t_contract$_Clones_$29007_$", "typeString": "type(library Clones)" } }, - "id": 8993, + "id": 33151, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "clone", "nodeType": "MemberAccess", - "referencedDeclaration": 4843, - "src": "3523:12:46", + "referencedDeclaration": 28950, + "src": "3396:12:60", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_address_$", "typeString": "function (address) returns (address)" } }, - "id": 8995, + "id": 33153, "isConstant": false, "isLValue": false, "isPure": false, @@ -4254,7 +4340,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3523:26:46", + "src": "3396:26:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -4262,30 +4348,30 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "3505:44:46" + "src": "3378:44:60" }, { "expression": { "arguments": [ { - "id": 9001, + "id": 33159, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8983, - "src": "3599:5:46", + "referencedDeclaration": 33141, + "src": "3472:5:60", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 9002, + "id": 33160, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8985, - "src": "3618:7:46", + "referencedDeclaration": 33143, + "src": "3491:7:60", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4293,25 +4379,25 @@ }, { "expression": { - "id": 9003, + "id": 33161, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "3639:3:46", + "src": "3512:3:60", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 9004, + "id": 33162, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "3639:10:46", + "src": "3512:10:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4321,22 +4407,22 @@ "expression": { "arguments": [ { - "id": 9007, + "id": 33165, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3668:7:46", + "src": "3541:7:60", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 9006, + "id": 33164, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3668:7:46", + "src": "3541:7:60", "typeDescriptions": {} } } @@ -4348,18 +4434,18 @@ "typeString": "type(uint256)" } ], - "id": 9005, + "id": 33163, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "3663:4:46", + "src": "3536:4:60", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 9008, + "id": 33166, "isConstant": false, "isLValue": false, "isPure": true, @@ -4367,21 +4453,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3663:13:46", + "src": "3536:13:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_magic_meta_type_t_uint256", "typeString": "type(uint256)" } }, - "id": 9009, + "id": 33167, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "max", "nodeType": "MemberAccess", - "src": "3663:17:46", + "src": "3536:17:60", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4410,12 +4496,12 @@ "expression": { "arguments": [ { - "id": 8998, + "id": 33156, "name": "sovAddr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8991, - "src": "3572:7:46", + "referencedDeclaration": 33149, + "src": "3445:7:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4429,18 +4515,18 @@ "typeString": "address" } ], - "id": 8997, + "id": 33155, "name": "SovereignNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8727, - "src": "3559:12:46", + "referencedDeclaration": 32902, + "src": "3432:12:60", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SovereignNFT_$8727_$", + "typeIdentifier": "t_type$_t_contract$_SovereignNFT_$32902_$", "typeString": "type(contract SovereignNFT)" } }, - "id": 8999, + "id": 33157, "isConstant": false, "isLValue": false, "isPure": false, @@ -4448,28 +4534,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3559:21:46", + "src": "3432:21:60", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFT_$8727", + "typeIdentifier": "t_contract$_SovereignNFT_$32902", "typeString": "contract SovereignNFT" } }, - "id": 9000, + "id": 33158, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "init", "nodeType": "MemberAccess", - "referencedDeclaration": 8022, - "src": "3559:26:46", + "referencedDeclaration": 32197, + "src": "3432:26:60", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (string memory,string memory,address,uint256) external" } }, - "id": 9010, + "id": 33168, "isConstant": false, "isLValue": false, "isPure": false, @@ -4477,27 +4563,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3559:131:46", + "src": "3432:131:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9011, + "id": 33169, "nodeType": "ExpressionStatement", - "src": "3559:131:46" + "src": "3432:131:60" }, { "eventCall": { "arguments": [ { - "id": 9013, + "id": 33171, "name": "sovAddr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8991, - "src": "3734:7:46", + "referencedDeclaration": 33149, + "src": "3607:7:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4505,25 +4591,25 @@ }, { "expression": { - "id": 9014, + "id": 33172, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "3743:3:46", + "src": "3616:3:60", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 9015, + "id": 33173, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "3743:10:46", + "src": "3616:10:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4541,18 +4627,21 @@ "typeString": "address" } ], - "id": 9012, + "id": 33170, "name": "SovereignNFTContractCreated", "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8761, - "src": "3706:27:46", + "overloadedDeclarations": [ + 32959, + 32967 + ], + "referencedDeclaration": 32959, + "src": "3579:27:60", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 9016, + "id": 33174, "isConstant": false, "isLValue": false, "isPure": false, @@ -4560,115 +4649,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3706:48:46", + "src": "3579:48:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9017, + "id": 33175, "nodeType": "EmitStatement", - "src": "3701:53:46" - }, - { - "expression": { - "arguments": [ - { - "id": 9021, - "name": "sovAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8991, - "src": "3840:7:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "3135", - "id": 9022, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3861:2:46", - "typeDescriptions": { - "typeIdentifier": "t_rational_15_by_1", - "typeString": "int_const 15" - }, - "value": "15" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_15_by_1", - "typeString": "int_const 15" - } - ], - "expression": { - "id": 9018, - "name": "marketplaceSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8740, - "src": "3765:19:46", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IMarketplaceSettings_$74", - "typeString": "contract IMarketplaceSettings" - } - }, - "id": 9020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setERC721ContractPrimarySaleFeePercentage", - "nodeType": "MemberAccess", - "referencedDeclaration": 73, - "src": "3765:61:46", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint8_$returns$__$", - "typeString": "function (address,uint8) external" - } - }, - "id": 9023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3765:108:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9024, - "nodeType": "ExpressionStatement", - "src": "3765:108:46" + "src": "3574:53:60" }, { "expression": { "arguments": [ { - "id": 9027, + "id": 33178, "name": "sovereignNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "3899:12:46", + "referencedDeclaration": 32943, + "src": "3653:12:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4682,26 +4683,26 @@ "typeString": "address" } ], - "id": 9026, + "id": 33177, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3891:7:46", + "src": "3645:7:60", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 9025, + "id": 33176, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3891:7:46", + "src": "3645:7:60", "typeDescriptions": {} } }, - "id": 9028, + "id": 33179, "isConstant": false, "isLValue": false, "isPure": false, @@ -4709,17 +4710,17 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3891:21:46", + "src": "3645:21:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 8989, - "id": 9029, + "functionReturnParameters": 33147, + "id": 33180, "nodeType": "Return", - "src": "3884:28:46" + "src": "3638:28:60" } ] }, @@ -4728,20 +4729,20 @@ "kind": "function", "modifiers": [], "name": "createSovereignNFTContract", - "nameLocation": "3377:26:46", + "nameLocation": "3250:26:60", "parameters": { - "id": 8986, + "id": 33144, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8983, + "id": 33141, "mutability": "mutable", "name": "_name", - "nameLocation": "3427:5:46", + "nameLocation": "3300:5:60", "nodeType": "VariableDeclaration", - "scope": 9031, - "src": "3413:19:46", + "scope": 33182, + "src": "3286:19:60", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4749,10 +4750,10 @@ "typeString": "string" }, "typeName": { - "id": 8982, + "id": 33140, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3413:6:46", + "src": "3286:6:60", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4762,13 +4763,13 @@ }, { "constant": false, - "id": 8985, + "id": 33143, "mutability": "mutable", "name": "_symbol", - "nameLocation": "3456:7:46", + "nameLocation": "3329:7:60", "nodeType": "VariableDeclaration", - "scope": 9031, - "src": "3442:21:46", + "scope": 33182, + "src": "3315:21:60", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4776,10 +4777,10 @@ "typeString": "string" }, "typeName": { - "id": 8984, + "id": 33142, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3442:6:46", + "src": "3315:6:60", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4788,21 +4789,21 @@ "visibility": "internal" } ], - "src": "3403:66:46" + "src": "3276:66:60" }, "returnParameters": { - "id": 8989, + "id": 33147, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8988, + "id": 33146, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 9031, - "src": "3486:7:46", + "scope": 33182, + "src": "3359:7:60", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4810,10 +4811,10 @@ "typeString": "address" }, "typeName": { - "id": 8987, + "id": 33145, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3486:7:46", + "src": "3359:7:60", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4823,22 +4824,22 @@ "visibility": "internal" } ], - "src": "3485:9:46" + "src": "3358:9:60" }, - "scope": 9153, + "scope": 33297, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 9152, + "id": 33296, "nodeType": "FunctionDefinition", - "src": "3925:1503:46", + "src": "3679:1383:60", "nodes": [], "body": { - "id": 9151, + "id": 33295, "nodeType": "Block", - "src": "4111:1317:46", + "src": "3865:1197:60", "nodes": [], "statements": [ { @@ -4849,18 +4850,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 9047, + "id": 33198, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 9045, + "id": 33196, "name": "_maxTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9037, - "src": "4142:10:46", + "referencedDeclaration": 33188, + "src": "3896:10:60", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4870,21 +4871,21 @@ "operator": "!=", "rightExpression": { "hexValue": "30", - "id": 9046, + "id": 33197, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4156:1:46", + "src": "3910:1:60", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "4142:15:46", + "src": "3896:15:60", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4892,14 +4893,14 @@ }, { "hexValue": "637265617465536f7665726569676e4e4654436f6e74726163743a3a5f6d6178546f6b656e732063616e74206265207a65726f", - "id": 9048, + "id": 33199, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4171:53:46", + "src": "3925:53:60", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6a88a19143de23347e5503714575555c74233b2ddf44ce438aef8481b84e220c", "typeString": "literal_string \"createSovereignNFTContract::_maxTokens cant be zero\"" @@ -4918,18 +4919,21 @@ "typeString": "literal_string \"createSovereignNFTContract::_maxTokens cant be zero\"" } ], - "id": 9044, + "id": 33195, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "4121:7:46", + "src": "3875:7:60", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 9049, + "id": 33200, "isConstant": false, "isLValue": false, "isPure": false, @@ -4937,29 +4941,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4121:113:46", + "src": "3875:113:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9050, + "id": 33201, "nodeType": "ExpressionStatement", - "src": "4121:113:46" + "src": "3875:113:60" }, { - "assignments": [9052], + "assignments": [ + 33203 + ], "declarations": [ { "constant": false, - "id": 9052, + "id": 33203, "mutability": "mutable", "name": "sovAddr", - "nameLocation": "4253:7:46", + "nameLocation": "4007:7:60", "nodeType": "VariableDeclaration", - "scope": 9151, - "src": "4245:15:46", + "scope": 33295, + "src": "3999:15:60", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4967,10 +4973,10 @@ "typeString": "address" }, "typeName": { - "id": 9051, + "id": 33202, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4245:7:46", + "src": "3999:7:60", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4980,9 +4986,9 @@ "visibility": "internal" } ], - "id": 9053, + "id": 33204, "nodeType": "VariableDeclarationStatement", - "src": "4245:15:46" + "src": "3999:15:60" }, { "condition": { @@ -4990,18 +4996,18 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 9056, + "id": 33207, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 9054, + "id": 33205, "name": "_contractType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9039, - "src": "4274:13:46", + "referencedDeclaration": 33190, + "src": "4028:13:60", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5010,45 +5016,45 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 9055, + "id": 33206, "name": "SOVEREIGN_NFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8743, - "src": "4291:13:46", + "referencedDeclaration": 32916, + "src": "4045:13:60", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "4274:30:46", + "src": "4028:30:60", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 9076, + "id": 33227, "nodeType": "IfStatement", - "src": "4270:177:46", + "src": "4024:177:60", "trueBody": { - "id": 9075, + "id": 33226, "nodeType": "Block", - "src": "4306:141:46", + "src": "4060:141:60", "statements": [ { "expression": { - "id": 9062, + "id": 33213, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 9057, + "id": 33208, "name": "sovAddr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9052, - "src": "4320:7:46", + "referencedDeclaration": 33203, + "src": "4074:7:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5059,12 +5065,12 @@ "rightHandSide": { "arguments": [ { - "id": 9060, + "id": 33211, "name": "sovereignNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8751, - "src": "4343:12:46", + "referencedDeclaration": 32943, + "src": "4097:12:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5079,32 +5085,32 @@ } ], "expression": { - "id": 9058, + "id": 33209, "name": "Clones", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4900, - "src": "4330:6:46", + "referencedDeclaration": 29007, + "src": "4084:6:60", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Clones_$4900_$", + "typeIdentifier": "t_type$_t_contract$_Clones_$29007_$", "typeString": "type(library Clones)" } }, - "id": 9059, + "id": 33210, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "clone", "nodeType": "MemberAccess", - "referencedDeclaration": 4843, - "src": "4330:12:46", + "referencedDeclaration": 28950, + "src": "4084:12:60", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_address_$", "typeString": "function (address) returns (address)" } }, - "id": 9061, + "id": 33212, "isConstant": false, "isLValue": false, "isPure": false, @@ -5112,45 +5118,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4330:26:46", + "src": "4084:26:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "4320:36:46", + "src": "4074:36:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 9063, + "id": 33214, "nodeType": "ExpressionStatement", - "src": "4320:36:46" + "src": "4074:36:60" }, { "expression": { "arguments": [ { - "id": 9068, + "id": 33219, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9033, - "src": "4397:5:46", + "referencedDeclaration": 33184, + "src": "4151:5:60", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 9069, + "id": 33220, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9035, - "src": "4404:7:46", + "referencedDeclaration": 33186, + "src": "4158:7:60", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5158,37 +5164,37 @@ }, { "expression": { - "id": 9070, + "id": 33221, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "4413:3:46", + "src": "4167:3:60", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 9071, + "id": 33222, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "4413:10:46", + "src": "4167:10:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 9072, + "id": 33223, "name": "_maxTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9037, - "src": "4425:10:46", + "referencedDeclaration": 33188, + "src": "4179:10:60", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5217,12 +5223,12 @@ "expression": { "arguments": [ { - "id": 9065, + "id": 33216, "name": "sovAddr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9052, - "src": "4383:7:46", + "referencedDeclaration": 33203, + "src": "4137:7:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5236,18 +5242,18 @@ "typeString": "address" } ], - "id": 9064, + "id": 33215, "name": "SovereignNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8727, - "src": "4370:12:46", + "referencedDeclaration": 32902, + "src": "4124:12:60", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SovereignNFT_$8727_$", + "typeIdentifier": "t_type$_t_contract$_SovereignNFT_$32902_$", "typeString": "type(contract SovereignNFT)" } }, - "id": 9066, + "id": 33217, "isConstant": false, "isLValue": false, "isPure": false, @@ -5255,28 +5261,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4370:21:46", + "src": "4124:21:60", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFT_$8727", + "typeIdentifier": "t_contract$_SovereignNFT_$32902", "typeString": "contract SovereignNFT" } }, - "id": 9067, + "id": 33218, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "init", "nodeType": "MemberAccess", - "referencedDeclaration": 8022, - "src": "4370:26:46", + "referencedDeclaration": 32197, + "src": "4124:26:60", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (string memory,string memory,address,uint256) external" } }, - "id": 9073, + "id": 33224, "isConstant": false, "isLValue": false, "isPure": false, @@ -5284,16 +5290,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4370:66:46", + "src": "4124:66:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9074, + "id": 33225, "nodeType": "ExpressionStatement", - "src": "4370:66:46" + "src": "4124:66:60" } ] } @@ -5304,18 +5310,18 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 9079, + "id": 33230, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 9077, + "id": 33228, "name": "_contractType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9039, - "src": "4460:13:46", + "referencedDeclaration": 33190, + "src": "4214:13:60", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5324,45 +5330,45 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 9078, + "id": 33229, "name": "ROYALTY_GUARD", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8746, - "src": "4477:13:46", + "referencedDeclaration": 32921, + "src": "4231:13:60", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "4460:30:46", + "src": "4214:30:60", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 9099, + "id": 33250, "nodeType": "IfStatement", - "src": "4456:279:46", + "src": "4210:279:60", "trueBody": { - "id": 9098, + "id": 33249, "nodeType": "Block", - "src": "4492:243:46", + "src": "4246:243:60", "statements": [ { "expression": { - "id": 9085, + "id": 33236, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 9080, + "id": 33231, "name": "sovAddr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9052, - "src": "4506:7:46", + "referencedDeclaration": 33203, + "src": "4260:7:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5373,12 +5379,12 @@ "rightHandSide": { "arguments": [ { - "id": 9083, + "id": 33234, "name": "sovereignNFTRoyaltyGuard", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8753, - "src": "4529:24:46", + "referencedDeclaration": 32945, + "src": "4283:24:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5393,32 +5399,32 @@ } ], "expression": { - "id": 9081, + "id": 33232, "name": "Clones", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4900, - "src": "4516:6:46", + "referencedDeclaration": 29007, + "src": "4270:6:60", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Clones_$4900_$", + "typeIdentifier": "t_type$_t_contract$_Clones_$29007_$", "typeString": "type(library Clones)" } }, - "id": 9082, + "id": 33233, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "clone", "nodeType": "MemberAccess", - "referencedDeclaration": 4843, - "src": "4516:12:46", + "referencedDeclaration": 28950, + "src": "4270:12:60", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_address_$", "typeString": "function (address) returns (address)" } }, - "id": 9084, + "id": 33235, "isConstant": false, "isLValue": false, "isPure": false, @@ -5426,45 +5432,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4516:38:46", + "src": "4270:38:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "4506:48:46", + "src": "4260:48:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 9086, + "id": 33237, "nodeType": "ExpressionStatement", - "src": "4506:48:46" + "src": "4260:48:60" }, { "expression": { "arguments": [ { - "id": 9091, + "id": 33242, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9033, - "src": "4624:5:46", + "referencedDeclaration": 33184, + "src": "4378:5:60", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 9092, + "id": 33243, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9035, - "src": "4647:7:46", + "referencedDeclaration": 33186, + "src": "4401:7:60", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5472,37 +5478,37 @@ }, { "expression": { - "id": 9093, + "id": 33244, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "4672:3:46", + "src": "4426:3:60", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 9094, + "id": 33245, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "4672:10:46", + "src": "4426:10:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 9095, + "id": 33246, "name": "_maxTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9037, - "src": "4700:10:46", + "referencedDeclaration": 33188, + "src": "4454:10:60", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5531,12 +5537,12 @@ "expression": { "arguments": [ { - "id": 9088, + "id": 33239, "name": "sovAddr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9052, - "src": "4593:7:46", + "referencedDeclaration": 33203, + "src": "4347:7:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5550,18 +5556,18 @@ "typeString": "address" } ], - "id": 9087, + "id": 33238, "name": "SovereignNFTRoyaltyGuard", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9239, - "src": "4568:24:46", + "referencedDeclaration": 33383, + "src": "4322:24:60", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SovereignNFTRoyaltyGuard_$9239_$", + "typeIdentifier": "t_type$_t_contract$_SovereignNFTRoyaltyGuard_$33383_$", "typeString": "type(contract SovereignNFTRoyaltyGuard)" } }, - "id": 9089, + "id": 33240, "isConstant": false, "isLValue": false, "isPure": false, @@ -5569,28 +5575,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4568:33:46", + "src": "4322:33:60", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuard_$9239", + "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuard_$33383", "typeString": "contract SovereignNFTRoyaltyGuard" } }, - "id": 9090, + "id": 33241, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "init", "nodeType": "MemberAccess", - "referencedDeclaration": 8022, - "src": "4568:38:46", + "referencedDeclaration": 32197, + "src": "4322:38:60", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (string memory,string memory,address,uint256) external" } }, - "id": 9096, + "id": 33247, "isConstant": false, "isLValue": false, "isPure": false, @@ -5598,16 +5604,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4568:156:46", + "src": "4322:156:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9097, + "id": 33248, "nodeType": "ExpressionStatement", - "src": "4568:156:46" + "src": "4322:156:60" } ] } @@ -5618,18 +5624,18 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 9102, + "id": 33253, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 9100, + "id": 33251, "name": "_contractType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9039, - "src": "4748:13:46", + "referencedDeclaration": 33190, + "src": "4502:13:60", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5638,45 +5644,45 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 9101, + "id": 33252, "name": "ROYALTY_GUARD_DEADMAN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8749, - "src": "4765:21:46", + "referencedDeclaration": 32926, + "src": "4519:21:60", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "4748:38:46", + "src": "4502:38:60", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 9122, + "id": 33273, "nodeType": "IfStatement", - "src": "4744:315:46", + "src": "4498:314:60", "trueBody": { - "id": 9121, + "id": 33272, "nodeType": "Block", - "src": "4788:271:46", + "src": "4542:270:60", "statements": [ { "expression": { - "id": 9108, + "id": 33259, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 9103, + "id": 33254, "name": "sovAddr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9052, - "src": "4802:7:46", + "referencedDeclaration": 33203, + "src": "4556:7:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5687,12 +5693,12 @@ "rightHandSide": { "arguments": [ { - "id": 9106, + "id": 33257, "name": "sovereignNFTRoyaltyGuardDeadmanTrigger", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8755, - "src": "4825:38:46", + "referencedDeclaration": 32947, + "src": "4579:38:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5707,32 +5713,32 @@ } ], "expression": { - "id": 9104, + "id": 33255, "name": "Clones", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4900, - "src": "4812:6:46", + "referencedDeclaration": 29007, + "src": "4566:6:60", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Clones_$4900_$", + "typeIdentifier": "t_type$_t_contract$_Clones_$29007_$", "typeString": "type(library Clones)" } }, - "id": 9105, + "id": 33256, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "clone", "nodeType": "MemberAccess", - "referencedDeclaration": 4843, - "src": "4812:12:46", + "referencedDeclaration": 28950, + "src": "4566:12:60", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_address_$", "typeString": "function (address) returns (address)" } }, - "id": 9107, + "id": 33258, "isConstant": false, "isLValue": false, "isPure": false, @@ -5740,45 +5746,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4812:52:46", + "src": "4566:52:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "4802:62:46", + "src": "4556:62:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 9109, + "id": 33260, "nodeType": "ExpressionStatement", - "src": "4802:62:46" + "src": "4556:62:60" }, { "expression": { "arguments": [ { - "id": 9114, + "id": 33265, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9033, - "src": "4948:5:46", + "referencedDeclaration": 33184, + "src": "4701:5:60", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 9115, + "id": 33266, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9035, - "src": "4971:7:46", + "referencedDeclaration": 33186, + "src": "4724:7:60", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5786,37 +5792,37 @@ }, { "expression": { - "id": 9116, + "id": 33267, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "4996:3:46", + "src": "4749:3:60", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 9117, + "id": 33268, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "4996:10:46", + "src": "4749:10:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 9118, + "id": 33269, "name": "_maxTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9037, - "src": "5024:10:46", + "referencedDeclaration": 33188, + "src": "4777:10:60", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5845,12 +5851,12 @@ "expression": { "arguments": [ { - "id": 9111, + "id": 33262, "name": "sovAddr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9052, - "src": "4917:7:46", + "referencedDeclaration": 33203, + "src": "4670:7:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5864,18 +5870,18 @@ "typeString": "address" } ], - "id": 9110, + "id": 33261, "name": "SovereignNFTRoyaltyGuardDeadmanTrigger", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9327, - "src": "4878:38:46", + "referencedDeclaration": 33471, + "src": "4631:38:60", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SovereignNFTRoyaltyGuardDeadmanTrigger_$9327_$", + "typeIdentifier": "t_type$_t_contract$_SovereignNFTRoyaltyGuardDeadmanTrigger_$33471_$", "typeString": "type(contract SovereignNFTRoyaltyGuardDeadmanTrigger)" } }, - "id": 9112, + "id": 33263, "isConstant": false, "isLValue": false, "isPure": false, @@ -5883,28 +5889,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4878:47:46", + "src": "4631:47:60", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuardDeadmanTrigger_$9327", + "typeIdentifier": "t_contract$_SovereignNFTRoyaltyGuardDeadmanTrigger_$33471", "typeString": "contract SovereignNFTRoyaltyGuardDeadmanTrigger" } }, - "id": 9113, + "id": 33264, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "init", "nodeType": "MemberAccess", - "referencedDeclaration": 8022, - "src": "4878:52:46", + "referencedDeclaration": 32197, + "src": "4631:52:60", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (string memory,string memory,address,uint256) external" } }, - "id": 9119, + "id": 33270, "isConstant": false, "isLValue": false, "isPure": false, @@ -5912,16 +5918,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4878:170:46", + "src": "4631:170:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9120, + "id": 33271, "nodeType": "ExpressionStatement", - "src": "4878:170:46" + "src": "4631:170:60" } ] } @@ -5934,18 +5940,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9129, + "id": 33280, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 9124, + "id": 33275, "name": "sovAddr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9052, - "src": "5090:7:46", + "referencedDeclaration": 33203, + "src": "4843:7:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5957,14 +5963,14 @@ "arguments": [ { "hexValue": "30", - "id": 9127, + "id": 33278, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5109:1:46", + "src": "4862:1:60", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -5979,26 +5985,26 @@ "typeString": "int_const 0" } ], - "id": 9126, + "id": 33277, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5101:7:46", + "src": "4854:7:60", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 9125, + "id": 33276, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5101:7:46", + "src": "4854:7:60", "typeDescriptions": {} } }, - "id": 9128, + "id": 33279, "isConstant": false, "isLValue": false, "isPure": true, @@ -6006,14 +6012,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5101:10:46", + "src": "4854:10:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5090:21:46", + "src": "4843:21:60", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6021,14 +6027,14 @@ }, { "hexValue": "637265617465536f7665726569676e4e4654436f6e74726163743a3a5f636f6e74726163745479706520756e737570706f7274656420636f6e747261637420747970652e", - "id": 9130, + "id": 33281, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5125:70:46", + "src": "4878:70:60", "typeDescriptions": { "typeIdentifier": "t_stringliteral_3eab0f979779b9cd12341483ba5acf5eb957019b5ca9193e80cf37fb3991d37e", "typeString": "literal_string \"createSovereignNFTContract::_contractType unsupported contract type.\"" @@ -6047,18 +6053,21 @@ "typeString": "literal_string \"createSovereignNFTContract::_contractType unsupported contract type.\"" } ], - "id": 9123, + "id": 33274, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "5069:7:46", + "src": "4822:7:60", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 9131, + "id": 33282, "isConstant": false, "isLValue": false, "isPure": false, @@ -6066,27 +6075,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5069:136:46", + "src": "4822:136:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9132, + "id": 33283, "nodeType": "ExpressionStatement", - "src": "5069:136:46" + "src": "4822:136:60" }, { "eventCall": { "arguments": [ { - "id": 9134, + "id": 33285, "name": "sovAddr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9052, - "src": "5248:7:46", + "referencedDeclaration": 33203, + "src": "5001:7:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6094,25 +6103,25 @@ }, { "expression": { - "id": 9135, + "id": 33286, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "5257:3:46", + "src": "5010:3:60", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 9136, + "id": 33287, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "5257:10:46", + "src": "5010:10:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6130,18 +6139,21 @@ "typeString": "address" } ], - "id": 9133, + "id": 33284, "name": "SovereignNFTContractCreated", "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8761, - "src": "5220:27:46", + "overloadedDeclarations": [ + 32959, + 32967 + ], + "referencedDeclaration": 32959, + "src": "4973:27:60", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 9137, + "id": 33288, "isConstant": false, "isLValue": false, "isPure": false, @@ -6149,115 +6161,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5220:48:46", + "src": "4973:48:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9138, + "id": 33289, "nodeType": "EmitStatement", - "src": "5215:53:46" - }, - { - "expression": { - "arguments": [ - { - "id": 9142, - "name": "sovAddr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9052, - "src": "5354:7:46", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "3135", - "id": 9143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5375:2:46", - "typeDescriptions": { - "typeIdentifier": "t_rational_15_by_1", - "typeString": "int_const 15" - }, - "value": "15" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_15_by_1", - "typeString": "int_const 15" - } - ], - "expression": { - "id": 9139, - "name": "marketplaceSettings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8740, - "src": "5279:19:46", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IMarketplaceSettings_$74", - "typeString": "contract IMarketplaceSettings" - } - }, - "id": 9141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setERC721ContractPrimarySaleFeePercentage", - "nodeType": "MemberAccess", - "referencedDeclaration": 73, - "src": "5279:61:46", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint8_$returns$__$", - "typeString": "function (address,uint8) external" - } - }, - "id": 9144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5279:108:46", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9145, - "nodeType": "ExpressionStatement", - "src": "5279:108:46" + "src": "4968:53:60" }, { "expression": { "arguments": [ { - "id": 9148, + "id": 33292, "name": "sovAddr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9052, - "src": "5413:7:46", + "referencedDeclaration": 33203, + "src": "5047:7:60", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6271,26 +6195,26 @@ "typeString": "address" } ], - "id": 9147, + "id": 33291, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5405:7:46", + "src": "5039:7:60", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 9146, + "id": 33290, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5405:7:46", + "src": "5039:7:60", "typeDescriptions": {} } }, - "id": 9149, + "id": 33293, "isConstant": false, "isLValue": false, "isPure": false, @@ -6298,17 +6222,17 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5405:16:46", + "src": "5039:16:60", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 9043, - "id": 9150, + "functionReturnParameters": 33194, + "id": 33294, "nodeType": "Return", - "src": "5398:23:46" + "src": "5032:23:60" } ] }, @@ -6317,20 +6241,20 @@ "kind": "function", "modifiers": [], "name": "createSovereignNFTContract", - "nameLocation": "3934:26:46", + "nameLocation": "3688:26:60", "parameters": { - "id": 9040, + "id": 33191, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9033, + "id": 33184, "mutability": "mutable", "name": "_name", - "nameLocation": "3984:5:46", + "nameLocation": "3738:5:60", "nodeType": "VariableDeclaration", - "scope": 9152, - "src": "3970:19:46", + "scope": 33296, + "src": "3724:19:60", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6338,10 +6262,10 @@ "typeString": "string" }, "typeName": { - "id": 9032, + "id": 33183, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3970:6:46", + "src": "3724:6:60", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -6351,13 +6275,13 @@ }, { "constant": false, - "id": 9035, + "id": 33186, "mutability": "mutable", "name": "_symbol", - "nameLocation": "4013:7:46", + "nameLocation": "3767:7:60", "nodeType": "VariableDeclaration", - "scope": 9152, - "src": "3999:21:46", + "scope": 33296, + "src": "3753:21:60", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6365,10 +6289,10 @@ "typeString": "string" }, "typeName": { - "id": 9034, + "id": 33185, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3999:6:46", + "src": "3753:6:60", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -6378,13 +6302,13 @@ }, { "constant": false, - "id": 9037, + "id": 33188, "mutability": "mutable", "name": "_maxTokens", - "nameLocation": "4038:10:46", + "nameLocation": "3792:10:60", "nodeType": "VariableDeclaration", - "scope": 9152, - "src": "4030:18:46", + "scope": 33296, + "src": "3784:18:60", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6392,10 +6316,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9036, + "id": 33187, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4030:7:46", + "src": "3784:7:60", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6405,13 +6329,13 @@ }, { "constant": false, - "id": 9039, + "id": 33190, "mutability": "mutable", "name": "_contractType", - "nameLocation": "4066:13:46", + "nameLocation": "3820:13:60", "nodeType": "VariableDeclaration", - "scope": 9152, - "src": "4058:21:46", + "scope": 33296, + "src": "3812:21:60", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6419,10 +6343,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 9038, + "id": 33189, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4058:7:46", + "src": "3812:7:60", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6431,21 +6355,21 @@ "visibility": "internal" } ], - "src": "3960:125:46" + "src": "3714:125:60" }, "returnParameters": { - "id": 9043, + "id": 33194, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9042, + "id": 33193, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 9152, - "src": "4102:7:46", + "scope": 33296, + "src": "3856:7:60", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6453,10 +6377,10 @@ "typeString": "address" }, "typeName": { - "id": 9041, + "id": 33192, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4102:7:46", + "src": "3856:7:60", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6466,9 +6390,9 @@ "visibility": "internal" } ], - "src": "4101:9:46" + "src": "3855:9:60" }, - "scope": 9153, + "scope": 33297, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" @@ -6478,29 +6402,37 @@ "baseContracts": [ { "baseName": { - "id": 8736, + "id": 32910, "name": "Ownable", "nodeType": "IdentifierPath", - "referencedDeclaration": 4820, - "src": "479:7:46" + "referencedDeclaration": 28927, + "src": "415:7:60" }, - "id": 8737, + "id": 32911, "nodeType": "InheritanceSpecifier", - "src": "479:7:46" + "src": "415:7:60" } ], "canonicalName": "SovereignNFTContractFactory", - "contractDependencies": [8727, 9239, 9327], + "contractDependencies": [ + 32902, + 33383, + 33471 + ], "contractKind": "contract", "fullyImplemented": true, - "linearizedBaseContracts": [9153, 4820, 6244], + "linearizedBaseContracts": [ + 33297, + 28927, + 30351 + ], "name": "SovereignNFTContractFactory", - "nameLocation": "448:27:46", - "scope": 9154, + "nameLocation": "384:27:60", + "scope": 33298, "usedErrors": [] } ], "license": "MIT" }, - "id": 46 -} + "id": 60 +} \ No newline at end of file diff --git a/abis/SovereignNFTRoyaltyGuard.json b/abis/SovereignNFTRoyaltyGuard.json index 5a3443c..8d8b9dd 100644 --- a/abis/SovereignNFTRoyaltyGuard.json +++ b/abis/SovereignNFTRoyaltyGuard.json @@ -955,12 +955,12 @@ ], "bytecode": { "object": "0x608060405234801561001057600080fd5b50613429806100206000396000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c806370a0823111610146578063b88d4fde116100c3578063e985e9c511610087578063e985e9c514610512578063eab8511814610525578063ee07080514610538578063efc32cd414610544578063f2fde38b14610557578063ff6e8c8f1461056a57600080fd5b8063b88d4fde146104bc578063bc719455146104cf578063c87b56dd146104e2578063d9856c21146104f5578063e83157421461050857600080fd5b80638da5cb5b1161010a5780638da5cb5b1461047557806395d89b41146104865780639e860f2a1461048e578063a22cb465146104a1578063ab69607a146104b457600080fd5b806370a082311461042b578063715018a61461043e5780637cc918d11461044657806387bc793f14610459578063894ba8331461046d57600080fd5b80633403c4e9116101d4578063472a663811610198578063472a6638146103cc5780634aa52c41146103df5780635edc7c19146103f25780636297c16c146104055780636352211e1461041857600080fd5b80633403c4e91461036f5780633ebc82c51461038057806340c1a0641461039357806342842e0e146103a657806342966c68146103b957600080fd5b806318160ddd1161021b57806318160ddd146102f9578063204274861461030f57806323b872dd146103225780632a55205a146103355780632ce878da1461036757600080fd5b8063012cf1e81461025857806301ffc9a71461028157806306fdde03146102a4578063081812fc146102b9578063095ea7b3146102e4575b600080fd5b61026b6102663660046129ad565b61057d565b60405161027891906129c8565b60405180910390f35b61029461028f366004612a2b565b6105c3565b6040519015158152602001610278565b6102ac6105dd565b6040516102789190612aa0565b6102cc6102c7366004612ab3565b61066f565b6040516001600160a01b039091168152602001610278565b6102f76102f2366004612ae3565b610750565b005b610301610825565b604051908152602001610278565b61029461031d366004612b0d565b610836565b6102f7610330366004612b28565b610865565b610348610343366004612b64565b610897565b604080516001600160a01b039093168352602083019190915201610278565b61026b610932565b60fb546001600160a01b03166102cc565b6102f761038e366004612b0d565b610958565b6102cc6103a1366004612ab3565b61098e565b6102f76103b4366004612b28565b6109a2565b6102f76103c7366004612ab3565b6109bd565b6102f76103da3660046129ad565b610a1e565b6102f76103ed366004612bcf565b610a4d565b6102f7610400366004612c34565b610ae6565b6102f7610413366004612ab3565b610c66565b6102cc610426366004612ab3565b610cd0565b610301610439366004612b0d565b610d52565b6102f7610dd8565b6102f7610454366004612cbd565b610e0e565b6101085460ff166040516102789190612d1f565b6102f7610ff1565b6033546001600160a01b03166102cc565b6102ac611055565b6102f761049c366004612d47565b611064565b6102f76104af366004612dcd565b6110c7565b60fc54610301565b6102f76104ca366004612e95565b61116e565b6102f76104dd3660046129ad565b6111a6565b6102ac6104f0366004612ab3565b61125b565b6102f7610503366004612f11565b611347565b6103016101005481565b610294610520366004612f5a565b6113a8565b610294610533366004612b0d565b6113d6565b60ff8054610294911681565b6102f7610552366004612ae3565b6113fd565b6102f7610565366004612b0d565b611455565b6102f7610578366004612d47565b6114ed565b60606105bd610107600084600281111561059957610599612d09565b60028111156105aa576105aa612d09565b8152602001908152602001600020611585565b92915050565b60006105ce82611592565b806105bd57506105bd826115b7565b6060609780546105ec90612f84565b80601f016020809104026020016040519081016040528092919081815260200182805461061890612f84565b80156106655780601f1061063a57610100808354040283529160200191610665565b820191906000526020600020905b81548152906001019060200180831161064857829003601f168201915b5050505050905090565b600081815260fd60205260408120546001600160a01b031681610691846115fa565b50509050600081806106ab57506001600160a01b03831615155b80156106c757506000858152610102602052604090205460ff16155b9050806107305760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b50505060009182525061010360205260409020546001600160a01b031690565b8160016101085460ff16600281111561076b5761076b612d09565b036107ca576107a981610107600060015b600281111561078d5761078d612d09565b815260200190815260200160002061175d90919063ffffffff16565b6107c5576040516282b42960e81b815260040160405180910390fd5b610816565b60026101085460ff1660028111156107e4576107e4612d09565b03610816576107f9816101076000600261077c565b15610816576040516282b42960e81b815260040160405180910390fd5b610820838361177f565b505050565b60006108316101045490565b905090565b600061084a6033546001600160a01b031690565b6001600160a01b0316826001600160a01b0316149050919050565b610870335b8261188f565b61088c5760405162461bcd60e51b815260040161072790612fb8565b6108208383836118ee565b600082815260fd602052604081205481906001600160a01b03166108c65760fb546001600160a01b03166108df565b600084815260fd60205260409020546001600160a01b03165b9150610929606461092360fe60008881526020019081526020016000205460000361090c5760fc5461091c565b600087815260fe60205260409020545b8690611962565b9061196e565b90509250929050565b61010854606090610831906101079060009060ff16600281111561059957610599612d09565b6033546001600160a01b031633146109825760405162461bcd60e51b815260040161072790613009565b61098b8161197a565b50565b60006105bd6033546001600160a01b031690565b6108208383836040518060200160405280600081525061116e565b60006109c8826115fa565b5050600083815261010260205260409020805460ff191660011790559050808015610a0857506000828152609960205260409020546001600160a01b0316155b15610a11575050565b610a1a8261199c565b5050565b610a2733610836565b610a4457604051635c510c8360e11b815260040160405180910390fd5b61098b81611a13565b6033546001600160a01b03163314610a775760405162461bcd60e51b815260040161072790613009565b60ff80541615610a995760405162461bcd60e51b81526004016107279061303e565b610adf84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060fc5433925086915085611a90565b5050505050565b6000610af26001611b91565b90508015610b0a576000805461ff0019166101001790555b6001600160a01b038316610b605760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606401610727565b610b6a600a60fc55565b60ff805460ff19169055610100829055610b82611c1e565b610bf587878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611c4d92505050565b610bfd611c7e565b610c05611ca5565b610c0e8361197a565b610c1783611455565b8015610c5d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b8033610c7182610cd0565b6001600160a01b031614610cc75760405162461bcd60e51b815260206004820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152606401610727565b610a1a826109bd565b600080610cdc836115fa565b5050905080610cf557610cee83611cd4565b9392505050565b6000838152610102602052604090205460ff1615610d1657610cee83611cd4565b6000838152609960205260409020546001600160a01b0316610d43576033546001600160a01b0316610cee565b610cee83611cd4565b50919050565b60006001600160a01b038216610dbc5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610727565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610e025760405162461bcd60e51b815260040161072790613009565b610e0c6000611d4b565b565b6033546001600160a01b03163314610e385760405162461bcd60e51b815260040161072790613009565b60ff80541615610e5a5760405162461bcd60e51b81526004016107279061303e565b6000610e666101045490565b610e7190600161308b565b905060006001610e81848461308b565b610e8b91906130a3565b604080516020810190915281905261010481905561010054909150811115610ef55760405162461bcd60e51b815260206004820152601d60248201527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606401610727565b610105604051806060016040528084815260200183815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018181018655948252602091829020845160039092020190815590830151938101939093555060408101519091906002820190610f879082613108565b505050610f9c6033546001600160a01b031690565b6001600160a01b031660006001600160a01b0316837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d84604051610fe291815260200190565b60405180910390a45050505050565b6033546001600160a01b0316331461101b5760405162461bcd60e51b815260040161072790613009565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b6060609880546105ec90612f84565b61106d33610836565b61108a57604051635c510c8360e11b815260040160405180910390fd5b6108208383838080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509250611d9d915050565b8160016101085460ff1660028111156110e2576110e2612d09565b03611118576110f7816101076000600161077c565b611113576040516282b42960e81b815260040160405180910390fd5b611164565b60026101085460ff16600281111561113257611132612d09565b0361116457611147816101076000600261077c565b15611164576040516282b42960e81b815260040160405180910390fd5b6108208383611f7a565b611178338361188f565b6111945760405162461bcd60e51b815260040161072790612fb8565b6111a084848484611f85565b50505050565b6111af33610836565b6111cc57604051635c510c8360e11b815260040160405180910390fd5b61010760008260028111156111e3576111e3612d09565b60028111156111f4576111f4612d09565b815260208101919091526040016000908120908181611213828261296c565b50505050336001600160a01b03167f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da24826040516112509190612d1f565b60405180910390a250565b6060600080611269846115fa565b92505091508161131457600084815261010660205260409020805461128d90612f84565b80601f01602080910402602001604051908101604052809291908181526020018280546112b990612f84565b80156113065780601f106112db57610100808354040283529160200191611306565b820191906000526020600020905b8154815290600101906020018083116112e957829003601f168201915b505050505092505050919050565b8061131e85611fb8565b60405160200161132f9291906131c8565b60405160208183030381529060405292505050919050565b6033546001600160a01b031633146113715760405162461bcd60e51b815260040161072790613009565b60ff805416156113935760405162461bcd60e51b81526004016107279061303e565b610a1a8133336113a260fc5490565b33611a90565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b610108546000906105bd90839061010790849060ff16600281111561077c5761077c612d09565b6033546001600160a01b031633146114275760405162461bcd60e51b815260040161072790613009565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461147f5760405162461bcd60e51b815260040161072790613009565b6001600160a01b0381166114e45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610727565b61098b81611d4b565b6114f633610836565b61151357604051635c510c8360e11b815260040160405180910390fd5b600083600281111561152757611527612d09565b0361154557604051632de777a160e11b815260040160405180910390fd5b6108208383838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525060019250611d9d915050565b60606000610cee836120b9565b60006001600160e01b0319821663fa31a45b60e01b14806105bd57506105bd82612115565b60006001600160e01b03198216631030681960e21b14806115dc57506115dc82612115565b806115eb57506115eb8261212b565b806105bd57506105bd8261214c565b600080606060005b6101055481101561173e57610105818154811061162157611621613216565b90600052602060002090600302016000015485101580156116675750610105818154811061165157611651613216565b9060005260206000209060030201600101548511155b1561172c57600181610105838154811061168357611683613216565b90600052602060002090600302016002018080546116a090612f84565b80601f01602080910402602001604051908101604052809291908181526020018280546116cc90612f84565b80156117195780601f106116ee57610100808354040283529160200191611719565b820191906000526020600020905b8154815290600101906020018083116116fc57829003601f168201915b5050505050905093509350935050611756565b806117368161322c565b915050611602565b50506040805160208101909152600080825292508291505b9193909250565b6001600160a01b03811660009081526001830160205260408120541515610cee565b600061178a82610cd0565b9050806001600160a01b0316836001600160a01b0316036117f75760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610727565b336001600160a01b0382161480611813575061181381336113a8565b6118855760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610727565b610820838361218c565b60008061189b83610cd0565b9050806001600160a01b0316846001600160a01b031614806118d65750836001600160a01b03166118cb8461066f565b6001600160a01b0316145b806118e657506118e681856113a8565b949350505050565b806000036118fb57600080fd5b6000611906826115fa565b5050905080801561192c57506000828152609960205260409020546001600160a01b0316155b801561194857506000828152610102602052604090205460ff16155b156119575761195784836121fb565b6111a084848461233d565b6000610cee8284613245565b6000610cee828461327a565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b6119a53361086a565b611a0a5760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b6064820152608401610727565b61098b816124d9565b806002811115611a2557611a25612d09565b6101085460ff166002811115611a3d57611a3d612d09565b60405133907f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f90600090a4610108805482919060ff19166001836002811115611a8857611a88612d09565b021790555050565b6000611aa161010480546001019055565b6000611aad6101045490565b905061010054811115611b025760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152606401610727565b611b0c8582612574565b600081815261010660205260409020611b258882613108565b5060008181526101016020526040902080546001600160a01b0319166001600160a01b038816179055600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b0385161790555b9695505050505050565b60008054610100900460ff1615611bd8578160ff166001148015611bb45750303b155b611bd05760405162461bcd60e51b81526004016107279061328e565b506000919050565b60005460ff808416911610611bff5760405162461bcd60e51b81526004016107279061328e565b506000805460ff191660ff92909216919091179055600190565b919050565b600054610100900460ff16611c455760405162461bcd60e51b8152600401610727906132dc565b610e0c61258e565b600054610100900460ff16611c745760405162461bcd60e51b8152600401610727906132dc565b610a1a82826125be565b600054610100900460ff16610e0c5760405162461bcd60e51b8152600401610727906132dc565b600054610100900460ff16611ccc5760405162461bcd60e51b8152600401610727906132dc565b610e0c611c7e565b6000818152609960205260408120546001600160a01b0316806105bd5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610727565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000836002811115611db157611db1612d09565b146108205760005b82518110156111a0578115611e9a57611e29838281518110611ddd57611ddd613216565b60200260200101516101076000876002811115611dfc57611dfc612d09565b6002811115611e0d57611e0d612d09565b81526020019081526020016000206125fe90919063ffffffff16565b50836002811115611e3c57611e3c612d09565b838281518110611e4e57611e4e613216565b60200260200101516001600160a01b0316336001600160a01b03167f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba153660405160405180910390a4611f68565b611efb838281518110611eaf57611eaf613216565b60200260200101516101076000876002811115611ece57611ece612d09565b6002811115611edf57611edf612d09565b815260200190815260200160002061261390919063ffffffff16565b50836002811115611f0e57611f0e612d09565b838281518110611f2057611f20613216565b60200260200101516001600160a01b0316336001600160a01b03167fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed9560405160405180910390a45b80611f728161322c565b915050611db9565b610a1a338383612628565b611f908484846118ee565b611f9c848484846126f6565b6111a05760405162461bcd60e51b815260040161072790613327565b606081600003611fdf5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156120095780611ff38161322c565b91506120029050600a8361327a565b9150611fe3565b60008167ffffffffffffffff81111561202457612024612e09565b6040519080825280601f01601f19166020018201604052801561204e576020820181803683370190505b5090505b84156118e6576120636001836130a3565b9150612070600a86613379565b61207b90603061308b565b60f81b81838151811061209057612090613216565b60200101906001600160f81b031916908160001a9053506120b2600a8661327a565b9450612052565b60608160000180548060200260200160405190810160405280929190818152602001828054801561210957602002820191906000526020600020905b8154815260200190600101908083116120f5575b50505050509050919050565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b14806105bd57506105bd825b60006001600160e01b031982166380ac58cd60e01b148061217d57506001600160e01b03198216635b5e139f60e01b145b806105bd57506105bd82612115565b60008181526101036020526040902080546001600160a01b0319166001600160a01b03841690811790915581906121c282611cd4565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6001600160a01b0382166122515760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610727565b6000818152609960205260409020546001600160a01b0316156122b65760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610727565b6001600160a01b0382166000908152609a602052604081208054600192906122df90849061308b565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b826001600160a01b031661235082611cd4565b6001600160a01b0316146123b45760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610727565b6001600160a01b0382166124165760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610727565b61242160008261218c565b6001600160a01b0383166000908152609a6020526040812080546001929061244a9084906130a3565b90915550506001600160a01b0382166000908152609a6020526040812080546001929061247890849061308b565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006124e482611cd4565b90506124f160008361218c565b6001600160a01b0381166000908152609a6020526040812080546001929061251a9084906130a3565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b610a1a8282604051806020016040528060008152506127f7565b600054610100900460ff166125b55760405162461bcd60e51b8152600401610727906132dc565b610e0c33611d4b565b600054610100900460ff166125e55760405162461bcd60e51b8152600401610727906132dc565b60976125f18382613108565b5060986108208282613108565b6000610cee836001600160a01b03841661282a565b6000610cee836001600160a01b038416612879565b816001600160a01b0316836001600160a01b0316036126895760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610727565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60006001600160a01b0384163b156127ec57604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061273a90339089908890889060040161338d565b6020604051808303816000875af1925050508015612775575060408051601f3d908101601f19168201909252612772918101906133c0565b60015b6127d2573d8080156127a3576040519150601f19603f3d011682016040523d82523d6000602084013e6127a8565b606091505b5080516000036127ca5760405162461bcd60e51b815260040161072790613327565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506118e6565b506001949350505050565b61280183836121fb565b61280e60008484846126f6565b6108205760405162461bcd60e51b815260040161072790613327565b6000818152600183016020526040812054612871575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556105bd565b5060006105bd565b6000818152600183016020526040812054801561296257600061289d6001836130a3565b85549091506000906128b1906001906130a3565b90508181146129165760008660000182815481106128d1576128d1613216565b90600052602060002001549050808760000184815481106128f4576128f4613216565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612927576129276133dd565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506105bd565b60009150506105bd565b508054600082559060005260206000209081019061098b91905b8082111561299a5760008155600101612986565b5090565b803560038110611c1957600080fd5b6000602082840312156129bf57600080fd5b610cee8261299e565b6020808252825182820181905260009190848201906040850190845b81811015612a095783516001600160a01b0316835292840192918401916001016129e4565b50909695505050505050565b6001600160e01b03198116811461098b57600080fd5b600060208284031215612a3d57600080fd5b8135610cee81612a15565b60005b83811015612a63578181015183820152602001612a4b565b838111156111a05750506000910152565b60008151808452612a8c816020860160208601612a48565b601f01601f19169290920160200192915050565b602081526000610cee6020830184612a74565b600060208284031215612ac557600080fd5b5035919050565b80356001600160a01b0381168114611c1957600080fd5b60008060408385031215612af657600080fd5b612aff83612acc565b946020939093013593505050565b600060208284031215612b1f57600080fd5b610cee82612acc565b600080600060608486031215612b3d57600080fd5b612b4684612acc565b9250612b5460208501612acc565b9150604084013590509250925092565b60008060408385031215612b7757600080fd5b50508035926020909101359150565b60008083601f840112612b9857600080fd5b50813567ffffffffffffffff811115612bb057600080fd5b602083019150836020828501011115612bc857600080fd5b9250929050565b60008060008060608587031215612be557600080fd5b843567ffffffffffffffff811115612bfc57600080fd5b612c0887828801612b86565b9095509350612c1b905060208601612acc565b9150612c2960408601612acc565b905092959194509250565b60008060008060008060808789031215612c4d57600080fd5b863567ffffffffffffffff80821115612c6557600080fd5b612c718a838b01612b86565b90985096506020890135915080821115612c8a57600080fd5b50612c9789828a01612b86565b9095509350612caa905060408801612acc565b9150606087013590509295509295509295565b600080600060408486031215612cd257600080fd5b833567ffffffffffffffff811115612ce957600080fd5b612cf586828701612b86565b909790965060209590950135949350505050565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612d4157634e487b7160e01b600052602160045260246000fd5b91905290565b600080600060408486031215612d5c57600080fd5b612d658461299e565b9250602084013567ffffffffffffffff80821115612d8257600080fd5b818601915086601f830112612d9657600080fd5b813581811115612da557600080fd5b8760208260051b8501011115612dba57600080fd5b6020830194508093505050509250925092565b60008060408385031215612de057600080fd5b612de983612acc565b915060208301358015158114612dfe57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115612e3a57612e3a612e09565b604051601f8501601f19908116603f01168101908282118183101715612e6257612e62612e09565b81604052809350858152868686011115612e7b57600080fd5b858560208301376000602087830101525050509392505050565b60008060008060808587031215612eab57600080fd5b612eb485612acc565b9350612ec260208601612acc565b925060408501359150606085013567ffffffffffffffff811115612ee557600080fd5b8501601f81018713612ef657600080fd5b612f0587823560208401612e1f565b91505092959194509250565b600060208284031215612f2357600080fd5b813567ffffffffffffffff811115612f3a57600080fd5b8201601f81018413612f4b57600080fd5b6118e684823560208401612e1f565b60008060408385031215612f6d57600080fd5b612f7683612acc565b915061092960208401612acc565b600181811c90821680612f9857607f821691505b602082108103610d4c57634e487b7160e01b600052602260045260246000fd5b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000821982111561309e5761309e613075565b500190565b6000828210156130b5576130b5613075565b500390565b601f82111561082057600081815260208120601f850160051c810160208610156130e15750805b601f850160051c820191505b81811015613100578281556001016130ed565b505050505050565b815167ffffffffffffffff81111561312257613122612e09565b613136816131308454612f84565b846130ba565b602080601f83116001811461316b57600084156131535750858301515b600019600386901b1c1916600185901b178555613100565b600085815260208120601f198616915b8281101561319a5788860151825594840194600190910190840161317b565b50858210156131b85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600083516131da818460208801612a48565b602f60f81b90830190815283516131f8816001840160208801612a48565b64173539b7b760d91b60019290910191820152600601949350505050565b634e487b7160e01b600052603260045260246000fd5b60006001820161323e5761323e613075565b5060010190565b600081600019048311821515161561325f5761325f613075565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261328957613289613264565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008261338857613388613264565b500690565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611b8790830184612a74565b6000602082840312156133d257600080fd5b8151610cee81612a15565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220938ce2757d4bf31de29a45d48be70d84d733bd4e1e833fb2c0faa8e73438ddf164736f6c634300080f0033", - "sourceMap": "183:1643:47:-:0;;;;;;;;;;;;;;;;;;;", + "sourceMap": "183:1643:61:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106102535760003560e01c806370a0823111610146578063b88d4fde116100c3578063e985e9c511610087578063e985e9c514610512578063eab8511814610525578063ee07080514610538578063efc32cd414610544578063f2fde38b14610557578063ff6e8c8f1461056a57600080fd5b8063b88d4fde146104bc578063bc719455146104cf578063c87b56dd146104e2578063d9856c21146104f5578063e83157421461050857600080fd5b80638da5cb5b1161010a5780638da5cb5b1461047557806395d89b41146104865780639e860f2a1461048e578063a22cb465146104a1578063ab69607a146104b457600080fd5b806370a082311461042b578063715018a61461043e5780637cc918d11461044657806387bc793f14610459578063894ba8331461046d57600080fd5b80633403c4e9116101d4578063472a663811610198578063472a6638146103cc5780634aa52c41146103df5780635edc7c19146103f25780636297c16c146104055780636352211e1461041857600080fd5b80633403c4e91461036f5780633ebc82c51461038057806340c1a0641461039357806342842e0e146103a657806342966c68146103b957600080fd5b806318160ddd1161021b57806318160ddd146102f9578063204274861461030f57806323b872dd146103225780632a55205a146103355780632ce878da1461036757600080fd5b8063012cf1e81461025857806301ffc9a71461028157806306fdde03146102a4578063081812fc146102b9578063095ea7b3146102e4575b600080fd5b61026b6102663660046129ad565b61057d565b60405161027891906129c8565b60405180910390f35b61029461028f366004612a2b565b6105c3565b6040519015158152602001610278565b6102ac6105dd565b6040516102789190612aa0565b6102cc6102c7366004612ab3565b61066f565b6040516001600160a01b039091168152602001610278565b6102f76102f2366004612ae3565b610750565b005b610301610825565b604051908152602001610278565b61029461031d366004612b0d565b610836565b6102f7610330366004612b28565b610865565b610348610343366004612b64565b610897565b604080516001600160a01b039093168352602083019190915201610278565b61026b610932565b60fb546001600160a01b03166102cc565b6102f761038e366004612b0d565b610958565b6102cc6103a1366004612ab3565b61098e565b6102f76103b4366004612b28565b6109a2565b6102f76103c7366004612ab3565b6109bd565b6102f76103da3660046129ad565b610a1e565b6102f76103ed366004612bcf565b610a4d565b6102f7610400366004612c34565b610ae6565b6102f7610413366004612ab3565b610c66565b6102cc610426366004612ab3565b610cd0565b610301610439366004612b0d565b610d52565b6102f7610dd8565b6102f7610454366004612cbd565b610e0e565b6101085460ff166040516102789190612d1f565b6102f7610ff1565b6033546001600160a01b03166102cc565b6102ac611055565b6102f761049c366004612d47565b611064565b6102f76104af366004612dcd565b6110c7565b60fc54610301565b6102f76104ca366004612e95565b61116e565b6102f76104dd3660046129ad565b6111a6565b6102ac6104f0366004612ab3565b61125b565b6102f7610503366004612f11565b611347565b6103016101005481565b610294610520366004612f5a565b6113a8565b610294610533366004612b0d565b6113d6565b60ff8054610294911681565b6102f7610552366004612ae3565b6113fd565b6102f7610565366004612b0d565b611455565b6102f7610578366004612d47565b6114ed565b60606105bd610107600084600281111561059957610599612d09565b60028111156105aa576105aa612d09565b8152602001908152602001600020611585565b92915050565b60006105ce82611592565b806105bd57506105bd826115b7565b6060609780546105ec90612f84565b80601f016020809104026020016040519081016040528092919081815260200182805461061890612f84565b80156106655780601f1061063a57610100808354040283529160200191610665565b820191906000526020600020905b81548152906001019060200180831161064857829003601f168201915b5050505050905090565b600081815260fd60205260408120546001600160a01b031681610691846115fa565b50509050600081806106ab57506001600160a01b03831615155b80156106c757506000858152610102602052604090205460ff16155b9050806107305760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b50505060009182525061010360205260409020546001600160a01b031690565b8160016101085460ff16600281111561076b5761076b612d09565b036107ca576107a981610107600060015b600281111561078d5761078d612d09565b815260200190815260200160002061175d90919063ffffffff16565b6107c5576040516282b42960e81b815260040160405180910390fd5b610816565b60026101085460ff1660028111156107e4576107e4612d09565b03610816576107f9816101076000600261077c565b15610816576040516282b42960e81b815260040160405180910390fd5b610820838361177f565b505050565b60006108316101045490565b905090565b600061084a6033546001600160a01b031690565b6001600160a01b0316826001600160a01b0316149050919050565b610870335b8261188f565b61088c5760405162461bcd60e51b815260040161072790612fb8565b6108208383836118ee565b600082815260fd602052604081205481906001600160a01b03166108c65760fb546001600160a01b03166108df565b600084815260fd60205260409020546001600160a01b03165b9150610929606461092360fe60008881526020019081526020016000205460000361090c5760fc5461091c565b600087815260fe60205260409020545b8690611962565b9061196e565b90509250929050565b61010854606090610831906101079060009060ff16600281111561059957610599612d09565b6033546001600160a01b031633146109825760405162461bcd60e51b815260040161072790613009565b61098b8161197a565b50565b60006105bd6033546001600160a01b031690565b6108208383836040518060200160405280600081525061116e565b60006109c8826115fa565b5050600083815261010260205260409020805460ff191660011790559050808015610a0857506000828152609960205260409020546001600160a01b0316155b15610a11575050565b610a1a8261199c565b5050565b610a2733610836565b610a4457604051635c510c8360e11b815260040160405180910390fd5b61098b81611a13565b6033546001600160a01b03163314610a775760405162461bcd60e51b815260040161072790613009565b60ff80541615610a995760405162461bcd60e51b81526004016107279061303e565b610adf84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060fc5433925086915085611a90565b5050505050565b6000610af26001611b91565b90508015610b0a576000805461ff0019166101001790555b6001600160a01b038316610b605760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606401610727565b610b6a600a60fc55565b60ff805460ff19169055610100829055610b82611c1e565b610bf587878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611c4d92505050565b610bfd611c7e565b610c05611ca5565b610c0e8361197a565b610c1783611455565b8015610c5d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b8033610c7182610cd0565b6001600160a01b031614610cc75760405162461bcd60e51b815260206004820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152606401610727565b610a1a826109bd565b600080610cdc836115fa565b5050905080610cf557610cee83611cd4565b9392505050565b6000838152610102602052604090205460ff1615610d1657610cee83611cd4565b6000838152609960205260409020546001600160a01b0316610d43576033546001600160a01b0316610cee565b610cee83611cd4565b50919050565b60006001600160a01b038216610dbc5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610727565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610e025760405162461bcd60e51b815260040161072790613009565b610e0c6000611d4b565b565b6033546001600160a01b03163314610e385760405162461bcd60e51b815260040161072790613009565b60ff80541615610e5a5760405162461bcd60e51b81526004016107279061303e565b6000610e666101045490565b610e7190600161308b565b905060006001610e81848461308b565b610e8b91906130a3565b604080516020810190915281905261010481905561010054909150811115610ef55760405162461bcd60e51b815260206004820152601d60248201527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606401610727565b610105604051806060016040528084815260200183815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018181018655948252602091829020845160039092020190815590830151938101939093555060408101519091906002820190610f879082613108565b505050610f9c6033546001600160a01b031690565b6001600160a01b031660006001600160a01b0316837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d84604051610fe291815260200190565b60405180910390a45050505050565b6033546001600160a01b0316331461101b5760405162461bcd60e51b815260040161072790613009565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b6060609880546105ec90612f84565b61106d33610836565b61108a57604051635c510c8360e11b815260040160405180910390fd5b6108208383838080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509250611d9d915050565b8160016101085460ff1660028111156110e2576110e2612d09565b03611118576110f7816101076000600161077c565b611113576040516282b42960e81b815260040160405180910390fd5b611164565b60026101085460ff16600281111561113257611132612d09565b0361116457611147816101076000600261077c565b15611164576040516282b42960e81b815260040160405180910390fd5b6108208383611f7a565b611178338361188f565b6111945760405162461bcd60e51b815260040161072790612fb8565b6111a084848484611f85565b50505050565b6111af33610836565b6111cc57604051635c510c8360e11b815260040160405180910390fd5b61010760008260028111156111e3576111e3612d09565b60028111156111f4576111f4612d09565b815260208101919091526040016000908120908181611213828261296c565b50505050336001600160a01b03167f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da24826040516112509190612d1f565b60405180910390a250565b6060600080611269846115fa565b92505091508161131457600084815261010660205260409020805461128d90612f84565b80601f01602080910402602001604051908101604052809291908181526020018280546112b990612f84565b80156113065780601f106112db57610100808354040283529160200191611306565b820191906000526020600020905b8154815290600101906020018083116112e957829003601f168201915b505050505092505050919050565b8061131e85611fb8565b60405160200161132f9291906131c8565b60405160208183030381529060405292505050919050565b6033546001600160a01b031633146113715760405162461bcd60e51b815260040161072790613009565b60ff805416156113935760405162461bcd60e51b81526004016107279061303e565b610a1a8133336113a260fc5490565b33611a90565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b610108546000906105bd90839061010790849060ff16600281111561077c5761077c612d09565b6033546001600160a01b031633146114275760405162461bcd60e51b815260040161072790613009565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461147f5760405162461bcd60e51b815260040161072790613009565b6001600160a01b0381166114e45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610727565b61098b81611d4b565b6114f633610836565b61151357604051635c510c8360e11b815260040160405180910390fd5b600083600281111561152757611527612d09565b0361154557604051632de777a160e11b815260040160405180910390fd5b6108208383838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525060019250611d9d915050565b60606000610cee836120b9565b60006001600160e01b0319821663fa31a45b60e01b14806105bd57506105bd82612115565b60006001600160e01b03198216631030681960e21b14806115dc57506115dc82612115565b806115eb57506115eb8261212b565b806105bd57506105bd8261214c565b600080606060005b6101055481101561173e57610105818154811061162157611621613216565b90600052602060002090600302016000015485101580156116675750610105818154811061165157611651613216565b9060005260206000209060030201600101548511155b1561172c57600181610105838154811061168357611683613216565b90600052602060002090600302016002018080546116a090612f84565b80601f01602080910402602001604051908101604052809291908181526020018280546116cc90612f84565b80156117195780601f106116ee57610100808354040283529160200191611719565b820191906000526020600020905b8154815290600101906020018083116116fc57829003601f168201915b5050505050905093509350935050611756565b806117368161322c565b915050611602565b50506040805160208101909152600080825292508291505b9193909250565b6001600160a01b03811660009081526001830160205260408120541515610cee565b600061178a82610cd0565b9050806001600160a01b0316836001600160a01b0316036117f75760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610727565b336001600160a01b0382161480611813575061181381336113a8565b6118855760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610727565b610820838361218c565b60008061189b83610cd0565b9050806001600160a01b0316846001600160a01b031614806118d65750836001600160a01b03166118cb8461066f565b6001600160a01b0316145b806118e657506118e681856113a8565b949350505050565b806000036118fb57600080fd5b6000611906826115fa565b5050905080801561192c57506000828152609960205260409020546001600160a01b0316155b801561194857506000828152610102602052604090205460ff16155b156119575761195784836121fb565b6111a084848461233d565b6000610cee8284613245565b6000610cee828461327a565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b6119a53361086a565b611a0a5760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b6064820152608401610727565b61098b816124d9565b806002811115611a2557611a25612d09565b6101085460ff166002811115611a3d57611a3d612d09565b60405133907f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f90600090a4610108805482919060ff19166001836002811115611a8857611a88612d09565b021790555050565b6000611aa161010480546001019055565b6000611aad6101045490565b905061010054811115611b025760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152606401610727565b611b0c8582612574565b600081815261010660205260409020611b258882613108565b5060008181526101016020526040902080546001600160a01b0319166001600160a01b038816179055600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b0385161790555b9695505050505050565b60008054610100900460ff1615611bd8578160ff166001148015611bb45750303b155b611bd05760405162461bcd60e51b81526004016107279061328e565b506000919050565b60005460ff808416911610611bff5760405162461bcd60e51b81526004016107279061328e565b506000805460ff191660ff92909216919091179055600190565b919050565b600054610100900460ff16611c455760405162461bcd60e51b8152600401610727906132dc565b610e0c61258e565b600054610100900460ff16611c745760405162461bcd60e51b8152600401610727906132dc565b610a1a82826125be565b600054610100900460ff16610e0c5760405162461bcd60e51b8152600401610727906132dc565b600054610100900460ff16611ccc5760405162461bcd60e51b8152600401610727906132dc565b610e0c611c7e565b6000818152609960205260408120546001600160a01b0316806105bd5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610727565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000836002811115611db157611db1612d09565b146108205760005b82518110156111a0578115611e9a57611e29838281518110611ddd57611ddd613216565b60200260200101516101076000876002811115611dfc57611dfc612d09565b6002811115611e0d57611e0d612d09565b81526020019081526020016000206125fe90919063ffffffff16565b50836002811115611e3c57611e3c612d09565b838281518110611e4e57611e4e613216565b60200260200101516001600160a01b0316336001600160a01b03167f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba153660405160405180910390a4611f68565b611efb838281518110611eaf57611eaf613216565b60200260200101516101076000876002811115611ece57611ece612d09565b6002811115611edf57611edf612d09565b815260200190815260200160002061261390919063ffffffff16565b50836002811115611f0e57611f0e612d09565b838281518110611f2057611f20613216565b60200260200101516001600160a01b0316336001600160a01b03167fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed9560405160405180910390a45b80611f728161322c565b915050611db9565b610a1a338383612628565b611f908484846118ee565b611f9c848484846126f6565b6111a05760405162461bcd60e51b815260040161072790613327565b606081600003611fdf5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156120095780611ff38161322c565b91506120029050600a8361327a565b9150611fe3565b60008167ffffffffffffffff81111561202457612024612e09565b6040519080825280601f01601f19166020018201604052801561204e576020820181803683370190505b5090505b84156118e6576120636001836130a3565b9150612070600a86613379565b61207b90603061308b565b60f81b81838151811061209057612090613216565b60200101906001600160f81b031916908160001a9053506120b2600a8661327a565b9450612052565b60608160000180548060200260200160405190810160405280929190818152602001828054801561210957602002820191906000526020600020905b8154815260200190600101908083116120f5575b50505050509050919050565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b14806105bd57506105bd825b60006001600160e01b031982166380ac58cd60e01b148061217d57506001600160e01b03198216635b5e139f60e01b145b806105bd57506105bd82612115565b60008181526101036020526040902080546001600160a01b0319166001600160a01b03841690811790915581906121c282611cd4565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6001600160a01b0382166122515760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610727565b6000818152609960205260409020546001600160a01b0316156122b65760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610727565b6001600160a01b0382166000908152609a602052604081208054600192906122df90849061308b565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b826001600160a01b031661235082611cd4565b6001600160a01b0316146123b45760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610727565b6001600160a01b0382166124165760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610727565b61242160008261218c565b6001600160a01b0383166000908152609a6020526040812080546001929061244a9084906130a3565b90915550506001600160a01b0382166000908152609a6020526040812080546001929061247890849061308b565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006124e482611cd4565b90506124f160008361218c565b6001600160a01b0381166000908152609a6020526040812080546001929061251a9084906130a3565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b610a1a8282604051806020016040528060008152506127f7565b600054610100900460ff166125b55760405162461bcd60e51b8152600401610727906132dc565b610e0c33611d4b565b600054610100900460ff166125e55760405162461bcd60e51b8152600401610727906132dc565b60976125f18382613108565b5060986108208282613108565b6000610cee836001600160a01b03841661282a565b6000610cee836001600160a01b038416612879565b816001600160a01b0316836001600160a01b0316036126895760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610727565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60006001600160a01b0384163b156127ec57604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061273a90339089908890889060040161338d565b6020604051808303816000875af1925050508015612775575060408051601f3d908101601f19168201909252612772918101906133c0565b60015b6127d2573d8080156127a3576040519150601f19603f3d011682016040523d82523d6000602084013e6127a8565b606091505b5080516000036127ca5760405162461bcd60e51b815260040161072790613327565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506118e6565b506001949350505050565b61280183836121fb565b61280e60008484846126f6565b6108205760405162461bcd60e51b815260040161072790613327565b6000818152600183016020526040812054612871575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556105bd565b5060006105bd565b6000818152600183016020526040812054801561296257600061289d6001836130a3565b85549091506000906128b1906001906130a3565b90508181146129165760008660000182815481106128d1576128d1613216565b90600052602060002001549050808760000184815481106128f4576128f4613216565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612927576129276133dd565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506105bd565b60009150506105bd565b508054600082559060005260206000209081019061098b91905b8082111561299a5760008155600101612986565b5090565b803560038110611c1957600080fd5b6000602082840312156129bf57600080fd5b610cee8261299e565b6020808252825182820181905260009190848201906040850190845b81811015612a095783516001600160a01b0316835292840192918401916001016129e4565b50909695505050505050565b6001600160e01b03198116811461098b57600080fd5b600060208284031215612a3d57600080fd5b8135610cee81612a15565b60005b83811015612a63578181015183820152602001612a4b565b838111156111a05750506000910152565b60008151808452612a8c816020860160208601612a48565b601f01601f19169290920160200192915050565b602081526000610cee6020830184612a74565b600060208284031215612ac557600080fd5b5035919050565b80356001600160a01b0381168114611c1957600080fd5b60008060408385031215612af657600080fd5b612aff83612acc565b946020939093013593505050565b600060208284031215612b1f57600080fd5b610cee82612acc565b600080600060608486031215612b3d57600080fd5b612b4684612acc565b9250612b5460208501612acc565b9150604084013590509250925092565b60008060408385031215612b7757600080fd5b50508035926020909101359150565b60008083601f840112612b9857600080fd5b50813567ffffffffffffffff811115612bb057600080fd5b602083019150836020828501011115612bc857600080fd5b9250929050565b60008060008060608587031215612be557600080fd5b843567ffffffffffffffff811115612bfc57600080fd5b612c0887828801612b86565b9095509350612c1b905060208601612acc565b9150612c2960408601612acc565b905092959194509250565b60008060008060008060808789031215612c4d57600080fd5b863567ffffffffffffffff80821115612c6557600080fd5b612c718a838b01612b86565b90985096506020890135915080821115612c8a57600080fd5b50612c9789828a01612b86565b9095509350612caa905060408801612acc565b9150606087013590509295509295509295565b600080600060408486031215612cd257600080fd5b833567ffffffffffffffff811115612ce957600080fd5b612cf586828701612b86565b909790965060209590950135949350505050565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612d4157634e487b7160e01b600052602160045260246000fd5b91905290565b600080600060408486031215612d5c57600080fd5b612d658461299e565b9250602084013567ffffffffffffffff80821115612d8257600080fd5b818601915086601f830112612d9657600080fd5b813581811115612da557600080fd5b8760208260051b8501011115612dba57600080fd5b6020830194508093505050509250925092565b60008060408385031215612de057600080fd5b612de983612acc565b915060208301358015158114612dfe57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115612e3a57612e3a612e09565b604051601f8501601f19908116603f01168101908282118183101715612e6257612e62612e09565b81604052809350858152868686011115612e7b57600080fd5b858560208301376000602087830101525050509392505050565b60008060008060808587031215612eab57600080fd5b612eb485612acc565b9350612ec260208601612acc565b925060408501359150606085013567ffffffffffffffff811115612ee557600080fd5b8501601f81018713612ef657600080fd5b612f0587823560208401612e1f565b91505092959194509250565b600060208284031215612f2357600080fd5b813567ffffffffffffffff811115612f3a57600080fd5b8201601f81018413612f4b57600080fd5b6118e684823560208401612e1f565b60008060408385031215612f6d57600080fd5b612f7683612acc565b915061092960208401612acc565b600181811c90821680612f9857607f821691505b602082108103610d4c57634e487b7160e01b600052602260045260246000fd5b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000821982111561309e5761309e613075565b500190565b6000828210156130b5576130b5613075565b500390565b601f82111561082057600081815260208120601f850160051c810160208610156130e15750805b601f850160051c820191505b81811015613100578281556001016130ed565b505050505050565b815167ffffffffffffffff81111561312257613122612e09565b613136816131308454612f84565b846130ba565b602080601f83116001811461316b57600084156131535750858301515b600019600386901b1c1916600185901b178555613100565b600085815260208120601f198616915b8281101561319a5788860151825594840194600190910190840161317b565b50858210156131b85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600083516131da818460208801612a48565b602f60f81b90830190815283516131f8816001840160208801612a48565b64173539b7b760d91b60019290910191820152600601949350505050565b634e487b7160e01b600052603260045260246000fd5b60006001820161323e5761323e613075565b5060010190565b600081600019048311821515161561325f5761325f613075565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261328957613289613264565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008261338857613388613264565b500690565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611b8790830184612a74565b6000602082840312156133d257600080fd5b8151610cee81612a15565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220938ce2757d4bf31de29a45d48be70d84d733bd4e1e833fb2c0faa8e73438ddf164736f6c634300080f0033", - "sourceMap": "183:1643:47:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3744:142:41;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;503:304:47;;;;;;:::i;:::-;;:::i;:::-;;;1592:14:59;;1585:22;1567:41;;1555:2;1540:18;503:304:47;1427:187:59;2948:98:15;;;:::i;:::-;;;;;;;:::i;8273:476:45:-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2719:32:59;;;2701:51;;2689:2;2674:18;8273:476:45;2555:203:59;1329:173:47;;;;;;:::i;:::-;;:::i;:::-;;9234:109:45;;;:::i;:::-;;;3346:25:59;;;3334:2;3319:18;9234:109:45;3200:177:59;1052:171:47;;;;;;:::i;:::-;;:::i;5198:330:15:-;;;;;;:::i;:::-;;:::i;846:566:54:-;;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;4351:32:59;;;4333:51;;4415:2;4400:18;;4393:34;;;;4306:18;846:566:54;4159:274:59;3922:114:41;;;:::i;2248:113:54:-;2332:22;;-1:-1:-1;;;;;2332:22:54;2248:113;;4722:127:45;;;;;;:::i;:::-;;:::i;4437:154::-;;;;;;:::i;:::-;;:::i;5594:179:15:-;;;;;;:::i;:::-;;:::i;4114:317:45:-;;;;;;:::i;:::-;;:::i;2445:125:41:-;;;;;;:::i;:::-;;:::i;3677:323:45:-;;;;;;:::i;:::-;;:::i;2004:548::-;;;;;;:::i;:::-;;:::i;4006:102::-;;;;;;:::i;:::-;;:::i;6561:594::-;;;;;;:::i;:::-;;:::i;2390:204:15:-;;;;;;:::i;:::-;;:::i;1908:101:6:-;;;:::i;2812:609:45:-;;;;;;:::i;:::-;;:::i;4242:104:41:-;4333:8;;;;4242:104;;;;;;:::i;4597:119:45:-;;;:::i;1276:85:6:-;1348:6;;-1:-1:-1;;;;;1348:6:6;1276:85;;3110:102:15;;;:::i;3066:182:41:-;;;;;;:::i;:::-;;:::i;1619:205:47:-;;;;;;:::i;:::-;;:::i;2367:117:54:-;2453:24;;2367:117;;5839:320:15;;;;;;:::i;:::-;;:::i;3343:158:41:-;;;;;;:::i;:::-;;:::i;5939:616:45:-;;;;;;:::i;:::-;;:::i;3427:244::-;;;;;;:::i;:::-;;:::i;1164:24::-;;;;;;4974:162:15;;;;;;:::i;:::-;;:::i;4072:134:41:-;;;;;;:::i;:::-;;:::i;1137:20:45:-;;;;;;;;;4855:167;;;;;;:::i;:::-;;:::i;2158:198:6:-;;;;;;:::i;:::-;;:::i;2703:268:41:-;;;;;;:::i;:::-;;:::i;3744:142::-;3826:16;3857:24;:4;:15;3862:9;3857:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:22;:24::i;:::-;3850:31;3744:142;-1:-1:-1;;3744:142:41:o;503:304:47:-;657:4;696:44;727:12;696:30;:44::i;:::-;:104;;;;756:44;787:12;756:30;:44::i;2948:98:15:-;3002:13;3034:5;3027:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2948:98;:::o;8273:476:45:-;8390:7;8432:26;;;:16;:26;;;;;;-1:-1:-1;;;;;8432:26:45;8390:7;8496:24;8449:8;8496:14;:24::i;:::-;8468:52;;;;8530:11;8545:14;:40;;;-1:-1:-1;;;;;;8563:22:45;;;;8545:40;8544:81;;;;-1:-1:-1;8603:22:45;;;;:12;:22;;;;;;;;8602:23;8544:81;8530:95;;8644:6;8636:63;;;;-1:-1:-1;;;8636:63:45;;11221:2:59;8636:63:45;;;11203:21:59;11260:2;11240:18;;;11233:30;11299:34;11279:18;;;11272:62;-1:-1:-1;;;11350:18:59;;;11343:42;11402:19;;8636:63:45;;;;;;;;;-1:-1:-1;;;8717:25:45;;;;-1:-1:-1;8717:15:45;:25;;;;;;-1:-1:-1;;;;;8717:25:45;;8273:476::o;1329:173:47:-;1443:8;1472:28:41;1460:8;;;;:40;;;;;;;;:::i;:::-;;1456:309;;1515:50;1559:5;1515:4;:34;1520:28;1515:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;:43;;:50;;;;:::i;:::-;1510:92;;1574:28;;-1:-1:-1;;;1574:28:41;;;;;;;;;;;1510:92;1456:309;;;1631:27;1619:8;;;;:39;;;;;;;;:::i;:::-;;1615:150;;1672:49;1715:5;1672:4;:33;1677:27;1672:33;;:49;1668:90;;;1730:28;;-1:-1:-1;;;1730:28:41;;;;;;;;;;;1668:90;1467:28:47::1;1481:8;1491:3;1467:13;:28::i;:::-;1329:173:::0;;;:::o;9234:109:45:-;9286:7;9312:24;:14;929::22;;838:112;9312:24:45;9305:31;;9234:109;:::o;1052:171:47:-;1173:4;1209:7;1348:6:6;;-1:-1:-1;;;;;1348:6:6;;1276:85;1209:7:47;-1:-1:-1;;;;;1200:16:47;:5;-1:-1:-1;;;;;1200:16:47;;1193:23;;1052:171;;;:::o;5198:330:15:-;5387:41;929:10:21;5406:12:15;5420:7;5387:18;:41::i;:::-;5379:103;;;;-1:-1:-1;;;5379:103:15;;;;;;;:::i;:::-;5493:28;5503:4;5509:2;5513:7;5493:9;:28::i;846:566:54:-;983:16;1049:26;;;:16;:26;;;;;;983:16;;-1:-1:-1;;;;;1049:26:54;:118;;1145:22;;-1:-1:-1;;;;;1145:22:54;1049:118;;;1104:26;;;;:16;:26;;;;;;-1:-1:-1;;;;;1104:26:54;1049:118;1038:129;;1193:212;1401:3;1193:190;1238:18;:28;1257:8;1238:28;;;;;;;;;;;;1270:1;1238:33;:131;;1345:24;;1238:131;;;1294:28;;;;:18;:28;;;;;;1238:131;1193:10;;:27;:190::i;:::-;:207;;:212::i;:::-;1177:228;;846:566;;;;;:::o;3922:114:41:-;4013:8;;3977:16;;4008:23;;:4;;:14;;4013:8;;4008:14;;;;;;;;:::i;4722:127:45:-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;4805:37:45::1;4832:9;4805:26;:37::i;:::-;4722:127:::0;:::o;4437:154::-;4530:15;4576:7;1348:6:6;;-1:-1:-1;;;;;1348:6:6;;1276:85;5594:179:15;5727:39;5744:4;5750:2;5754:7;5727:39;;;;;;;;;;;;:16;:39::i;4114:317:45:-;4181:19;4208:24;4223:8;4208:14;:24::i;:::-;-1:-1:-1;;4243:22:45;;;;:12;:22;;;;;:29;;-1:-1:-1;;4243:29:45;4268:4;4243:29;;;4180:52;-1:-1:-1;4180:52:45;4287:54;;;;-1:-1:-1;7696:4:15;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:15;:30;4287:54:45;4283:91;;;4357:7;4114:317;:::o;4283:91::-;4384:40;4415:8;4384:30;:40::i;:::-;4170:261;4114:317;:::o;2445:125:41:-;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:41;;;;;;;;;;;2064:71;2539:26:::1;2552:12;2539;:26::i;3677:323:45:-:0;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;2745:8:45::1;::::0;;::::1;2744:9;2736:52;;;;-1:-1:-1::0;;;2736:52:45::1;;;;;;;:::i;:::-;3833:160:::2;3859:4;;3833:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;;-1:-1:-1;;2453:24:54;;3877:10:45::2;::::0;-1:-1:-1;3901:9:45;;-1:-1:-1;3967:16:45::2;3833:12;:160::i;:::-;;3677:323:::0;;;;:::o;2004:548::-;3111:19:7;3133:25;3156:1;3133:22;:25::i;:::-;3111:47;;3172:14;3168:65;;;3202:13;:20;;-1:-1:-1;;3202:20:7;;;;;3168:65;-1:-1:-1;;;;;2179:22:45;::::1;2171:65;;;::::0;-1:-1:-1;;;2171:65:45;;12772:2:59;2171:65:45::1;::::0;::::1;12754:21:59::0;12811:2;12791:18;;;12784:30;12850:32;12830:18;;;12823:60;12900:18;;2171:65:45::1;12570:354:59::0;2171:65:45::1;2246:32;2275:2;2197:24:54::0;:38;2119:123;2246:32:45::1;2288:8;:16:::0;;-1:-1:-1;;2288:16:45::1;::::0;;::::1;2314:22:::0;;;2347:16:::1;:14;:16::i;:::-;2373:29;2387:5;;2373:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;2373:29:45::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;2394:7:45;;-1:-1:-1;2394:7:45;;;;2373:29;::::1;2394:7:::0;;;;2373:29;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;2373:13:45::1;::::0;-1:-1:-1;;;2373:29:45:i:1;:::-;2412:15;:13;:15::i;:::-;2437:17;:15;:17::i;:::-;2465:36;2492:8;2465:26;:36::i;:::-;2512:33;2536:8;2512:23;:33::i;:::-;3257:14:7::0;3253:99;;;3303:5;3287:21;;-1:-1:-1;;3287:21:7;;;3327:14;;-1:-1:-1;13081:36:59;;3327:14:7;;13069:2:59;13054:18;3327:14:7;;;;;;;3253:99;3101:257;2004:548:45;;;;;;:::o;4006:102::-;4067:8;2639:10;2618:17;4067:8;2618:7;:17::i;:::-;-1:-1:-1;;;;;2618:31:45;;2610:67;;;;-1:-1:-1;;;2610:67:45;;13330:2:59;2610:67:45;;;13312:21:59;13369:2;13349:18;;;13342:30;13408:25;13388:18;;;13381:53;13451:18;;2610:67:45;13128:347:59;2610:67:45;4087:14:::1;4092:8;4087:4;:14::i;6561:594::-:0;6674:7;6698:19;6725:24;6740:8;6725:14;:24::i;:::-;6697:52;;;;6765:14;6760:389;;6802:35;6828:8;6802:25;:35::i;:::-;6795:42;6561:594;-1:-1:-1;;;6561:594:45:o;6760:389::-;6858:22;;;;:12;:22;;;;;;;;6854:295;;;6903:35;6929:8;6903:25;:35::i;6854:295::-;7696:4:15;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:15;6969:170:45;;1348:6:6;;-1:-1:-1;;;;;1348:6:6;7036:7:45;1276:85:6;6969:170:45;7089:35;7115:8;7089:25;:35::i;6969:170::-;6687:468;6561:594;;;:::o;2390:204:15:-;2462:7;-1:-1:-1;;;;;2489:19:15;;2481:73;;;;-1:-1:-1;;;2481:73:15;;13682:2:59;2481:73:15;;;13664:21:59;13721:2;13701:18;;;13694:30;13760:34;13740:18;;;13733:62;-1:-1:-1;;;13811:18:59;;;13804:39;13860:19;;2481:73:15;13480:405:59;2481:73:15;-1:-1:-1;;;;;;2571:16:15;;;;;:9;:16;;;;;;;2390:204::o;1908:101:6:-;1348:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;1972:30:::1;1999:1;1972:18;:30::i;:::-;1908:101::o:0;2812:609:45:-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;2745:8:45::1;::::0;;::::1;2744:9;2736:52;;;;-1:-1:-1::0;;;2736:52:45::1;;;;;;;:::i;:::-;2951:20:::2;2974:24;:14;929::22::0;;838:112;2974:24:45::2;:28;::::0;3001:1:::2;2974:28;:::i;:::-;2951:51:::0;-1:-1:-1;3012:18:45::2;3066:1;3033:30;3048:15:::0;2951:51;3033:30:::2;:::i;:::-;:34;;;;:::i;:::-;3095:39;::::0;;::::2;::::0;::::2;::::0;;;;;;3078:14:::2;:56:::0;;;3194:9:::2;::::0;3095:39;;-1:-1:-1;3095:39:45;3166:37:::2;;3145:113;;;::::0;-1:-1:-1;;;3145:113:45;;14487:2:59;3145:113:45::2;::::0;::::2;14469:21:59::0;14526:2;14506:18;;;14499:30;14565:31;14545:18;;;14538:59;14614:18;;3145:113:45::2;14285:353:59::0;3145:113:45::2;3269:11;3286:45;;;;;;;;3296:12;3286:45;;;;3310:10;3286:45;;;;3322:8;;3286:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;-1:-1:-1;3286:45:45;;;;-1:-1:-1;;3269:63:45;;::::2;::::0;;::::2;::::0;;;;;::::2;::::0;;;;;;::::2;::::0;;::::2;;::::0;;;;;::::2;::::0;;;::::2;::::0;;;;-1:-1:-1;3269:63:45::2;::::0;::::2;::::0;;;;::::2;::::0;::::2;::::0;::::2;::::0;;::::2;:::i;:::-;;;;3406:7;1348:6:6::0;;-1:-1:-1;;;;;1348:6:6;;1276:85;3406:7:45::2;-1:-1:-1::0;;;;;3348:66:45::2;3402:1;-1:-1:-1::0;;;;;3348:66:45::2;3368:12;3348:66;3382:10;3348:66;;;;3346:25:59::0;;3334:2;3319:18;;3200:177;3348:66:45::2;;;;;;;;2941:480;;2812:609:::0;;;:::o;4597:119::-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;4651:8:45::1;:15:::0;;-1:-1:-1;;4651:15:45::1;4662:4;4651:15;::::0;;4681:28:::1;::::0;4698:10:::1;::::0;4681:28:::1;::::0;4651:8:::1;::::0;4681:28:::1;4597:119::o:0;3110:102:15:-;3166:13;3198:7;3191:14;;;;;:::i;3066:182:41:-;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:41;;;;;;;;;;;2064:71;3201:42:::1;3218:9;3229:6;;3201:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;3201:42:41;-1:-1:-1;3201:16:41::1;::::0;-1:-1:-1;;3201:42:41:i:1;1619:205:47:-:0;1747:9;1472:28:41;1460:8;;;;:40;;;;;;;;:::i;:::-;;1456:309;;1515:50;1559:5;1515:4;:34;1520:28;1515:34;;:50;1510:92;;1574:28;;-1:-1:-1;;;1574:28:41;;;;;;;;;;;1510:92;1456:309;;;1631:27;1619:8;;;;:39;;;;;;;;:::i;:::-;;1615:150;;1672:49;1715:5;1672:4;:33;1677:27;1672:33;;:49;1668:90;;;1730:28;;-1:-1:-1;;;1730:28:41;;;;;;;;;;;1668:90;1772:45:47::1;1796:9;1807;1772:23;:45::i;5839:320:15:-:0;6008:41;929:10:21;6041:7:15;6008:18;:41::i;:::-;6000:103;;;;-1:-1:-1;;;6000:103:15;;;;;;;:::i;:::-;6113:39;6127:4;6133:2;6137:7;6146:5;6113:13;:39::i;:::-;5839:320;;;;:::o;3343:158:41:-;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:41;;;;;;;;;;;2064:71;3436:4:::1;:15;3441:9;3436:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;3436:15:41;;;;;-1:-1:-1;3429:22:41::1;3436:15:::0;-1:-1:-1;3429:22:41::1;:::i;:::-;;;;;3474:10;-1:-1:-1::0;;;;;3462:34:41::1;;3486:9;3462:34;;;;;;:::i;:::-;;;;;;;;3343:158:::0;:::o;5939:616:45:-;6053:13;6083:19;6106:26;6136:46;6164:8;6136:14;:46::i;:::-;6082:100;;;;;6198:14;6193:356;;6235:20;;;;:10;:20;;;;;6228:27;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5939:616;;;:::o;6193:356::-;6379:12;6446:19;:8;:17;:19::i;:::-;6337:183;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6286:252;;;;5939:616;;;:::o;3427:244::-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;2745:8:45::1;::::0;;::::1;2744:9;2736:52;;;;-1:-1:-1::0;;;2736:52:45::1;;;;;;;:::i;:::-;3509:155:::2;3535:4;3553:10;3577;3601:29;2453:24:54::0;;;2367:117;3601:29:45::2;3644:10;3509:12;:155::i;4974:162:15:-:0;-1:-1:-1;;;;;5094:25:15;;;5071:4;5094:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4974:162::o;4072:134:41:-;4172:8;;4148:4;;4167:34;;4191:9;;4167:4;;4148;;4172:8;;4167:14;;;;;;;;:::i;4855:167:45:-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;4977:26:45::1;::::0;;;:16:::1;:26;::::0;;;;:38;;-1:-1:-1;;;;;;4977:38:45::1;-1:-1:-1::0;;;;;4977:38:45;;;::::1;::::0;;;::::1;::::0;;4855:167::o;2158:198:6:-;1348:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;-1:-1:-1;;;;;2246:22:6;::::1;2238:73;;;::::0;-1:-1:-1;;;2238:73:6;;17826:2:59;2238:73:6::1;::::0;::::1;17808:21:59::0;17865:2;17845:18;;;17838:30;17904:34;17884:18;;;17877:62;-1:-1:-1;;;17955:18:59;;;17948:36;18001:19;;2238:73:6::1;17624:402:59::0;2238:73:6::1;2321:28;2340:8;2321:18;:28::i;2703:268:41:-:0;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:41;;;;;;;;;;;2064:71;2852:26:::1;2839:9;:39;;;;;;;;:::i;:::-;::::0;2835:84:::1;;2887:32;;-1:-1:-1::0;;;2887:32:41::1;;;;;;;;;;;2835:84;2925:41;2942:9;2953:6;;2925:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2961:4:41::1;::::0;-1:-1:-1;2925:16:41::1;::::0;-1:-1:-1;;2925:41:41:i:1;9581:257:39:-:0;9644:16;9672:22;9697:19;9705:3;9697:7;:19::i;4735:204:41:-;4821:4;-1:-1:-1;;;;;;4844:47:41;;-1:-1:-1;;;4844:47:41;;:88;;;4895:37;4919:12;4895:23;:37::i;9953:468:45:-;10136:4;-1:-1:-1;;;;;;10175:46:45;;-1:-1:-1;;;10175:46:45;;:110;;;10237:48;10273:11;10237:35;:48::i;:::-;10175:175;;;;10301:49;10338:11;10301:36;:49::i;:::-;10175:239;;;;10366:48;10402:11;10366:35;:48::i;9349:537::-;9451:20;9485:19;9518:27;9575:9;9570:278;9594:11;:18;9590:22;;9570:278;;;9666:11;9678:1;9666:14;;;;;;;;:::i;:::-;;;;;;;;;;;:27;;;9654:8;:39;;:96;;;;;9725:11;9737:1;9725:14;;;;;;;;:::i;:::-;;;;;;;;;;;:25;;;9713:8;:37;;9654:96;9633:205;;;9791:4;9797:1;9800:11;9812:1;9800:14;;;;;;;;:::i;:::-;;;;;;;;;;;:22;;9783:40;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9633:205;9614:3;;;;:::i;:::-;;;;9570:278;;;-1:-1:-1;;9858:21:45;;;;;;;;;9866:5;9858:21;;;9866:5;-1:-1:-1;9866:5:45;;-1:-1:-1;9349:537:45;;;;;;:::o;8182:165:39:-;-1:-1:-1;;;;;8315:23:39;;8262:4;3849:19;;;:12;;;:19;;;;;;:24;;8285:55;3753:127;7161:394:45;7241:13;7257:16;7265:7;7257;:16::i;:::-;7241:32;;7297:5;-1:-1:-1;;;;;7291:11:45;:2;-1:-1:-1;;;;;7291:11:45;;7283:57;;;;-1:-1:-1;;;7283:57:45;;18505:2:59;7283:57:45;;;18487:21:59;18544:2;18524:18;;;18517:30;18583:34;18563:18;;;18556:62;-1:-1:-1;;;18634:18:59;;;18627:31;18675:19;;7283:57:45;18303:397:59;7283:57:45;929:10:21;-1:-1:-1;;;;;7372:21:45;;;;:62;;-1:-1:-1;7397:37:45;7414:5;929:10:21;4974:162:15;:::i;7397:37:45:-;7351:165;;;;-1:-1:-1;;;7351:165:45;;18907:2:59;7351:165:45;;;18889:21:59;18946:2;18926:18;;;18919:30;18985:34;18965:18;;;18958:62;19056:26;19036:18;;;19029:54;19100:19;;7351:165:45;18705:420:59;7351:165:45;7527:21;7536:2;7540:7;7527:8;:21::i;7561:338::-;7705:4;7725:13;7741:17;7749:8;7741:7;:17::i;:::-;7725:33;;7788:5;-1:-1:-1;;;;;7776:17:45;:8;-1:-1:-1;;;;;7776:17:45;;:66;;;;7834:8;-1:-1:-1;;;;;7809:33:45;:21;7821:8;7809:11;:21::i;:::-;-1:-1:-1;;;;;7809:33:45;;7776:66;:115;;;;7858:33;7875:5;7882:8;7858:16;:33::i;:::-;7768:124;7561:338;-1:-1:-1;;;;7561:338:45:o;8755:473::-;8894:8;8906:1;8894:13;8886:22;;;;;;8920:19;8947:24;8962:8;8947:14;:24::i;:::-;8919:52;;;;8999:14;:66;;;;-1:-1:-1;7696:4:15;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:15;:30;8999:66:45;:105;;;;-1:-1:-1;9082:22:45;;;;:12;:22;;;;;;;;9081:23;8999:105;8982:180;;;9129:22;9135:5;9142:8;9129:5;:22::i;:::-;9172:49;9200:5;9207:3;9212:8;9172:27;:49::i;3461:96:26:-;3519:7;3545:5;3549:1;3545;:5;:::i;3846:96::-;3904:7;3930:5;3934:1;3930;:5;:::i;1418:115:54:-;1492:22;:34;;-1:-1:-1;;;;;;1492:34:54;-1:-1:-1;;;;;1492:34:54;;;;;;;;;;1418:115::o;801:241:18:-;917:41;929:10:21;936:12:18;850:96:21;917:41:18;909:102;;;;-1:-1:-1;;;909:102:18;;19762:2:59;909:102:18;;;19744:21:59;19801:2;19781:18;;;19774:30;19840:34;19820:18;;;19813:62;-1:-1:-1;;;19891:18:59;;;19884:46;19947:19;;909:102:18;19560:412:59;909:102:18;1021:14;1027:7;1021:5;:14::i;5223:164:41:-;5340:12;5302:51;;;;;;;;:::i;:::-;5330:8;;;;5302:51;;;;;;;;:::i;:::-;;;5318:10;;5302:51;;;;;5359:8;:23;;5370:12;;5359:8;-1:-1:-1;;5359:23:41;;5370:12;5359:23;;;;;;;;:::i;:::-;;;;;;5223:164;:::o;5156:624:45:-;5347:7;5366:26;:14;1043:19:22;;1061:1;1043:19;;;956:123;5366:26:45;5402:15;5420:24;:14;929::22;;838:112;5420:24:45;5402:42;;5473:9;;5462:7;:20;;5454:65;;;;-1:-1:-1;;;5454:65:45;;20179:2:59;5454:65:45;;;20161:21:59;;;20198:18;;;20191:30;20257:34;20237:18;;;20230:62;20309:18;;5454:65:45;19977:356:59;5454:65:45;5529:23;5539:3;5544:7;5529:9;:23::i;:::-;5562:19;;;;:10;:19;;;;;:26;5584:4;5562:19;:26;:::i;:::-;-1:-1:-1;5109:23:45;;;;:13;:23;;;;;:34;;-1:-1:-1;;;;;;5109:34:45;-1:-1:-1;;;;;5109:34:45;;;;;1794:28:54;;;;:18;:28;;;;;:42;;;1639:26;;;;:16;:26;;;;;:41;;-1:-1:-1;;;;;;1639:41:54;-1:-1:-1;;;;;1639:41:54;;;;;5703:46:45;5766:7;5156:624;-1:-1:-1;;;;;;5156:624:45:o;5287:808:7:-;5351:4;5684:13;;;;;;;5680:409;;;5738:7;:12;;5749:1;5738:12;:61;;;;-1:-1:-1;5793:4:7;1476:19:20;:23;5738:61:7;5713:166;;;;-1:-1:-1;;;5713:166:7;;;;;;;:::i;:::-;-1:-1:-1;5900:5:7;;5287:808;-1:-1:-1;5287:808:7:o;5680:409::-;5944:12;;:22;;;;:12;;:22;5936:81;;;;-1:-1:-1;;;5936:81:7;;;;;;;:::i;:::-;-1:-1:-1;6031:12:7;:22;;-1:-1:-1;;6031:22:7;;;;;;;;;;;;-1:-1:-1;;5287:808:7:o;5680:409::-;5287:808;;;:::o;988:95:6:-;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;:::-;1050:26:6::1;:24;:26::i;1605:149:15:-:0;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;:::-;1708:39:15::1;1732:5;1739:7;1708:23;:39::i;862:58:24:-:0;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;755:85:54:-;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;:::-;818:15:54::1;:13;:15::i;2651:235:15:-:0;2723:7;2758:16;;;:7;:16;;;;;;-1:-1:-1;;;;;2758:16:15;;2784:73;;;;-1:-1:-1;;;2784:73:15;;21367:2:59;2784:73:15;;;21349:21:59;21406:2;21386:18;;;21379:30;21445:34;21425:18;;;21418:62;-1:-1:-1;;;21496:18:59;;;21489:39;21545:19;;2784:73:15;21165:405:59;2510:187:6;2602:6;;;-1:-1:-1;;;;;2618:17:6;;;-1:-1:-1;;;;;;2618:17:6;;;;;;;2650:40;;2602:6;;;2618:17;2602:6;;2650:40;;2583:16;;2650:40;2573:124;2510:187;:::o;5471:505:41:-;5602:26;5589:9;:39;;;;;;;;:::i;:::-;;5585:387;;5643:9;5638:328;5662:6;:13;5658:1;:17;5638:328;;;5696:7;5692:266;;;5717:30;5737:6;5744:1;5737:9;;;;;;;;:::i;:::-;;;;;;;5717:4;:15;5722:9;5717:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:19;;:30;;;;:::i;:::-;;5806:9;5764:52;;;;;;;;:::i;:::-;5795:6;5802:1;5795:9;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;5764:52:41;5783:10;-1:-1:-1;;;;;5764:52:41;;;;;;;;;;;5692:266;;;5845:33;5868:6;5875:1;5868:9;;;;;;;;:::i;:::-;;;;;;;5845:4;:15;5850:9;5845:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:22;;:33;;;;:::i;:::-;;5937:9;5895:52;;;;;;;;:::i;:::-;5926:6;5933:1;5926:9;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;5895:52:41;5914:10;-1:-1:-1;;;;;5895:52:41;;;;;;;;;;;5692:266;5677:3;;;;:::i;:::-;;;;5638:328;;4755:153:15;4849:52;929:10:21;4882:8:15;4892;4849:18;:52::i;7021:307::-;7172:28;7182:4;7188:2;7192:7;7172:9;:28::i;:::-;7218:48;7241:4;7247:2;7251:7;7260:5;7218:22;:48::i;:::-;7210:111;;;;-1:-1:-1;;;7210:111:15;;;;;;;:::i;339:703:23:-;395:13;612:5;621:1;612:10;608:51;;-1:-1:-1;;638:10:23;;;;;;;;;;;;-1:-1:-1;;;638:10:23;;;;;339:703::o;608:51::-;683:5;668:12;722:75;729:9;;722:75;;754:8;;;;:::i;:::-;;-1:-1:-1;776:10:23;;-1:-1:-1;784:2:23;776:10;;:::i;:::-;;;722:75;;;806:19;838:6;828:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;828:17:23;;806:39;;855:150;862:10;;855:150;;888:11;898:1;888:11;;:::i;:::-;;-1:-1:-1;956:10:23;964:2;956:5;:10;:::i;:::-;943:24;;:2;:24;:::i;:::-;930:39;;913:6;920;913:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;913:56:23;;;;;;;;-1:-1:-1;983:11:23;992:2;983:11;;:::i;:::-;;;855:150;;5068:109:39;5124:16;5159:3;:11;;5152:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5068:109;;;:::o;829:155:37:-;-1:-1:-1;;;;;;937:40:37;-1:-1:-1;;;937:40:37;;829:155::o;1849:264:54:-;1974:4;-1:-1:-1;;;;;;2013:41:54;;-1:-1:-1;;;2013:41:54;;:93;;;2070:36;2094:11;1987:344:15;2111:4;-1:-1:-1;;;;;;2146:51:15;;-1:-1:-1;;;2146:51:15;;:126;;-1:-1:-1;;;;;;;2213:59:15;;-1:-1:-1;;;2213:59:15;2146:126;:178;;;;2288:36;2312:11;2288:23;:36::i;8011:201:45:-;8086:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;8086:29:45;-1:-1:-1;;;;;8086:29:45;;;;;;;;:24;;8139:34;8086:24;8139:25;:34::i;:::-;-1:-1:-1;;;;;8130:57:45;;;;;;;;;;;8011:201;;:::o;9561:427:15:-;-1:-1:-1;;;;;9640:16:15;;9632:61;;;;-1:-1:-1;;;9632:61:15;;22313:2:59;9632:61:15;;;22295:21:59;;;22332:18;;;22325:30;22391:34;22371:18;;;22364:62;22443:18;;9632:61:15;22111:356:59;9632:61:15;7696:4;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:15;:30;9703:58;;;;-1:-1:-1;;;9703:58:15;;22674:2:59;9703:58:15;;;22656:21:59;22713:2;22693:18;;;22686:30;22752;22732:18;;;22725:58;22800:18;;9703:58:15;22472:352:59;9703:58:15;-1:-1:-1;;;;;9828:13:15;;;;;;:9;:13;;;;;:18;;9845:1;;9828:13;:18;;9845:1;;9828:18;:::i;:::-;;;;-1:-1:-1;;9856:16:15;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9856:21:15;-1:-1:-1;;;;;9856:21:15;;;;;;;;9893:33;;9856:16;;;9893:33;;9856:16;;9893:33;4170:261:45;4114:317;:::o;10946:616:15:-;11111:4;-1:-1:-1;;;;;11073:42:15;:34;11099:7;11073:25;:34::i;:::-;-1:-1:-1;;;;;11073:42:15;;11065:92;;;;-1:-1:-1;;;11065:92:15;;23031:2:59;11065:92:15;;;23013:21:59;23070:2;23050:18;;;23043:30;23109:34;23089:18;;;23082:62;-1:-1:-1;;;23160:18:59;;;23153:35;23205:19;;11065:92:15;22829:401:59;11065:92:15;-1:-1:-1;;;;;11175:16:15;;11167:65;;;;-1:-1:-1;;;11167:65:15;;23437:2:59;11167:65:15;;;23419:21:59;23476:2;23456:18;;;23449:30;23515:34;23495:18;;;23488:62;-1:-1:-1;;;23566:18:59;;;23559:34;23610:19;;11167:65:15;23235:400:59;11167:65:15;11344:29;11361:1;11365:7;11344:8;:29::i;:::-;-1:-1:-1;;;;;11384:15:15;;;;;;:9;:15;;;;;:20;;11403:1;;11384:15;:20;;11403:1;;11384:20;:::i;:::-;;;;-1:-1:-1;;;;;;;11414:13:15;;;;;;:9;:13;;;;;:18;;11431:1;;11414:13;:18;;11431:1;;11414:18;:::i;:::-;;;;-1:-1:-1;;11442:16:15;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;11442:21:15;-1:-1:-1;;;;;11442:21:15;;;;;;;;;11479:27;;11442:16;;11479:27;;;;;;;1329:173:47;;;:::o;10205:417:15:-;10264:13;10280:34;10306:7;10280:25;:34::i;:::-;10264:50;;10411:29;10428:1;10432:7;10411:8;:29::i;:::-;-1:-1:-1;;;;;10451:16:15;;;;;;:9;:16;;;;;:21;;10471:1;;10451:16;:21;;10471:1;;10451:21;:::i;:::-;;;;-1:-1:-1;;10489:16:15;;;;:7;:16;;;;;;10482:23;;-1:-1:-1;;;;;;10482:23:15;;;10521:36;10497:7;;10489:16;-1:-1:-1;;;;;10521:36:15;;;;;10489:16;;10521:36;4170:261:45;4114:317;:::o;8599:108:15:-;8674:26;8684:2;8688:7;8674:26;;;;;;;;;;;;:9;:26::i;1089:111:6:-;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;:::-;1161:32:6::1;929:10:21::0;1161:18:6::1;:32::i;1760:160:15:-:0;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;:::-;1873:5:15::1;:13;1881:5:::0;1873;:13:::1;:::i;:::-;-1:-1:-1::0;1896:7:15::1;:17;1906:7:::0;1896;:17:::1;:::i;7627:150:39:-:0;7697:4;7720:50;7725:3;-1:-1:-1;;;;;7745:23:39;;7720:4;:50::i;7945:156::-;8018:4;8041:53;8049:3;-1:-1:-1;;;;;8069:23:39;;8041:7;:53::i;11990:307:15:-;12140:8;-1:-1:-1;;;;;12131:17:15;:5;-1:-1:-1;;;;;12131:17:15;;12123:55;;;;-1:-1:-1;;;12123:55:15;;23842:2:59;12123:55:15;;;23824:21:59;23881:2;23861:18;;;23854:30;23920:27;23900:18;;;23893:55;23965:18;;12123:55:15;23640:349:59;12123:55:15;-1:-1:-1;;;;;12188:25:15;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;12188:46:15;;;;;;;;;;12249:41;;1567::59;;;12249::15;;1540:18:59;12249:41:15;;;;;;;11990:307;;;:::o;12850:800::-;13000:4;-1:-1:-1;;;;;13020:13:15;;1476:19:20;:23;13016:628:15;;13055:83;;-1:-1:-1;;;13055:83:15;;-1:-1:-1;;;;;13055:47:15;;;;;:83;;929:10:21;;13117:4:15;;13123:7;;13132:5;;13055:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13055:83:15;;;;;;;;-1:-1:-1;;13055:83:15;;;;;;;;;;;;:::i;:::-;;;13051:541;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13316:6;:13;13333:1;13316:18;13312:266;;13358:60;;-1:-1:-1;;;13358:60:15;;;;;;;:::i;13312:266::-;13530:6;13524:13;13515:6;13511:2;13507:15;13500:38;13051:541;-1:-1:-1;;;;;;13188:62:15;-1:-1:-1;;;13188:62:15;;-1:-1:-1;13181:69:15;;13016:628;-1:-1:-1;13629:4:15;12850:800;;;;;;:::o;8928:311::-;9053:18;9059:2;9063:7;9053:5;:18::i;:::-;9102:54;9133:1;9137:2;9141:7;9150:5;9102:22;:54::i;:::-;9081:151;;;;-1:-1:-1;;;9081:151:15;;;;;;;:::i;1712:404:39:-;1775:4;3849:19;;;:12;;;:19;;;;;;1791:319;;-1:-1:-1;1833:23:39;;;;;;;;:11;:23;;;;;;;;;;;;;2013:18;;1991:19;;;:12;;;:19;;;;;;:40;;;;2045:11;;1791:319;-1:-1:-1;2094:5:39;2087:12;;2284:1388;2350:4;2487:19;;;:12;;;:19;;;;;;2521:15;;2517:1149;;2890:21;2914:14;2927:1;2914:10;:14;:::i;:::-;2962:18;;2890:38;;-1:-1:-1;2942:17:39;;2962:22;;2983:1;;2962:22;:::i;:::-;2942:42;;3016:13;3003:9;:26;2999:398;;3049:17;3069:3;:11;;3081:9;3069:22;;;;;;;;:::i;:::-;;;;;;;;;3049:42;;3220:9;3191:3;:11;;3203:13;3191:26;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;;3303:23;;;:12;;;:23;;;;;:36;;;2999:398;3475:17;;:3;;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3567:3;:12;;:19;3580:5;3567:19;;;;;;;;;;;3560:26;;;3608:4;3601:11;;;;;;;2517:1149;3650:5;3643:12;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:149:59:-;88:20;;137:1;127:12;;117:40;;153:1;150;143:12;168:205;240:6;293:2;281:9;272:7;268:23;264:32;261:52;;;309:1;306;299:12;261:52;332:35;357:9;332:35;:::i;378:658::-;549:2;601:21;;;671:13;;574:18;;;693:22;;;520:4;;549:2;772:15;;;;746:2;731:18;;;520:4;815:195;829:6;826:1;823:13;815:195;;;894:13;;-1:-1:-1;;;;;890:39:59;878:52;;985:15;;;;950:12;;;;926:1;844:9;815:195;;;-1:-1:-1;1027:3:59;;378:658;-1:-1:-1;;;;;;378:658:59:o;1041:131::-;-1:-1:-1;;;;;;1115:32:59;;1105:43;;1095:71;;1162:1;1159;1152:12;1177:245;1235:6;1288:2;1276:9;1267:7;1263:23;1259:32;1256:52;;;1304:1;1301;1294:12;1256:52;1343:9;1330:23;1362:30;1386:5;1362:30;:::i;1619:258::-;1691:1;1701:113;1715:6;1712:1;1709:13;1701:113;;;1791:11;;;1785:18;1772:11;;;1765:39;1737:2;1730:10;1701:113;;;1832:6;1829:1;1826:13;1823:48;;;-1:-1:-1;;1867:1:59;1849:16;;1842:27;1619:258::o;1882:::-;1924:3;1962:5;1956:12;1989:6;1984:3;1977:19;2005:63;2061:6;2054:4;2049:3;2045:14;2038:4;2031:5;2027:16;2005:63;:::i;:::-;2122:2;2101:15;-1:-1:-1;;2097:29:59;2088:39;;;;2129:4;2084:50;;1882:258;-1:-1:-1;;1882:258:59:o;2145:220::-;2294:2;2283:9;2276:21;2257:4;2314:45;2355:2;2344:9;2340:18;2332:6;2314:45;:::i;2370:180::-;2429:6;2482:2;2470:9;2461:7;2457:23;2453:32;2450:52;;;2498:1;2495;2488:12;2450:52;-1:-1:-1;2521:23:59;;2370:180;-1:-1:-1;2370:180:59:o;2763:173::-;2831:20;;-1:-1:-1;;;;;2880:31:59;;2870:42;;2860:70;;2926:1;2923;2916:12;2941:254;3009:6;3017;3070:2;3058:9;3049:7;3045:23;3041:32;3038:52;;;3086:1;3083;3076:12;3038:52;3109:29;3128:9;3109:29;:::i;:::-;3099:39;3185:2;3170:18;;;;3157:32;;-1:-1:-1;;;2941:254:59:o;3382:186::-;3441:6;3494:2;3482:9;3473:7;3469:23;3465:32;3462:52;;;3510:1;3507;3500:12;3462:52;3533:29;3552:9;3533:29;:::i;3573:328::-;3650:6;3658;3666;3719:2;3707:9;3698:7;3694:23;3690:32;3687:52;;;3735:1;3732;3725:12;3687:52;3758:29;3777:9;3758:29;:::i;:::-;3748:39;;3806:38;3840:2;3829:9;3825:18;3806:38;:::i;:::-;3796:48;;3891:2;3880:9;3876:18;3863:32;3853:42;;3573:328;;;;;:::o;3906:248::-;3974:6;3982;4035:2;4023:9;4014:7;4010:23;4006:32;4003:52;;;4051:1;4048;4041:12;4003:52;-1:-1:-1;;4074:23:59;;;4144:2;4129:18;;;4116:32;;-1:-1:-1;3906:248:59:o;4662:348::-;4714:8;4724:6;4778:3;4771:4;4763:6;4759:17;4755:27;4745:55;;4796:1;4793;4786:12;4745:55;-1:-1:-1;4819:20:59;;4862:18;4851:30;;4848:50;;;4894:1;4891;4884:12;4848:50;4931:4;4923:6;4919:17;4907:29;;4983:3;4976:4;4967:6;4959;4955:19;4951:30;4948:39;4945:59;;;5000:1;4997;4990:12;4945:59;4662:348;;;;;:::o;5015:559::-;5104:6;5112;5120;5128;5181:2;5169:9;5160:7;5156:23;5152:32;5149:52;;;5197:1;5194;5187:12;5149:52;5237:9;5224:23;5270:18;5262:6;5259:30;5256:50;;;5302:1;5299;5292:12;5256:50;5341:59;5392:7;5383:6;5372:9;5368:22;5341:59;:::i;:::-;5419:8;;-1:-1:-1;5315:85:59;-1:-1:-1;5473:38:59;;-1:-1:-1;5507:2:59;5492:18;;5473:38;:::i;:::-;5463:48;;5530:38;5564:2;5553:9;5549:18;5530:38;:::i;:::-;5520:48;;5015:559;;;;;;;:::o;5579:864::-;5689:6;5697;5705;5713;5721;5729;5782:3;5770:9;5761:7;5757:23;5753:33;5750:53;;;5799:1;5796;5789:12;5750:53;5839:9;5826:23;5868:18;5909:2;5901:6;5898:14;5895:34;;;5925:1;5922;5915:12;5895:34;5964:59;6015:7;6006:6;5995:9;5991:22;5964:59;:::i;:::-;6042:8;;-1:-1:-1;5938:85:59;-1:-1:-1;6130:2:59;6115:18;;6102:32;;-1:-1:-1;6146:16:59;;;6143:36;;;6175:1;6172;6165:12;6143:36;;6214:61;6267:7;6256:8;6245:9;6241:24;6214:61;:::i;:::-;6294:8;;-1:-1:-1;6188:87:59;-1:-1:-1;6348:38:59;;-1:-1:-1;6382:2:59;6367:18;;6348:38;:::i;:::-;6338:48;;6433:2;6422:9;6418:18;6405:32;6395:42;;5579:864;;;;;;;;:::o;6448:479::-;6528:6;6536;6544;6597:2;6585:9;6576:7;6572:23;6568:32;6565:52;;;6613:1;6610;6603:12;6565:52;6653:9;6640:23;6686:18;6678:6;6675:30;6672:50;;;6718:1;6715;6708:12;6672:50;6757:59;6808:7;6799:6;6788:9;6784:22;6757:59;:::i;:::-;6835:8;;6731:85;;-1:-1:-1;6917:2:59;6902:18;;;;6889:32;;6448:479;-1:-1:-1;;;;6448:479:59:o;6932:127::-;6993:10;6988:3;6984:20;6981:1;6974:31;7024:4;7021:1;7014:15;7048:4;7045:1;7038:15;7064:341;7209:2;7194:18;;7242:1;7231:13;;7221:144;;7287:10;7282:3;7278:20;7275:1;7268:31;7322:4;7319:1;7312:15;7350:4;7347:1;7340:15;7221:144;7374:25;;;7064:341;:::o;7410:708::-;7518:6;7526;7534;7587:2;7575:9;7566:7;7562:23;7558:32;7555:52;;;7603:1;7600;7593:12;7555:52;7626:35;7651:9;7626:35;:::i;:::-;7616:45;;7712:2;7701:9;7697:18;7684:32;7735:18;7776:2;7768:6;7765:14;7762:34;;;7792:1;7789;7782:12;7762:34;7830:6;7819:9;7815:22;7805:32;;7875:7;7868:4;7864:2;7860:13;7856:27;7846:55;;7897:1;7894;7887:12;7846:55;7937:2;7924:16;7963:2;7955:6;7952:14;7949:34;;;7979:1;7976;7969:12;7949:34;8032:7;8027:2;8017:6;8014:1;8010:14;8006:2;8002:23;7998:32;7995:45;7992:65;;;8053:1;8050;8043:12;7992:65;8084:2;8080;8076:11;8066:21;;8106:6;8096:16;;;;;7410:708;;;;;:::o;8123:347::-;8188:6;8196;8249:2;8237:9;8228:7;8224:23;8220:32;8217:52;;;8265:1;8262;8255:12;8217:52;8288:29;8307:9;8288:29;:::i;:::-;8278:39;;8367:2;8356:9;8352:18;8339:32;8414:5;8407:13;8400:21;8393:5;8390:32;8380:60;;8436:1;8433;8426:12;8380:60;8459:5;8449:15;;;8123:347;;;;;:::o;8475:127::-;8536:10;8531:3;8527:20;8524:1;8517:31;8567:4;8564:1;8557:15;8591:4;8588:1;8581:15;8607:631;8671:5;8701:18;8742:2;8734:6;8731:14;8728:40;;;8748:18;;:::i;:::-;8823:2;8817:9;8791:2;8877:15;;-1:-1:-1;;8873:24:59;;;8899:2;8869:33;8865:42;8853:55;;;8923:18;;;8943:22;;;8920:46;8917:72;;;8969:18;;:::i;:::-;9009:10;9005:2;8998:22;9038:6;9029:15;;9068:6;9060;9053:22;9108:3;9099:6;9094:3;9090:16;9087:25;9084:45;;;9125:1;9122;9115:12;9084:45;9175:6;9170:3;9163:4;9155:6;9151:17;9138:44;9230:1;9223:4;9214:6;9206;9202:19;9198:30;9191:41;;;;8607:631;;;;;:::o;9243:666::-;9338:6;9346;9354;9362;9415:3;9403:9;9394:7;9390:23;9386:33;9383:53;;;9432:1;9429;9422:12;9383:53;9455:29;9474:9;9455:29;:::i;:::-;9445:39;;9503:38;9537:2;9526:9;9522:18;9503:38;:::i;:::-;9493:48;;9588:2;9577:9;9573:18;9560:32;9550:42;;9643:2;9632:9;9628:18;9615:32;9670:18;9662:6;9659:30;9656:50;;;9702:1;9699;9692:12;9656:50;9725:22;;9778:4;9770:13;;9766:27;-1:-1:-1;9756:55:59;;9807:1;9804;9797:12;9756:55;9830:73;9895:7;9890:2;9877:16;9872:2;9868;9864:11;9830:73;:::i;:::-;9820:83;;;9243:666;;;;;;;:::o;9914:450::-;9983:6;10036:2;10024:9;10015:7;10011:23;10007:32;10004:52;;;10052:1;10049;10042:12;10004:52;10092:9;10079:23;10125:18;10117:6;10114:30;10111:50;;;10157:1;10154;10147:12;10111:50;10180:22;;10233:4;10225:13;;10221:27;-1:-1:-1;10211:55:59;;10262:1;10259;10252:12;10211:55;10285:73;10350:7;10345:2;10332:16;10327:2;10323;10319:11;10285:73;:::i;10369:260::-;10437:6;10445;10498:2;10486:9;10477:7;10473:23;10469:32;10466:52;;;10514:1;10511;10504:12;10466:52;10537:29;10556:9;10537:29;:::i;:::-;10527:39;;10585:38;10619:2;10608:9;10604:18;10585:38;:::i;10634:380::-;10713:1;10709:12;;;;10756;;;10777:61;;10831:4;10823:6;10819:17;10809:27;;10777:61;10884:2;10876:6;10873:14;10853:18;10850:38;10847:161;;10930:10;10925:3;10921:20;10918:1;10911:31;10965:4;10962:1;10955:15;10993:4;10990:1;10983:15;11432:413;11634:2;11616:21;;;11673:2;11653:18;;;11646:30;11712:34;11707:2;11692:18;;11685:62;-1:-1:-1;;;11778:2:59;11763:18;;11756:47;11835:3;11820:19;;11432:413::o;11850:356::-;12052:2;12034:21;;;12071:18;;;12064:30;12130:34;12125:2;12110:18;;12103:62;12197:2;12182:18;;11850:356::o;12211:354::-;12413:2;12395:21;;;12452:2;12432:18;;;12425:30;12491:32;12486:2;12471:18;;12464:60;12556:2;12541:18;;12211:354::o;13890:127::-;13951:10;13946:3;13942:20;13939:1;13932:31;13982:4;13979:1;13972:15;14006:4;14003:1;13996:15;14022:128;14062:3;14093:1;14089:6;14086:1;14083:13;14080:39;;;14099:18;;:::i;:::-;-1:-1:-1;14135:9:59;;14022:128::o;14155:125::-;14195:4;14223:1;14220;14217:8;14214:34;;;14228:18;;:::i;:::-;-1:-1:-1;14265:9:59;;14155:125::o;14769:545::-;14871:2;14866:3;14863:11;14860:448;;;14907:1;14932:5;14928:2;14921:17;14977:4;14973:2;14963:19;15047:2;15035:10;15031:19;15028:1;15024:27;15018:4;15014:38;15083:4;15071:10;15068:20;15065:47;;;-1:-1:-1;15106:4:59;15065:47;15161:2;15156:3;15152:12;15149:1;15145:20;15139:4;15135:31;15125:41;;15216:82;15234:2;15227:5;15224:13;15216:82;;;15279:17;;;15260:1;15249:13;15216:82;;;15220:3;;;14769:545;;;:::o;15490:1352::-;15616:3;15610:10;15643:18;15635:6;15632:30;15629:56;;;15665:18;;:::i;:::-;15694:97;15784:6;15744:38;15776:4;15770:11;15744:38;:::i;:::-;15738:4;15694:97;:::i;:::-;15846:4;;15910:2;15899:14;;15927:1;15922:663;;;;16629:1;16646:6;16643:89;;;-1:-1:-1;16698:19:59;;;16692:26;16643:89;-1:-1:-1;;15447:1:59;15443:11;;;15439:24;15435:29;15425:40;15471:1;15467:11;;;15422:57;16745:81;;15892:944;;15922:663;14716:1;14709:14;;;14753:4;14740:18;;-1:-1:-1;;15958:20:59;;;16076:236;16090:7;16087:1;16084:14;16076:236;;;16179:19;;;16173:26;16158:42;;16271:27;;;;16239:1;16227:14;;;;16106:19;;16076:236;;;16080:3;16340:6;16331:7;16328:19;16325:201;;;16401:19;;;16395:26;-1:-1:-1;;16484:1:59;16480:14;;;16496:3;16476:24;16472:37;16468:42;16453:58;16438:74;;16325:201;-1:-1:-1;;;;;16572:1:59;16556:14;;;16552:22;16539:36;;-1:-1:-1;15490:1352:59:o;16847:772::-;17228:3;17266:6;17260:13;17282:53;17328:6;17323:3;17316:4;17308:6;17304:17;17282:53;:::i;:::-;-1:-1:-1;;;17357:16:59;;;17382:18;;;17425:13;;17447:65;17425:13;17499:1;17488:13;;17481:4;17469:17;;17447:65;:::i;:::-;-1:-1:-1;;;17575:1:59;17531:20;;;;17567:10;;;17560:27;17611:1;17603:10;;16847:772;-1:-1:-1;;;;16847:772:59:o;18031:127::-;18092:10;18087:3;18083:20;18080:1;18073:31;18123:4;18120:1;18113:15;18147:4;18144:1;18137:15;18163:135;18202:3;18223:17;;;18220:43;;18243:18;;:::i;:::-;-1:-1:-1;18290:1:59;18279:13;;18163:135::o;19130:168::-;19170:7;19236:1;19232;19228:6;19224:14;19221:1;19218:21;19213:1;19206:9;19199:17;19195:45;19192:71;;;19243:18;;:::i;:::-;-1:-1:-1;19283:9:59;;19130:168::o;19303:127::-;19364:10;19359:3;19355:20;19352:1;19345:31;19395:4;19392:1;19385:15;19419:4;19416:1;19409:15;19435:120;19475:1;19501;19491:35;;19506:18;;:::i;:::-;-1:-1:-1;19540:9:59;;19435:120::o;20338:410::-;20540:2;20522:21;;;20579:2;20559:18;;;20552:30;20618:34;20613:2;20598:18;;20591:62;-1:-1:-1;;;20684:2:59;20669:18;;20662:44;20738:3;20723:19;;20338:410::o;20753:407::-;20955:2;20937:21;;;20994:2;20974:18;;;20967:30;21033:34;21028:2;21013:18;;21006:62;-1:-1:-1;;;21099:2:59;21084:18;;21077:41;21150:3;21135:19;;20753:407::o;21575:414::-;21777:2;21759:21;;;21816:2;21796:18;;;21789:30;21855:34;21850:2;21835:18;;21828:62;-1:-1:-1;;;21921:2:59;21906:18;;21899:48;21979:3;21964:19;;21575:414::o;21994:112::-;22026:1;22052;22042:35;;22057:18;;:::i;:::-;-1:-1:-1;22091:9:59;;21994:112::o;23994:489::-;-1:-1:-1;;;;;24263:15:59;;;24245:34;;24315:15;;24310:2;24295:18;;24288:43;24362:2;24347:18;;24340:34;;;24410:3;24405:2;24390:18;;24383:31;;;24188:4;;24431:46;;24457:19;;24449:6;24431:46;:::i;24488:249::-;24557:6;24610:2;24598:9;24589:7;24585:23;24581:32;24578:52;;;24626:1;24623;24616:12;24578:52;24658:9;24652:16;24677:30;24701:5;24677:30;:::i;24742:127::-;24803:10;24798:3;24794:20;24791:1;24784:31;24834:4;24831:1;24824:15;24858:4;24855:1;24848:15", + "sourceMap": "183:1643:61:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3744:142:53;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;503:304:61;;;;;;:::i;:::-;;:::i;:::-;;;1593:14:77;;1586:22;1568:41;;1556:2;1541:18;503:304:61;1428:187:77;2948:98:27;;;:::i;:::-;;;;;;;:::i;8273:476:59:-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2720:32:77;;;2702:51;;2690:2;2675:18;8273:476:59;2556:203:77;1329:173:61;;;;;;:::i;:::-;;:::i;:::-;;9234:109:59;;;:::i;:::-;;;3347:25:77;;;3335:2;3320:18;9234:109:59;3201:177:77;1052:171:61;;;;;;:::i;:::-;;:::i;5198:330:27:-;;;;;;:::i;:::-;;:::i;846:566:72:-;;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;4352:32:77;;;4334:51;;4416:2;4401:18;;4394:34;;;;4307:18;846:566:72;4160:274:77;3922:114:53;;;:::i;2248:113:72:-;2332:22;;-1:-1:-1;;;;;2332:22:72;2248:113;;4722:127:59;;;;;;:::i;:::-;;:::i;4437:154::-;;;;;;:::i;:::-;;:::i;5594:179:27:-;;;;;;:::i;:::-;;:::i;4114:317:59:-;;;;;;:::i;:::-;;:::i;2445:125:53:-;;;;;;:::i;:::-;;:::i;3677:323:59:-;;;;;;:::i;:::-;;:::i;2004:548::-;;;;;;:::i;:::-;;:::i;4006:102::-;;;;;;:::i;:::-;;:::i;6561:594::-;;;;;;:::i;:::-;;:::i;2390:204:27:-;;;;;;:::i;:::-;;:::i;1908:101:18:-;;;:::i;2812:609:59:-;;;;;;:::i;:::-;;:::i;4242:104:53:-;4333:8;;;;4242:104;;;;;;:::i;4597:119:59:-;;;:::i;1276:85:18:-;1348:6;;-1:-1:-1;;;;;1348:6:18;1276:85;;3110:102:27;;;:::i;3066:182:53:-;;;;;;:::i;:::-;;:::i;1619:205:61:-;;;;;;:::i;:::-;;:::i;2367:117:72:-;2453:24;;2367:117;;5839:320:27;;;;;;:::i;:::-;;:::i;3343:158:53:-;;;;;;:::i;:::-;;:::i;5939:616:59:-;;;;;;:::i;:::-;;:::i;3427:244::-;;;;;;:::i;:::-;;:::i;1164:24::-;;;;;;4974:162:27;;;;;;:::i;:::-;;:::i;4072:134:53:-;;;;;;:::i;:::-;;:::i;1137:20:59:-;;;;;;;;;4855:167;;;;;;:::i;:::-;;:::i;2158:198:18:-;;;;;;:::i;:::-;;:::i;2703:268:53:-;;;;;;:::i;:::-;;:::i;3744:142::-;3826:16;3857:24;:4;:15;3862:9;3857:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:22;:24::i;:::-;3850:31;3744:142;-1:-1:-1;;3744:142:53:o;503:304:61:-;657:4;696:44;727:12;696:30;:44::i;:::-;:104;;;;756:44;787:12;756:30;:44::i;2948:98:27:-;3002:13;3034:5;3027:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2948:98;:::o;8273:476:59:-;8390:7;8432:26;;;:16;:26;;;;;;-1:-1:-1;;;;;8432:26:59;8390:7;8496:24;8449:8;8496:14;:24::i;:::-;8468:52;;;;8530:11;8545:14;:40;;;-1:-1:-1;;;;;;8563:22:59;;;;8545:40;8544:81;;;;-1:-1:-1;8603:22:59;;;;:12;:22;;;;;;;;8602:23;8544:81;8530:95;;8644:6;8636:63;;;;-1:-1:-1;;;8636:63:59;;11224:2:77;8636:63:59;;;11206:21:77;11263:2;11243:18;;;11236:30;11302:34;11282:18;;;11275:62;-1:-1:-1;;;11353:18:77;;;11346:42;11405:19;;8636:63:59;;;;;;;;;-1:-1:-1;;;8717:25:59;;;;-1:-1:-1;8717:15:59;:25;;;;;;-1:-1:-1;;;;;8717:25:59;;8273:476::o;1329:173:61:-;1443:8;1472:28:53;1460:8;;;;:40;;;;;;;;:::i;:::-;;1456:309;;1515:50;1559:5;1515:4;:34;1520:28;1515:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;:43;;:50;;;;:::i;:::-;1510:92;;1574:28;;-1:-1:-1;;;1574:28:53;;;;;;;;;;;1510:92;1456:309;;;1631:27;1619:8;;;;:39;;;;;;;;:::i;:::-;;1615:150;;1672:49;1715:5;1672:4;:33;1677:27;1672:33;;:49;1668:90;;;1730:28;;-1:-1:-1;;;1730:28:53;;;;;;;;;;;1668:90;1467:28:61::1;1481:8;1491:3;1467:13;:28::i;:::-;1329:173:::0;;;:::o;9234:109:59:-;9286:7;9312:24;:14;929::34;;838:112;9312:24:59;9305:31;;9234:109;:::o;1052:171:61:-;1173:4;1209:7;1348:6:18;;-1:-1:-1;;;;;1348:6:18;;1276:85;1209:7:61;-1:-1:-1;;;;;1200:16:61;:5;-1:-1:-1;;;;;1200:16:61;;1193:23;;1052:171;;;:::o;5198:330:27:-;5387:41;929:10:33;5406:12:27;5420:7;5387:18;:41::i;:::-;5379:103;;;;-1:-1:-1;;;5379:103:27;;;;;;;:::i;:::-;5493:28;5503:4;5509:2;5513:7;5493:9;:28::i;846:566:72:-;983:16;1049:26;;;:16;:26;;;;;;983:16;;-1:-1:-1;;;;;1049:26:72;:118;;1145:22;;-1:-1:-1;;;;;1145:22:72;1049:118;;;1104:26;;;;:16;:26;;;;;;-1:-1:-1;;;;;1104:26:72;1049:118;1038:129;;1193:212;1401:3;1193:190;1238:18;:28;1257:8;1238:28;;;;;;;;;;;;1270:1;1238:33;:131;;1345:24;;1238:131;;;1294:28;;;;:18;:28;;;;;;1238:131;1193:10;;:27;:190::i;:::-;:207;;:212::i;:::-;1177:228;;846:566;;;;;:::o;3922:114:53:-;4013:8;;3977:16;;4008:23;;:4;;:14;;4013:8;;4008:14;;;;;;;;:::i;4722:127:59:-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;4805:37:59::1;4832:9;4805:26;:37::i;:::-;4722:127:::0;:::o;4437:154::-;4530:15;4576:7;1348:6:18;;-1:-1:-1;;;;;1348:6:18;;1276:85;5594:179:27;5727:39;5744:4;5750:2;5754:7;5727:39;;;;;;;;;;;;:16;:39::i;4114:317:59:-;4181:19;4208:24;4223:8;4208:14;:24::i;:::-;-1:-1:-1;;4243:22:59;;;;:12;:22;;;;;:29;;-1:-1:-1;;4243:29:59;4268:4;4243:29;;;4180:52;-1:-1:-1;4180:52:59;4287:54;;;;-1:-1:-1;7696:4:27;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:27;:30;4287:54:59;4283:91;;;4357:7;4114:317;:::o;4283:91::-;4384:40;4415:8;4384:30;:40::i;:::-;4170:261;4114:317;:::o;2445:125:53:-;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:53;;;;;;;;;;;2064:71;2539:26:::1;2552:12;2539;:26::i;3677:323:59:-:0;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;2745:8:59::1;::::0;;::::1;2744:9;2736:52;;;;-1:-1:-1::0;;;2736:52:59::1;;;;;;;:::i;:::-;3833:160:::2;3859:4;;3833:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;;-1:-1:-1;;2453:24:72;;3877:10:59::2;::::0;-1:-1:-1;3901:9:59;;-1:-1:-1;3967:16:59::2;3833:12;:160::i;:::-;;3677:323:::0;;;;:::o;2004:548::-;3111:19:19;3133:25;3156:1;3133:22;:25::i;:::-;3111:47;;3172:14;3168:65;;;3202:13;:20;;-1:-1:-1;;3202:20:19;;;;;3168:65;-1:-1:-1;;;;;2179:22:59;::::1;2171:65;;;::::0;-1:-1:-1;;;2171:65:59;;12775:2:77;2171:65:59::1;::::0;::::1;12757:21:77::0;12814:2;12794:18;;;12787:30;12853:32;12833:18;;;12826:60;12903:18;;2171:65:59::1;12573:354:77::0;2171:65:59::1;2246:32;2275:2;2197:24:72::0;:38;2119:123;2246:32:59::1;2288:8;:16:::0;;-1:-1:-1;;2288:16:59::1;::::0;;::::1;2314:22:::0;;;2347:16:::1;:14;:16::i;:::-;2373:29;2387:5;;2373:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;2373:29:59::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;2394:7:59;;-1:-1:-1;2394:7:59;;;;2373:29;::::1;2394:7:::0;;;;2373:29;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;2373:13:59::1;::::0;-1:-1:-1;;;2373:29:59:i:1;:::-;2412:15;:13;:15::i;:::-;2437:17;:15;:17::i;:::-;2465:36;2492:8;2465:26;:36::i;:::-;2512:33;2536:8;2512:23;:33::i;:::-;3257:14:19::0;3253:99;;;3303:5;3287:21;;-1:-1:-1;;3287:21:19;;;3327:14;;-1:-1:-1;13084:36:77;;3327:14:19;;13072:2:77;13057:18;3327:14:19;;;;;;;3253:99;3101:257;2004:548:59;;;;;;:::o;4006:102::-;4067:8;2639:10;2618:17;4067:8;2618:7;:17::i;:::-;-1:-1:-1;;;;;2618:31:59;;2610:67;;;;-1:-1:-1;;;2610:67:59;;13333:2:77;2610:67:59;;;13315:21:77;13372:2;13352:18;;;13345:30;13411:25;13391:18;;;13384:53;13454:18;;2610:67:59;13131:347:77;2610:67:59;4087:14:::1;4092:8;4087:4;:14::i;6561:594::-:0;6674:7;6698:19;6725:24;6740:8;6725:14;:24::i;:::-;6697:52;;;;6765:14;6760:389;;6802:35;6828:8;6802:25;:35::i;:::-;6795:42;6561:594;-1:-1:-1;;;6561:594:59:o;6760:389::-;6858:22;;;;:12;:22;;;;;;;;6854:295;;;6903:35;6929:8;6903:25;:35::i;6854:295::-;7696:4:27;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:27;6969:170:59;;1348:6:18;;-1:-1:-1;;;;;1348:6:18;7036:7:59;1276:85:18;6969:170:59;7089:35;7115:8;7089:25;:35::i;6969:170::-;6687:468;6561:594;;;:::o;2390:204:27:-;2462:7;-1:-1:-1;;;;;2489:19:27;;2481:73;;;;-1:-1:-1;;;2481:73:27;;13685:2:77;2481:73:27;;;13667:21:77;13724:2;13704:18;;;13697:30;13763:34;13743:18;;;13736:62;-1:-1:-1;;;13814:18:77;;;13807:39;13863:19;;2481:73:27;13483:405:77;2481:73:27;-1:-1:-1;;;;;;2571:16:27;;;;;:9;:16;;;;;;;2390:204::o;1908:101:18:-;1348:6;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;1972:30:::1;1999:1;1972:18;:30::i;:::-;1908:101::o:0;2812:609:59:-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;2745:8:59::1;::::0;;::::1;2744:9;2736:52;;;;-1:-1:-1::0;;;2736:52:59::1;;;;;;;:::i;:::-;2951:20:::2;2974:24;:14;929::34::0;;838:112;2974:24:59::2;:28;::::0;3001:1:::2;2974:28;:::i;:::-;2951:51:::0;-1:-1:-1;3012:18:59::2;3066:1;3033:30;3048:15:::0;2951:51;3033:30:::2;:::i;:::-;:34;;;;:::i;:::-;3095:39;::::0;;::::2;::::0;::::2;::::0;;;;;;3078:14:::2;:56:::0;;;3194:9:::2;::::0;3095:39;;-1:-1:-1;3095:39:59;3166:37:::2;;3145:113;;;::::0;-1:-1:-1;;;3145:113:59;;14490:2:77;3145:113:59::2;::::0;::::2;14472:21:77::0;14529:2;14509:18;;;14502:30;14568:31;14548:18;;;14541:59;14617:18;;3145:113:59::2;14288:353:77::0;3145:113:59::2;3269:11;3286:45;;;;;;;;3296:12;3286:45;;;;3310:10;3286:45;;;;3322:8;;3286:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;-1:-1:-1;3286:45:59;;;;-1:-1:-1;;3269:63:59;;::::2;::::0;;::::2;::::0;;;;;::::2;::::0;;;;;;::::2;::::0;;::::2;;::::0;;;;;::::2;::::0;;;::::2;::::0;;;;-1:-1:-1;3269:63:59::2;::::0;::::2;::::0;;;;::::2;::::0;::::2;::::0;::::2;::::0;;::::2;:::i;:::-;;;;3406:7;1348:6:18::0;;-1:-1:-1;;;;;1348:6:18;;1276:85;3406:7:59::2;-1:-1:-1::0;;;;;3348:66:59::2;3402:1;-1:-1:-1::0;;;;;3348:66:59::2;3368:12;3348:66;3382:10;3348:66;;;;3347:25:77::0;;3335:2;3320:18;;3201:177;3348:66:59::2;;;;;;;;2941:480;;2812:609:::0;;;:::o;4597:119::-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;4651:8:59::1;:15:::0;;-1:-1:-1;;4651:15:59::1;4662:4;4651:15;::::0;;4681:28:::1;::::0;4698:10:::1;::::0;4681:28:::1;::::0;4651:8:::1;::::0;4681:28:::1;4597:119::o:0;3110:102:27:-;3166:13;3198:7;3191:14;;;;;:::i;3066:182:53:-;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:53;;;;;;;;;;;2064:71;3201:42:::1;3218:9;3229:6;;3201:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;3201:42:53;-1:-1:-1;3201:16:53::1;::::0;-1:-1:-1;;3201:42:53:i:1;1619:205:61:-:0;1747:9;1472:28:53;1460:8;;;;:40;;;;;;;;:::i;:::-;;1456:309;;1515:50;1559:5;1515:4;:34;1520:28;1515:34;;:50;1510:92;;1574:28;;-1:-1:-1;;;1574:28:53;;;;;;;;;;;1510:92;1456:309;;;1631:27;1619:8;;;;:39;;;;;;;;:::i;:::-;;1615:150;;1672:49;1715:5;1672:4;:33;1677:27;1672:33;;:49;1668:90;;;1730:28;;-1:-1:-1;;;1730:28:53;;;;;;;;;;;1668:90;1772:45:61::1;1796:9;1807;1772:23;:45::i;5839:320:27:-:0;6008:41;929:10:33;6041:7:27;6008:18;:41::i;:::-;6000:103;;;;-1:-1:-1;;;6000:103:27;;;;;;;:::i;:::-;6113:39;6127:4;6133:2;6137:7;6146:5;6113:13;:39::i;:::-;5839:320;;;;:::o;3343:158:53:-;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:53;;;;;;;;;;;2064:71;3436:4:::1;:15;3441:9;3436:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;3436:15:53;;;;;-1:-1:-1;3429:22:53::1;3436:15:::0;-1:-1:-1;3429:22:53::1;:::i;:::-;;;;;3474:10;-1:-1:-1::0;;;;;3462:34:53::1;;3486:9;3462:34;;;;;;:::i;:::-;;;;;;;;3343:158:::0;:::o;5939:616:59:-;6053:13;6083:19;6106:26;6136:46;6164:8;6136:14;:46::i;:::-;6082:100;;;;;6198:14;6193:356;;6235:20;;;;:10;:20;;;;;6228:27;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5939:616;;;:::o;6193:356::-;6379:12;6446:19;:8;:17;:19::i;:::-;6337:183;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6286:252;;;;5939:616;;;:::o;3427:244::-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;2745:8:59::1;::::0;;::::1;2744:9;2736:52;;;;-1:-1:-1::0;;;2736:52:59::1;;;;;;;:::i;:::-;3509:155:::2;3535:4;3553:10;3577;3601:29;2453:24:72::0;;;2367:117;3601:29:59::2;3644:10;3509:12;:155::i;4974:162:27:-:0;-1:-1:-1;;;;;5094:25:27;;;5071:4;5094:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4974:162::o;4072:134:53:-;4172:8;;4148:4;;4167:34;;4191:9;;4167:4;;4148;;4172:8;;4167:14;;;;;;;;:::i;4855:167:59:-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;4977:26:59::1;::::0;;;:16:::1;:26;::::0;;;;:38;;-1:-1:-1;;;;;;4977:38:59::1;-1:-1:-1::0;;;;;4977:38:59;;;::::1;::::0;;;::::1;::::0;;4855:167::o;2158:198:18:-;1348:6;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;-1:-1:-1;;;;;2246:22:18;::::1;2238:73;;;::::0;-1:-1:-1;;;2238:73:18;;17829:2:77;2238:73:18::1;::::0;::::1;17811:21:77::0;17868:2;17848:18;;;17841:30;17907:34;17887:18;;;17880:62;-1:-1:-1;;;17958:18:77;;;17951:36;18004:19;;2238:73:18::1;17627:402:77::0;2238:73:18::1;2321:28;2340:8;2321:18;:28::i;2703:268:53:-:0;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:53;;;;;;;;;;;2064:71;2852:26:::1;2839:9;:39;;;;;;;;:::i;:::-;::::0;2835:84:::1;;2887:32;;-1:-1:-1::0;;;2887:32:53::1;;;;;;;;;;;2835:84;2925:41;2942:9;2953:6;;2925:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2961:4:53::1;::::0;-1:-1:-1;2925:16:53::1;::::0;-1:-1:-1;;2925:41:53:i:1;9581:257:51:-:0;9644:16;9672:22;9697:19;9705:3;9697:7;:19::i;4735:204:53:-;4821:4;-1:-1:-1;;;;;;4844:47:53;;-1:-1:-1;;;4844:47:53;;:88;;;4895:37;4919:12;4895:23;:37::i;9953:468:59:-;10136:4;-1:-1:-1;;;;;;10175:46:59;;-1:-1:-1;;;10175:46:59;;:110;;;10237:48;10273:11;10237:35;:48::i;:::-;10175:175;;;;10301:49;10338:11;10301:36;:49::i;:::-;10175:239;;;;10366:48;10402:11;10366:35;:48::i;9349:537::-;9451:20;9485:19;9518:27;9575:9;9570:278;9594:11;:18;9590:22;;9570:278;;;9666:11;9678:1;9666:14;;;;;;;;:::i;:::-;;;;;;;;;;;:27;;;9654:8;:39;;:96;;;;;9725:11;9737:1;9725:14;;;;;;;;:::i;:::-;;;;;;;;;;;:25;;;9713:8;:37;;9654:96;9633:205;;;9791:4;9797:1;9800:11;9812:1;9800:14;;;;;;;;:::i;:::-;;;;;;;;;;;:22;;9783:40;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9633:205;9614:3;;;;:::i;:::-;;;;9570:278;;;-1:-1:-1;;9858:21:59;;;;;;;;;9866:5;9858:21;;;9866:5;-1:-1:-1;9866:5:59;;-1:-1:-1;9349:537:59;;;;;;:::o;8182:165:51:-;-1:-1:-1;;;;;8315:23:51;;8262:4;3849:19;;;:12;;;:19;;;;;;:24;;8285:55;3753:127;7161:394:59;7241:13;7257:16;7265:7;7257;:16::i;:::-;7241:32;;7297:5;-1:-1:-1;;;;;7291:11:59;:2;-1:-1:-1;;;;;7291:11:59;;7283:57;;;;-1:-1:-1;;;7283:57:59;;18508:2:77;7283:57:59;;;18490:21:77;18547:2;18527:18;;;18520:30;18586:34;18566:18;;;18559:62;-1:-1:-1;;;18637:18:77;;;18630:31;18678:19;;7283:57:59;18306:397:77;7283:57:59;929:10:33;-1:-1:-1;;;;;7372:21:59;;;;:62;;-1:-1:-1;7397:37:59;7414:5;929:10:33;4974:162:27;:::i;7397:37:59:-;7351:165;;;;-1:-1:-1;;;7351:165:59;;18910:2:77;7351:165:59;;;18892:21:77;18949:2;18929:18;;;18922:30;18988:34;18968:18;;;18961:62;19059:26;19039:18;;;19032:54;19103:19;;7351:165:59;18708:420:77;7351:165:59;7527:21;7536:2;7540:7;7527:8;:21::i;7561:338::-;7705:4;7725:13;7741:17;7749:8;7741:7;:17::i;:::-;7725:33;;7788:5;-1:-1:-1;;;;;7776:17:59;:8;-1:-1:-1;;;;;7776:17:59;;:66;;;;7834:8;-1:-1:-1;;;;;7809:33:59;:21;7821:8;7809:11;:21::i;:::-;-1:-1:-1;;;;;7809:33:59;;7776:66;:115;;;;7858:33;7875:5;7882:8;7858:16;:33::i;:::-;7768:124;7561:338;-1:-1:-1;;;;7561:338:59:o;8755:473::-;8894:8;8906:1;8894:13;8886:22;;;;;;8920:19;8947:24;8962:8;8947:14;:24::i;:::-;8919:52;;;;8999:14;:66;;;;-1:-1:-1;7696:4:27;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:27;:30;8999:66:59;:105;;;;-1:-1:-1;9082:22:59;;;;:12;:22;;;;;;;;9081:23;8999:105;8982:180;;;9129:22;9135:5;9142:8;9129:5;:22::i;:::-;9172:49;9200:5;9207:3;9212:8;9172:27;:49::i;3461:96:38:-;3519:7;3545:5;3549:1;3545;:5;:::i;3846:96::-;3904:7;3930:5;3934:1;3930;:5;:::i;1418:115:72:-;1492:22;:34;;-1:-1:-1;;;;;;1492:34:72;-1:-1:-1;;;;;1492:34:72;;;;;;;;;;1418:115::o;801:241:30:-;917:41;929:10:33;936:12:30;850:96:33;917:41:30;909:102;;;;-1:-1:-1;;;909:102:30;;19765:2:77;909:102:30;;;19747:21:77;19804:2;19784:18;;;19777:30;19843:34;19823:18;;;19816:62;-1:-1:-1;;;19894:18:77;;;19887:46;19950:19;;909:102:30;19563:412:77;909:102:30;1021:14;1027:7;1021:5;:14::i;5223:164:53:-;5340:12;5302:51;;;;;;;;:::i;:::-;5330:8;;;;5302:51;;;;;;;;:::i;:::-;;;5318:10;;5302:51;;;;;5359:8;:23;;5370:12;;5359:8;-1:-1:-1;;5359:23:53;;5370:12;5359:23;;;;;;;;:::i;:::-;;;;;;5223:164;:::o;5156:624:59:-;5347:7;5366:26;:14;1043:19:34;;1061:1;1043:19;;;956:123;5366:26:59;5402:15;5420:24;:14;929::34;;838:112;5420:24:59;5402:42;;5473:9;;5462:7;:20;;5454:65;;;;-1:-1:-1;;;5454:65:59;;20182:2:77;5454:65:59;;;20164:21:77;;;20201:18;;;20194:30;20260:34;20240:18;;;20233:62;20312:18;;5454:65:59;19980:356:77;5454:65:59;5529:23;5539:3;5544:7;5529:9;:23::i;:::-;5562:19;;;;:10;:19;;;;;:26;5584:4;5562:19;:26;:::i;:::-;-1:-1:-1;5109:23:59;;;;:13;:23;;;;;:34;;-1:-1:-1;;;;;;5109:34:59;-1:-1:-1;;;;;5109:34:59;;;;;1794:28:72;;;;:18;:28;;;;;:42;;;1639:26;;;;:16;:26;;;;;:41;;-1:-1:-1;;;;;;1639:41:72;-1:-1:-1;;;;;1639:41:72;;;;;5703:46:59;5766:7;5156:624;-1:-1:-1;;;;;;5156:624:59:o;5287:808:19:-;5351:4;5684:13;;;;;;;5680:409;;;5738:7;:12;;5749:1;5738:12;:61;;;;-1:-1:-1;5793:4:19;1476:19:32;:23;5738:61:19;5713:166;;;;-1:-1:-1;;;5713:166:19;;;;;;;:::i;:::-;-1:-1:-1;5900:5:19;;5287:808;-1:-1:-1;5287:808:19:o;5680:409::-;5944:12;;:22;;;;:12;;:22;5936:81;;;;-1:-1:-1;;;5936:81:19;;;;;;;:::i;:::-;-1:-1:-1;6031:12:19;:22;;-1:-1:-1;;6031:22:19;;;;;;;;;;;;-1:-1:-1;;5287:808:19:o;5680:409::-;5287:808;;;:::o;988:95:18:-;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;:::-;1050:26:18::1;:24;:26::i;1605:149:27:-:0;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;:::-;1708:39:27::1;1732:5;1739:7;1708:23;:39::i;862:58:36:-:0;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;755:85:72:-;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;:::-;818:15:72::1;:13;:15::i;2651:235:27:-:0;2723:7;2758:16;;;:7;:16;;;;;;-1:-1:-1;;;;;2758:16:27;;2784:73;;;;-1:-1:-1;;;2784:73:27;;21370:2:77;2784:73:27;;;21352:21:77;21409:2;21389:18;;;21382:30;21448:34;21428:18;;;21421:62;-1:-1:-1;;;21499:18:77;;;21492:39;21548:19;;2784:73:27;21168:405:77;2510:187:18;2602:6;;;-1:-1:-1;;;;;2618:17:18;;;-1:-1:-1;;;;;;2618:17:18;;;;;;;2650:40;;2602:6;;;2618:17;2602:6;;2650:40;;2583:16;;2650:40;2573:124;2510:187;:::o;5471:505:53:-;5602:26;5589:9;:39;;;;;;;;:::i;:::-;;5585:387;;5643:9;5638:328;5662:6;:13;5658:1;:17;5638:328;;;5696:7;5692:266;;;5717:30;5737:6;5744:1;5737:9;;;;;;;;:::i;:::-;;;;;;;5717:4;:15;5722:9;5717:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:19;;:30;;;;:::i;:::-;;5806:9;5764:52;;;;;;;;:::i;:::-;5795:6;5802:1;5795:9;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;5764:52:53;5783:10;-1:-1:-1;;;;;5764:52:53;;;;;;;;;;;5692:266;;;5845:33;5868:6;5875:1;5868:9;;;;;;;;:::i;:::-;;;;;;;5845:4;:15;5850:9;5845:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:22;;:33;;;;:::i;:::-;;5937:9;5895:52;;;;;;;;:::i;:::-;5926:6;5933:1;5926:9;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;5895:52:53;5914:10;-1:-1:-1;;;;;5895:52:53;;;;;;;;;;;5692:266;5677:3;;;;:::i;:::-;;;;5638:328;;4755:153:27;4849:52;929:10:33;4882:8:27;4892;4849:18;:52::i;7021:307::-;7172:28;7182:4;7188:2;7192:7;7172:9;:28::i;:::-;7218:48;7241:4;7247:2;7251:7;7260:5;7218:22;:48::i;:::-;7210:111;;;;-1:-1:-1;;;7210:111:27;;;;;;;:::i;339:703:35:-;395:13;612:5;621:1;612:10;608:51;;-1:-1:-1;;638:10:35;;;;;;;;;;;;-1:-1:-1;;;638:10:35;;;;;339:703::o;608:51::-;683:5;668:12;722:75;729:9;;722:75;;754:8;;;;:::i;:::-;;-1:-1:-1;776:10:35;;-1:-1:-1;784:2:35;776:10;;:::i;:::-;;;722:75;;;806:19;838:6;828:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;828:17:35;;806:39;;855:150;862:10;;855:150;;888:11;898:1;888:11;;:::i;:::-;;-1:-1:-1;956:10:35;964:2;956:5;:10;:::i;:::-;943:24;;:2;:24;:::i;:::-;930:39;;913:6;920;913:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;913:56:35;;;;;;;;-1:-1:-1;983:11:35;992:2;983:11;;:::i;:::-;;;855:150;;5068:109:51;5124:16;5159:3;:11;;5152:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5068:109;;;:::o;829:155:49:-;-1:-1:-1;;;;;;937:40:49;-1:-1:-1;;;937:40:49;;829:155::o;1849:264:72:-;1974:4;-1:-1:-1;;;;;;2013:41:72;;-1:-1:-1;;;2013:41:72;;:93;;;2070:36;2094:11;1987:344:27;2111:4;-1:-1:-1;;;;;;2146:51:27;;-1:-1:-1;;;2146:51:27;;:126;;-1:-1:-1;;;;;;;2213:59:27;;-1:-1:-1;;;2213:59:27;2146:126;:178;;;;2288:36;2312:11;2288:23;:36::i;8011:201:59:-;8086:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;8086:29:59;-1:-1:-1;;;;;8086:29:59;;;;;;;;:24;;8139:34;8086:24;8139:25;:34::i;:::-;-1:-1:-1;;;;;8130:57:59;;;;;;;;;;;8011:201;;:::o;9561:427:27:-;-1:-1:-1;;;;;9640:16:27;;9632:61;;;;-1:-1:-1;;;9632:61:27;;22316:2:77;9632:61:27;;;22298:21:77;;;22335:18;;;22328:30;22394:34;22374:18;;;22367:62;22446:18;;9632:61:27;22114:356:77;9632:61:27;7696:4;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:27;:30;9703:58;;;;-1:-1:-1;;;9703:58:27;;22677:2:77;9703:58:27;;;22659:21:77;22716:2;22696:18;;;22689:30;22755;22735:18;;;22728:58;22803:18;;9703:58:27;22475:352:77;9703:58:27;-1:-1:-1;;;;;9828:13:27;;;;;;:9;:13;;;;;:18;;9845:1;;9828:13;:18;;9845:1;;9828:18;:::i;:::-;;;;-1:-1:-1;;9856:16:27;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9856:21:27;-1:-1:-1;;;;;9856:21:27;;;;;;;;9893:33;;9856:16;;;9893:33;;9856:16;;9893:33;4170:261:59;4114:317;:::o;10946:616:27:-;11111:4;-1:-1:-1;;;;;11073:42:27;:34;11099:7;11073:25;:34::i;:::-;-1:-1:-1;;;;;11073:42:27;;11065:92;;;;-1:-1:-1;;;11065:92:27;;23034:2:77;11065:92:27;;;23016:21:77;23073:2;23053:18;;;23046:30;23112:34;23092:18;;;23085:62;-1:-1:-1;;;23163:18:77;;;23156:35;23208:19;;11065:92:27;22832:401:77;11065:92:27;-1:-1:-1;;;;;11175:16:27;;11167:65;;;;-1:-1:-1;;;11167:65:27;;23440:2:77;11167:65:27;;;23422:21:77;23479:2;23459:18;;;23452:30;23518:34;23498:18;;;23491:62;-1:-1:-1;;;23569:18:77;;;23562:34;23613:19;;11167:65:27;23238:400:77;11167:65:27;11344:29;11361:1;11365:7;11344:8;:29::i;:::-;-1:-1:-1;;;;;11384:15:27;;;;;;:9;:15;;;;;:20;;11403:1;;11384:15;:20;;11403:1;;11384:20;:::i;:::-;;;;-1:-1:-1;;;;;;;11414:13:27;;;;;;:9;:13;;;;;:18;;11431:1;;11414:13;:18;;11431:1;;11414:18;:::i;:::-;;;;-1:-1:-1;;11442:16:27;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;11442:21:27;-1:-1:-1;;;;;11442:21:27;;;;;;;;;11479:27;;11442:16;;11479:27;;;;;;;1329:173:61;;;:::o;10205:417:27:-;10264:13;10280:34;10306:7;10280:25;:34::i;:::-;10264:50;;10411:29;10428:1;10432:7;10411:8;:29::i;:::-;-1:-1:-1;;;;;10451:16:27;;;;;;:9;:16;;;;;:21;;10471:1;;10451:16;:21;;10471:1;;10451:21;:::i;:::-;;;;-1:-1:-1;;10489:16:27;;;;:7;:16;;;;;;10482:23;;-1:-1:-1;;;;;;10482:23:27;;;10521:36;10497:7;;10489:16;-1:-1:-1;;;;;10521:36:27;;;;;10489:16;;10521:36;4170:261:59;4114:317;:::o;8599:108:27:-;8674:26;8684:2;8688:7;8674:26;;;;;;;;;;;;:9;:26::i;1089:111:18:-;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;:::-;1161:32:18::1;929:10:33::0;1161:18:18::1;:32::i;1760:160:27:-:0;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;:::-;1873:5:27::1;:13;1881:5:::0;1873;:13:::1;:::i;:::-;-1:-1:-1::0;1896:7:27::1;:17;1906:7:::0;1896;:17:::1;:::i;7627:150:51:-:0;7697:4;7720:50;7725:3;-1:-1:-1;;;;;7745:23:51;;7720:4;:50::i;7945:156::-;8018:4;8041:53;8049:3;-1:-1:-1;;;;;8069:23:51;;8041:7;:53::i;11990:307:27:-;12140:8;-1:-1:-1;;;;;12131:17:27;:5;-1:-1:-1;;;;;12131:17:27;;12123:55;;;;-1:-1:-1;;;12123:55:27;;23845:2:77;12123:55:27;;;23827:21:77;23884:2;23864:18;;;23857:30;23923:27;23903:18;;;23896:55;23968:18;;12123:55:27;23643:349:77;12123:55:27;-1:-1:-1;;;;;12188:25:27;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;12188:46:27;;;;;;;;;;12249:41;;1568::77;;;12249::27;;1541:18:77;12249:41:27;;;;;;;11990:307;;;:::o;12850:800::-;13000:4;-1:-1:-1;;;;;13020:13:27;;1476:19:32;:23;13016:628:27;;13055:83;;-1:-1:-1;;;13055:83:27;;-1:-1:-1;;;;;13055:47:27;;;;;:83;;929:10:33;;13117:4:27;;13123:7;;13132:5;;13055:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13055:83:27;;;;;;;;-1:-1:-1;;13055:83:27;;;;;;;;;;;;:::i;:::-;;;13051:541;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13316:6;:13;13333:1;13316:18;13312:266;;13358:60;;-1:-1:-1;;;13358:60:27;;;;;;;:::i;13312:266::-;13530:6;13524:13;13515:6;13511:2;13507:15;13500:38;13051:541;-1:-1:-1;;;;;;13188:62:27;-1:-1:-1;;;13188:62:27;;-1:-1:-1;13181:69:27;;13016:628;-1:-1:-1;13629:4:27;12850:800;;;;;;:::o;8928:311::-;9053:18;9059:2;9063:7;9053:5;:18::i;:::-;9102:54;9133:1;9137:2;9141:7;9150:5;9102:22;:54::i;:::-;9081:151;;;;-1:-1:-1;;;9081:151:27;;;;;;;:::i;1712:404:51:-;1775:4;3849:19;;;:12;;;:19;;;;;;1791:319;;-1:-1:-1;1833:23:51;;;;;;;;:11;:23;;;;;;;;;;;;;2013:18;;1991:19;;;:12;;;:19;;;;;;:40;;;;2045:11;;1791:319;-1:-1:-1;2094:5:51;2087:12;;2284:1388;2350:4;2487:19;;;:12;;;:19;;;;;;2521:15;;2517:1149;;2890:21;2914:14;2927:1;2914:10;:14;:::i;:::-;2962:18;;2890:38;;-1:-1:-1;2942:17:51;;2962:22;;2983:1;;2962:22;:::i;:::-;2942:42;;3016:13;3003:9;:26;2999:398;;3049:17;3069:3;:11;;3081:9;3069:22;;;;;;;;:::i;:::-;;;;;;;;;3049:42;;3220:9;3191:3;:11;;3203:13;3191:26;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;;3303:23;;;:12;;;:23;;;;;:36;;;2999:398;3475:17;;:3;;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3567:3;:12;;:19;3580:5;3567:19;;;;;;;;;;;3560:26;;;3608:4;3601:11;;;;;;;2517:1149;3650:5;3643:12;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:149:77:-;88:20;;137:1;127:12;;117:40;;153:1;150;143:12;168:206;241:6;294:2;282:9;273:7;269:23;265:32;262:52;;;310:1;307;300:12;262:52;333:35;358:9;333:35;:::i;379:658::-;550:2;602:21;;;672:13;;575:18;;;694:22;;;521:4;;550:2;773:15;;;;747:2;732:18;;;521:4;816:195;830:6;827:1;824:13;816:195;;;895:13;;-1:-1:-1;;;;;891:39:77;879:52;;986:15;;;;951:12;;;;927:1;845:9;816:195;;;-1:-1:-1;1028:3:77;;379:658;-1:-1:-1;;;;;;379:658:77:o;1042:131::-;-1:-1:-1;;;;;;1116:32:77;;1106:43;;1096:71;;1163:1;1160;1153:12;1178:245;1236:6;1289:2;1277:9;1268:7;1264:23;1260:32;1257:52;;;1305:1;1302;1295:12;1257:52;1344:9;1331:23;1363:30;1387:5;1363:30;:::i;1620:258::-;1692:1;1702:113;1716:6;1713:1;1710:13;1702:113;;;1792:11;;;1786:18;1773:11;;;1766:39;1738:2;1731:10;1702:113;;;1833:6;1830:1;1827:13;1824:48;;;-1:-1:-1;;1868:1:77;1850:16;;1843:27;1620:258::o;1883:::-;1925:3;1963:5;1957:12;1990:6;1985:3;1978:19;2006:63;2062:6;2055:4;2050:3;2046:14;2039:4;2032:5;2028:16;2006:63;:::i;:::-;2123:2;2102:15;-1:-1:-1;;2098:29:77;2089:39;;;;2130:4;2085:50;;1883:258;-1:-1:-1;;1883:258:77:o;2146:220::-;2295:2;2284:9;2277:21;2258:4;2315:45;2356:2;2345:9;2341:18;2333:6;2315:45;:::i;2371:180::-;2430:6;2483:2;2471:9;2462:7;2458:23;2454:32;2451:52;;;2499:1;2496;2489:12;2451:52;-1:-1:-1;2522:23:77;;2371:180;-1:-1:-1;2371:180:77:o;2764:173::-;2832:20;;-1:-1:-1;;;;;2881:31:77;;2871:42;;2861:70;;2927:1;2924;2917:12;2942:254;3010:6;3018;3071:2;3059:9;3050:7;3046:23;3042:32;3039:52;;;3087:1;3084;3077:12;3039:52;3110:29;3129:9;3110:29;:::i;:::-;3100:39;3186:2;3171:18;;;;3158:32;;-1:-1:-1;;;2942:254:77:o;3383:186::-;3442:6;3495:2;3483:9;3474:7;3470:23;3466:32;3463:52;;;3511:1;3508;3501:12;3463:52;3534:29;3553:9;3534:29;:::i;3574:328::-;3651:6;3659;3667;3720:2;3708:9;3699:7;3695:23;3691:32;3688:52;;;3736:1;3733;3726:12;3688:52;3759:29;3778:9;3759:29;:::i;:::-;3749:39;;3807:38;3841:2;3830:9;3826:18;3807:38;:::i;:::-;3797:48;;3892:2;3881:9;3877:18;3864:32;3854:42;;3574:328;;;;;:::o;3907:248::-;3975:6;3983;4036:2;4024:9;4015:7;4011:23;4007:32;4004:52;;;4052:1;4049;4042:12;4004:52;-1:-1:-1;;4075:23:77;;;4145:2;4130:18;;;4117:32;;-1:-1:-1;3907:248:77:o;4663:348::-;4715:8;4725:6;4779:3;4772:4;4764:6;4760:17;4756:27;4746:55;;4797:1;4794;4787:12;4746:55;-1:-1:-1;4820:20:77;;4863:18;4852:30;;4849:50;;;4895:1;4892;4885:12;4849:50;4932:4;4924:6;4920:17;4908:29;;4984:3;4977:4;4968:6;4960;4956:19;4952:30;4949:39;4946:59;;;5001:1;4998;4991:12;4946:59;4663:348;;;;;:::o;5016:559::-;5105:6;5113;5121;5129;5182:2;5170:9;5161:7;5157:23;5153:32;5150:52;;;5198:1;5195;5188:12;5150:52;5238:9;5225:23;5271:18;5263:6;5260:30;5257:50;;;5303:1;5300;5293:12;5257:50;5342:59;5393:7;5384:6;5373:9;5369:22;5342:59;:::i;:::-;5420:8;;-1:-1:-1;5316:85:77;-1:-1:-1;5474:38:77;;-1:-1:-1;5508:2:77;5493:18;;5474:38;:::i;:::-;5464:48;;5531:38;5565:2;5554:9;5550:18;5531:38;:::i;:::-;5521:48;;5016:559;;;;;;;:::o;5580:864::-;5690:6;5698;5706;5714;5722;5730;5783:3;5771:9;5762:7;5758:23;5754:33;5751:53;;;5800:1;5797;5790:12;5751:53;5840:9;5827:23;5869:18;5910:2;5902:6;5899:14;5896:34;;;5926:1;5923;5916:12;5896:34;5965:59;6016:7;6007:6;5996:9;5992:22;5965:59;:::i;:::-;6043:8;;-1:-1:-1;5939:85:77;-1:-1:-1;6131:2:77;6116:18;;6103:32;;-1:-1:-1;6147:16:77;;;6144:36;;;6176:1;6173;6166:12;6144:36;;6215:61;6268:7;6257:8;6246:9;6242:24;6215:61;:::i;:::-;6295:8;;-1:-1:-1;6189:87:77;-1:-1:-1;6349:38:77;;-1:-1:-1;6383:2:77;6368:18;;6349:38;:::i;:::-;6339:48;;6434:2;6423:9;6419:18;6406:32;6396:42;;5580:864;;;;;;;;:::o;6449:479::-;6529:6;6537;6545;6598:2;6586:9;6577:7;6573:23;6569:32;6566:52;;;6614:1;6611;6604:12;6566:52;6654:9;6641:23;6687:18;6679:6;6676:30;6673:50;;;6719:1;6716;6709:12;6673:50;6758:59;6809:7;6800:6;6789:9;6785:22;6758:59;:::i;:::-;6836:8;;6732:85;;-1:-1:-1;6918:2:77;6903:18;;;;6890:32;;6449:479;-1:-1:-1;;;;6449:479:77:o;6933:127::-;6994:10;6989:3;6985:20;6982:1;6975:31;7025:4;7022:1;7015:15;7049:4;7046:1;7039:15;7065:342;7211:2;7196:18;;7244:1;7233:13;;7223:144;;7289:10;7284:3;7280:20;7277:1;7270:31;7324:4;7321:1;7314:15;7352:4;7349:1;7342:15;7223:144;7376:25;;;7065:342;:::o;7412:709::-;7521:6;7529;7537;7590:2;7578:9;7569:7;7565:23;7561:32;7558:52;;;7606:1;7603;7596:12;7558:52;7629:35;7654:9;7629:35;:::i;:::-;7619:45;;7715:2;7704:9;7700:18;7687:32;7738:18;7779:2;7771:6;7768:14;7765:34;;;7795:1;7792;7785:12;7765:34;7833:6;7822:9;7818:22;7808:32;;7878:7;7871:4;7867:2;7863:13;7859:27;7849:55;;7900:1;7897;7890:12;7849:55;7940:2;7927:16;7966:2;7958:6;7955:14;7952:34;;;7982:1;7979;7972:12;7952:34;8035:7;8030:2;8020:6;8017:1;8013:14;8009:2;8005:23;8001:32;7998:45;7995:65;;;8056:1;8053;8046:12;7995:65;8087:2;8083;8079:11;8069:21;;8109:6;8099:16;;;;;7412:709;;;;;:::o;8126:347::-;8191:6;8199;8252:2;8240:9;8231:7;8227:23;8223:32;8220:52;;;8268:1;8265;8258:12;8220:52;8291:29;8310:9;8291:29;:::i;:::-;8281:39;;8370:2;8359:9;8355:18;8342:32;8417:5;8410:13;8403:21;8396:5;8393:32;8383:60;;8439:1;8436;8429:12;8383:60;8462:5;8452:15;;;8126:347;;;;;:::o;8478:127::-;8539:10;8534:3;8530:20;8527:1;8520:31;8570:4;8567:1;8560:15;8594:4;8591:1;8584:15;8610:631;8674:5;8704:18;8745:2;8737:6;8734:14;8731:40;;;8751:18;;:::i;:::-;8826:2;8820:9;8794:2;8880:15;;-1:-1:-1;;8876:24:77;;;8902:2;8872:33;8868:42;8856:55;;;8926:18;;;8946:22;;;8923:46;8920:72;;;8972:18;;:::i;:::-;9012:10;9008:2;9001:22;9041:6;9032:15;;9071:6;9063;9056:22;9111:3;9102:6;9097:3;9093:16;9090:25;9087:45;;;9128:1;9125;9118:12;9087:45;9178:6;9173:3;9166:4;9158:6;9154:17;9141:44;9233:1;9226:4;9217:6;9209;9205:19;9201:30;9194:41;;;;8610:631;;;;;:::o;9246:666::-;9341:6;9349;9357;9365;9418:3;9406:9;9397:7;9393:23;9389:33;9386:53;;;9435:1;9432;9425:12;9386:53;9458:29;9477:9;9458:29;:::i;:::-;9448:39;;9506:38;9540:2;9529:9;9525:18;9506:38;:::i;:::-;9496:48;;9591:2;9580:9;9576:18;9563:32;9553:42;;9646:2;9635:9;9631:18;9618:32;9673:18;9665:6;9662:30;9659:50;;;9705:1;9702;9695:12;9659:50;9728:22;;9781:4;9773:13;;9769:27;-1:-1:-1;9759:55:77;;9810:1;9807;9800:12;9759:55;9833:73;9898:7;9893:2;9880:16;9875:2;9871;9867:11;9833:73;:::i;:::-;9823:83;;;9246:666;;;;;;;:::o;9917:450::-;9986:6;10039:2;10027:9;10018:7;10014:23;10010:32;10007:52;;;10055:1;10052;10045:12;10007:52;10095:9;10082:23;10128:18;10120:6;10117:30;10114:50;;;10160:1;10157;10150:12;10114:50;10183:22;;10236:4;10228:13;;10224:27;-1:-1:-1;10214:55:77;;10265:1;10262;10255:12;10214:55;10288:73;10353:7;10348:2;10335:16;10330:2;10326;10322:11;10288:73;:::i;10372:260::-;10440:6;10448;10501:2;10489:9;10480:7;10476:23;10472:32;10469:52;;;10517:1;10514;10507:12;10469:52;10540:29;10559:9;10540:29;:::i;:::-;10530:39;;10588:38;10622:2;10611:9;10607:18;10588:38;:::i;10637:380::-;10716:1;10712:12;;;;10759;;;10780:61;;10834:4;10826:6;10822:17;10812:27;;10780:61;10887:2;10879:6;10876:14;10856:18;10853:38;10850:161;;10933:10;10928:3;10924:20;10921:1;10914:31;10968:4;10965:1;10958:15;10996:4;10993:1;10986:15;11435:413;11637:2;11619:21;;;11676:2;11656:18;;;11649:30;11715:34;11710:2;11695:18;;11688:62;-1:-1:-1;;;11781:2:77;11766:18;;11759:47;11838:3;11823:19;;11435:413::o;11853:356::-;12055:2;12037:21;;;12074:18;;;12067:30;12133:34;12128:2;12113:18;;12106:62;12200:2;12185:18;;11853:356::o;12214:354::-;12416:2;12398:21;;;12455:2;12435:18;;;12428:30;12494:32;12489:2;12474:18;;12467:60;12559:2;12544:18;;12214:354::o;13893:127::-;13954:10;13949:3;13945:20;13942:1;13935:31;13985:4;13982:1;13975:15;14009:4;14006:1;13999:15;14025:128;14065:3;14096:1;14092:6;14089:1;14086:13;14083:39;;;14102:18;;:::i;:::-;-1:-1:-1;14138:9:77;;14025:128::o;14158:125::-;14198:4;14226:1;14223;14220:8;14217:34;;;14231:18;;:::i;:::-;-1:-1:-1;14268:9:77;;14158:125::o;14772:545::-;14874:2;14869:3;14866:11;14863:448;;;14910:1;14935:5;14931:2;14924:17;14980:4;14976:2;14966:19;15050:2;15038:10;15034:19;15031:1;15027:27;15021:4;15017:38;15086:4;15074:10;15071:20;15068:47;;;-1:-1:-1;15109:4:77;15068:47;15164:2;15159:3;15155:12;15152:1;15148:20;15142:4;15138:31;15128:41;;15219:82;15237:2;15230:5;15227:13;15219:82;;;15282:17;;;15263:1;15252:13;15219:82;;;15223:3;;;14772:545;;;:::o;15493:1352::-;15619:3;15613:10;15646:18;15638:6;15635:30;15632:56;;;15668:18;;:::i;:::-;15697:97;15787:6;15747:38;15779:4;15773:11;15747:38;:::i;:::-;15741:4;15697:97;:::i;:::-;15849:4;;15913:2;15902:14;;15930:1;15925:663;;;;16632:1;16649:6;16646:89;;;-1:-1:-1;16701:19:77;;;16695:26;16646:89;-1:-1:-1;;15450:1:77;15446:11;;;15442:24;15438:29;15428:40;15474:1;15470:11;;;15425:57;16748:81;;15895:944;;15925:663;14719:1;14712:14;;;14756:4;14743:18;;-1:-1:-1;;15961:20:77;;;16079:236;16093:7;16090:1;16087:14;16079:236;;;16182:19;;;16176:26;16161:42;;16274:27;;;;16242:1;16230:14;;;;16109:19;;16079:236;;;16083:3;16343:6;16334:7;16331:19;16328:201;;;16404:19;;;16398:26;-1:-1:-1;;16487:1:77;16483:14;;;16499:3;16479:24;16475:37;16471:42;16456:58;16441:74;;16328:201;-1:-1:-1;;;;;16575:1:77;16559:14;;;16555:22;16542:36;;-1:-1:-1;15493:1352:77:o;16850:772::-;17231:3;17269:6;17263:13;17285:53;17331:6;17326:3;17319:4;17311:6;17307:17;17285:53;:::i;:::-;-1:-1:-1;;;17360:16:77;;;17385:18;;;17428:13;;17450:65;17428:13;17502:1;17491:13;;17484:4;17472:17;;17450:65;:::i;:::-;-1:-1:-1;;;17578:1:77;17534:20;;;;17570:10;;;17563:27;17614:1;17606:10;;16850:772;-1:-1:-1;;;;16850:772:77:o;18034:127::-;18095:10;18090:3;18086:20;18083:1;18076:31;18126:4;18123:1;18116:15;18150:4;18147:1;18140:15;18166:135;18205:3;18226:17;;;18223:43;;18246:18;;:::i;:::-;-1:-1:-1;18293:1:77;18282:13;;18166:135::o;19133:168::-;19173:7;19239:1;19235;19231:6;19227:14;19224:1;19221:21;19216:1;19209:9;19202:17;19198:45;19195:71;;;19246:18;;:::i;:::-;-1:-1:-1;19286:9:77;;19133:168::o;19306:127::-;19367:10;19362:3;19358:20;19355:1;19348:31;19398:4;19395:1;19388:15;19422:4;19419:1;19412:15;19438:120;19478:1;19504;19494:35;;19509:18;;:::i;:::-;-1:-1:-1;19543:9:77;;19438:120::o;20341:410::-;20543:2;20525:21;;;20582:2;20562:18;;;20555:30;20621:34;20616:2;20601:18;;20594:62;-1:-1:-1;;;20687:2:77;20672:18;;20665:44;20741:3;20726:19;;20341:410::o;20756:407::-;20958:2;20940:21;;;20997:2;20977:18;;;20970:30;21036:34;21031:2;21016:18;;21009:62;-1:-1:-1;;;21102:2:77;21087:18;;21080:41;21153:3;21138:19;;20756:407::o;21578:414::-;21780:2;21762:21;;;21819:2;21799:18;;;21792:30;21858:34;21853:2;21838:18;;21831:62;-1:-1:-1;;;21924:2:77;21909:18;;21902:48;21982:3;21967:19;;21578:414::o;21997:112::-;22029:1;22055;22045:35;;22060:18;;:::i;:::-;-1:-1:-1;22094:9:77;;21997:112::o;23997:489::-;-1:-1:-1;;;;;24266:15:77;;;24248:34;;24318:15;;24313:2;24298:18;;24291:43;24365:2;24350:18;;24343:34;;;24413:3;24408:2;24393:18;;24386:31;;;24191:4;;24434:46;;24460:19;;24452:6;24434:46;:::i;24491:249::-;24560:6;24613:2;24601:9;24592:7;24588:23;24584:32;24581:52;;;24629:1;24626;24619:12;24581:52;24661:9;24655:16;24680:30;24704:5;24680:30;:::i;24745:127::-;24806:10;24801:3;24797:20;24794:1;24787:31;24837:4;24834:1;24827:15;24861:4;24858:1;24851:15", "linkReferences": {} }, "methodIdentifiers": { @@ -2099,16 +2099,16 @@ }, "settings": { "remappings": [ - ":aux/=lib/aux/", - ":ds-test/=lib/ds-test/src/", - ":erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - ":forge-std/=lib/forge-std/src/", - ":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", - ":openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", - ":rareprotocol/aux/=lib/aux/src/", - ":royalty-guard/=lib/royalty-guard/src/royalty-guard/", - ":solmate/=lib/royalty-guard/lib/solmate/src/" + "aux/=lib/aux/", + "ds-test/=lib/ds-test/src/", + "erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", + "openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", + "rareprotocol/aux/=lib/aux/src/", + "royalty-guard/=lib/royalty-guard/src/royalty-guard/", + "solmate/=lib/royalty-guard/lib/solmate/src/" ], "optimizer": { "enabled": true, @@ -2320,82 +2320,133 @@ }, "ast": { "absolutePath": "src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuard.sol", - "id": 9240, + "id": 33384, "exportedSymbols": { - "AddressUpgradeable": [3429], - "ContextUpgradeable": [3471], - "CountersUpgradeable": [3545], - "ERC165": [6471], - "ERC165Upgradeable": [3792], - "ERC2981Upgradeable": [10393], - "ERC721BurnableUpgradeable": [3159], - "ERC721Upgradeable": [2975], - "EnumerableSet": [7082], - "IERC165Upgradeable": [3804], - "IERC2981": [10409], - "IERC721MetadataUpgradeable": [3186], - "IERC721ReceiverUpgradeable": [2993], - "IERC721Upgradeable": [3109], - "IRoyaltyGuard": [7212], - "ITokenCreator": [10419], - "Initializable": [955], - "OwnableUpgradeable": [813], - "RoyaltyGuard": [7568], - "SafeMathUpgradeable": [4116], - "SovereignNFT": [8727], - "SovereignNFTRoyaltyGuard": [9239], - "StringsUpgradeable": [3748] + "AddressUpgradeable": [ + 27536 + ], + "ContextUpgradeable": [ + 27578 + ], + "CountersUpgradeable": [ + 27652 + ], + "ERC165": [ + 30578 + ], + "ERC165Upgradeable": [ + 27899 + ], + "ERC2981Upgradeable": [ + 35531 + ], + "ERC721BurnableUpgradeable": [ + 27266 + ], + "ERC721Upgradeable": [ + 27082 + ], + "EnumerableSet": [ + 31189 + ], + "IERC165Upgradeable": [ + 27911 + ], + "IERC2981": [ + 35547 + ], + "IERC721MetadataUpgradeable": [ + 27293 + ], + "IERC721ReceiverUpgradeable": [ + 27100 + ], + "IERC721Upgradeable": [ + 27216 + ], + "IRoyaltyGuard": [ + 31319 + ], + "ITokenCreator": [ + 35557 + ], + "Initializable": [ + 25062 + ], + "OwnableUpgradeable": [ + 24920 + ], + "RoyaltyGuard": [ + 31675 + ], + "SafeMathUpgradeable": [ + 28223 + ], + "SovereignNFT": [ + 32902 + ], + "SovereignNFTRoyaltyGuard": [ + 33383 + ], + "StringsUpgradeable": [ + 27855 + ] }, "nodeType": "SourceUnit", - "src": "85:1742:47", + "src": "85:1742:61", "nodes": [ { - "id": 9155, + "id": 33299, "nodeType": "PragmaDirective", - "src": "85:23:47", + "src": "85:23:61", "nodes": [], - "literals": ["solidity", "^", "0.8", ".0"] + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ] }, { - "id": 9156, + "id": 33300, "nodeType": "ImportDirective", - "src": "110:40:47", + "src": "110:40:61", "nodes": [], "absolutePath": "lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol", "file": "royalty-guard/RoyaltyGuard.sol", "nameLocation": "-1:-1:-1", - "scope": 9240, - "sourceUnit": 7569, + "scope": 33384, + "sourceUnit": 31676, "symbolAliases": [], "unitAlias": "" }, { - "id": 9157, + "id": 33301, "nodeType": "ImportDirective", - "src": "152:29:47", + "src": "152:29:61", "nodes": [], "absolutePath": "src/token/ERC721/sovereign/SovereignNFT.sol", "file": "../SovereignNFT.sol", "nameLocation": "-1:-1:-1", - "scope": 9240, - "sourceUnit": 8728, + "scope": 33384, + "sourceUnit": 32903, "symbolAliases": [], "unitAlias": "" }, { - "id": 9239, + "id": 33383, "nodeType": "ContractDefinition", - "src": "183:1643:47", + "src": "183:1643:61", "nodes": [ { - "id": 9183, + "id": 33327, "nodeType": "FunctionDefinition", - "src": "503:304:47", + "src": "503:304:61", "nodes": [], "body": { - "id": 9182, + "id": 33326, "nodeType": "Block", - "src": "667:140:47", + "src": "667:140:61", "nodes": [], "statements": [ { @@ -2404,7 +2455,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 9180, + "id": 33324, "isConstant": false, "isLValue": false, "isPure": false, @@ -2412,12 +2463,12 @@ "leftExpression": { "arguments": [ { - "id": 9174, + "id": 33318, "name": "_interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9164, - "src": "727:12:47", + "referencedDeclaration": 33308, + "src": "727:12:61", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -2432,32 +2483,32 @@ } ], "expression": { - "id": 9172, + "id": 33316, "name": "RoyaltyGuard", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7568, - "src": "696:12:47", + "referencedDeclaration": 31675, + "src": "696:12:61", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_RoyaltyGuard_$7568_$", + "typeIdentifier": "t_type$_t_contract$_RoyaltyGuard_$31675_$", "typeString": "type(contract RoyaltyGuard)" } }, - "id": 9173, + "id": 33317, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "supportsInterface", "nodeType": "MemberAccess", - "referencedDeclaration": 7475, - "src": "696:30:47", + "referencedDeclaration": 31582, + "src": "696:30:61", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", "typeString": "function (bytes4) view returns (bool)" } }, - "id": 9175, + "id": 33319, "isConstant": false, "isLValue": false, "isPure": false, @@ -2465,7 +2516,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "696:44:47", + "src": "696:44:61", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2477,12 +2528,12 @@ "rightExpression": { "arguments": [ { - "id": 9178, + "id": 33322, "name": "_interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9164, - "src": "787:12:47", + "referencedDeclaration": 33308, + "src": "787:12:61", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -2497,32 +2548,32 @@ } ], "expression": { - "id": 9176, + "id": 33320, "name": "SovereignNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8727, - "src": "756:12:47", + "referencedDeclaration": 32902, + "src": "756:12:61", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SovereignNFT_$8727_$", + "typeIdentifier": "t_type$_t_contract$_SovereignNFT_$32902_$", "typeString": "type(contract SovereignNFT)" } }, - "id": 9177, + "id": 33321, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "supportsInterface", "nodeType": "MemberAccess", - "referencedDeclaration": 8726, - "src": "756:30:47", + "referencedDeclaration": 32901, + "src": "756:30:61", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", "typeString": "function (bytes4) view returns (bool)" } }, - "id": 9179, + "id": 33323, "isConstant": false, "isLValue": false, "isPure": false, @@ -2530,31 +2581,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "756:44:47", + "src": "756:44:61", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "696:104:47", + "src": "696:104:61", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 9171, - "id": 9181, + "functionReturnParameters": 33315, + "id": 33325, "nodeType": "Return", - "src": "677:123:47" + "src": "677:123:61" } ] }, - "baseFunctions": [7475, 8726], + "baseFunctions": [ + 31582, + 32901 + ], "documentation": { - "id": 9162, + "id": 33306, "nodeType": "StructuredDocumentation", - "src": "457:41:47", + "src": "457:41:61", "text": "@dev See {IERC165-supportsInterface}." }, "functionSelector": "01ffc9a7", @@ -2562,41 +2616,41 @@ "kind": "function", "modifiers": [], "name": "supportsInterface", - "nameLocation": "512:17:47", + "nameLocation": "512:17:61", "overrides": { - "id": 9168, + "id": 33312, "nodeType": "OverrideSpecifier", "overrides": [ { - "id": 9166, + "id": 33310, "name": "SovereignNFT", "nodeType": "IdentifierPath", - "referencedDeclaration": 8727, - "src": "612:12:47" + "referencedDeclaration": 32902, + "src": "612:12:61" }, { - "id": 9167, + "id": 33311, "name": "RoyaltyGuard", "nodeType": "IdentifierPath", - "referencedDeclaration": 7568, - "src": "626:12:47" + "referencedDeclaration": 31675, + "src": "626:12:61" } ], - "src": "603:36:47" + "src": "603:36:61" }, "parameters": { - "id": 9165, + "id": 33309, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9164, + "id": 33308, "mutability": "mutable", "name": "_interfaceId", - "nameLocation": "537:12:47", + "nameLocation": "537:12:61", "nodeType": "VariableDeclaration", - "scope": 9183, - "src": "530:19:47", + "scope": 33327, + "src": "530:19:61", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2604,10 +2658,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 9163, + "id": 33307, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "530:6:47", + "src": "530:6:61", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -2616,21 +2670,21 @@ "visibility": "internal" } ], - "src": "529:21:47" + "src": "529:21:61" }, "returnParameters": { - "id": 9171, + "id": 33315, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9170, + "id": 33314, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 9183, - "src": "657:4:47", + "scope": 33327, + "src": "657:4:61", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2638,10 +2692,10 @@ "typeString": "bool" }, "typeName": { - "id": 9169, + "id": 33313, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "657:4:47", + "src": "657:4:61", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2650,22 +2704,22 @@ "visibility": "internal" } ], - "src": "656:6:47" + "src": "656:6:61" }, - "scope": 9239, + "scope": 33383, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 9198, + "id": 33342, "nodeType": "FunctionDefinition", - "src": "1052:171:47", + "src": "1052:171:61", "nodes": [], "body": { - "id": 9197, + "id": 33341, "nodeType": "Block", - "src": "1183:40:47", + "src": "1183:40:61", "nodes": [], "statements": [ { @@ -2674,18 +2728,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9195, + "id": 33339, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 9192, + "id": 33336, "name": "_addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9186, - "src": "1200:5:47", + "referencedDeclaration": 33330, + "src": "1200:5:61", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2697,18 +2751,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 9193, + "id": 33337, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 736, - "src": "1209:5:47", + "referencedDeclaration": 24843, + "src": "1209:5:61", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 9194, + "id": 33338, "isConstant": false, "isLValue": false, "isPure": false, @@ -2716,31 +2770,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1209:7:47", + "src": "1209:7:61", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1200:16:47", + "src": "1200:16:61", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 9191, - "id": 9196, + "functionReturnParameters": 33335, + "id": 33340, "nodeType": "Return", - "src": "1193:23:47" + "src": "1193:23:61" } ] }, - "baseFunctions": [7453], + "baseFunctions": [ + 31560 + ], "documentation": { - "id": 9184, + "id": 33328, "nodeType": "StructuredDocumentation", - "src": "1019:28:47", + "src": "1019:28:61", "text": "@inheritdoc RoyaltyGuard" }, "functionSelector": "20427486", @@ -2748,26 +2804,26 @@ "kind": "function", "modifiers": [], "name": "hasAdminPermission", - "nameLocation": "1061:18:47", + "nameLocation": "1061:18:61", "overrides": { - "id": 9188, + "id": 33332, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "1147:8:47" + "src": "1147:8:61" }, "parameters": { - "id": 9187, + "id": 33331, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9186, + "id": 33330, "mutability": "mutable", "name": "_addr", - "nameLocation": "1088:5:47", + "nameLocation": "1088:5:61", "nodeType": "VariableDeclaration", - "scope": 9198, - "src": "1080:13:47", + "scope": 33342, + "src": "1080:13:61", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2775,10 +2831,10 @@ "typeString": "address" }, "typeName": { - "id": 9185, + "id": 33329, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1080:7:47", + "src": "1080:7:61", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2788,21 +2844,21 @@ "visibility": "internal" } ], - "src": "1079:15:47" + "src": "1079:15:61" }, "returnParameters": { - "id": 9191, + "id": 33335, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9190, + "id": 33334, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 9198, - "src": "1173:4:47", + "scope": 33342, + "src": "1173:4:61", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2810,10 +2866,10 @@ "typeString": "bool" }, "typeName": { - "id": 9189, + "id": 33333, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1173:4:47", + "src": "1173:4:61", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2822,46 +2878,46 @@ "visibility": "internal" } ], - "src": "1172:6:47" + "src": "1172:6:61" }, - "scope": 9239, + "scope": 33383, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 9218, + "id": 33362, "nodeType": "FunctionDefinition", - "src": "1329:173:47", + "src": "1329:173:61", "nodes": [], "body": { - "id": 9217, + "id": 33361, "nodeType": "Block", - "src": "1457:45:47", + "src": "1457:45:61", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 9213, + "id": 33357, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9201, - "src": "1481:8:47", + "referencedDeclaration": 33345, + "src": "1481:8:61", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 9214, + "id": 33358, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9203, - "src": "1491:3:47", + "referencedDeclaration": 33347, + "src": "1491:3:61", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2880,32 +2936,32 @@ } ], "expression": { - "id": 9210, + "id": 33354, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -25, - "src": "1467:5:47", + "src": "1467:5:61", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_SovereignNFTRoyaltyGuard_$9239_$", + "typeIdentifier": "t_type$_t_super$_SovereignNFTRoyaltyGuard_$33383_$", "typeString": "type(contract super SovereignNFTRoyaltyGuard)" } }, - "id": 9212, + "id": 33356, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 8472, - "src": "1467:13:47", + "referencedDeclaration": 32647, + "src": "1467:13:61", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 9215, + "id": 33359, "isConstant": false, "isLValue": false, "isPure": false, @@ -2913,24 +2969,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1467:28:47", + "src": "1467:28:61", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9216, + "id": 33360, "nodeType": "ExpressionStatement", - "src": "1467:28:47" + "src": "1467:28:61" } ] }, - "baseFunctions": [8472], + "baseFunctions": [ + 32647 + ], "documentation": { - "id": 9199, + "id": 33343, "nodeType": "StructuredDocumentation", - "src": "1229:95:47", + "src": "1229:95:61", "text": "@dev Guards {approve} based on the type of list and depending if {_spender} is on the list." }, "functionSelector": "095ea7b3", @@ -2940,52 +2998,52 @@ { "arguments": [ { - "id": 9207, + "id": 33351, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9201, - "src": "1443:8:47", + "referencedDeclaration": 33345, + "src": "1443:8:61", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 9208, + "id": 33352, "kind": "modifierInvocation", "modifierName": { - "id": 9206, + "id": 33350, "name": "checkList", "nodeType": "IdentifierPath", - "referencedDeclaration": 7288, - "src": "1433:9:47" + "referencedDeclaration": 31395, + "src": "1433:9:61" }, "nodeType": "ModifierInvocation", - "src": "1433:19:47" + "src": "1433:19:61" } ], "name": "approve", - "nameLocation": "1338:7:47", + "nameLocation": "1338:7:61", "overrides": { - "id": 9205, + "id": 33349, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "1416:8:47" + "src": "1416:8:61" }, "parameters": { - "id": 9204, + "id": 33348, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9201, + "id": 33345, "mutability": "mutable", "name": "_spender", - "nameLocation": "1354:8:47", + "nameLocation": "1354:8:61", "nodeType": "VariableDeclaration", - "scope": 9218, - "src": "1346:16:47", + "scope": 33362, + "src": "1346:16:61", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2993,10 +3051,10 @@ "typeString": "address" }, "typeName": { - "id": 9200, + "id": 33344, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1346:7:47", + "src": "1346:7:61", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3007,13 +3065,13 @@ }, { "constant": false, - "id": 9203, + "id": 33347, "mutability": "mutable", "name": "_id", - "nameLocation": "1372:3:47", + "nameLocation": "1372:3:61", "nodeType": "VariableDeclaration", - "scope": 9218, - "src": "1364:11:47", + "scope": 33362, + "src": "1364:11:61", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3021,10 +3079,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9202, + "id": 33346, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1364:7:47", + "src": "1364:7:61", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3033,52 +3091,52 @@ "visibility": "internal" } ], - "src": "1345:31:47" + "src": "1345:31:61" }, "returnParameters": { - "id": 9209, + "id": 33353, "nodeType": "ParameterList", "parameters": [], - "src": "1457:0:47" + "src": "1457:0:61" }, - "scope": 9239, + "scope": 33383, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { - "id": 9238, + "id": 33382, "nodeType": "FunctionDefinition", - "src": "1619:205:47", + "src": "1619:205:61", "nodes": [], "body": { - "id": 9237, + "id": 33381, "nodeType": "Block", - "src": "1762:62:47", + "src": "1762:62:61", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 9233, + "id": 33377, "name": "_operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9221, - "src": "1796:9:47", + "referencedDeclaration": 33365, + "src": "1796:9:61", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 9234, + "id": 33378, "name": "_approved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9223, - "src": "1807:9:47", + "referencedDeclaration": 33367, + "src": "1807:9:61", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3097,32 +3155,32 @@ } ], "expression": { - "id": 9230, + "id": 33374, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -25, - "src": "1772:5:47", + "src": "1772:5:61", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_SovereignNFTRoyaltyGuard_$9239_$", + "typeIdentifier": "t_type$_t_super$_SovereignNFTRoyaltyGuard_$33383_$", "typeString": "type(contract super SovereignNFTRoyaltyGuard)" } }, - "id": 9232, + "id": 33376, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "setApprovalForAll", "nodeType": "MemberAccess", - "referencedDeclaration": 2402, - "src": "1772:23:47", + "referencedDeclaration": 26509, + "src": "1772:23:61", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bool_$returns$__$", "typeString": "function (address,bool)" } }, - "id": 9235, + "id": 33379, "isConstant": false, "isLValue": false, "isPure": false, @@ -3130,24 +3188,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1772:45:47", + "src": "1772:45:61", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9236, + "id": 33380, "nodeType": "ExpressionStatement", - "src": "1772:45:47" + "src": "1772:45:61" } ] }, - "baseFunctions": [2402], + "baseFunctions": [ + 26509 + ], "documentation": { - "id": 9219, + "id": 33363, "nodeType": "StructuredDocumentation", - "src": "1508:106:47", + "src": "1508:106:61", "text": "@dev Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list." }, "functionSelector": "a22cb465", @@ -3157,52 +3217,52 @@ { "arguments": [ { - "id": 9227, + "id": 33371, "name": "_operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9221, - "src": "1747:9:47", + "referencedDeclaration": 33365, + "src": "1747:9:61", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 9228, + "id": 33372, "kind": "modifierInvocation", "modifierName": { - "id": 9226, + "id": 33370, "name": "checkList", "nodeType": "IdentifierPath", - "referencedDeclaration": 7288, - "src": "1737:9:47" + "referencedDeclaration": 31395, + "src": "1737:9:61" }, "nodeType": "ModifierInvocation", - "src": "1737:20:47" + "src": "1737:20:61" } ], "name": "setApprovalForAll", - "nameLocation": "1628:17:47", + "nameLocation": "1628:17:61", "overrides": { - "id": 9225, + "id": 33369, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "1720:8:47" + "src": "1720:8:61" }, "parameters": { - "id": 9224, + "id": 33368, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9221, + "id": 33365, "mutability": "mutable", "name": "_operator", - "nameLocation": "1654:9:47", + "nameLocation": "1654:9:61", "nodeType": "VariableDeclaration", - "scope": 9238, - "src": "1646:17:47", + "scope": 33382, + "src": "1646:17:61", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3210,10 +3270,10 @@ "typeString": "address" }, "typeName": { - "id": 9220, + "id": 33364, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1646:7:47", + "src": "1646:7:61", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3224,13 +3284,13 @@ }, { "constant": false, - "id": 9223, + "id": 33367, "mutability": "mutable", "name": "_approved", - "nameLocation": "1670:9:47", + "nameLocation": "1670:9:61", "nodeType": "VariableDeclaration", - "scope": 9238, - "src": "1665:14:47", + "scope": 33382, + "src": "1665:14:61", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3238,10 +3298,10 @@ "typeString": "bool" }, "typeName": { - "id": 9222, + "id": 33366, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1665:4:47", + "src": "1665:4:61", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3250,15 +3310,15 @@ "visibility": "internal" } ], - "src": "1645:35:47" + "src": "1645:35:61" }, "returnParameters": { - "id": 9229, + "id": 33373, "nodeType": "ParameterList", "parameters": [], - "src": "1762:0:47" + "src": "1762:0:61" }, - "scope": 9239, + "scope": 33383, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" @@ -3268,27 +3328,27 @@ "baseContracts": [ { "baseName": { - "id": 9158, + "id": 33302, "name": "SovereignNFT", "nodeType": "IdentifierPath", - "referencedDeclaration": 8727, - "src": "220:12:47" + "referencedDeclaration": 32902, + "src": "220:12:61" }, - "id": 9159, + "id": 33303, "nodeType": "InheritanceSpecifier", - "src": "220:12:47" + "src": "220:12:61" }, { "baseName": { - "id": 9160, + "id": 33304, "name": "RoyaltyGuard", "nodeType": "IdentifierPath", - "referencedDeclaration": 7568, - "src": "234:12:47" + "referencedDeclaration": 31675, + "src": "234:12:61" }, - "id": 9161, + "id": 33305, "nodeType": "InheritanceSpecifier", - "src": "234:12:47" + "src": "234:12:61" } ], "canonicalName": "SovereignNFTRoyaltyGuard", @@ -3296,16 +3356,36 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 9239, 7568, 6471, 6483, 7212, 8727, 10393, 3159, 10419, 2975, 3186, - 3109, 3792, 3804, 813, 3471, 955, 10409 + 33383, + 31675, + 30578, + 30590, + 31319, + 32902, + 35531, + 27266, + 35557, + 27082, + 27293, + 27216, + 27899, + 27911, + 24920, + 27578, + 25062, + 35547 ], "name": "SovereignNFTRoyaltyGuard", - "nameLocation": "192:24:47", - "scope": 9240, - "usedErrors": [7131, 7134, 7137] + "nameLocation": "192:24:61", + "scope": 33384, + "usedErrors": [ + 31238, + 31241, + 31244 + ] } ], "license": "MIT" }, - "id": 47 -} + "id": 61 +} \ No newline at end of file diff --git a/abis/SovereignNFTRoyaltyGuardDeadmanTrigger.json b/abis/SovereignNFTRoyaltyGuardDeadmanTrigger.json index 7fbbd58..562f585 100644 --- a/abis/SovereignNFTRoyaltyGuardDeadmanTrigger.json +++ b/abis/SovereignNFTRoyaltyGuardDeadmanTrigger.json @@ -1031,12 +1031,12 @@ ], "bytecode": { "object": "0x608060405234801561001057600080fd5b5061355b806100206000396000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c806370a0823111610151578063b88d4fde116100c3578063e985e9c511610087578063e985e9c514610557578063eab851181461056a578063ee0708051461057d578063efc32cd414610589578063f2fde38b1461059c578063ff6e8c8f146105af57600080fd5b8063b88d4fde14610501578063bc71945514610514578063c87b56dd14610527578063d9856c211461053a578063e83157421461054d57600080fd5b8063894ba83311610115578063894ba833146104b25780638da5cb5b146104ba57806395d89b41146104cb5780639e860f2a146104d3578063a22cb465146104e6578063ab69607a146104f957600080fd5b806370a0823114610467578063715018a61461047a578063717392ed146104825780637cc918d11461048b57806387bc793f1461049e57600080fd5b80633403c4e9116101ea578063472a6638116101ae578063472a6638146104005780634aa52c41146104135780635aec8d62146104265780635edc7c191461042e5780636297c16c146104415780636352211e1461045457600080fd5b80633403c4e9146103a35780633ebc82c5146103b457806340c1a064146103c757806342842e0e146103da57806342966c68146103ed57600080fd5b806318160ddd1161023c57806318160ddd1461031a578063204274861461033057806321c4a5d81461034357806323b872dd146103565780632a55205a146103695780632ce878da1461039b57600080fd5b8063012cf1e81461027957806301ffc9a7146102a257806306fdde03146102c5578063081812fc146102da578063095ea7b314610305575b600080fd5b61028c610287366004612adf565b6105c2565b6040516102999190612afa565b60405180910390f35b6102b56102b0366004612b5d565b610608565b6040519015158152602001610299565b6102cd610622565b6040516102999190612bd2565b6102ed6102e8366004612be5565b6106b4565b6040516001600160a01b039091168152602001610299565b610318610313366004612c15565b610795565b005b61032261086a565b604051908152602001610299565b6102b561033e366004612c3f565b61087b565b610318610351366004612be5565b6108aa565b610318610364366004612c5a565b6108dc565b61037c610377366004612c96565b61090e565b604080516001600160a01b039093168352602083019190915201610299565b61028c6109a9565b60fb546001600160a01b03166102ed565b6103186103c2366004612c3f565b6109cf565b6102ed6103d5366004612be5565b610a02565b6103186103e8366004612c5a565b610a16565b6103186103fb366004612be5565b610a31565b61031861040e366004612adf565b610a92565b610318610421366004612d01565b610ac1565b610318610b5a565b61031861043c366004612d66565b610bb5565b61031861044f366004612be5565b610d35565b6102ed610462366004612be5565b610d9f565b610322610475366004612c3f565b610e21565b610318610ea7565b61010954610322565b610318610499366004612def565b610edd565b6101085460ff166040516102999190612e51565b6103186110c0565b6033546001600160a01b03166102ed565b6102cd611124565b6103186104e1366004612e79565b611133565b6103186104f4366004612eff565b611196565b60fc54610322565b61031861050f366004612fc7565b61123d565b610318610522366004612adf565b611275565b6102cd610535366004612be5565b61132a565b610318610548366004613043565b611416565b6103226101005481565b6102b561056536600461308c565b611477565b6102b5610578366004612c3f565b6114a5565b60ff80546102b5911681565b610318610597366004612c15565b6114cc565b6103186105aa366004612c3f565b611524565b6103186105bd366004612e79565b6115bc565b606061060261010760008460028111156105de576105de612e3b565b60028111156105ef576105ef612e3b565b8152602001908152602001600020611654565b92915050565b600061061382611661565b80610602575061060282611686565b606060978054610631906130b6565b80601f016020809104026020016040519081016040528092919081815260200182805461065d906130b6565b80156106aa5780601f1061067f576101008083540402835291602001916106aa565b820191906000526020600020905b81548152906001019060200180831161068d57829003601f168201915b5050505050905090565b600081815260fd60205260408120546001600160a01b0316816106d6846116c9565b50509050600081806106f057506001600160a01b03831615155b801561070c57506000858152610102602052604090205460ff16155b9050806107755760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b50505060009182525061010360205260409020546001600160a01b031690565b8160016101085460ff1660028111156107b0576107b0612e3b565b0361080f576107ee81610107600060015b60028111156107d2576107d2612e3b565b815260200190815260200160002061182c90919063ffffffff16565b61080a576040516282b42960e81b815260040160405180910390fd5b61085b565b60026101085460ff16600281111561082957610829612e3b565b0361085b5761083e81610107600060026107c1565b1561085b576040516282b42960e81b815260040160405180910390fd5b610865838361184e565b505050565b60006108766101045490565b905090565b600061088f6033546001600160a01b031690565b6001600160a01b0316826001600160a01b0316149050919050565b6108b33361087b565b6108d057604051635c510c8360e11b815260040160405180910390fd5b6108d98161195e565b50565b6108e7335b826119c1565b6109035760405162461bcd60e51b815260040161076c906130ea565b610865838383611a20565b600082815260fd602052604081205481906001600160a01b031661093d5760fb546001600160a01b0316610956565b600084815260fd60205260409020546001600160a01b03165b91506109a0606461099a60fe6000888152602001908152602001600020546000036109835760fc54610993565b600087815260fe60205260409020545b8690611a94565b90611aa0565b90509250929050565b61010854606090610876906101079060009060ff1660028111156105de576105de612e3b565b6033546001600160a01b031633146109f95760405162461bcd60e51b815260040161076c9061313b565b6108d981611aac565b60006106026033546001600160a01b031690565b6108658383836040518060200160405280600081525061123d565b6000610a3c826116c9565b5050600083815261010260205260409020805460ff191660011790559050808015610a7c57506000828152609960205260409020546001600160a01b0316155b15610a85575050565b610a8e82611ace565b5050565b610a9b3361087b565b610ab857604051635c510c8360e11b815260040160405180910390fd5b6108d981611b45565b6033546001600160a01b03163314610aeb5760405162461bcd60e51b815260040161076c9061313b565b60ff80541615610b0d5760405162461bcd60e51b815260040161076c90613170565b610b5384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060fc5433925086915085611bc2565b5050505050565b42610109541115610b7e5760405163807a684760e01b815260040160405180910390fd5b610b886000611b45565b60405133907f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a4690600090a2565b6000610bc16001611cc3565b90508015610bd9576000805461ff0019166101001790555b6001600160a01b038316610c2f5760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c20616464726573730000604482015260640161076c565b610c39600a60fc55565b60ff805460ff19169055610100829055610c51611d50565b610cc487878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611d7f92505050565b610ccc611db0565b610cd4611dd7565b610cdd83611aac565b610ce683611524565b8015610d2c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b8033610d4082610d9f565b6001600160a01b031614610d965760405162461bcd60e51b815260206004820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e000000000000000000604482015260640161076c565b610a8e82610a31565b600080610dab836116c9565b5050905080610dc457610dbd83611e06565b9392505050565b6000838152610102602052604090205460ff1615610de557610dbd83611e06565b6000838152609960205260409020546001600160a01b0316610e12576033546001600160a01b0316610dbd565b610dbd83611e06565b50919050565b60006001600160a01b038216610e8b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161076c565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610ed15760405162461bcd60e51b815260040161076c9061313b565b610edb6000611e7d565b565b6033546001600160a01b03163314610f075760405162461bcd60e51b815260040161076c9061313b565b60ff80541615610f295760405162461bcd60e51b815260040161076c90613170565b6000610f356101045490565b610f409060016131bd565b905060006001610f5084846131bd565b610f5a91906131d5565b604080516020810190915281905261010481905561010054909150811115610fc45760405162461bcd60e51b815260206004820152601d60248201527f62617463684d696e743a3a6578636565646564206d6178546f6b656e73000000604482015260640161076c565b610105604051806060016040528084815260200183815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018181018655948252602091829020845160039092020190815590830151938101939093555060408101519091906002820190611056908261323a565b50505061106b6033546001600160a01b031690565b6001600160a01b031660006001600160a01b0316837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d846040516110b191815260200190565b60405180910390a45050505050565b6033546001600160a01b031633146110ea5760405162461bcd60e51b815260040161076c9061313b565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b606060988054610631906130b6565b61113c3361087b565b61115957604051635c510c8360e11b815260040160405180910390fd5b6108658383838080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509250611ecf915050565b8160016101085460ff1660028111156111b1576111b1612e3b565b036111e7576111c681610107600060016107c1565b6111e2576040516282b42960e81b815260040160405180910390fd5b611233565b60026101085460ff16600281111561120157611201612e3b565b036112335761121681610107600060026107c1565b15611233576040516282b42960e81b815260040160405180910390fd5b61086583836120ac565b61124733836119c1565b6112635760405162461bcd60e51b815260040161076c906130ea565b61126f848484846120b7565b50505050565b61127e3361087b565b61129b57604051635c510c8360e11b815260040160405180910390fd5b61010760008260028111156112b2576112b2612e3b565b60028111156112c3576112c3612e3b565b8152602081019190915260400160009081209081816112e28282612a9e565b50505050336001600160a01b03167f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da248260405161131f9190612e51565b60405180910390a250565b6060600080611338846116c9565b9250509150816113e357600084815261010660205260409020805461135c906130b6565b80601f0160208091040260200160405190810160405280929190818152602001828054611388906130b6565b80156113d55780601f106113aa576101008083540402835291602001916113d5565b820191906000526020600020905b8154815290600101906020018083116113b857829003601f168201915b505050505092505050919050565b806113ed856120ea565b6040516020016113fe9291906132fa565b60405160208183030381529060405292505050919050565b6033546001600160a01b031633146114405760405162461bcd60e51b815260040161076c9061313b565b60ff805416156114625760405162461bcd60e51b815260040161076c90613170565b610a8e81333361147160fc5490565b33611bc2565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b6101085460009061060290839061010790849060ff1660028111156107c1576107c1612e3b565b6033546001600160a01b031633146114f65760405162461bcd60e51b815260040161076c9061313b565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461154e5760405162461bcd60e51b815260040161076c9061313b565b6001600160a01b0381166115b35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161076c565b6108d981611e7d565b6115c53361087b565b6115e257604051635c510c8360e11b815260040160405180910390fd5b60008360028111156115f6576115f6612e3b565b0361161457604051632de777a160e11b815260040160405180910390fd5b6108658383838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525060019250611ecf915050565b60606000610dbd836121eb565b60006001600160e01b0319821663fa31a45b60e01b1480610602575061060282612247565b60006001600160e01b03198216631030681960e21b14806116ab57506116ab82612247565b806116ba57506116ba8261225d565b8061060257506106028261227e565b600080606060005b6101055481101561180d5761010581815481106116f0576116f0613348565b90600052602060002090600302016000015485101580156117365750610105818154811061172057611720613348565b9060005260206000209060030201600101548511155b156117fb57600181610105838154811061175257611752613348565b906000526020600020906003020160020180805461176f906130b6565b80601f016020809104026020016040519081016040528092919081815260200182805461179b906130b6565b80156117e85780601f106117bd576101008083540402835291602001916117e8565b820191906000526020600020905b8154815290600101906020018083116117cb57829003601f168201915b5050505050905093509350935050611825565b806118058161335e565b9150506116d1565b50506040805160208101909152600080825292508291505b9193909250565b6001600160a01b03811660009081526001830160205260408120541515610dbd565b600061185982610d9f565b9050806001600160a01b0316836001600160a01b0316036118c65760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b606482015260840161076c565b336001600160a01b03821614806118e257506118e28133611477565b6119545760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606482015260840161076c565b61086583836122be565b600061196e826301e13380613377565b61197890426131bd565b61010954604080519182526020820183905291925033917f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc9910160405180910390a26101095550565b6000806119cd83610d9f565b9050806001600160a01b0316846001600160a01b03161480611a085750836001600160a01b03166119fd846106b4565b6001600160a01b0316145b80611a185750611a188185611477565b949350505050565b80600003611a2d57600080fd5b6000611a38826116c9565b50509050808015611a5e57506000828152609960205260409020546001600160a01b0316155b8015611a7a57506000828152610102602052604090205460ff16155b15611a8957611a89848361232d565b61126f84848461246f565b6000610dbd8284613377565b6000610dbd82846133ac565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b611ad7336108e1565b611b3c5760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b606482015260840161076c565b6108d98161260b565b806002811115611b5757611b57612e3b565b6101085460ff166002811115611b6f57611b6f612e3b565b60405133907f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f90600090a4610108805482919060ff19166001836002811115611bba57611bba612e3b565b021790555050565b6000611bd361010480546001019055565b6000611bdf6101045490565b905061010054811115611c345760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e73604482015260640161076c565b611c3e85826126a6565b600081815261010660205260409020611c57888261323a565b5060008181526101016020526040902080546001600160a01b0319166001600160a01b038816179055600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b0385161790555b9695505050505050565b60008054610100900460ff1615611d0a578160ff166001148015611ce65750303b155b611d025760405162461bcd60e51b815260040161076c906133c0565b506000919050565b60005460ff808416911610611d315760405162461bcd60e51b815260040161076c906133c0565b506000805460ff191660ff92909216919091179055600190565b919050565b600054610100900460ff16611d775760405162461bcd60e51b815260040161076c9061340e565b610edb6126c0565b600054610100900460ff16611da65760405162461bcd60e51b815260040161076c9061340e565b610a8e82826126f0565b600054610100900460ff16610edb5760405162461bcd60e51b815260040161076c9061340e565b600054610100900460ff16611dfe5760405162461bcd60e51b815260040161076c9061340e565b610edb611db0565b6000818152609960205260408120546001600160a01b0316806106025760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b606482015260840161076c565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000836002811115611ee357611ee3612e3b565b146108655760005b825181101561126f578115611fcc57611f5b838281518110611f0f57611f0f613348565b60200260200101516101076000876002811115611f2e57611f2e612e3b565b6002811115611f3f57611f3f612e3b565b815260200190815260200160002061273090919063ffffffff16565b50836002811115611f6e57611f6e612e3b565b838281518110611f8057611f80613348565b60200260200101516001600160a01b0316336001600160a01b03167f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba153660405160405180910390a461209a565b61202d838281518110611fe157611fe1613348565b6020026020010151610107600087600281111561200057612000612e3b565b600281111561201157612011612e3b565b815260200190815260200160002061274590919063ffffffff16565b5083600281111561204057612040612e3b565b83828151811061205257612052613348565b60200260200101516001600160a01b0316336001600160a01b03167fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed9560405160405180910390a45b806120a48161335e565b915050611eeb565b610a8e33838361275a565b6120c2848484611a20565b6120ce84848484612828565b61126f5760405162461bcd60e51b815260040161076c90613459565b6060816000036121115750506040805180820190915260018152600360fc1b602082015290565b8160005b811561213b57806121258161335e565b91506121349050600a836133ac565b9150612115565b60008167ffffffffffffffff81111561215657612156612f3b565b6040519080825280601f01601f191660200182016040528015612180576020820181803683370190505b5090505b8415611a18576121956001836131d5565b91506121a2600a866134ab565b6121ad9060306131bd565b60f81b8183815181106121c2576121c2613348565b60200101906001600160f81b031916908160001a9053506121e4600a866133ac565b9450612184565b60608160000180548060200260200160405190810160405280929190818152602001828054801561223b57602002820191906000526020600020905b815481526020019060010190808311612227575b50505050509050919050565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b14806106025750610602825b60006001600160e01b031982166380ac58cd60e01b14806122af57506001600160e01b03198216635b5e139f60e01b145b80610602575061060282612247565b60008181526101036020526040902080546001600160a01b0319166001600160a01b03841690811790915581906122f482611e06565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6001600160a01b0382166123835760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161076c565b6000818152609960205260409020546001600160a01b0316156123e85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161076c565b6001600160a01b0382166000908152609a602052604081208054600192906124119084906131bd565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b826001600160a01b031661248282611e06565b6001600160a01b0316146124e65760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b606482015260840161076c565b6001600160a01b0382166125485760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161076c565b6125536000826122be565b6001600160a01b0383166000908152609a6020526040812080546001929061257c9084906131d5565b90915550506001600160a01b0382166000908152609a602052604081208054600192906125aa9084906131bd565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600061261682611e06565b90506126236000836122be565b6001600160a01b0381166000908152609a6020526040812080546001929061264c9084906131d5565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b610a8e828260405180602001604052806000815250612929565b600054610100900460ff166126e75760405162461bcd60e51b815260040161076c9061340e565b610edb33611e7d565b600054610100900460ff166127175760405162461bcd60e51b815260040161076c9061340e565b6097612723838261323a565b506098610865828261323a565b6000610dbd836001600160a01b03841661295c565b6000610dbd836001600160a01b0384166129ab565b816001600160a01b0316836001600160a01b0316036127bb5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161076c565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60006001600160a01b0384163b1561291e57604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061286c9033908990889088906004016134bf565b6020604051808303816000875af19250505080156128a7575060408051601f3d908101601f191682019092526128a4918101906134f2565b60015b612904573d8080156128d5576040519150601f19603f3d011682016040523d82523d6000602084013e6128da565b606091505b5080516000036128fc5760405162461bcd60e51b815260040161076c90613459565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611a18565b506001949350505050565b612933838361232d565b6129406000848484612828565b6108655760405162461bcd60e51b815260040161076c90613459565b60008181526001830160205260408120546129a357508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610602565b506000610602565b60008181526001830160205260408120548015612a945760006129cf6001836131d5565b85549091506000906129e3906001906131d5565b9050818114612a48576000866000018281548110612a0357612a03613348565b9060005260206000200154905080876000018481548110612a2657612a26613348565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612a5957612a5961350f565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610602565b6000915050610602565b50805460008255906000526020600020908101906108d991905b80821115612acc5760008155600101612ab8565b5090565b803560038110611d4b57600080fd5b600060208284031215612af157600080fd5b610dbd82612ad0565b6020808252825182820181905260009190848201906040850190845b81811015612b3b5783516001600160a01b031683529284019291840191600101612b16565b50909695505050505050565b6001600160e01b0319811681146108d957600080fd5b600060208284031215612b6f57600080fd5b8135610dbd81612b47565b60005b83811015612b95578181015183820152602001612b7d565b8381111561126f5750506000910152565b60008151808452612bbe816020860160208601612b7a565b601f01601f19169290920160200192915050565b602081526000610dbd6020830184612ba6565b600060208284031215612bf757600080fd5b5035919050565b80356001600160a01b0381168114611d4b57600080fd5b60008060408385031215612c2857600080fd5b612c3183612bfe565b946020939093013593505050565b600060208284031215612c5157600080fd5b610dbd82612bfe565b600080600060608486031215612c6f57600080fd5b612c7884612bfe565b9250612c8660208501612bfe565b9150604084013590509250925092565b60008060408385031215612ca957600080fd5b50508035926020909101359150565b60008083601f840112612cca57600080fd5b50813567ffffffffffffffff811115612ce257600080fd5b602083019150836020828501011115612cfa57600080fd5b9250929050565b60008060008060608587031215612d1757600080fd5b843567ffffffffffffffff811115612d2e57600080fd5b612d3a87828801612cb8565b9095509350612d4d905060208601612bfe565b9150612d5b60408601612bfe565b905092959194509250565b60008060008060008060808789031215612d7f57600080fd5b863567ffffffffffffffff80821115612d9757600080fd5b612da38a838b01612cb8565b90985096506020890135915080821115612dbc57600080fd5b50612dc989828a01612cb8565b9095509350612ddc905060408801612bfe565b9150606087013590509295509295509295565b600080600060408486031215612e0457600080fd5b833567ffffffffffffffff811115612e1b57600080fd5b612e2786828701612cb8565b909790965060209590950135949350505050565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612e7357634e487b7160e01b600052602160045260246000fd5b91905290565b600080600060408486031215612e8e57600080fd5b612e9784612ad0565b9250602084013567ffffffffffffffff80821115612eb457600080fd5b818601915086601f830112612ec857600080fd5b813581811115612ed757600080fd5b8760208260051b8501011115612eec57600080fd5b6020830194508093505050509250925092565b60008060408385031215612f1257600080fd5b612f1b83612bfe565b915060208301358015158114612f3057600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115612f6c57612f6c612f3b565b604051601f8501601f19908116603f01168101908282118183101715612f9457612f94612f3b565b81604052809350858152868686011115612fad57600080fd5b858560208301376000602087830101525050509392505050565b60008060008060808587031215612fdd57600080fd5b612fe685612bfe565b9350612ff460208601612bfe565b925060408501359150606085013567ffffffffffffffff81111561301757600080fd5b8501601f8101871361302857600080fd5b61303787823560208401612f51565b91505092959194509250565b60006020828403121561305557600080fd5b813567ffffffffffffffff81111561306c57600080fd5b8201601f8101841361307d57600080fd5b611a1884823560208401612f51565b6000806040838503121561309f57600080fd5b6130a883612bfe565b91506109a060208401612bfe565b600181811c908216806130ca57607f821691505b602082108103610e1b57634e487b7160e01b600052602260045260246000fd5b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082198211156131d0576131d06131a7565b500190565b6000828210156131e7576131e76131a7565b500390565b601f82111561086557600081815260208120601f850160051c810160208610156132135750805b601f850160051c820191505b818110156132325782815560010161321f565b505050505050565b815167ffffffffffffffff81111561325457613254612f3b565b6132688161326284546130b6565b846131ec565b602080601f83116001811461329d57600084156132855750858301515b600019600386901b1c1916600185901b178555613232565b600085815260208120601f198616915b828110156132cc578886015182559484019460019091019084016132ad565b50858210156132ea5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000835161330c818460208801612b7a565b602f60f81b908301908152835161332a816001840160208801612b7a565b64173539b7b760d91b60019290910191820152600601949350505050565b634e487b7160e01b600052603260045260246000fd5b600060018201613370576133706131a7565b5060010190565b6000816000190483118215151615613391576133916131a7565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826133bb576133bb613396565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000826134ba576134ba613396565b500690565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611cb990830184612ba6565b60006020828403121561350457600080fd5b8151610dbd81612b47565b634e487b7160e01b600052603160045260246000fdfea26469706673582212206c9333f611af818dfc9bd40a27c875d4d2b0bf5e040a755155019b4a2656673c64736f6c634300080f0033", - "sourceMap": "208:1708:48:-:0;;;;;;;;;;;;;;;;;;;", + "sourceMap": "208:1708:62:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106102745760003560e01c806370a0823111610151578063b88d4fde116100c3578063e985e9c511610087578063e985e9c514610557578063eab851181461056a578063ee0708051461057d578063efc32cd414610589578063f2fde38b1461059c578063ff6e8c8f146105af57600080fd5b8063b88d4fde14610501578063bc71945514610514578063c87b56dd14610527578063d9856c211461053a578063e83157421461054d57600080fd5b8063894ba83311610115578063894ba833146104b25780638da5cb5b146104ba57806395d89b41146104cb5780639e860f2a146104d3578063a22cb465146104e6578063ab69607a146104f957600080fd5b806370a0823114610467578063715018a61461047a578063717392ed146104825780637cc918d11461048b57806387bc793f1461049e57600080fd5b80633403c4e9116101ea578063472a6638116101ae578063472a6638146104005780634aa52c41146104135780635aec8d62146104265780635edc7c191461042e5780636297c16c146104415780636352211e1461045457600080fd5b80633403c4e9146103a35780633ebc82c5146103b457806340c1a064146103c757806342842e0e146103da57806342966c68146103ed57600080fd5b806318160ddd1161023c57806318160ddd1461031a578063204274861461033057806321c4a5d81461034357806323b872dd146103565780632a55205a146103695780632ce878da1461039b57600080fd5b8063012cf1e81461027957806301ffc9a7146102a257806306fdde03146102c5578063081812fc146102da578063095ea7b314610305575b600080fd5b61028c610287366004612adf565b6105c2565b6040516102999190612afa565b60405180910390f35b6102b56102b0366004612b5d565b610608565b6040519015158152602001610299565b6102cd610622565b6040516102999190612bd2565b6102ed6102e8366004612be5565b6106b4565b6040516001600160a01b039091168152602001610299565b610318610313366004612c15565b610795565b005b61032261086a565b604051908152602001610299565b6102b561033e366004612c3f565b61087b565b610318610351366004612be5565b6108aa565b610318610364366004612c5a565b6108dc565b61037c610377366004612c96565b61090e565b604080516001600160a01b039093168352602083019190915201610299565b61028c6109a9565b60fb546001600160a01b03166102ed565b6103186103c2366004612c3f565b6109cf565b6102ed6103d5366004612be5565b610a02565b6103186103e8366004612c5a565b610a16565b6103186103fb366004612be5565b610a31565b61031861040e366004612adf565b610a92565b610318610421366004612d01565b610ac1565b610318610b5a565b61031861043c366004612d66565b610bb5565b61031861044f366004612be5565b610d35565b6102ed610462366004612be5565b610d9f565b610322610475366004612c3f565b610e21565b610318610ea7565b61010954610322565b610318610499366004612def565b610edd565b6101085460ff166040516102999190612e51565b6103186110c0565b6033546001600160a01b03166102ed565b6102cd611124565b6103186104e1366004612e79565b611133565b6103186104f4366004612eff565b611196565b60fc54610322565b61031861050f366004612fc7565b61123d565b610318610522366004612adf565b611275565b6102cd610535366004612be5565b61132a565b610318610548366004613043565b611416565b6103226101005481565b6102b561056536600461308c565b611477565b6102b5610578366004612c3f565b6114a5565b60ff80546102b5911681565b610318610597366004612c15565b6114cc565b6103186105aa366004612c3f565b611524565b6103186105bd366004612e79565b6115bc565b606061060261010760008460028111156105de576105de612e3b565b60028111156105ef576105ef612e3b565b8152602001908152602001600020611654565b92915050565b600061061382611661565b80610602575061060282611686565b606060978054610631906130b6565b80601f016020809104026020016040519081016040528092919081815260200182805461065d906130b6565b80156106aa5780601f1061067f576101008083540402835291602001916106aa565b820191906000526020600020905b81548152906001019060200180831161068d57829003601f168201915b5050505050905090565b600081815260fd60205260408120546001600160a01b0316816106d6846116c9565b50509050600081806106f057506001600160a01b03831615155b801561070c57506000858152610102602052604090205460ff16155b9050806107755760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b50505060009182525061010360205260409020546001600160a01b031690565b8160016101085460ff1660028111156107b0576107b0612e3b565b0361080f576107ee81610107600060015b60028111156107d2576107d2612e3b565b815260200190815260200160002061182c90919063ffffffff16565b61080a576040516282b42960e81b815260040160405180910390fd5b61085b565b60026101085460ff16600281111561082957610829612e3b565b0361085b5761083e81610107600060026107c1565b1561085b576040516282b42960e81b815260040160405180910390fd5b610865838361184e565b505050565b60006108766101045490565b905090565b600061088f6033546001600160a01b031690565b6001600160a01b0316826001600160a01b0316149050919050565b6108b33361087b565b6108d057604051635c510c8360e11b815260040160405180910390fd5b6108d98161195e565b50565b6108e7335b826119c1565b6109035760405162461bcd60e51b815260040161076c906130ea565b610865838383611a20565b600082815260fd602052604081205481906001600160a01b031661093d5760fb546001600160a01b0316610956565b600084815260fd60205260409020546001600160a01b03165b91506109a0606461099a60fe6000888152602001908152602001600020546000036109835760fc54610993565b600087815260fe60205260409020545b8690611a94565b90611aa0565b90509250929050565b61010854606090610876906101079060009060ff1660028111156105de576105de612e3b565b6033546001600160a01b031633146109f95760405162461bcd60e51b815260040161076c9061313b565b6108d981611aac565b60006106026033546001600160a01b031690565b6108658383836040518060200160405280600081525061123d565b6000610a3c826116c9565b5050600083815261010260205260409020805460ff191660011790559050808015610a7c57506000828152609960205260409020546001600160a01b0316155b15610a85575050565b610a8e82611ace565b5050565b610a9b3361087b565b610ab857604051635c510c8360e11b815260040160405180910390fd5b6108d981611b45565b6033546001600160a01b03163314610aeb5760405162461bcd60e51b815260040161076c9061313b565b60ff80541615610b0d5760405162461bcd60e51b815260040161076c90613170565b610b5384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060fc5433925086915085611bc2565b5050505050565b42610109541115610b7e5760405163807a684760e01b815260040160405180910390fd5b610b886000611b45565b60405133907f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a4690600090a2565b6000610bc16001611cc3565b90508015610bd9576000805461ff0019166101001790555b6001600160a01b038316610c2f5760405162461bcd60e51b815260206004820152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c20616464726573730000604482015260640161076c565b610c39600a60fc55565b60ff805460ff19169055610100829055610c51611d50565b610cc487878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250611d7f92505050565b610ccc611db0565b610cd4611dd7565b610cdd83611aac565b610ce683611524565b8015610d2c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b8033610d4082610d9f565b6001600160a01b031614610d965760405162461bcd60e51b815260206004820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e000000000000000000604482015260640161076c565b610a8e82610a31565b600080610dab836116c9565b5050905080610dc457610dbd83611e06565b9392505050565b6000838152610102602052604090205460ff1615610de557610dbd83611e06565b6000838152609960205260409020546001600160a01b0316610e12576033546001600160a01b0316610dbd565b610dbd83611e06565b50919050565b60006001600160a01b038216610e8b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161076c565b506001600160a01b03166000908152609a602052604090205490565b6033546001600160a01b03163314610ed15760405162461bcd60e51b815260040161076c9061313b565b610edb6000611e7d565b565b6033546001600160a01b03163314610f075760405162461bcd60e51b815260040161076c9061313b565b60ff80541615610f295760405162461bcd60e51b815260040161076c90613170565b6000610f356101045490565b610f409060016131bd565b905060006001610f5084846131bd565b610f5a91906131d5565b604080516020810190915281905261010481905561010054909150811115610fc45760405162461bcd60e51b815260206004820152601d60248201527f62617463684d696e743a3a6578636565646564206d6178546f6b656e73000000604482015260640161076c565b610105604051806060016040528084815260200183815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018181018655948252602091829020845160039092020190815590830151938101939093555060408101519091906002820190611056908261323a565b50505061106b6033546001600160a01b031690565b6001600160a01b031660006001600160a01b0316837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d846040516110b191815260200190565b60405180910390a45050505050565b6033546001600160a01b031633146110ea5760405162461bcd60e51b815260040161076c9061313b565b60ff805460ff1916600117905560405133907f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd90600090a2565b606060988054610631906130b6565b61113c3361087b565b61115957604051635c510c8360e11b815260040160405180910390fd5b6108658383838080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509250611ecf915050565b8160016101085460ff1660028111156111b1576111b1612e3b565b036111e7576111c681610107600060016107c1565b6111e2576040516282b42960e81b815260040160405180910390fd5b611233565b60026101085460ff16600281111561120157611201612e3b565b036112335761121681610107600060026107c1565b15611233576040516282b42960e81b815260040160405180910390fd5b61086583836120ac565b61124733836119c1565b6112635760405162461bcd60e51b815260040161076c906130ea565b61126f848484846120b7565b50505050565b61127e3361087b565b61129b57604051635c510c8360e11b815260040160405180910390fd5b61010760008260028111156112b2576112b2612e3b565b60028111156112c3576112c3612e3b565b8152602081019190915260400160009081209081816112e28282612a9e565b50505050336001600160a01b03167f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da248260405161131f9190612e51565b60405180910390a250565b6060600080611338846116c9565b9250509150816113e357600084815261010660205260409020805461135c906130b6565b80601f0160208091040260200160405190810160405280929190818152602001828054611388906130b6565b80156113d55780601f106113aa576101008083540402835291602001916113d5565b820191906000526020600020905b8154815290600101906020018083116113b857829003601f168201915b505050505092505050919050565b806113ed856120ea565b6040516020016113fe9291906132fa565b60405160208183030381529060405292505050919050565b6033546001600160a01b031633146114405760405162461bcd60e51b815260040161076c9061313b565b60ff805416156114625760405162461bcd60e51b815260040161076c90613170565b610a8e81333361147160fc5490565b33611bc2565b6001600160a01b039182166000908152609c6020908152604080832093909416825291909152205460ff1690565b6101085460009061060290839061010790849060ff1660028111156107c1576107c1612e3b565b6033546001600160a01b031633146114f65760405162461bcd60e51b815260040161076c9061313b565b600090815260fd6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461154e5760405162461bcd60e51b815260040161076c9061313b565b6001600160a01b0381166115b35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161076c565b6108d981611e7d565b6115c53361087b565b6115e257604051635c510c8360e11b815260040160405180910390fd5b60008360028111156115f6576115f6612e3b565b0361161457604051632de777a160e11b815260040160405180910390fd5b6108658383838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525060019250611ecf915050565b60606000610dbd836121eb565b60006001600160e01b0319821663fa31a45b60e01b1480610602575061060282612247565b60006001600160e01b03198216631030681960e21b14806116ab57506116ab82612247565b806116ba57506116ba8261225d565b8061060257506106028261227e565b600080606060005b6101055481101561180d5761010581815481106116f0576116f0613348565b90600052602060002090600302016000015485101580156117365750610105818154811061172057611720613348565b9060005260206000209060030201600101548511155b156117fb57600181610105838154811061175257611752613348565b906000526020600020906003020160020180805461176f906130b6565b80601f016020809104026020016040519081016040528092919081815260200182805461179b906130b6565b80156117e85780601f106117bd576101008083540402835291602001916117e8565b820191906000526020600020905b8154815290600101906020018083116117cb57829003601f168201915b5050505050905093509350935050611825565b806118058161335e565b9150506116d1565b50506040805160208101909152600080825292508291505b9193909250565b6001600160a01b03811660009081526001830160205260408120541515610dbd565b600061185982610d9f565b9050806001600160a01b0316836001600160a01b0316036118c65760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b606482015260840161076c565b336001600160a01b03821614806118e257506118e28133611477565b6119545760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606482015260840161076c565b61086583836122be565b600061196e826301e13380613377565b61197890426131bd565b61010954604080519182526020820183905291925033917f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc9910160405180910390a26101095550565b6000806119cd83610d9f565b9050806001600160a01b0316846001600160a01b03161480611a085750836001600160a01b03166119fd846106b4565b6001600160a01b0316145b80611a185750611a188185611477565b949350505050565b80600003611a2d57600080fd5b6000611a38826116c9565b50509050808015611a5e57506000828152609960205260409020546001600160a01b0316155b8015611a7a57506000828152610102602052604090205460ff16155b15611a8957611a89848361232d565b61126f84848461246f565b6000610dbd8284613377565b6000610dbd82846133ac565b60fb80546001600160a01b0319166001600160a01b0392909216919091179055565b611ad7336108e1565b611b3c5760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b606482015260840161076c565b6108d98161260b565b806002811115611b5757611b57612e3b565b6101085460ff166002811115611b6f57611b6f612e3b565b60405133907f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f90600090a4610108805482919060ff19166001836002811115611bba57611bba612e3b565b021790555050565b6000611bd361010480546001019055565b6000611bdf6101045490565b905061010054811115611c345760405162461bcd60e51b815260206004820181905260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e73604482015260640161076c565b611c3e85826126a6565b600081815261010660205260409020611c57888261323a565b5060008181526101016020526040902080546001600160a01b0319166001600160a01b038816179055600081815260fe60205260409020849055600081815260fd6020526040902080546001600160a01b0319166001600160a01b0385161790555b9695505050505050565b60008054610100900460ff1615611d0a578160ff166001148015611ce65750303b155b611d025760405162461bcd60e51b815260040161076c906133c0565b506000919050565b60005460ff808416911610611d315760405162461bcd60e51b815260040161076c906133c0565b506000805460ff191660ff92909216919091179055600190565b919050565b600054610100900460ff16611d775760405162461bcd60e51b815260040161076c9061340e565b610edb6126c0565b600054610100900460ff16611da65760405162461bcd60e51b815260040161076c9061340e565b610a8e82826126f0565b600054610100900460ff16610edb5760405162461bcd60e51b815260040161076c9061340e565b600054610100900460ff16611dfe5760405162461bcd60e51b815260040161076c9061340e565b610edb611db0565b6000818152609960205260408120546001600160a01b0316806106025760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b606482015260840161076c565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000836002811115611ee357611ee3612e3b565b146108655760005b825181101561126f578115611fcc57611f5b838281518110611f0f57611f0f613348565b60200260200101516101076000876002811115611f2e57611f2e612e3b565b6002811115611f3f57611f3f612e3b565b815260200190815260200160002061273090919063ffffffff16565b50836002811115611f6e57611f6e612e3b565b838281518110611f8057611f80613348565b60200260200101516001600160a01b0316336001600160a01b03167f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba153660405160405180910390a461209a565b61202d838281518110611fe157611fe1613348565b6020026020010151610107600087600281111561200057612000612e3b565b600281111561201157612011612e3b565b815260200190815260200160002061274590919063ffffffff16565b5083600281111561204057612040612e3b565b83828151811061205257612052613348565b60200260200101516001600160a01b0316336001600160a01b03167fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed9560405160405180910390a45b806120a48161335e565b915050611eeb565b610a8e33838361275a565b6120c2848484611a20565b6120ce84848484612828565b61126f5760405162461bcd60e51b815260040161076c90613459565b6060816000036121115750506040805180820190915260018152600360fc1b602082015290565b8160005b811561213b57806121258161335e565b91506121349050600a836133ac565b9150612115565b60008167ffffffffffffffff81111561215657612156612f3b565b6040519080825280601f01601f191660200182016040528015612180576020820181803683370190505b5090505b8415611a18576121956001836131d5565b91506121a2600a866134ab565b6121ad9060306131bd565b60f81b8183815181106121c2576121c2613348565b60200101906001600160f81b031916908160001a9053506121e4600a866133ac565b9450612184565b60608160000180548060200260200160405190810160405280929190818152602001828054801561223b57602002820191906000526020600020905b815481526020019060010190808311612227575b50505050509050919050565b6001600160e01b0319166301ffc9a760e01b1490565b60006001600160e01b0319821663152a902d60e11b14806106025750610602825b60006001600160e01b031982166380ac58cd60e01b14806122af57506001600160e01b03198216635b5e139f60e01b145b80610602575061060282612247565b60008181526101036020526040902080546001600160a01b0319166001600160a01b03841690811790915581906122f482611e06565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6001600160a01b0382166123835760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161076c565b6000818152609960205260409020546001600160a01b0316156123e85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161076c565b6001600160a01b0382166000908152609a602052604081208054600192906124119084906131bd565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b826001600160a01b031661248282611e06565b6001600160a01b0316146124e65760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b606482015260840161076c565b6001600160a01b0382166125485760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161076c565b6125536000826122be565b6001600160a01b0383166000908152609a6020526040812080546001929061257c9084906131d5565b90915550506001600160a01b0382166000908152609a602052604081208054600192906125aa9084906131bd565b909155505060008181526099602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600061261682611e06565b90506126236000836122be565b6001600160a01b0381166000908152609a6020526040812080546001929061264c9084906131d5565b909155505060008281526099602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b610a8e828260405180602001604052806000815250612929565b600054610100900460ff166126e75760405162461bcd60e51b815260040161076c9061340e565b610edb33611e7d565b600054610100900460ff166127175760405162461bcd60e51b815260040161076c9061340e565b6097612723838261323a565b506098610865828261323a565b6000610dbd836001600160a01b03841661295c565b6000610dbd836001600160a01b0384166129ab565b816001600160a01b0316836001600160a01b0316036127bb5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161076c565b6001600160a01b038381166000818152609c6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60006001600160a01b0384163b1561291e57604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061286c9033908990889088906004016134bf565b6020604051808303816000875af19250505080156128a7575060408051601f3d908101601f191682019092526128a4918101906134f2565b60015b612904573d8080156128d5576040519150601f19603f3d011682016040523d82523d6000602084013e6128da565b606091505b5080516000036128fc5760405162461bcd60e51b815260040161076c90613459565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611a18565b506001949350505050565b612933838361232d565b6129406000848484612828565b6108655760405162461bcd60e51b815260040161076c90613459565b60008181526001830160205260408120546129a357508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610602565b506000610602565b60008181526001830160205260408120548015612a945760006129cf6001836131d5565b85549091506000906129e3906001906131d5565b9050818114612a48576000866000018281548110612a0357612a03613348565b9060005260206000200154905080876000018481548110612a2657612a26613348565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612a5957612a5961350f565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610602565b6000915050610602565b50805460008255906000526020600020908101906108d991905b80821115612acc5760008155600101612ab8565b5090565b803560038110611d4b57600080fd5b600060208284031215612af157600080fd5b610dbd82612ad0565b6020808252825182820181905260009190848201906040850190845b81811015612b3b5783516001600160a01b031683529284019291840191600101612b16565b50909695505050505050565b6001600160e01b0319811681146108d957600080fd5b600060208284031215612b6f57600080fd5b8135610dbd81612b47565b60005b83811015612b95578181015183820152602001612b7d565b8381111561126f5750506000910152565b60008151808452612bbe816020860160208601612b7a565b601f01601f19169290920160200192915050565b602081526000610dbd6020830184612ba6565b600060208284031215612bf757600080fd5b5035919050565b80356001600160a01b0381168114611d4b57600080fd5b60008060408385031215612c2857600080fd5b612c3183612bfe565b946020939093013593505050565b600060208284031215612c5157600080fd5b610dbd82612bfe565b600080600060608486031215612c6f57600080fd5b612c7884612bfe565b9250612c8660208501612bfe565b9150604084013590509250925092565b60008060408385031215612ca957600080fd5b50508035926020909101359150565b60008083601f840112612cca57600080fd5b50813567ffffffffffffffff811115612ce257600080fd5b602083019150836020828501011115612cfa57600080fd5b9250929050565b60008060008060608587031215612d1757600080fd5b843567ffffffffffffffff811115612d2e57600080fd5b612d3a87828801612cb8565b9095509350612d4d905060208601612bfe565b9150612d5b60408601612bfe565b905092959194509250565b60008060008060008060808789031215612d7f57600080fd5b863567ffffffffffffffff80821115612d9757600080fd5b612da38a838b01612cb8565b90985096506020890135915080821115612dbc57600080fd5b50612dc989828a01612cb8565b9095509350612ddc905060408801612bfe565b9150606087013590509295509295509295565b600080600060408486031215612e0457600080fd5b833567ffffffffffffffff811115612e1b57600080fd5b612e2786828701612cb8565b909790965060209590950135949350505050565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612e7357634e487b7160e01b600052602160045260246000fd5b91905290565b600080600060408486031215612e8e57600080fd5b612e9784612ad0565b9250602084013567ffffffffffffffff80821115612eb457600080fd5b818601915086601f830112612ec857600080fd5b813581811115612ed757600080fd5b8760208260051b8501011115612eec57600080fd5b6020830194508093505050509250925092565b60008060408385031215612f1257600080fd5b612f1b83612bfe565b915060208301358015158114612f3057600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115612f6c57612f6c612f3b565b604051601f8501601f19908116603f01168101908282118183101715612f9457612f94612f3b565b81604052809350858152868686011115612fad57600080fd5b858560208301376000602087830101525050509392505050565b60008060008060808587031215612fdd57600080fd5b612fe685612bfe565b9350612ff460208601612bfe565b925060408501359150606085013567ffffffffffffffff81111561301757600080fd5b8501601f8101871361302857600080fd5b61303787823560208401612f51565b91505092959194509250565b60006020828403121561305557600080fd5b813567ffffffffffffffff81111561306c57600080fd5b8201601f8101841361307d57600080fd5b611a1884823560208401612f51565b6000806040838503121561309f57600080fd5b6130a883612bfe565b91506109a060208401612bfe565b600181811c908216806130ca57607f821691505b602082108103610e1b57634e487b7160e01b600052602260045260246000fd5b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601e908201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e0000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082198211156131d0576131d06131a7565b500190565b6000828210156131e7576131e76131a7565b500390565b601f82111561086557600081815260208120601f850160051c810160208610156132135750805b601f850160051c820191505b818110156132325782815560010161321f565b505050505050565b815167ffffffffffffffff81111561325457613254612f3b565b6132688161326284546130b6565b846131ec565b602080601f83116001811461329d57600084156132855750858301515b600019600386901b1c1916600185901b178555613232565b600085815260208120601f198616915b828110156132cc578886015182559484019460019091019084016132ad565b50858210156132ea5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000835161330c818460208801612b7a565b602f60f81b908301908152835161332a816001840160208801612b7a565b64173539b7b760d91b60019290910191820152600601949350505050565b634e487b7160e01b600052603260045260246000fd5b600060018201613370576133706131a7565b5060010190565b6000816000190483118215151615613391576133916131a7565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826133bb576133bb613396565b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000826134ba576134ba613396565b500690565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611cb990830184612ba6565b60006020828403121561350457600080fd5b8151610dbd81612b47565b634e487b7160e01b600052603160045260246000fdfea26469706673582212206c9333f611af818dfc9bd40a27c875d4d2b0bf5e040a755155019b4a2656673c64736f6c634300080f0033", - "sourceMap": "208:1708:48:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3744:142:41;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;564:304:48;;;;;;:::i;:::-;;:::i;:::-;;;1592:14:59;;1585:22;1567:41;;1555:2;1540:18;564:304:48;1427:187:59;2948:98:15;;;:::i;:::-;;;;;;;:::i;8273:476:45:-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2719:32:59;;;2701:51;;2689:2;2674:18;8273:476:45;2555:203:59;1419:173:48;;;;;;:::i;:::-;;:::i;:::-;;9234:109:45;;;:::i;:::-;;;3346:25:59;;;3334:2;3319:18;9234:109:45;3200:177:59;1113:200:48;;;;;;:::i;:::-;;:::i;1366:146:43:-;;;;;;:::i;:::-;;:::i;5198:330:15:-;;;;;;:::i;:::-;;:::i;846:566:54:-;;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;4351:32:59;;;4333:51;;4415:2;4400:18;;4393:34;;;;4306:18;846:566:54;4159:274:59;3922:114:41;;;:::i;2248:113:54:-;2332:22;;-1:-1:-1;;;;;2332:22:54;2248:113;;4722:127:45;;;;;;:::i;:::-;;:::i;4437:154::-;;;;;;:::i;:::-;;:::i;5594:179:15:-;;;;;;:::i;:::-;;:::i;4114:317:45:-;;;;;;:::i;:::-;;:::i;2445:125:41:-;;;;;;:::i;:::-;;:::i;3677:323:45:-;;;;;;:::i;:::-;;:::i;1851:275:43:-;;;:::i;2004:548:45:-;;;;;;:::i;:::-;;:::i;4006:102::-;;;;;;:::i;:::-;;:::i;6561:594::-;;;;;;:::i;:::-;;:::i;2390:204:15:-;;;;;;:::i;:::-;;:::i;1908:101:6:-;;;:::i;2383:135:43:-;2482:31;;2383:135;;2812:609:45;;;;;;:::i;:::-;;:::i;4242:104:41:-;4333:8;;;;4242:104;;;;;;:::i;4597:119:45:-;;;:::i;1276:85:6:-;1348:6;;-1:-1:-1;;;;;1348:6:6;1276:85;;3110:102:15;;;:::i;3066:182:41:-;;;;;;:::i;:::-;;:::i;1709:205:48:-;;;;;;:::i;:::-;;:::i;2367:117:54:-;2453:24;;2367:117;;5839:320:15;;;;;;:::i;:::-;;:::i;3343:158:41:-;;;;;;:::i;:::-;;:::i;5939:616:45:-;;;;;;:::i;:::-;;:::i;3427:244::-;;;;;;:::i;:::-;;:::i;1164:24::-;;;;;;4974:162:15;;;;;;:::i;:::-;;:::i;4072:134:41:-;;;;;;:::i;:::-;;:::i;1137:20:45:-;;;;;;;;;4855:167;;;;;;:::i;:::-;;:::i;2158:198:6:-;;;;;;:::i;:::-;;:::i;2703:268:41:-;;;;;;:::i;:::-;;:::i;3744:142::-;3826:16;3857:24;:4;:15;3862:9;3857:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:22;:24::i;:::-;3850:31;3744:142;-1:-1:-1;;3744:142:41:o;564:304:48:-;718:4;757:44;788:12;757:30;:44::i;:::-;:104;;;;817:44;848:12;817:30;:44::i;2948:98:15:-;3002:13;3034:5;3027:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2948:98;:::o;8273:476:45:-;8390:7;8432:26;;;:16;:26;;;;;;-1:-1:-1;;;;;8432:26:45;8390:7;8496:24;8449:8;8496:14;:24::i;:::-;8468:52;;;;8530:11;8545:14;:40;;;-1:-1:-1;;;;;;8563:22:45;;;;8545:40;8544:81;;;;-1:-1:-1;8603:22:45;;;;:12;:22;;;;;;;;8602:23;8544:81;8530:95;;8644:6;8636:63;;;;-1:-1:-1;;;8636:63:45;;11221:2:59;8636:63:45;;;11203:21:59;11260:2;11240:18;;;11233:30;11299:34;11279:18;;;11272:62;-1:-1:-1;;;11350:18:59;;;11343:42;11402:19;;8636:63:45;;;;;;;;;-1:-1:-1;;;8717:25:45;;;;-1:-1:-1;8717:15:45;:25;;;;;;-1:-1:-1;;;;;8717:25:45;;8273:476::o;1419:173:48:-;1533:8;1472:28:41;1460:8;;;;:40;;;;;;;;:::i;:::-;;1456:309;;1515:50;1559:5;1515:4;:34;1520:28;1515:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;:43;;:50;;;;:::i;:::-;1510:92;;1574:28;;-1:-1:-1;;;1574:28:41;;;;;;;;;;;1510:92;1456:309;;;1631:27;1619:8;;;;:39;;;;;;;;:::i;:::-;;1615:150;;1672:49;1715:5;1672:4;:33;1677:27;1672:33;;:49;1668:90;;;1730:28;;-1:-1:-1;;;1730:28:41;;;;;;;;;;;1668:90;1557:28:48::1;1571:8;1581:3;1557:13;:28::i;:::-;1419:173:::0;;;:::o;9234:109:45:-;9286:7;9312:24;:14;929::22;;838:112;9312:24:45;9305:31;;9234:109;:::o;1113:200:48:-;1263:4;1299:7;1348:6:6;;-1:-1:-1;;;;;1348:6:6;;1276:85;1299:7:48;-1:-1:-1;;;;;1290:16:48;:5;-1:-1:-1;;;;;1290:16:48;;1283:23;;1113:200;;;:::o;1366:146:43:-;2069:30:41;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:41;;;;;;;;;;;2064:71;1464:43:43::1;1497:9;1464:32;:43::i;:::-;1366:146:::0;:::o;5198:330:15:-;5387:41;929:10:21;5406:12:15;5420:7;5387:18;:41::i;:::-;5379:103;;;;-1:-1:-1;;;5379:103:15;;;;;;;:::i;:::-;5493:28;5503:4;5509:2;5513:7;5493:9;:28::i;846:566:54:-;983:16;1049:26;;;:16;:26;;;;;;983:16;;-1:-1:-1;;;;;1049:26:54;:118;;1145:22;;-1:-1:-1;;;;;1145:22:54;1049:118;;;1104:26;;;;:16;:26;;;;;;-1:-1:-1;;;;;1104:26:54;1049:118;1038:129;;1193:212;1401:3;1193:190;1238:18;:28;1257:8;1238:28;;;;;;;;;;;;1270:1;1238:33;:131;;1345:24;;1238:131;;;1294:28;;;;:18;:28;;;;;;1238:131;1193:10;;:27;:190::i;:::-;:207;;:212::i;:::-;1177:228;;846:566;;;;;:::o;3922:114:41:-;4013:8;;3977:16;;4008:23;;:4;;:14;;4013:8;;4008:14;;;;;;;;:::i;4722:127:45:-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;4805:37:45::1;4832:9;4805:26;:37::i;4437:154::-:0;4530:15;4576:7;1348:6:6;;-1:-1:-1;;;;;1348:6:6;;1276:85;5594:179:15;5727:39;5744:4;5750:2;5754:7;5727:39;;;;;;;;;;;;:16;:39::i;4114:317:45:-;4181:19;4208:24;4223:8;4208:14;:24::i;:::-;-1:-1:-1;;4243:22:45;;;;:12;:22;;;;;:29;;-1:-1:-1;;4243:29:45;4268:4;4243:29;;;4180:52;-1:-1:-1;4180:52:45;4287:54;;;;-1:-1:-1;7696:4:15;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:15;:30;4287:54:45;4283:91;;;4357:7;4114:317;:::o;4283:91::-;4384:40;4415:8;4384:30;:40::i;:::-;4170:261;4114:317;:::o;2445:125:41:-;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:41;;;;;;;;;;;2064:71;2539:26:::1;2552:12;2539;:26::i;3677:323:45:-:0;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;2745:8:45::1;::::0;;::::1;2744:9;2736:52;;;;-1:-1:-1::0;;;2736:52:45::1;;;;;;;:::i;:::-;3833:160:::2;3859:4;;3833:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;;-1:-1:-1;;2453:24:54;;3877:10:45::2;::::0;-1:-1:-1;3901:9:45;;-1:-1:-1;3967:16:45::2;3833:12;:160::i;:::-;;3677:323:::0;;;;:::o;1851:275:43:-;1950:15;1916:31;;:49;1912:117;;;1974:55;;-1:-1:-1;;;1974:55:43;;;;;;;;;;;1912:117;2035:40;2048:26;2035:12;:40::i;:::-;2086:35;;2110:10;;2086:35;;;;;1851:275::o;2004:548:45:-;3111:19:7;3133:25;3156:1;3133:22;:25::i;:::-;3111:47;;3172:14;3168:65;;;3202:13;:20;;-1:-1:-1;;3202:20:7;;;;;3168:65;-1:-1:-1;;;;;2179:22:45;::::1;2171:65;;;::::0;-1:-1:-1;;;2171:65:45;;12772:2:59;2171:65:45::1;::::0;::::1;12754:21:59::0;12811:2;12791:18;;;12784:30;12850:32;12830:18;;;12823:60;12900:18;;2171:65:45::1;12570:354:59::0;2171:65:45::1;2246:32;2275:2;2197:24:54::0;:38;2119:123;2246:32:45::1;2288:8;:16:::0;;-1:-1:-1;;2288:16:45::1;::::0;;::::1;2314:22:::0;;;2347:16:::1;:14;:16::i;:::-;2373:29;2387:5;;2373:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;2373:29:45::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;2394:7:45;;-1:-1:-1;2394:7:45;;;;2373:29;::::1;2394:7:::0;;;;2373:29;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;2373:13:45::1;::::0;-1:-1:-1;;;2373:29:45:i:1;:::-;2412:15;:13;:15::i;:::-;2437:17;:15;:17::i;:::-;2465:36;2492:8;2465:26;:36::i;:::-;2512:33;2536:8;2512:23;:33::i;:::-;3257:14:7::0;3253:99;;;3303:5;3287:21;;-1:-1:-1;;3287:21:7;;;3327:14;;-1:-1:-1;13081:36:59;;3327:14:7;;13069:2:59;13054:18;3327:14:7;;;;;;;3253:99;3101:257;2004:548:45;;;;;;:::o;4006:102::-;4067:8;2639:10;2618:17;4067:8;2618:7;:17::i;:::-;-1:-1:-1;;;;;2618:31:45;;2610:67;;;;-1:-1:-1;;;2610:67:45;;13330:2:59;2610:67:45;;;13312:21:59;13369:2;13349:18;;;13342:30;13408:25;13388:18;;;13381:53;13451:18;;2610:67:45;13128:347:59;2610:67:45;4087:14:::1;4092:8;4087:4;:14::i;6561:594::-:0;6674:7;6698:19;6725:24;6740:8;6725:14;:24::i;:::-;6697:52;;;;6765:14;6760:389;;6802:35;6828:8;6802:25;:35::i;:::-;6795:42;6561:594;-1:-1:-1;;;6561:594:45:o;6760:389::-;6858:22;;;;:12;:22;;;;;;;;6854:295;;;6903:35;6929:8;6903:25;:35::i;6854:295::-;7696:4:15;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:15;6969:170:45;;1348:6:6;;-1:-1:-1;;;;;1348:6:6;7036:7:45;1276:85:6;6969:170:45;7089:35;7115:8;7089:25;:35::i;6969:170::-;6687:468;6561:594;;;:::o;2390:204:15:-;2462:7;-1:-1:-1;;;;;2489:19:15;;2481:73;;;;-1:-1:-1;;;2481:73:15;;13682:2:59;2481:73:15;;;13664:21:59;13721:2;13701:18;;;13694:30;13760:34;13740:18;;;13733:62;-1:-1:-1;;;13811:18:59;;;13804:39;13860:19;;2481:73:15;13480:405:59;2481:73:15;-1:-1:-1;;;;;;2571:16:15;;;;;:9;:16;;;;;;;2390:204::o;1908:101:6:-;1348:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;1972:30:::1;1999:1;1972:18;:30::i;:::-;1908:101::o:0;2812:609:45:-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;2745:8:45::1;::::0;;::::1;2744:9;2736:52;;;;-1:-1:-1::0;;;2736:52:45::1;;;;;;;:::i;:::-;2951:20:::2;2974:24;:14;929::22::0;;838:112;2974:24:45::2;:28;::::0;3001:1:::2;2974:28;:::i;:::-;2951:51:::0;-1:-1:-1;3012:18:45::2;3066:1;3033:30;3048:15:::0;2951:51;3033:30:::2;:::i;:::-;:34;;;;:::i;:::-;3095:39;::::0;;::::2;::::0;::::2;::::0;;;;;;3078:14:::2;:56:::0;;;3194:9:::2;::::0;3095:39;;-1:-1:-1;3095:39:45;3166:37:::2;;3145:113;;;::::0;-1:-1:-1;;;3145:113:45;;14487:2:59;3145:113:45::2;::::0;::::2;14469:21:59::0;14526:2;14506:18;;;14499:30;14565:31;14545:18;;;14538:59;14614:18;;3145:113:45::2;14285:353:59::0;3145:113:45::2;3269:11;3286:45;;;;;;;;3296:12;3286:45;;;;3310:10;3286:45;;;;3322:8;;3286:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;-1:-1:-1;3286:45:45;;;;-1:-1:-1;;3269:63:45;;::::2;::::0;;::::2;::::0;;;;;::::2;::::0;;;;;;::::2;::::0;;::::2;;::::0;;;;;::::2;::::0;;;::::2;::::0;;;;-1:-1:-1;3269:63:45::2;::::0;::::2;::::0;;;;::::2;::::0;::::2;::::0;::::2;::::0;;::::2;:::i;:::-;;;;3406:7;1348:6:6::0;;-1:-1:-1;;;;;1348:6:6;;1276:85;3406:7:45::2;-1:-1:-1::0;;;;;3348:66:45::2;3402:1;-1:-1:-1::0;;;;;3348:66:45::2;3368:12;3348:66;3382:10;3348:66;;;;3346:25:59::0;;3334:2;3319:18;;3200:177;3348:66:45::2;;;;;;;;2941:480;;2812:609:::0;;;:::o;4597:119::-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;4651:8:45::1;:15:::0;;-1:-1:-1;;4651:15:45::1;4662:4;4651:15;::::0;;4681:28:::1;::::0;4698:10:::1;::::0;4681:28:::1;::::0;4651:8:::1;::::0;4681:28:::1;4597:119::o:0;3110:102:15:-;3166:13;3198:7;3191:14;;;;;:::i;3066:182:41:-;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:41;;;;;;;;;;;2064:71;3201:42:::1;3218:9;3229:6;;3201:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;3201:42:41;-1:-1:-1;3201:16:41::1;::::0;-1:-1:-1;;3201:42:41:i:1;1709:205:48:-:0;1837:9;1472:28:41;1460:8;;;;:40;;;;;;;;:::i;:::-;;1456:309;;1515:50;1559:5;1515:4;:34;1520:28;1515:34;;:50;1510:92;;1574:28;;-1:-1:-1;;;1574:28:41;;;;;;;;;;;1510:92;1456:309;;;1631:27;1619:8;;;;:39;;;;;;;;:::i;:::-;;1615:150;;1672:49;1715:5;1672:4;:33;1677:27;1672:33;;:49;1668:90;;;1730:28;;-1:-1:-1;;;1730:28:41;;;;;;;;;;;1668:90;1862:45:48::1;1886:9;1897;1862:23;:45::i;5839:320:15:-:0;6008:41;929:10:21;6041:7:15;6008:18;:41::i;:::-;6000:103;;;;-1:-1:-1;;;6000:103:15;;;;;;;:::i;:::-;6113:39;6127:4;6133:2;6137:7;6146:5;6113:13;:39::i;:::-;5839:320;;;;:::o;3343:158:41:-;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:41;;;;;;;;;;;2064:71;3436:4:::1;:15;3441:9;3436:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;3436:15:41;;;;;-1:-1:-1;3429:22:41::1;3436:15:::0;-1:-1:-1;3429:22:41::1;:::i;:::-;;;;;3474:10;-1:-1:-1::0;;;;;3462:34:41::1;;3486:9;3462:34;;;;;;:::i;:::-;;;;;;;;3343:158:::0;:::o;5939:616:45:-;6053:13;6083:19;6106:26;6136:46;6164:8;6136:14;:46::i;:::-;6082:100;;;;;6198:14;6193:356;;6235:20;;;;:10;:20;;;;;6228:27;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5939:616;;;:::o;6193:356::-;6379:12;6446:19;:8;:17;:19::i;:::-;6337:183;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6286:252;;;;5939:616;;;:::o;3427:244::-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;2745:8:45::1;::::0;;::::1;2744:9;2736:52;;;;-1:-1:-1::0;;;2736:52:45::1;;;;;;;:::i;:::-;3509:155:::2;3535:4;3553:10;3577;3601:29;2453:24:54::0;;;2367:117;3601:29:45::2;3644:10;3509:12;:155::i;4974:162:15:-:0;-1:-1:-1;;;;;5094:25:15;;;5071:4;5094:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4974:162::o;4072:134:41:-;4172:8;;4148:4;;4167:34;;4191:9;;4167:4;;4148;;4172:8;;4167:14;;;;;;;;:::i;4855:167:45:-;1348:6:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;4977:26:45::1;::::0;;;:16:::1;:26;::::0;;;;:38;;-1:-1:-1;;;;;;4977:38:45::1;-1:-1:-1::0;;;;;4977:38:45;;;::::1;::::0;;;::::1;::::0;;4855:167::o;2158:198:6:-;1348:6;;-1:-1:-1;;;;;1348:6:6;929:10:21;1488:23:6;1480:68;;;;-1:-1:-1;;;1480:68:6;;;;;;;:::i;:::-;-1:-1:-1;;;;;2246:22:6;::::1;2238:73;;;::::0;-1:-1:-1;;;2238:73:6;;17826:2:59;2238:73:6::1;::::0;::::1;17808:21:59::0;17865:2;17845:18;;;17838:30;17904:34;17884:18;;;17877:62;-1:-1:-1;;;17955:18:59;;;17948:36;18001:19;;2238:73:6::1;17624:402:59::0;2238:73:6::1;2321:28;2340:8;2321:18;:28::i;2703:268:41:-:0;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:41;;;;;;;;;;;2064:71;2852:26:::1;2839:9;:39;;;;;;;;:::i;:::-;::::0;2835:84:::1;;2887:32;;-1:-1:-1::0;;;2887:32:41::1;;;;;;;;;;;2835:84;2925:41;2942:9;2953:6;;2925:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2961:4:41::1;::::0;-1:-1:-1;2925:16:41::1;::::0;-1:-1:-1;;2925:41:41:i:1;9581:257:39:-:0;9644:16;9672:22;9697:19;9705:3;9697:7;:19::i;4735:204:41:-;4821:4;-1:-1:-1;;;;;;4844:47:41;;-1:-1:-1;;;4844:47:41;;:88;;;4895:37;4919:12;4895:23;:37::i;9953:468:45:-;10136:4;-1:-1:-1;;;;;;10175:46:45;;-1:-1:-1;;;10175:46:45;;:110;;;10237:48;10273:11;10237:35;:48::i;:::-;10175:175;;;;10301:49;10338:11;10301:36;:49::i;:::-;10175:239;;;;10366:48;10402:11;10366:35;:48::i;9349:537::-;9451:20;9485:19;9518:27;9575:9;9570:278;9594:11;:18;9590:22;;9570:278;;;9666:11;9678:1;9666:14;;;;;;;;:::i;:::-;;;;;;;;;;;:27;;;9654:8;:39;;:96;;;;;9725:11;9737:1;9725:14;;;;;;;;:::i;:::-;;;;;;;;;;;:25;;;9713:8;:37;;9654:96;9633:205;;;9791:4;9797:1;9800:11;9812:1;9800:14;;;;;;;;:::i;:::-;;;;;;;;;;;:22;;9783:40;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9633:205;9614:3;;;;:::i;:::-;;;;9570:278;;;-1:-1:-1;;9858:21:45;;;;;;;;;9866:5;9858:21;;;9866:5;-1:-1:-1;9866:5:45;;-1:-1:-1;9349:537:45;;;;;;:::o;8182:165:39:-;-1:-1:-1;;;;;8315:23:39;;8262:4;3849:19;;;:12;;;:19;;;;;;:24;;8285:55;3753:127;7161:394:45;7241:13;7257:16;7265:7;7257;:16::i;:::-;7241:32;;7297:5;-1:-1:-1;;;;;7291:11:45;:2;-1:-1:-1;;;;;7291:11:45;;7283:57;;;;-1:-1:-1;;;7283:57:45;;18505:2:59;7283:57:45;;;18487:21:59;18544:2;18524:18;;;18517:30;18583:34;18563:18;;;18556:62;-1:-1:-1;;;18634:18:59;;;18627:31;18675:19;;7283:57:45;18303:397:59;7283:57:45;929:10:21;-1:-1:-1;;;;;7372:21:45;;;;:62;;-1:-1:-1;7397:37:45;7414:5;929:10:21;4974:162:15;:::i;7397:37:45:-;7351:165;;;;-1:-1:-1;;;7351:165:45;;18907:2:59;7351:165:45;;;18889:21:59;18946:2;18926:18;;;18919:30;18985:34;18965:18;;;18958:62;19056:26;19036:18;;;19029:54;19100:19;;7351:165:45;18705:420:59;7351:165:45;7527:21;7536:2;7540:7;7527:8;:21::i;2815:290:43:-;2891:19;2931:20;:9;2943:8;2931:20;:::i;:::-;2913:38;;:15;:38;:::i;:::-;3004:31;;2962:87;;;19477:25:59;;;19533:2;19518:18;;19511:34;;;2891:60:43;;-1:-1:-1;2992:10:43;;2962:87;;19450:18:59;2962:87:43;;;;;;;3055:31;:45;-1:-1:-1;2815:290:43:o;7561:338:45:-;7705:4;7725:13;7741:17;7749:8;7741:7;:17::i;:::-;7725:33;;7788:5;-1:-1:-1;;;;;7776:17:45;:8;-1:-1:-1;;;;;7776:17:45;;:66;;;;7834:8;-1:-1:-1;;;;;7809:33:45;:21;7821:8;7809:11;:21::i;:::-;-1:-1:-1;;;;;7809:33:45;;7776:66;:115;;;;7858:33;7875:5;7882:8;7858:16;:33::i;:::-;7768:124;7561:338;-1:-1:-1;;;;7561:338:45:o;8755:473::-;8894:8;8906:1;8894:13;8886:22;;;;;;8920:19;8947:24;8962:8;8947:14;:24::i;:::-;8919:52;;;;8999:14;:66;;;;-1:-1:-1;7696:4:15;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:15;:30;8999:66:45;:105;;;;-1:-1:-1;9082:22:45;;;;:12;:22;;;;;;;;9081:23;8999:105;8982:180;;;9129:22;9135:5;9142:8;9129:5;:22::i;:::-;9172:49;9200:5;9207:3;9212:8;9172:27;:49::i;3461:96:26:-;3519:7;3545:5;3549:1;3545;:5;:::i;3846:96::-;3904:7;3930:5;3934:1;3930;:5;:::i;1418:115:54:-;1492:22;:34;;-1:-1:-1;;;;;;1492:34:54;-1:-1:-1;;;;;1492:34:54;;;;;;;;;;1418:115::o;801:241:18:-;917:41;929:10:21;936:12:18;850:96:21;917:41:18;909:102;;;;-1:-1:-1;;;909:102:18;;20015:2:59;909:102:18;;;19997:21:59;20054:2;20034:18;;;20027:30;20093:34;20073:18;;;20066:62;-1:-1:-1;;;20144:18:59;;;20137:46;20200:19;;909:102:18;19813:412:59;909:102:18;1021:14;1027:7;1021:5;:14::i;5223:164:41:-;5340:12;5302:51;;;;;;;;:::i;:::-;5330:8;;;;5302:51;;;;;;;;:::i;:::-;;;5318:10;;5302:51;;;;;5359:8;:23;;5370:12;;5359:8;-1:-1:-1;;5359:23:41;;5370:12;5359:23;;;;;;;;:::i;:::-;;;;;;5223:164;:::o;5156:624:45:-;5347:7;5366:26;:14;1043:19:22;;1061:1;1043:19;;;956:123;5366:26:45;5402:15;5420:24;:14;929::22;;838:112;5420:24:45;5402:42;;5473:9;;5462:7;:20;;5454:65;;;;-1:-1:-1;;;5454:65:45;;20432:2:59;5454:65:45;;;20414:21:59;;;20451:18;;;20444:30;20510:34;20490:18;;;20483:62;20562:18;;5454:65:45;20230:356:59;5454:65:45;5529:23;5539:3;5544:7;5529:9;:23::i;:::-;5562:19;;;;:10;:19;;;;;:26;5584:4;5562:19;:26;:::i;:::-;-1:-1:-1;5109:23:45;;;;:13;:23;;;;;:34;;-1:-1:-1;;;;;;5109:34:45;-1:-1:-1;;;;;5109:34:45;;;;;1794:28:54;;;;:18;:28;;;;;:42;;;1639:26;;;;:16;:26;;;;;:41;;-1:-1:-1;;;;;;1639:41:54;-1:-1:-1;;;;;1639:41:54;;;;;5703:46:45;5766:7;5156:624;-1:-1:-1;;;;;;5156:624:45:o;5287:808:7:-;5351:4;5684:13;;;;;;;5680:409;;;5738:7;:12;;5749:1;5738:12;:61;;;;-1:-1:-1;5793:4:7;1476:19:20;:23;5738:61:7;5713:166;;;;-1:-1:-1;;;5713:166:7;;;;;;;:::i;:::-;-1:-1:-1;5900:5:7;;5287:808;-1:-1:-1;5287:808:7:o;5680:409::-;5944:12;;:22;;;;:12;;:22;5936:81;;;;-1:-1:-1;;;5936:81:7;;;;;;;:::i;:::-;-1:-1:-1;6031:12:7;:22;;-1:-1:-1;;6031:22:7;;;;;;;;;;;;-1:-1:-1;;5287:808:7:o;5680:409::-;5287:808;;;:::o;988:95:6:-;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;:::-;1050:26:6::1;:24;:26::i;1605:149:15:-:0;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;:::-;1708:39:15::1;1732:5;1739:7;1708:23;:39::i;862:58:24:-:0;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;755:85:54:-;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;:::-;818:15:54::1;:13;:15::i;2651:235:15:-:0;2723:7;2758:16;;;:7;:16;;;;;;-1:-1:-1;;;;;2758:16:15;;2784:73;;;;-1:-1:-1;;;2784:73:15;;21620:2:59;2784:73:15;;;21602:21:59;21659:2;21639:18;;;21632:30;21698:34;21678:18;;;21671:62;-1:-1:-1;;;21749:18:59;;;21742:39;21798:19;;2784:73:15;21418:405:59;2510:187:6;2602:6;;;-1:-1:-1;;;;;2618:17:6;;;-1:-1:-1;;;;;;2618:17:6;;;;;;;2650:40;;2602:6;;;2618:17;2602:6;;2650:40;;2583:16;;2650:40;2573:124;2510:187;:::o;5471:505:41:-;5602:26;5589:9;:39;;;;;;;;:::i;:::-;;5585:387;;5643:9;5638:328;5662:6;:13;5658:1;:17;5638:328;;;5696:7;5692:266;;;5717:30;5737:6;5744:1;5737:9;;;;;;;;:::i;:::-;;;;;;;5717:4;:15;5722:9;5717:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:19;;:30;;;;:::i;:::-;;5806:9;5764:52;;;;;;;;:::i;:::-;5795:6;5802:1;5795:9;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;5764:52:41;5783:10;-1:-1:-1;;;;;5764:52:41;;;;;;;;;;;5692:266;;;5845:33;5868:6;5875:1;5868:9;;;;;;;;:::i;:::-;;;;;;;5845:4;:15;5850:9;5845:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:22;;:33;;;;:::i;:::-;;5937:9;5895:52;;;;;;;;:::i;:::-;5926:6;5933:1;5926:9;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;5895:52:41;5914:10;-1:-1:-1;;;;;5895:52:41;;;;;;;;;;;5692:266;5677:3;;;;:::i;:::-;;;;5638:328;;4755:153:15;4849:52;929:10:21;4882:8:15;4892;4849:18;:52::i;7021:307::-;7172:28;7182:4;7188:2;7192:7;7172:9;:28::i;:::-;7218:48;7241:4;7247:2;7251:7;7260:5;7218:22;:48::i;:::-;7210:111;;;;-1:-1:-1;;;7210:111:15;;;;;;;:::i;339:703:23:-;395:13;612:5;621:1;612:10;608:51;;-1:-1:-1;;638:10:23;;;;;;;;;;;;-1:-1:-1;;;638:10:23;;;;;339:703::o;608:51::-;683:5;668:12;722:75;729:9;;722:75;;754:8;;;;:::i;:::-;;-1:-1:-1;776:10:23;;-1:-1:-1;784:2:23;776:10;;:::i;:::-;;;722:75;;;806:19;838:6;828:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;828:17:23;;806:39;;855:150;862:10;;855:150;;888:11;898:1;888:11;;:::i;:::-;;-1:-1:-1;956:10:23;964:2;956:5;:10;:::i;:::-;943:24;;:2;:24;:::i;:::-;930:39;;913:6;920;913:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;913:56:23;;;;;;;;-1:-1:-1;983:11:23;992:2;983:11;;:::i;:::-;;;855:150;;5068:109:39;5124:16;5159:3;:11;;5152:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5068:109;;;:::o;829:155:37:-;-1:-1:-1;;;;;;937:40:37;-1:-1:-1;;;937:40:37;;829:155::o;1849:264:54:-;1974:4;-1:-1:-1;;;;;;2013:41:54;;-1:-1:-1;;;2013:41:54;;:93;;;2070:36;2094:11;1987:344:15;2111:4;-1:-1:-1;;;;;;2146:51:15;;-1:-1:-1;;;2146:51:15;;:126;;-1:-1:-1;;;;;;;2213:59:15;;-1:-1:-1;;;2213:59:15;2146:126;:178;;;;2288:36;2312:11;2288:23;:36::i;8011:201:45:-;8086:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;8086:29:45;-1:-1:-1;;;;;8086:29:45;;;;;;;;:24;;8139:34;8086:24;8139:25;:34::i;:::-;-1:-1:-1;;;;;8130:57:45;;;;;;;;;;;8011:201;;:::o;9561:427:15:-;-1:-1:-1;;;;;9640:16:15;;9632:61;;;;-1:-1:-1;;;9632:61:15;;22566:2:59;9632:61:15;;;22548:21:59;;;22585:18;;;22578:30;22644:34;22624:18;;;22617:62;22696:18;;9632:61:15;22364:356:59;9632:61:15;7696:4;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:15;:30;9703:58;;;;-1:-1:-1;;;9703:58:15;;22927:2:59;9703:58:15;;;22909:21:59;22966:2;22946:18;;;22939:30;23005;22985:18;;;22978:58;23053:18;;9703:58:15;22725:352:59;9703:58:15;-1:-1:-1;;;;;9828:13:15;;;;;;:9;:13;;;;;:18;;9845:1;;9828:13;:18;;9845:1;;9828:18;:::i;:::-;;;;-1:-1:-1;;9856:16:15;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9856:21:15;-1:-1:-1;;;;;9856:21:15;;;;;;;;9893:33;;9856:16;;;9893:33;;9856:16;;9893:33;4170:261:45;4114:317;:::o;10946:616:15:-;11111:4;-1:-1:-1;;;;;11073:42:15;:34;11099:7;11073:25;:34::i;:::-;-1:-1:-1;;;;;11073:42:15;;11065:92;;;;-1:-1:-1;;;11065:92:15;;23284:2:59;11065:92:15;;;23266:21:59;23323:2;23303:18;;;23296:30;23362:34;23342:18;;;23335:62;-1:-1:-1;;;23413:18:59;;;23406:35;23458:19;;11065:92:15;23082:401:59;11065:92:15;-1:-1:-1;;;;;11175:16:15;;11167:65;;;;-1:-1:-1;;;11167:65:15;;23690:2:59;11167:65:15;;;23672:21:59;23729:2;23709:18;;;23702:30;23768:34;23748:18;;;23741:62;-1:-1:-1;;;23819:18:59;;;23812:34;23863:19;;11167:65:15;23488:400:59;11167:65:15;11344:29;11361:1;11365:7;11344:8;:29::i;:::-;-1:-1:-1;;;;;11384:15:15;;;;;;:9;:15;;;;;:20;;11403:1;;11384:15;:20;;11403:1;;11384:20;:::i;:::-;;;;-1:-1:-1;;;;;;;11414:13:15;;;;;;:9;:13;;;;;:18;;11431:1;;11414:13;:18;;11431:1;;11414:18;:::i;:::-;;;;-1:-1:-1;;11442:16:15;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;11442:21:15;-1:-1:-1;;;;;11442:21:15;;;;;;;;;11479:27;;11442:16;;11479:27;;;;;;;1419:173:48;;;:::o;10205:417:15:-;10264:13;10280:34;10306:7;10280:25;:34::i;:::-;10264:50;;10411:29;10428:1;10432:7;10411:8;:29::i;:::-;-1:-1:-1;;;;;10451:16:15;;;;;;:9;:16;;;;;:21;;10471:1;;10451:16;:21;;10471:1;;10451:21;:::i;:::-;;;;-1:-1:-1;;10489:16:15;;;;:7;:16;;;;;;10482:23;;-1:-1:-1;;;;;;10482:23:15;;;10521:36;10497:7;;10489:16;-1:-1:-1;;;;;10521:36:15;;;;;10489:16;;10521:36;4170:261:45;4114:317;:::o;8599:108:15:-;8674:26;8684:2;8688:7;8674:26;;;;;;;;;;;;:9;:26::i;1089:111:6:-;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;:::-;1161:32:6::1;929:10:21::0;1161:18:6::1;:32::i;1760:160:15:-:0;4698:13:7;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:7;;;;;;;:::i;:::-;1873:5:15::1;:13;1881:5:::0;1873;:13:::1;:::i;:::-;-1:-1:-1::0;1896:7:15::1;:17;1906:7:::0;1896;:17:::1;:::i;7627:150:39:-:0;7697:4;7720:50;7725:3;-1:-1:-1;;;;;7745:23:39;;7720:4;:50::i;7945:156::-;8018:4;8041:53;8049:3;-1:-1:-1;;;;;8069:23:39;;8041:7;:53::i;11990:307:15:-;12140:8;-1:-1:-1;;;;;12131:17:15;:5;-1:-1:-1;;;;;12131:17:15;;12123:55;;;;-1:-1:-1;;;12123:55:15;;24095:2:59;12123:55:15;;;24077:21:59;24134:2;24114:18;;;24107:30;24173:27;24153:18;;;24146:55;24218:18;;12123:55:15;23893:349:59;12123:55:15;-1:-1:-1;;;;;12188:25:15;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;12188:46:15;;;;;;;;;;12249:41;;1567::59;;;12249::15;;1540:18:59;12249:41:15;;;;;;;11990:307;;;:::o;12850:800::-;13000:4;-1:-1:-1;;;;;13020:13:15;;1476:19:20;:23;13016:628:15;;13055:83;;-1:-1:-1;;;13055:83:15;;-1:-1:-1;;;;;13055:47:15;;;;;:83;;929:10:21;;13117:4:15;;13123:7;;13132:5;;13055:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13055:83:15;;;;;;;;-1:-1:-1;;13055:83:15;;;;;;;;;;;;:::i;:::-;;;13051:541;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13316:6;:13;13333:1;13316:18;13312:266;;13358:60;;-1:-1:-1;;;13358:60:15;;;;;;;:::i;13312:266::-;13530:6;13524:13;13515:6;13511:2;13507:15;13500:38;13051:541;-1:-1:-1;;;;;;13188:62:15;-1:-1:-1;;;13188:62:15;;-1:-1:-1;13181:69:15;;13016:628;-1:-1:-1;13629:4:15;12850:800;;;;;;:::o;8928:311::-;9053:18;9059:2;9063:7;9053:5;:18::i;:::-;9102:54;9133:1;9137:2;9141:7;9150:5;9102:22;:54::i;:::-;9081:151;;;;-1:-1:-1;;;9081:151:15;;;;;;;:::i;1712:404:39:-;1775:4;3849:19;;;:12;;;:19;;;;;;1791:319;;-1:-1:-1;1833:23:39;;;;;;;;:11;:23;;;;;;;;;;;;;2013:18;;1991:19;;;:12;;;:19;;;;;;:40;;;;2045:11;;1791:319;-1:-1:-1;2094:5:39;2087:12;;2284:1388;2350:4;2487:19;;;:12;;;:19;;;;;;2521:15;;2517:1149;;2890:21;2914:14;2927:1;2914:10;:14;:::i;:::-;2962:18;;2890:38;;-1:-1:-1;2942:17:39;;2962:22;;2983:1;;2962:22;:::i;:::-;2942:42;;3016:13;3003:9;:26;2999:398;;3049:17;3069:3;:11;;3081:9;3069:22;;;;;;;;:::i;:::-;;;;;;;;;3049:42;;3220:9;3191:3;:11;;3203:13;3191:26;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;;3303:23;;;:12;;;:23;;;;;:36;;;2999:398;3475:17;;:3;;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3567:3;:12;;:19;3580:5;3567:19;;;;;;;;;;;3560:26;;;3608:4;3601:11;;;;;;;2517:1149;3650:5;3643:12;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:149:59:-;88:20;;137:1;127:12;;117:40;;153:1;150;143:12;168:205;240:6;293:2;281:9;272:7;268:23;264:32;261:52;;;309:1;306;299:12;261:52;332:35;357:9;332:35;:::i;378:658::-;549:2;601:21;;;671:13;;574:18;;;693:22;;;520:4;;549:2;772:15;;;;746:2;731:18;;;520:4;815:195;829:6;826:1;823:13;815:195;;;894:13;;-1:-1:-1;;;;;890:39:59;878:52;;985:15;;;;950:12;;;;926:1;844:9;815:195;;;-1:-1:-1;1027:3:59;;378:658;-1:-1:-1;;;;;;378:658:59:o;1041:131::-;-1:-1:-1;;;;;;1115:32:59;;1105:43;;1095:71;;1162:1;1159;1152:12;1177:245;1235:6;1288:2;1276:9;1267:7;1263:23;1259:32;1256:52;;;1304:1;1301;1294:12;1256:52;1343:9;1330:23;1362:30;1386:5;1362:30;:::i;1619:258::-;1691:1;1701:113;1715:6;1712:1;1709:13;1701:113;;;1791:11;;;1785:18;1772:11;;;1765:39;1737:2;1730:10;1701:113;;;1832:6;1829:1;1826:13;1823:48;;;-1:-1:-1;;1867:1:59;1849:16;;1842:27;1619:258::o;1882:::-;1924:3;1962:5;1956:12;1989:6;1984:3;1977:19;2005:63;2061:6;2054:4;2049:3;2045:14;2038:4;2031:5;2027:16;2005:63;:::i;:::-;2122:2;2101:15;-1:-1:-1;;2097:29:59;2088:39;;;;2129:4;2084:50;;1882:258;-1:-1:-1;;1882:258:59:o;2145:220::-;2294:2;2283:9;2276:21;2257:4;2314:45;2355:2;2344:9;2340:18;2332:6;2314:45;:::i;2370:180::-;2429:6;2482:2;2470:9;2461:7;2457:23;2453:32;2450:52;;;2498:1;2495;2488:12;2450:52;-1:-1:-1;2521:23:59;;2370:180;-1:-1:-1;2370:180:59:o;2763:173::-;2831:20;;-1:-1:-1;;;;;2880:31:59;;2870:42;;2860:70;;2926:1;2923;2916:12;2941:254;3009:6;3017;3070:2;3058:9;3049:7;3045:23;3041:32;3038:52;;;3086:1;3083;3076:12;3038:52;3109:29;3128:9;3109:29;:::i;:::-;3099:39;3185:2;3170:18;;;;3157:32;;-1:-1:-1;;;2941:254:59:o;3382:186::-;3441:6;3494:2;3482:9;3473:7;3469:23;3465:32;3462:52;;;3510:1;3507;3500:12;3462:52;3533:29;3552:9;3533:29;:::i;3573:328::-;3650:6;3658;3666;3719:2;3707:9;3698:7;3694:23;3690:32;3687:52;;;3735:1;3732;3725:12;3687:52;3758:29;3777:9;3758:29;:::i;:::-;3748:39;;3806:38;3840:2;3829:9;3825:18;3806:38;:::i;:::-;3796:48;;3891:2;3880:9;3876:18;3863:32;3853:42;;3573:328;;;;;:::o;3906:248::-;3974:6;3982;4035:2;4023:9;4014:7;4010:23;4006:32;4003:52;;;4051:1;4048;4041:12;4003:52;-1:-1:-1;;4074:23:59;;;4144:2;4129:18;;;4116:32;;-1:-1:-1;3906:248:59:o;4662:348::-;4714:8;4724:6;4778:3;4771:4;4763:6;4759:17;4755:27;4745:55;;4796:1;4793;4786:12;4745:55;-1:-1:-1;4819:20:59;;4862:18;4851:30;;4848:50;;;4894:1;4891;4884:12;4848:50;4931:4;4923:6;4919:17;4907:29;;4983:3;4976:4;4967:6;4959;4955:19;4951:30;4948:39;4945:59;;;5000:1;4997;4990:12;4945:59;4662:348;;;;;:::o;5015:559::-;5104:6;5112;5120;5128;5181:2;5169:9;5160:7;5156:23;5152:32;5149:52;;;5197:1;5194;5187:12;5149:52;5237:9;5224:23;5270:18;5262:6;5259:30;5256:50;;;5302:1;5299;5292:12;5256:50;5341:59;5392:7;5383:6;5372:9;5368:22;5341:59;:::i;:::-;5419:8;;-1:-1:-1;5315:85:59;-1:-1:-1;5473:38:59;;-1:-1:-1;5507:2:59;5492:18;;5473:38;:::i;:::-;5463:48;;5530:38;5564:2;5553:9;5549:18;5530:38;:::i;:::-;5520:48;;5015:559;;;;;;;:::o;5579:864::-;5689:6;5697;5705;5713;5721;5729;5782:3;5770:9;5761:7;5757:23;5753:33;5750:53;;;5799:1;5796;5789:12;5750:53;5839:9;5826:23;5868:18;5909:2;5901:6;5898:14;5895:34;;;5925:1;5922;5915:12;5895:34;5964:59;6015:7;6006:6;5995:9;5991:22;5964:59;:::i;:::-;6042:8;;-1:-1:-1;5938:85:59;-1:-1:-1;6130:2:59;6115:18;;6102:32;;-1:-1:-1;6146:16:59;;;6143:36;;;6175:1;6172;6165:12;6143:36;;6214:61;6267:7;6256:8;6245:9;6241:24;6214:61;:::i;:::-;6294:8;;-1:-1:-1;6188:87:59;-1:-1:-1;6348:38:59;;-1:-1:-1;6382:2:59;6367:18;;6348:38;:::i;:::-;6338:48;;6433:2;6422:9;6418:18;6405:32;6395:42;;5579:864;;;;;;;;:::o;6448:479::-;6528:6;6536;6544;6597:2;6585:9;6576:7;6572:23;6568:32;6565:52;;;6613:1;6610;6603:12;6565:52;6653:9;6640:23;6686:18;6678:6;6675:30;6672:50;;;6718:1;6715;6708:12;6672:50;6757:59;6808:7;6799:6;6788:9;6784:22;6757:59;:::i;:::-;6835:8;;6731:85;;-1:-1:-1;6917:2:59;6902:18;;;;6889:32;;6448:479;-1:-1:-1;;;;6448:479:59:o;6932:127::-;6993:10;6988:3;6984:20;6981:1;6974:31;7024:4;7021:1;7014:15;7048:4;7045:1;7038:15;7064:341;7209:2;7194:18;;7242:1;7231:13;;7221:144;;7287:10;7282:3;7278:20;7275:1;7268:31;7322:4;7319:1;7312:15;7350:4;7347:1;7340:15;7221:144;7374:25;;;7064:341;:::o;7410:708::-;7518:6;7526;7534;7587:2;7575:9;7566:7;7562:23;7558:32;7555:52;;;7603:1;7600;7593:12;7555:52;7626:35;7651:9;7626:35;:::i;:::-;7616:45;;7712:2;7701:9;7697:18;7684:32;7735:18;7776:2;7768:6;7765:14;7762:34;;;7792:1;7789;7782:12;7762:34;7830:6;7819:9;7815:22;7805:32;;7875:7;7868:4;7864:2;7860:13;7856:27;7846:55;;7897:1;7894;7887:12;7846:55;7937:2;7924:16;7963:2;7955:6;7952:14;7949:34;;;7979:1;7976;7969:12;7949:34;8032:7;8027:2;8017:6;8014:1;8010:14;8006:2;8002:23;7998:32;7995:45;7992:65;;;8053:1;8050;8043:12;7992:65;8084:2;8080;8076:11;8066:21;;8106:6;8096:16;;;;;7410:708;;;;;:::o;8123:347::-;8188:6;8196;8249:2;8237:9;8228:7;8224:23;8220:32;8217:52;;;8265:1;8262;8255:12;8217:52;8288:29;8307:9;8288:29;:::i;:::-;8278:39;;8367:2;8356:9;8352:18;8339:32;8414:5;8407:13;8400:21;8393:5;8390:32;8380:60;;8436:1;8433;8426:12;8380:60;8459:5;8449:15;;;8123:347;;;;;:::o;8475:127::-;8536:10;8531:3;8527:20;8524:1;8517:31;8567:4;8564:1;8557:15;8591:4;8588:1;8581:15;8607:631;8671:5;8701:18;8742:2;8734:6;8731:14;8728:40;;;8748:18;;:::i;:::-;8823:2;8817:9;8791:2;8877:15;;-1:-1:-1;;8873:24:59;;;8899:2;8869:33;8865:42;8853:55;;;8923:18;;;8943:22;;;8920:46;8917:72;;;8969:18;;:::i;:::-;9009:10;9005:2;8998:22;9038:6;9029:15;;9068:6;9060;9053:22;9108:3;9099:6;9094:3;9090:16;9087:25;9084:45;;;9125:1;9122;9115:12;9084:45;9175:6;9170:3;9163:4;9155:6;9151:17;9138:44;9230:1;9223:4;9214:6;9206;9202:19;9198:30;9191:41;;;;8607:631;;;;;:::o;9243:666::-;9338:6;9346;9354;9362;9415:3;9403:9;9394:7;9390:23;9386:33;9383:53;;;9432:1;9429;9422:12;9383:53;9455:29;9474:9;9455:29;:::i;:::-;9445:39;;9503:38;9537:2;9526:9;9522:18;9503:38;:::i;:::-;9493:48;;9588:2;9577:9;9573:18;9560:32;9550:42;;9643:2;9632:9;9628:18;9615:32;9670:18;9662:6;9659:30;9656:50;;;9702:1;9699;9692:12;9656:50;9725:22;;9778:4;9770:13;;9766:27;-1:-1:-1;9756:55:59;;9807:1;9804;9797:12;9756:55;9830:73;9895:7;9890:2;9877:16;9872:2;9868;9864:11;9830:73;:::i;:::-;9820:83;;;9243:666;;;;;;;:::o;9914:450::-;9983:6;10036:2;10024:9;10015:7;10011:23;10007:32;10004:52;;;10052:1;10049;10042:12;10004:52;10092:9;10079:23;10125:18;10117:6;10114:30;10111:50;;;10157:1;10154;10147:12;10111:50;10180:22;;10233:4;10225:13;;10221:27;-1:-1:-1;10211:55:59;;10262:1;10259;10252:12;10211:55;10285:73;10350:7;10345:2;10332:16;10327:2;10323;10319:11;10285:73;:::i;10369:260::-;10437:6;10445;10498:2;10486:9;10477:7;10473:23;10469:32;10466:52;;;10514:1;10511;10504:12;10466:52;10537:29;10556:9;10537:29;:::i;:::-;10527:39;;10585:38;10619:2;10608:9;10604:18;10585:38;:::i;10634:380::-;10713:1;10709:12;;;;10756;;;10777:61;;10831:4;10823:6;10819:17;10809:27;;10777:61;10884:2;10876:6;10873:14;10853:18;10850:38;10847:161;;10930:10;10925:3;10921:20;10918:1;10911:31;10965:4;10962:1;10955:15;10993:4;10990:1;10983:15;11432:413;11634:2;11616:21;;;11673:2;11653:18;;;11646:30;11712:34;11707:2;11692:18;;11685:62;-1:-1:-1;;;11778:2:59;11763:18;;11756:47;11835:3;11820:19;;11432:413::o;11850:356::-;12052:2;12034:21;;;12071:18;;;12064:30;12130:34;12125:2;12110:18;;12103:62;12197:2;12182:18;;11850:356::o;12211:354::-;12413:2;12395:21;;;12452:2;12432:18;;;12425:30;12491:32;12486:2;12471:18;;12464:60;12556:2;12541:18;;12211:354::o;13890:127::-;13951:10;13946:3;13942:20;13939:1;13932:31;13982:4;13979:1;13972:15;14006:4;14003:1;13996:15;14022:128;14062:3;14093:1;14089:6;14086:1;14083:13;14080:39;;;14099:18;;:::i;:::-;-1:-1:-1;14135:9:59;;14022:128::o;14155:125::-;14195:4;14223:1;14220;14217:8;14214:34;;;14228:18;;:::i;:::-;-1:-1:-1;14265:9:59;;14155:125::o;14769:545::-;14871:2;14866:3;14863:11;14860:448;;;14907:1;14932:5;14928:2;14921:17;14977:4;14973:2;14963:19;15047:2;15035:10;15031:19;15028:1;15024:27;15018:4;15014:38;15083:4;15071:10;15068:20;15065:47;;;-1:-1:-1;15106:4:59;15065:47;15161:2;15156:3;15152:12;15149:1;15145:20;15139:4;15135:31;15125:41;;15216:82;15234:2;15227:5;15224:13;15216:82;;;15279:17;;;15260:1;15249:13;15216:82;;;15220:3;;;14769:545;;;:::o;15490:1352::-;15616:3;15610:10;15643:18;15635:6;15632:30;15629:56;;;15665:18;;:::i;:::-;15694:97;15784:6;15744:38;15776:4;15770:11;15744:38;:::i;:::-;15738:4;15694:97;:::i;:::-;15846:4;;15910:2;15899:14;;15927:1;15922:663;;;;16629:1;16646:6;16643:89;;;-1:-1:-1;16698:19:59;;;16692:26;16643:89;-1:-1:-1;;15447:1:59;15443:11;;;15439:24;15435:29;15425:40;15471:1;15467:11;;;15422:57;16745:81;;15892:944;;15922:663;14716:1;14709:14;;;14753:4;14740:18;;-1:-1:-1;;15958:20:59;;;16076:236;16090:7;16087:1;16084:14;16076:236;;;16179:19;;;16173:26;16158:42;;16271:27;;;;16239:1;16227:14;;;;16106:19;;16076:236;;;16080:3;16340:6;16331:7;16328:19;16325:201;;;16401:19;;;16395:26;-1:-1:-1;;16484:1:59;16480:14;;;16496:3;16476:24;16472:37;16468:42;16453:58;16438:74;;16325:201;-1:-1:-1;;;;;16572:1:59;16556:14;;;16552:22;16539:36;;-1:-1:-1;15490:1352:59:o;16847:772::-;17228:3;17266:6;17260:13;17282:53;17328:6;17323:3;17316:4;17308:6;17304:17;17282:53;:::i;:::-;-1:-1:-1;;;17357:16:59;;;17382:18;;;17425:13;;17447:65;17425:13;17499:1;17488:13;;17481:4;17469:17;;17447:65;:::i;:::-;-1:-1:-1;;;17575:1:59;17531:20;;;;17567:10;;;17560:27;17611:1;17603:10;;16847:772;-1:-1:-1;;;;16847:772:59:o;18031:127::-;18092:10;18087:3;18083:20;18080:1;18073:31;18123:4;18120:1;18113:15;18147:4;18144:1;18137:15;18163:135;18202:3;18223:17;;;18220:43;;18243:18;;:::i;:::-;-1:-1:-1;18290:1:59;18279:13;;18163:135::o;19130:168::-;19170:7;19236:1;19232;19228:6;19224:14;19221:1;19218:21;19213:1;19206:9;19199:17;19195:45;19192:71;;;19243:18;;:::i;:::-;-1:-1:-1;19283:9:59;;19130:168::o;19556:127::-;19617:10;19612:3;19608:20;19605:1;19598:31;19648:4;19645:1;19638:15;19672:4;19669:1;19662:15;19688:120;19728:1;19754;19744:35;;19759:18;;:::i;:::-;-1:-1:-1;19793:9:59;;19688:120::o;20591:410::-;20793:2;20775:21;;;20832:2;20812:18;;;20805:30;20871:34;20866:2;20851:18;;20844:62;-1:-1:-1;;;20937:2:59;20922:18;;20915:44;20991:3;20976:19;;20591:410::o;21006:407::-;21208:2;21190:21;;;21247:2;21227:18;;;21220:30;21286:34;21281:2;21266:18;;21259:62;-1:-1:-1;;;21352:2:59;21337:18;;21330:41;21403:3;21388:19;;21006:407::o;21828:414::-;22030:2;22012:21;;;22069:2;22049:18;;;22042:30;22108:34;22103:2;22088:18;;22081:62;-1:-1:-1;;;22174:2:59;22159:18;;22152:48;22232:3;22217:19;;21828:414::o;22247:112::-;22279:1;22305;22295:35;;22310:18;;:::i;:::-;-1:-1:-1;22344:9:59;;22247:112::o;24247:489::-;-1:-1:-1;;;;;24516:15:59;;;24498:34;;24568:15;;24563:2;24548:18;;24541:43;24615:2;24600:18;;24593:34;;;24663:3;24658:2;24643:18;;24636:31;;;24441:4;;24684:46;;24710:19;;24702:6;24684:46;:::i;24741:249::-;24810:6;24863:2;24851:9;24842:7;24838:23;24834:32;24831:52;;;24879:1;24876;24869:12;24831:52;24911:9;24905:16;24930:30;24954:5;24930:30;:::i;24995:127::-;25056:10;25051:3;25047:20;25044:1;25037:31;25087:4;25084:1;25077:15;25111:4;25108:1;25101:15", + "sourceMap": "208:1708:62:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3744:142:53;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;564:304:62;;;;;;:::i;:::-;;:::i;:::-;;;1593:14:77;;1586:22;1568:41;;1556:2;1541:18;564:304:62;1428:187:77;2948:98:27;;;:::i;:::-;;;;;;;:::i;8273:476:59:-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2720:32:77;;;2702:51;;2690:2;2675:18;8273:476:59;2556:203:77;1419:173:62;;;;;;:::i;:::-;;:::i;:::-;;9234:109:59;;;:::i;:::-;;;3347:25:77;;;3335:2;3320:18;9234:109:59;3201:177:77;1113:200:62;;;;;;:::i;:::-;;:::i;1366:146:55:-;;;;;;:::i;:::-;;:::i;5198:330:27:-;;;;;;:::i;:::-;;:::i;846:566:72:-;;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;4352:32:77;;;4334:51;;4416:2;4401:18;;4394:34;;;;4307:18;846:566:72;4160:274:77;3922:114:53;;;:::i;2248:113:72:-;2332:22;;-1:-1:-1;;;;;2332:22:72;2248:113;;4722:127:59;;;;;;:::i;:::-;;:::i;4437:154::-;;;;;;:::i;:::-;;:::i;5594:179:27:-;;;;;;:::i;:::-;;:::i;4114:317:59:-;;;;;;:::i;:::-;;:::i;2445:125:53:-;;;;;;:::i;:::-;;:::i;3677:323:59:-;;;;;;:::i;:::-;;:::i;1851:275:55:-;;;:::i;2004:548:59:-;;;;;;:::i;:::-;;:::i;4006:102::-;;;;;;:::i;:::-;;:::i;6561:594::-;;;;;;:::i;:::-;;:::i;2390:204:27:-;;;;;;:::i;:::-;;:::i;1908:101:18:-;;;:::i;2383:135:55:-;2482:31;;2383:135;;2812:609:59;;;;;;:::i;:::-;;:::i;4242:104:53:-;4333:8;;;;4242:104;;;;;;:::i;4597:119:59:-;;;:::i;1276:85:18:-;1348:6;;-1:-1:-1;;;;;1348:6:18;1276:85;;3110:102:27;;;:::i;3066:182:53:-;;;;;;:::i;:::-;;:::i;1709:205:62:-;;;;;;:::i;:::-;;:::i;2367:117:72:-;2453:24;;2367:117;;5839:320:27;;;;;;:::i;:::-;;:::i;3343:158:53:-;;;;;;:::i;:::-;;:::i;5939:616:59:-;;;;;;:::i;:::-;;:::i;3427:244::-;;;;;;:::i;:::-;;:::i;1164:24::-;;;;;;4974:162:27;;;;;;:::i;:::-;;:::i;4072:134:53:-;;;;;;:::i;:::-;;:::i;1137:20:59:-;;;;;;;;;4855:167;;;;;;:::i;:::-;;:::i;2158:198:18:-;;;;;;:::i;:::-;;:::i;2703:268:53:-;;;;;;:::i;:::-;;:::i;3744:142::-;3826:16;3857:24;:4;:15;3862:9;3857:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:22;:24::i;:::-;3850:31;3744:142;-1:-1:-1;;3744:142:53:o;564:304:62:-;718:4;757:44;788:12;757:30;:44::i;:::-;:104;;;;817:44;848:12;817:30;:44::i;2948:98:27:-;3002:13;3034:5;3027:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2948:98;:::o;8273:476:59:-;8390:7;8432:26;;;:16;:26;;;;;;-1:-1:-1;;;;;8432:26:59;8390:7;8496:24;8449:8;8496:14;:24::i;:::-;8468:52;;;;8530:11;8545:14;:40;;;-1:-1:-1;;;;;;8563:22:59;;;;8545:40;8544:81;;;;-1:-1:-1;8603:22:59;;;;:12;:22;;;;;;;;8602:23;8544:81;8530:95;;8644:6;8636:63;;;;-1:-1:-1;;;8636:63:59;;11224:2:77;8636:63:59;;;11206:21:77;11263:2;11243:18;;;11236:30;11302:34;11282:18;;;11275:62;-1:-1:-1;;;11353:18:77;;;11346:42;11405:19;;8636:63:59;;;;;;;;;-1:-1:-1;;;8717:25:59;;;;-1:-1:-1;8717:15:59;:25;;;;;;-1:-1:-1;;;;;8717:25:59;;8273:476::o;1419:173:62:-;1533:8;1472:28:53;1460:8;;;;:40;;;;;;;;:::i;:::-;;1456:309;;1515:50;1559:5;1515:4;:34;1520:28;1515:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;:43;;:50;;;;:::i;:::-;1510:92;;1574:28;;-1:-1:-1;;;1574:28:53;;;;;;;;;;;1510:92;1456:309;;;1631:27;1619:8;;;;:39;;;;;;;;:::i;:::-;;1615:150;;1672:49;1715:5;1672:4;:33;1677:27;1672:33;;:49;1668:90;;;1730:28;;-1:-1:-1;;;1730:28:53;;;;;;;;;;;1668:90;1557:28:62::1;1571:8;1581:3;1557:13;:28::i;:::-;1419:173:::0;;;:::o;9234:109:59:-;9286:7;9312:24;:14;929::34;;838:112;9312:24:59;9305:31;;9234:109;:::o;1113:200:62:-;1263:4;1299:7;1348:6:18;;-1:-1:-1;;;;;1348:6:18;;1276:85;1299:7:62;-1:-1:-1;;;;;1290:16:62;:5;-1:-1:-1;;;;;1290:16:62;;1283:23;;1113:200;;;:::o;1366:146:55:-;2069:30:53;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:53;;;;;;;;;;;2064:71;1464:43:55::1;1497:9;1464:32;:43::i;:::-;1366:146:::0;:::o;5198:330:27:-;5387:41;929:10:33;5406:12:27;5420:7;5387:18;:41::i;:::-;5379:103;;;;-1:-1:-1;;;5379:103:27;;;;;;;:::i;:::-;5493:28;5503:4;5509:2;5513:7;5493:9;:28::i;846:566:72:-;983:16;1049:26;;;:16;:26;;;;;;983:16;;-1:-1:-1;;;;;1049:26:72;:118;;1145:22;;-1:-1:-1;;;;;1145:22:72;1049:118;;;1104:26;;;;:16;:26;;;;;;-1:-1:-1;;;;;1104:26:72;1049:118;1038:129;;1193:212;1401:3;1193:190;1238:18;:28;1257:8;1238:28;;;;;;;;;;;;1270:1;1238:33;:131;;1345:24;;1238:131;;;1294:28;;;;:18;:28;;;;;;1238:131;1193:10;;:27;:190::i;:::-;:207;;:212::i;:::-;1177:228;;846:566;;;;;:::o;3922:114:53:-;4013:8;;3977:16;;4008:23;;:4;;:14;;4013:8;;4008:14;;;;;;;;:::i;4722:127:59:-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;4805:37:59::1;4832:9;4805:26;:37::i;4437:154::-:0;4530:15;4576:7;1348:6:18;;-1:-1:-1;;;;;1348:6:18;;1276:85;5594:179:27;5727:39;5744:4;5750:2;5754:7;5727:39;;;;;;;;;;;;:16;:39::i;4114:317:59:-;4181:19;4208:24;4223:8;4208:14;:24::i;:::-;-1:-1:-1;;4243:22:59;;;;:12;:22;;;;;:29;;-1:-1:-1;;4243:29:59;4268:4;4243:29;;;4180:52;-1:-1:-1;4180:52:59;4287:54;;;;-1:-1:-1;7696:4:27;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:27;:30;4287:54:59;4283:91;;;4357:7;4114:317;:::o;4283:91::-;4384:40;4415:8;4384:30;:40::i;:::-;4170:261;4114:317;:::o;2445:125:53:-;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:53;;;;;;;;;;;2064:71;2539:26:::1;2552:12;2539;:26::i;3677:323:59:-:0;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;2745:8:59::1;::::0;;::::1;2744:9;2736:52;;;;-1:-1:-1::0;;;2736:52:59::1;;;;;;;:::i;:::-;3833:160:::2;3859:4;;3833:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;;-1:-1:-1;;2453:24:72;;3877:10:59::2;::::0;-1:-1:-1;3901:9:59;;-1:-1:-1;3967:16:59::2;3833:12;:160::i;:::-;;3677:323:::0;;;;:::o;1851:275:55:-;1950:15;1916:31;;:49;1912:117;;;1974:55;;-1:-1:-1;;;1974:55:55;;;;;;;;;;;1912:117;2035:40;2048:26;2035:12;:40::i;:::-;2086:35;;2110:10;;2086:35;;;;;1851:275::o;2004:548:59:-;3111:19:19;3133:25;3156:1;3133:22;:25::i;:::-;3111:47;;3172:14;3168:65;;;3202:13;:20;;-1:-1:-1;;3202:20:19;;;;;3168:65;-1:-1:-1;;;;;2179:22:59;::::1;2171:65;;;::::0;-1:-1:-1;;;2171:65:59;;12775:2:77;2171:65:59::1;::::0;::::1;12757:21:77::0;12814:2;12794:18;;;12787:30;12853:32;12833:18;;;12826:60;12903:18;;2171:65:59::1;12573:354:77::0;2171:65:59::1;2246:32;2275:2;2197:24:72::0;:38;2119:123;2246:32:59::1;2288:8;:16:::0;;-1:-1:-1;;2288:16:59::1;::::0;;::::1;2314:22:::0;;;2347:16:::1;:14;:16::i;:::-;2373:29;2387:5;;2373:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;2373:29:59::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;2394:7:59;;-1:-1:-1;2394:7:59;;;;2373:29;::::1;2394:7:::0;;;;2373:29;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;2373:13:59::1;::::0;-1:-1:-1;;;2373:29:59:i:1;:::-;2412:15;:13;:15::i;:::-;2437:17;:15;:17::i;:::-;2465:36;2492:8;2465:26;:36::i;:::-;2512:33;2536:8;2512:23;:33::i;:::-;3257:14:19::0;3253:99;;;3303:5;3287:21;;-1:-1:-1;;3287:21:19;;;3327:14;;-1:-1:-1;13084:36:77;;3327:14:19;;13072:2:77;13057:18;3327:14:19;;;;;;;3253:99;3101:257;2004:548:59;;;;;;:::o;4006:102::-;4067:8;2639:10;2618:17;4067:8;2618:7;:17::i;:::-;-1:-1:-1;;;;;2618:31:59;;2610:67;;;;-1:-1:-1;;;2610:67:59;;13333:2:77;2610:67:59;;;13315:21:77;13372:2;13352:18;;;13345:30;13411:25;13391:18;;;13384:53;13454:18;;2610:67:59;13131:347:77;2610:67:59;4087:14:::1;4092:8;4087:4;:14::i;6561:594::-:0;6674:7;6698:19;6725:24;6740:8;6725:14;:24::i;:::-;6697:52;;;;6765:14;6760:389;;6802:35;6828:8;6802:25;:35::i;:::-;6795:42;6561:594;-1:-1:-1;;;6561:594:59:o;6760:389::-;6858:22;;;;:12;:22;;;;;;;;6854:295;;;6903:35;6929:8;6903:25;:35::i;6854:295::-;7696:4:27;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:27;6969:170:59;;1348:6:18;;-1:-1:-1;;;;;1348:6:18;7036:7:59;1276:85:18;6969:170:59;7089:35;7115:8;7089:25;:35::i;6969:170::-;6687:468;6561:594;;;:::o;2390:204:27:-;2462:7;-1:-1:-1;;;;;2489:19:27;;2481:73;;;;-1:-1:-1;;;2481:73:27;;13685:2:77;2481:73:27;;;13667:21:77;13724:2;13704:18;;;13697:30;13763:34;13743:18;;;13736:62;-1:-1:-1;;;13814:18:77;;;13807:39;13863:19;;2481:73:27;13483:405:77;2481:73:27;-1:-1:-1;;;;;;2571:16:27;;;;;:9;:16;;;;;;;2390:204::o;1908:101:18:-;1348:6;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;1972:30:::1;1999:1;1972:18;:30::i;:::-;1908:101::o:0;2812:609:59:-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;2745:8:59::1;::::0;;::::1;2744:9;2736:52;;;;-1:-1:-1::0;;;2736:52:59::1;;;;;;;:::i;:::-;2951:20:::2;2974:24;:14;929::34::0;;838:112;2974:24:59::2;:28;::::0;3001:1:::2;2974:28;:::i;:::-;2951:51:::0;-1:-1:-1;3012:18:59::2;3066:1;3033:30;3048:15:::0;2951:51;3033:30:::2;:::i;:::-;:34;;;;:::i;:::-;3095:39;::::0;;::::2;::::0;::::2;::::0;;;;;;3078:14:::2;:56:::0;;;3194:9:::2;::::0;3095:39;;-1:-1:-1;3095:39:59;3166:37:::2;;3145:113;;;::::0;-1:-1:-1;;;3145:113:59;;14490:2:77;3145:113:59::2;::::0;::::2;14472:21:77::0;14529:2;14509:18;;;14502:30;14568:31;14548:18;;;14541:59;14617:18;;3145:113:59::2;14288:353:77::0;3145:113:59::2;3269:11;3286:45;;;;;;;;3296:12;3286:45;;;;3310:10;3286:45;;;;3322:8;;3286:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;-1:-1:-1;3286:45:59;;;;-1:-1:-1;;3269:63:59;;::::2;::::0;;::::2;::::0;;;;;::::2;::::0;;;;;;::::2;::::0;;::::2;;::::0;;;;;::::2;::::0;;;::::2;::::0;;;;-1:-1:-1;3269:63:59::2;::::0;::::2;::::0;;;;::::2;::::0;::::2;::::0;::::2;::::0;;::::2;:::i;:::-;;;;3406:7;1348:6:18::0;;-1:-1:-1;;;;;1348:6:18;;1276:85;3406:7:59::2;-1:-1:-1::0;;;;;3348:66:59::2;3402:1;-1:-1:-1::0;;;;;3348:66:59::2;3368:12;3348:66;3382:10;3348:66;;;;3347:25:77::0;;3335:2;3320:18;;3201:177;3348:66:59::2;;;;;;;;2941:480;;2812:609:::0;;;:::o;4597:119::-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;4651:8:59::1;:15:::0;;-1:-1:-1;;4651:15:59::1;4662:4;4651:15;::::0;;4681:28:::1;::::0;4698:10:::1;::::0;4681:28:::1;::::0;4651:8:::1;::::0;4681:28:::1;4597:119::o:0;3110:102:27:-;3166:13;3198:7;3191:14;;;;;:::i;3066:182:53:-;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:53;;;;;;;;;;;2064:71;3201:42:::1;3218:9;3229:6;;3201:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;3201:42:53;-1:-1:-1;3201:16:53::1;::::0;-1:-1:-1;;3201:42:53:i:1;1709:205:62:-:0;1837:9;1472:28:53;1460:8;;;;:40;;;;;;;;:::i;:::-;;1456:309;;1515:50;1559:5;1515:4;:34;1520:28;1515:34;;:50;1510:92;;1574:28;;-1:-1:-1;;;1574:28:53;;;;;;;;;;;1510:92;1456:309;;;1631:27;1619:8;;;;:39;;;;;;;;:::i;:::-;;1615:150;;1672:49;1715:5;1672:4;:33;1677:27;1672:33;;:49;1668:90;;;1730:28;;-1:-1:-1;;;1730:28:53;;;;;;;;;;;1668:90;1862:45:62::1;1886:9;1897;1862:23;:45::i;5839:320:27:-:0;6008:41;929:10:33;6041:7:27;6008:18;:41::i;:::-;6000:103;;;;-1:-1:-1;;;6000:103:27;;;;;;;:::i;:::-;6113:39;6127:4;6133:2;6137:7;6146:5;6113:13;:39::i;:::-;5839:320;;;;:::o;3343:158:53:-;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:53;;;;;;;;;;;2064:71;3436:4:::1;:15;3441:9;3436:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;3436:15:53;;;;;-1:-1:-1;3429:22:53::1;3436:15:::0;-1:-1:-1;3429:22:53::1;:::i;:::-;;;;;3474:10;-1:-1:-1::0;;;;;3462:34:53::1;;3486:9;3462:34;;;;;;:::i;:::-;;;;;;;;3343:158:::0;:::o;5939:616:59:-;6053:13;6083:19;6106:26;6136:46;6164:8;6136:14;:46::i;:::-;6082:100;;;;;6198:14;6193:356;;6235:20;;;;:10;:20;;;;;6228:27;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5939:616;;;:::o;6193:356::-;6379:12;6446:19;:8;:17;:19::i;:::-;6337:183;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6286:252;;;;5939:616;;;:::o;3427:244::-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;2745:8:59::1;::::0;;::::1;2744:9;2736:52;;;;-1:-1:-1::0;;;2736:52:59::1;;;;;;;:::i;:::-;3509:155:::2;3535:4;3553:10;3577;3601:29;2453:24:72::0;;;2367:117;3601:29:59::2;3644:10;3509:12;:155::i;4974:162:27:-:0;-1:-1:-1;;;;;5094:25:27;;;5071:4;5094:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4974:162::o;4072:134:53:-;4172:8;;4148:4;;4167:34;;4191:9;;4167:4;;4148;;4172:8;;4167:14;;;;;;;;:::i;4855:167:59:-;1348:6:18;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;4977:26:59::1;::::0;;;:16:::1;:26;::::0;;;;:38;;-1:-1:-1;;;;;;4977:38:59::1;-1:-1:-1::0;;;;;4977:38:59;;;::::1;::::0;;;::::1;::::0;;4855:167::o;2158:198:18:-;1348:6;;-1:-1:-1;;;;;1348:6:18;929:10:33;1488:23:18;1480:68;;;;-1:-1:-1;;;1480:68:18;;;;;;;:::i;:::-;-1:-1:-1;;;;;2246:22:18;::::1;2238:73;;;::::0;-1:-1:-1;;;2238:73:18;;17829:2:77;2238:73:18::1;::::0;::::1;17811:21:77::0;17868:2;17848:18;;;17841:30;17907:34;17887:18;;;17880:62;-1:-1:-1;;;17958:18:77;;;17951:36;18004:19;;2238:73:18::1;17627:402:77::0;2238:73:18::1;2321:28;2340:8;2321:18;:28::i;2703:268:53:-:0;2069:30;2088:10;2069:18;:30::i;:::-;2064:71;;2108:27;;-1:-1:-1;;;2108:27:53;;;;;;;;;;;2064:71;2852:26:::1;2839:9;:39;;;;;;;;:::i;:::-;::::0;2835:84:::1;;2887:32;;-1:-1:-1::0;;;2887:32:53::1;;;;;;;;;;;2835:84;2925:41;2942:9;2953:6;;2925:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2961:4:53::1;::::0;-1:-1:-1;2925:16:53::1;::::0;-1:-1:-1;;2925:41:53:i:1;9581:257:51:-:0;9644:16;9672:22;9697:19;9705:3;9697:7;:19::i;4735:204:53:-;4821:4;-1:-1:-1;;;;;;4844:47:53;;-1:-1:-1;;;4844:47:53;;:88;;;4895:37;4919:12;4895:23;:37::i;9953:468:59:-;10136:4;-1:-1:-1;;;;;;10175:46:59;;-1:-1:-1;;;10175:46:59;;:110;;;10237:48;10273:11;10237:35;:48::i;:::-;10175:175;;;;10301:49;10338:11;10301:36;:49::i;:::-;10175:239;;;;10366:48;10402:11;10366:35;:48::i;9349:537::-;9451:20;9485:19;9518:27;9575:9;9570:278;9594:11;:18;9590:22;;9570:278;;;9666:11;9678:1;9666:14;;;;;;;;:::i;:::-;;;;;;;;;;;:27;;;9654:8;:39;;:96;;;;;9725:11;9737:1;9725:14;;;;;;;;:::i;:::-;;;;;;;;;;;:25;;;9713:8;:37;;9654:96;9633:205;;;9791:4;9797:1;9800:11;9812:1;9800:14;;;;;;;;:::i;:::-;;;;;;;;;;;:22;;9783:40;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9633:205;9614:3;;;;:::i;:::-;;;;9570:278;;;-1:-1:-1;;9858:21:59;;;;;;;;;9866:5;9858:21;;;9866:5;-1:-1:-1;9866:5:59;;-1:-1:-1;9349:537:59;;;;;;:::o;8182:165:51:-;-1:-1:-1;;;;;8315:23:51;;8262:4;3849:19;;;:12;;;:19;;;;;;:24;;8285:55;3753:127;7161:394:59;7241:13;7257:16;7265:7;7257;:16::i;:::-;7241:32;;7297:5;-1:-1:-1;;;;;7291:11:59;:2;-1:-1:-1;;;;;7291:11:59;;7283:57;;;;-1:-1:-1;;;7283:57:59;;18508:2:77;7283:57:59;;;18490:21:77;18547:2;18527:18;;;18520:30;18586:34;18566:18;;;18559:62;-1:-1:-1;;;18637:18:77;;;18630:31;18678:19;;7283:57:59;18306:397:77;7283:57:59;929:10:33;-1:-1:-1;;;;;7372:21:59;;;;:62;;-1:-1:-1;7397:37:59;7414:5;929:10:33;4974:162:27;:::i;7397:37:59:-;7351:165;;;;-1:-1:-1;;;7351:165:59;;18910:2:77;7351:165:59;;;18892:21:77;18949:2;18929:18;;;18922:30;18988:34;18968:18;;;18961:62;19059:26;19039:18;;;19032:54;19103:19;;7351:165:59;18708:420:77;7351:165:59;7527:21;7536:2;7540:7;7527:8;:21::i;2815:290:55:-;2891:19;2931:20;:9;2943:8;2931:20;:::i;:::-;2913:38;;:15;:38;:::i;:::-;3004:31;;2962:87;;;19480:25:77;;;19536:2;19521:18;;19514:34;;;2891:60:55;;-1:-1:-1;2992:10:55;;2962:87;;19453:18:77;2962:87:55;;;;;;;3055:31;:45;-1:-1:-1;2815:290:55:o;7561:338:59:-;7705:4;7725:13;7741:17;7749:8;7741:7;:17::i;:::-;7725:33;;7788:5;-1:-1:-1;;;;;7776:17:59;:8;-1:-1:-1;;;;;7776:17:59;;:66;;;;7834:8;-1:-1:-1;;;;;7809:33:59;:21;7821:8;7809:11;:21::i;:::-;-1:-1:-1;;;;;7809:33:59;;7776:66;:115;;;;7858:33;7875:5;7882:8;7858:16;:33::i;:::-;7768:124;7561:338;-1:-1:-1;;;;7561:338:59:o;8755:473::-;8894:8;8906:1;8894:13;8886:22;;;;;;8920:19;8947:24;8962:8;8947:14;:24::i;:::-;8919:52;;;;8999:14;:66;;;;-1:-1:-1;7696:4:27;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:27;:30;8999:66:59;:105;;;;-1:-1:-1;9082:22:59;;;;:12;:22;;;;;;;;9081:23;8999:105;8982:180;;;9129:22;9135:5;9142:8;9129:5;:22::i;:::-;9172:49;9200:5;9207:3;9212:8;9172:27;:49::i;3461:96:38:-;3519:7;3545:5;3549:1;3545;:5;:::i;3846:96::-;3904:7;3930:5;3934:1;3930;:5;:::i;1418:115:72:-;1492:22;:34;;-1:-1:-1;;;;;;1492:34:72;-1:-1:-1;;;;;1492:34:72;;;;;;;;;;1418:115::o;801:241:30:-;917:41;929:10:33;936:12:30;850:96:33;917:41:30;909:102;;;;-1:-1:-1;;;909:102:30;;20018:2:77;909:102:30;;;20000:21:77;20057:2;20037:18;;;20030:30;20096:34;20076:18;;;20069:62;-1:-1:-1;;;20147:18:77;;;20140:46;20203:19;;909:102:30;19816:412:77;909:102:30;1021:14;1027:7;1021:5;:14::i;5223:164:53:-;5340:12;5302:51;;;;;;;;:::i;:::-;5330:8;;;;5302:51;;;;;;;;:::i;:::-;;;5318:10;;5302:51;;;;;5359:8;:23;;5370:12;;5359:8;-1:-1:-1;;5359:23:53;;5370:12;5359:23;;;;;;;;:::i;:::-;;;;;;5223:164;:::o;5156:624:59:-;5347:7;5366:26;:14;1043:19:34;;1061:1;1043:19;;;956:123;5366:26:59;5402:15;5420:24;:14;929::34;;838:112;5420:24:59;5402:42;;5473:9;;5462:7;:20;;5454:65;;;;-1:-1:-1;;;5454:65:59;;20435:2:77;5454:65:59;;;20417:21:77;;;20454:18;;;20447:30;20513:34;20493:18;;;20486:62;20565:18;;5454:65:59;20233:356:77;5454:65:59;5529:23;5539:3;5544:7;5529:9;:23::i;:::-;5562:19;;;;:10;:19;;;;;:26;5584:4;5562:19;:26;:::i;:::-;-1:-1:-1;5109:23:59;;;;:13;:23;;;;;:34;;-1:-1:-1;;;;;;5109:34:59;-1:-1:-1;;;;;5109:34:59;;;;;1794:28:72;;;;:18;:28;;;;;:42;;;1639:26;;;;:16;:26;;;;;:41;;-1:-1:-1;;;;;;1639:41:72;-1:-1:-1;;;;;1639:41:72;;;;;5703:46:59;5766:7;5156:624;-1:-1:-1;;;;;;5156:624:59:o;5287:808:19:-;5351:4;5684:13;;;;;;;5680:409;;;5738:7;:12;;5749:1;5738:12;:61;;;;-1:-1:-1;5793:4:19;1476:19:32;:23;5738:61:19;5713:166;;;;-1:-1:-1;;;5713:166:19;;;;;;;:::i;:::-;-1:-1:-1;5900:5:19;;5287:808;-1:-1:-1;5287:808:19:o;5680:409::-;5944:12;;:22;;;;:12;;:22;5936:81;;;;-1:-1:-1;;;5936:81:19;;;;;;;:::i;:::-;-1:-1:-1;6031:12:19;:22;;-1:-1:-1;;6031:22:19;;;;;;;;;;;;-1:-1:-1;;5287:808:19:o;5680:409::-;5287:808;;;:::o;988:95:18:-;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;:::-;1050:26:18::1;:24;:26::i;1605:149:27:-:0;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;:::-;1708:39:27::1;1732:5;1739:7;1708:23;:39::i;862:58:36:-:0;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;755:85:72:-;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;:::-;818:15:72::1;:13;:15::i;2651:235:27:-:0;2723:7;2758:16;;;:7;:16;;;;;;-1:-1:-1;;;;;2758:16:27;;2784:73;;;;-1:-1:-1;;;2784:73:27;;21623:2:77;2784:73:27;;;21605:21:77;21662:2;21642:18;;;21635:30;21701:34;21681:18;;;21674:62;-1:-1:-1;;;21752:18:77;;;21745:39;21801:19;;2784:73:27;21421:405:77;2510:187:18;2602:6;;;-1:-1:-1;;;;;2618:17:18;;;-1:-1:-1;;;;;;2618:17:18;;;;;;;2650:40;;2602:6;;;2618:17;2602:6;;2650:40;;2583:16;;2650:40;2573:124;2510:187;:::o;5471:505:53:-;5602:26;5589:9;:39;;;;;;;;:::i;:::-;;5585:387;;5643:9;5638:328;5662:6;:13;5658:1;:17;5638:328;;;5696:7;5692:266;;;5717:30;5737:6;5744:1;5737:9;;;;;;;;:::i;:::-;;;;;;;5717:4;:15;5722:9;5717:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:19;;:30;;;;:::i;:::-;;5806:9;5764:52;;;;;;;;:::i;:::-;5795:6;5802:1;5795:9;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;5764:52:53;5783:10;-1:-1:-1;;;;;5764:52:53;;;;;;;;;;;5692:266;;;5845:33;5868:6;5875:1;5868:9;;;;;;;;:::i;:::-;;;;;;;5845:4;:15;5850:9;5845:15;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:22;;:33;;;;:::i;:::-;;5937:9;5895:52;;;;;;;;:::i;:::-;5926:6;5933:1;5926:9;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;5895:52:53;5914:10;-1:-1:-1;;;;;5895:52:53;;;;;;;;;;;5692:266;5677:3;;;;:::i;:::-;;;;5638:328;;4755:153:27;4849:52;929:10:33;4882:8:27;4892;4849:18;:52::i;7021:307::-;7172:28;7182:4;7188:2;7192:7;7172:9;:28::i;:::-;7218:48;7241:4;7247:2;7251:7;7260:5;7218:22;:48::i;:::-;7210:111;;;;-1:-1:-1;;;7210:111:27;;;;;;;:::i;339:703:35:-;395:13;612:5;621:1;612:10;608:51;;-1:-1:-1;;638:10:35;;;;;;;;;;;;-1:-1:-1;;;638:10:35;;;;;339:703::o;608:51::-;683:5;668:12;722:75;729:9;;722:75;;754:8;;;;:::i;:::-;;-1:-1:-1;776:10:35;;-1:-1:-1;784:2:35;776:10;;:::i;:::-;;;722:75;;;806:19;838:6;828:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;828:17:35;;806:39;;855:150;862:10;;855:150;;888:11;898:1;888:11;;:::i;:::-;;-1:-1:-1;956:10:35;964:2;956:5;:10;:::i;:::-;943:24;;:2;:24;:::i;:::-;930:39;;913:6;920;913:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;913:56:35;;;;;;;;-1:-1:-1;983:11:35;992:2;983:11;;:::i;:::-;;;855:150;;5068:109:51;5124:16;5159:3;:11;;5152:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5068:109;;;:::o;829:155:49:-;-1:-1:-1;;;;;;937:40:49;-1:-1:-1;;;937:40:49;;829:155::o;1849:264:72:-;1974:4;-1:-1:-1;;;;;;2013:41:72;;-1:-1:-1;;;2013:41:72;;:93;;;2070:36;2094:11;1987:344:27;2111:4;-1:-1:-1;;;;;;2146:51:27;;-1:-1:-1;;;2146:51:27;;:126;;-1:-1:-1;;;;;;;2213:59:27;;-1:-1:-1;;;2213:59:27;2146:126;:178;;;;2288:36;2312:11;2288:23;:36::i;8011:201:59:-;8086:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;8086:29:59;-1:-1:-1;;;;;8086:29:59;;;;;;;;:24;;8139:34;8086:24;8139:25;:34::i;:::-;-1:-1:-1;;;;;8130:57:59;;;;;;;;;;;8011:201;;:::o;9561:427:27:-;-1:-1:-1;;;;;9640:16:27;;9632:61;;;;-1:-1:-1;;;9632:61:27;;22569:2:77;9632:61:27;;;22551:21:77;;;22588:18;;;22581:30;22647:34;22627:18;;;22620:62;22699:18;;9632:61:27;22367:356:77;9632:61:27;7696:4;7719:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7719:16:27;:30;9703:58;;;;-1:-1:-1;;;9703:58:27;;22930:2:77;9703:58:27;;;22912:21:77;22969:2;22949:18;;;22942:30;23008;22988:18;;;22981:58;23056:18;;9703:58:27;22728:352:77;9703:58:27;-1:-1:-1;;;;;9828:13:27;;;;;;:9;:13;;;;;:18;;9845:1;;9828:13;:18;;9845:1;;9828:18;:::i;:::-;;;;-1:-1:-1;;9856:16:27;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9856:21:27;-1:-1:-1;;;;;9856:21:27;;;;;;;;9893:33;;9856:16;;;9893:33;;9856:16;;9893:33;4170:261:59;4114:317;:::o;10946:616:27:-;11111:4;-1:-1:-1;;;;;11073:42:27;:34;11099:7;11073:25;:34::i;:::-;-1:-1:-1;;;;;11073:42:27;;11065:92;;;;-1:-1:-1;;;11065:92:27;;23287:2:77;11065:92:27;;;23269:21:77;23326:2;23306:18;;;23299:30;23365:34;23345:18;;;23338:62;-1:-1:-1;;;23416:18:77;;;23409:35;23461:19;;11065:92:27;23085:401:77;11065:92:27;-1:-1:-1;;;;;11175:16:27;;11167:65;;;;-1:-1:-1;;;11167:65:27;;23693:2:77;11167:65:27;;;23675:21:77;23732:2;23712:18;;;23705:30;23771:34;23751:18;;;23744:62;-1:-1:-1;;;23822:18:77;;;23815:34;23866:19;;11167:65:27;23491:400:77;11167:65:27;11344:29;11361:1;11365:7;11344:8;:29::i;:::-;-1:-1:-1;;;;;11384:15:27;;;;;;:9;:15;;;;;:20;;11403:1;;11384:15;:20;;11403:1;;11384:20;:::i;:::-;;;;-1:-1:-1;;;;;;;11414:13:27;;;;;;:9;:13;;;;;:18;;11431:1;;11414:13;:18;;11431:1;;11414:18;:::i;:::-;;;;-1:-1:-1;;11442:16:27;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;11442:21:27;-1:-1:-1;;;;;11442:21:27;;;;;;;;;11479:27;;11442:16;;11479:27;;;;;;;1419:173:62;;;:::o;10205:417:27:-;10264:13;10280:34;10306:7;10280:25;:34::i;:::-;10264:50;;10411:29;10428:1;10432:7;10411:8;:29::i;:::-;-1:-1:-1;;;;;10451:16:27;;;;;;:9;:16;;;;;:21;;10471:1;;10451:16;:21;;10471:1;;10451:21;:::i;:::-;;;;-1:-1:-1;;10489:16:27;;;;:7;:16;;;;;;10482:23;;-1:-1:-1;;;;;;10482:23:27;;;10521:36;10497:7;;10489:16;-1:-1:-1;;;;;10521:36:27;;;;;10489:16;;10521:36;4170:261:59;4114:317;:::o;8599:108:27:-;8674:26;8684:2;8688:7;8674:26;;;;;;;;;;;;:9;:26::i;1089:111:18:-;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;:::-;1161:32:18::1;929:10:33::0;1161:18:18::1;:32::i;1760:160:27:-:0;4698:13:19;;;;;;;4690:69;;;;-1:-1:-1;;;4690:69:19;;;;;;;:::i;:::-;1873:5:27::1;:13;1881:5:::0;1873;:13:::1;:::i;:::-;-1:-1:-1::0;1896:7:27::1;:17;1906:7:::0;1896;:17:::1;:::i;7627:150:51:-:0;7697:4;7720:50;7725:3;-1:-1:-1;;;;;7745:23:51;;7720:4;:50::i;7945:156::-;8018:4;8041:53;8049:3;-1:-1:-1;;;;;8069:23:51;;8041:7;:53::i;11990:307:27:-;12140:8;-1:-1:-1;;;;;12131:17:27;:5;-1:-1:-1;;;;;12131:17:27;;12123:55;;;;-1:-1:-1;;;12123:55:27;;24098:2:77;12123:55:27;;;24080:21:77;24137:2;24117:18;;;24110:30;24176:27;24156:18;;;24149:55;24221:18;;12123:55:27;23896:349:77;12123:55:27;-1:-1:-1;;;;;12188:25:27;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;12188:46:27;;;;;;;;;;12249:41;;1568::77;;;12249::27;;1541:18:77;12249:41:27;;;;;;;11990:307;;;:::o;12850:800::-;13000:4;-1:-1:-1;;;;;13020:13:27;;1476:19:32;:23;13016:628:27;;13055:83;;-1:-1:-1;;;13055:83:27;;-1:-1:-1;;;;;13055:47:27;;;;;:83;;929:10:33;;13117:4:27;;13123:7;;13132:5;;13055:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13055:83:27;;;;;;;;-1:-1:-1;;13055:83:27;;;;;;;;;;;;:::i;:::-;;;13051:541;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13316:6;:13;13333:1;13316:18;13312:266;;13358:60;;-1:-1:-1;;;13358:60:27;;;;;;;:::i;13312:266::-;13530:6;13524:13;13515:6;13511:2;13507:15;13500:38;13051:541;-1:-1:-1;;;;;;13188:62:27;-1:-1:-1;;;13188:62:27;;-1:-1:-1;13181:69:27;;13016:628;-1:-1:-1;13629:4:27;12850:800;;;;;;:::o;8928:311::-;9053:18;9059:2;9063:7;9053:5;:18::i;:::-;9102:54;9133:1;9137:2;9141:7;9150:5;9102:22;:54::i;:::-;9081:151;;;;-1:-1:-1;;;9081:151:27;;;;;;;:::i;1712:404:51:-;1775:4;3849:19;;;:12;;;:19;;;;;;1791:319;;-1:-1:-1;1833:23:51;;;;;;;;:11;:23;;;;;;;;;;;;;2013:18;;1991:19;;;:12;;;:19;;;;;;:40;;;;2045:11;;1791:319;-1:-1:-1;2094:5:51;2087:12;;2284:1388;2350:4;2487:19;;;:12;;;:19;;;;;;2521:15;;2517:1149;;2890:21;2914:14;2927:1;2914:10;:14;:::i;:::-;2962:18;;2890:38;;-1:-1:-1;2942:17:51;;2962:22;;2983:1;;2962:22;:::i;:::-;2942:42;;3016:13;3003:9;:26;2999:398;;3049:17;3069:3;:11;;3081:9;3069:22;;;;;;;;:::i;:::-;;;;;;;;;3049:42;;3220:9;3191:3;:11;;3203:13;3191:26;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;;3303:23;;;:12;;;:23;;;;;:36;;;2999:398;3475:17;;:3;;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3567:3;:12;;:19;3580:5;3567:19;;;;;;;;;;;3560:26;;;3608:4;3601:11;;;;;;;2517:1149;3650:5;3643:12;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:149:77:-;88:20;;137:1;127:12;;117:40;;153:1;150;143:12;168:206;241:6;294:2;282:9;273:7;269:23;265:32;262:52;;;310:1;307;300:12;262:52;333:35;358:9;333:35;:::i;379:658::-;550:2;602:21;;;672:13;;575:18;;;694:22;;;521:4;;550:2;773:15;;;;747:2;732:18;;;521:4;816:195;830:6;827:1;824:13;816:195;;;895:13;;-1:-1:-1;;;;;891:39:77;879:52;;986:15;;;;951:12;;;;927:1;845:9;816:195;;;-1:-1:-1;1028:3:77;;379:658;-1:-1:-1;;;;;;379:658:77:o;1042:131::-;-1:-1:-1;;;;;;1116:32:77;;1106:43;;1096:71;;1163:1;1160;1153:12;1178:245;1236:6;1289:2;1277:9;1268:7;1264:23;1260:32;1257:52;;;1305:1;1302;1295:12;1257:52;1344:9;1331:23;1363:30;1387:5;1363:30;:::i;1620:258::-;1692:1;1702:113;1716:6;1713:1;1710:13;1702:113;;;1792:11;;;1786:18;1773:11;;;1766:39;1738:2;1731:10;1702:113;;;1833:6;1830:1;1827:13;1824:48;;;-1:-1:-1;;1868:1:77;1850:16;;1843:27;1620:258::o;1883:::-;1925:3;1963:5;1957:12;1990:6;1985:3;1978:19;2006:63;2062:6;2055:4;2050:3;2046:14;2039:4;2032:5;2028:16;2006:63;:::i;:::-;2123:2;2102:15;-1:-1:-1;;2098:29:77;2089:39;;;;2130:4;2085:50;;1883:258;-1:-1:-1;;1883:258:77:o;2146:220::-;2295:2;2284:9;2277:21;2258:4;2315:45;2356:2;2345:9;2341:18;2333:6;2315:45;:::i;2371:180::-;2430:6;2483:2;2471:9;2462:7;2458:23;2454:32;2451:52;;;2499:1;2496;2489:12;2451:52;-1:-1:-1;2522:23:77;;2371:180;-1:-1:-1;2371:180:77:o;2764:173::-;2832:20;;-1:-1:-1;;;;;2881:31:77;;2871:42;;2861:70;;2927:1;2924;2917:12;2942:254;3010:6;3018;3071:2;3059:9;3050:7;3046:23;3042:32;3039:52;;;3087:1;3084;3077:12;3039:52;3110:29;3129:9;3110:29;:::i;:::-;3100:39;3186:2;3171:18;;;;3158:32;;-1:-1:-1;;;2942:254:77:o;3383:186::-;3442:6;3495:2;3483:9;3474:7;3470:23;3466:32;3463:52;;;3511:1;3508;3501:12;3463:52;3534:29;3553:9;3534:29;:::i;3574:328::-;3651:6;3659;3667;3720:2;3708:9;3699:7;3695:23;3691:32;3688:52;;;3736:1;3733;3726:12;3688:52;3759:29;3778:9;3759:29;:::i;:::-;3749:39;;3807:38;3841:2;3830:9;3826:18;3807:38;:::i;:::-;3797:48;;3892:2;3881:9;3877:18;3864:32;3854:42;;3574:328;;;;;:::o;3907:248::-;3975:6;3983;4036:2;4024:9;4015:7;4011:23;4007:32;4004:52;;;4052:1;4049;4042:12;4004:52;-1:-1:-1;;4075:23:77;;;4145:2;4130:18;;;4117:32;;-1:-1:-1;3907:248:77:o;4663:348::-;4715:8;4725:6;4779:3;4772:4;4764:6;4760:17;4756:27;4746:55;;4797:1;4794;4787:12;4746:55;-1:-1:-1;4820:20:77;;4863:18;4852:30;;4849:50;;;4895:1;4892;4885:12;4849:50;4932:4;4924:6;4920:17;4908:29;;4984:3;4977:4;4968:6;4960;4956:19;4952:30;4949:39;4946:59;;;5001:1;4998;4991:12;4946:59;4663:348;;;;;:::o;5016:559::-;5105:6;5113;5121;5129;5182:2;5170:9;5161:7;5157:23;5153:32;5150:52;;;5198:1;5195;5188:12;5150:52;5238:9;5225:23;5271:18;5263:6;5260:30;5257:50;;;5303:1;5300;5293:12;5257:50;5342:59;5393:7;5384:6;5373:9;5369:22;5342:59;:::i;:::-;5420:8;;-1:-1:-1;5316:85:77;-1:-1:-1;5474:38:77;;-1:-1:-1;5508:2:77;5493:18;;5474:38;:::i;:::-;5464:48;;5531:38;5565:2;5554:9;5550:18;5531:38;:::i;:::-;5521:48;;5016:559;;;;;;;:::o;5580:864::-;5690:6;5698;5706;5714;5722;5730;5783:3;5771:9;5762:7;5758:23;5754:33;5751:53;;;5800:1;5797;5790:12;5751:53;5840:9;5827:23;5869:18;5910:2;5902:6;5899:14;5896:34;;;5926:1;5923;5916:12;5896:34;5965:59;6016:7;6007:6;5996:9;5992:22;5965:59;:::i;:::-;6043:8;;-1:-1:-1;5939:85:77;-1:-1:-1;6131:2:77;6116:18;;6103:32;;-1:-1:-1;6147:16:77;;;6144:36;;;6176:1;6173;6166:12;6144:36;;6215:61;6268:7;6257:8;6246:9;6242:24;6215:61;:::i;:::-;6295:8;;-1:-1:-1;6189:87:77;-1:-1:-1;6349:38:77;;-1:-1:-1;6383:2:77;6368:18;;6349:38;:::i;:::-;6339:48;;6434:2;6423:9;6419:18;6406:32;6396:42;;5580:864;;;;;;;;:::o;6449:479::-;6529:6;6537;6545;6598:2;6586:9;6577:7;6573:23;6569:32;6566:52;;;6614:1;6611;6604:12;6566:52;6654:9;6641:23;6687:18;6679:6;6676:30;6673:50;;;6719:1;6716;6709:12;6673:50;6758:59;6809:7;6800:6;6789:9;6785:22;6758:59;:::i;:::-;6836:8;;6732:85;;-1:-1:-1;6918:2:77;6903:18;;;;6890:32;;6449:479;-1:-1:-1;;;;6449:479:77:o;6933:127::-;6994:10;6989:3;6985:20;6982:1;6975:31;7025:4;7022:1;7015:15;7049:4;7046:1;7039:15;7065:342;7211:2;7196:18;;7244:1;7233:13;;7223:144;;7289:10;7284:3;7280:20;7277:1;7270:31;7324:4;7321:1;7314:15;7352:4;7349:1;7342:15;7223:144;7376:25;;;7065:342;:::o;7412:709::-;7521:6;7529;7537;7590:2;7578:9;7569:7;7565:23;7561:32;7558:52;;;7606:1;7603;7596:12;7558:52;7629:35;7654:9;7629:35;:::i;:::-;7619:45;;7715:2;7704:9;7700:18;7687:32;7738:18;7779:2;7771:6;7768:14;7765:34;;;7795:1;7792;7785:12;7765:34;7833:6;7822:9;7818:22;7808:32;;7878:7;7871:4;7867:2;7863:13;7859:27;7849:55;;7900:1;7897;7890:12;7849:55;7940:2;7927:16;7966:2;7958:6;7955:14;7952:34;;;7982:1;7979;7972:12;7952:34;8035:7;8030:2;8020:6;8017:1;8013:14;8009:2;8005:23;8001:32;7998:45;7995:65;;;8056:1;8053;8046:12;7995:65;8087:2;8083;8079:11;8069:21;;8109:6;8099:16;;;;;7412:709;;;;;:::o;8126:347::-;8191:6;8199;8252:2;8240:9;8231:7;8227:23;8223:32;8220:52;;;8268:1;8265;8258:12;8220:52;8291:29;8310:9;8291:29;:::i;:::-;8281:39;;8370:2;8359:9;8355:18;8342:32;8417:5;8410:13;8403:21;8396:5;8393:32;8383:60;;8439:1;8436;8429:12;8383:60;8462:5;8452:15;;;8126:347;;;;;:::o;8478:127::-;8539:10;8534:3;8530:20;8527:1;8520:31;8570:4;8567:1;8560:15;8594:4;8591:1;8584:15;8610:631;8674:5;8704:18;8745:2;8737:6;8734:14;8731:40;;;8751:18;;:::i;:::-;8826:2;8820:9;8794:2;8880:15;;-1:-1:-1;;8876:24:77;;;8902:2;8872:33;8868:42;8856:55;;;8926:18;;;8946:22;;;8923:46;8920:72;;;8972:18;;:::i;:::-;9012:10;9008:2;9001:22;9041:6;9032:15;;9071:6;9063;9056:22;9111:3;9102:6;9097:3;9093:16;9090:25;9087:45;;;9128:1;9125;9118:12;9087:45;9178:6;9173:3;9166:4;9158:6;9154:17;9141:44;9233:1;9226:4;9217:6;9209;9205:19;9201:30;9194:41;;;;8610:631;;;;;:::o;9246:666::-;9341:6;9349;9357;9365;9418:3;9406:9;9397:7;9393:23;9389:33;9386:53;;;9435:1;9432;9425:12;9386:53;9458:29;9477:9;9458:29;:::i;:::-;9448:39;;9506:38;9540:2;9529:9;9525:18;9506:38;:::i;:::-;9496:48;;9591:2;9580:9;9576:18;9563:32;9553:42;;9646:2;9635:9;9631:18;9618:32;9673:18;9665:6;9662:30;9659:50;;;9705:1;9702;9695:12;9659:50;9728:22;;9781:4;9773:13;;9769:27;-1:-1:-1;9759:55:77;;9810:1;9807;9800:12;9759:55;9833:73;9898:7;9893:2;9880:16;9875:2;9871;9867:11;9833:73;:::i;:::-;9823:83;;;9246:666;;;;;;;:::o;9917:450::-;9986:6;10039:2;10027:9;10018:7;10014:23;10010:32;10007:52;;;10055:1;10052;10045:12;10007:52;10095:9;10082:23;10128:18;10120:6;10117:30;10114:50;;;10160:1;10157;10150:12;10114:50;10183:22;;10236:4;10228:13;;10224:27;-1:-1:-1;10214:55:77;;10265:1;10262;10255:12;10214:55;10288:73;10353:7;10348:2;10335:16;10330:2;10326;10322:11;10288:73;:::i;10372:260::-;10440:6;10448;10501:2;10489:9;10480:7;10476:23;10472:32;10469:52;;;10517:1;10514;10507:12;10469:52;10540:29;10559:9;10540:29;:::i;:::-;10530:39;;10588:38;10622:2;10611:9;10607:18;10588:38;:::i;10637:380::-;10716:1;10712:12;;;;10759;;;10780:61;;10834:4;10826:6;10822:17;10812:27;;10780:61;10887:2;10879:6;10876:14;10856:18;10853:38;10850:161;;10933:10;10928:3;10924:20;10921:1;10914:31;10968:4;10965:1;10958:15;10996:4;10993:1;10986:15;11435:413;11637:2;11619:21;;;11676:2;11656:18;;;11649:30;11715:34;11710:2;11695:18;;11688:62;-1:-1:-1;;;11781:2:77;11766:18;;11759:47;11838:3;11823:19;;11435:413::o;11853:356::-;12055:2;12037:21;;;12074:18;;;12067:30;12133:34;12128:2;12113:18;;12106:62;12200:2;12185:18;;11853:356::o;12214:354::-;12416:2;12398:21;;;12455:2;12435:18;;;12428:30;12494:32;12489:2;12474:18;;12467:60;12559:2;12544:18;;12214:354::o;13893:127::-;13954:10;13949:3;13945:20;13942:1;13935:31;13985:4;13982:1;13975:15;14009:4;14006:1;13999:15;14025:128;14065:3;14096:1;14092:6;14089:1;14086:13;14083:39;;;14102:18;;:::i;:::-;-1:-1:-1;14138:9:77;;14025:128::o;14158:125::-;14198:4;14226:1;14223;14220:8;14217:34;;;14231:18;;:::i;:::-;-1:-1:-1;14268:9:77;;14158:125::o;14772:545::-;14874:2;14869:3;14866:11;14863:448;;;14910:1;14935:5;14931:2;14924:17;14980:4;14976:2;14966:19;15050:2;15038:10;15034:19;15031:1;15027:27;15021:4;15017:38;15086:4;15074:10;15071:20;15068:47;;;-1:-1:-1;15109:4:77;15068:47;15164:2;15159:3;15155:12;15152:1;15148:20;15142:4;15138:31;15128:41;;15219:82;15237:2;15230:5;15227:13;15219:82;;;15282:17;;;15263:1;15252:13;15219:82;;;15223:3;;;14772:545;;;:::o;15493:1352::-;15619:3;15613:10;15646:18;15638:6;15635:30;15632:56;;;15668:18;;:::i;:::-;15697:97;15787:6;15747:38;15779:4;15773:11;15747:38;:::i;:::-;15741:4;15697:97;:::i;:::-;15849:4;;15913:2;15902:14;;15930:1;15925:663;;;;16632:1;16649:6;16646:89;;;-1:-1:-1;16701:19:77;;;16695:26;16646:89;-1:-1:-1;;15450:1:77;15446:11;;;15442:24;15438:29;15428:40;15474:1;15470:11;;;15425:57;16748:81;;15895:944;;15925:663;14719:1;14712:14;;;14756:4;14743:18;;-1:-1:-1;;15961:20:77;;;16079:236;16093:7;16090:1;16087:14;16079:236;;;16182:19;;;16176:26;16161:42;;16274:27;;;;16242:1;16230:14;;;;16109:19;;16079:236;;;16083:3;16343:6;16334:7;16331:19;16328:201;;;16404:19;;;16398:26;-1:-1:-1;;16487:1:77;16483:14;;;16499:3;16479:24;16475:37;16471:42;16456:58;16441:74;;16328:201;-1:-1:-1;;;;;16575:1:77;16559:14;;;16555:22;16542:36;;-1:-1:-1;15493:1352:77:o;16850:772::-;17231:3;17269:6;17263:13;17285:53;17331:6;17326:3;17319:4;17311:6;17307:17;17285:53;:::i;:::-;-1:-1:-1;;;17360:16:77;;;17385:18;;;17428:13;;17450:65;17428:13;17502:1;17491:13;;17484:4;17472:17;;17450:65;:::i;:::-;-1:-1:-1;;;17578:1:77;17534:20;;;;17570:10;;;17563:27;17614:1;17606:10;;16850:772;-1:-1:-1;;;;16850:772:77:o;18034:127::-;18095:10;18090:3;18086:20;18083:1;18076:31;18126:4;18123:1;18116:15;18150:4;18147:1;18140:15;18166:135;18205:3;18226:17;;;18223:43;;18246:18;;:::i;:::-;-1:-1:-1;18293:1:77;18282:13;;18166:135::o;19133:168::-;19173:7;19239:1;19235;19231:6;19227:14;19224:1;19221:21;19216:1;19209:9;19202:17;19198:45;19195:71;;;19246:18;;:::i;:::-;-1:-1:-1;19286:9:77;;19133:168::o;19559:127::-;19620:10;19615:3;19611:20;19608:1;19601:31;19651:4;19648:1;19641:15;19675:4;19672:1;19665:15;19691:120;19731:1;19757;19747:35;;19762:18;;:::i;:::-;-1:-1:-1;19796:9:77;;19691:120::o;20594:410::-;20796:2;20778:21;;;20835:2;20815:18;;;20808:30;20874:34;20869:2;20854:18;;20847:62;-1:-1:-1;;;20940:2:77;20925:18;;20918:44;20994:3;20979:19;;20594:410::o;21009:407::-;21211:2;21193:21;;;21250:2;21230:18;;;21223:30;21289:34;21284:2;21269:18;;21262:62;-1:-1:-1;;;21355:2:77;21340:18;;21333:41;21406:3;21391:19;;21009:407::o;21831:414::-;22033:2;22015:21;;;22072:2;22052:18;;;22045:30;22111:34;22106:2;22091:18;;22084:62;-1:-1:-1;;;22177:2:77;22162:18;;22155:48;22235:3;22220:19;;21831:414::o;22250:112::-;22282:1;22308;22298:35;;22313:18;;:::i;:::-;-1:-1:-1;22347:9:77;;22250:112::o;24250:489::-;-1:-1:-1;;;;;24519:15:77;;;24501:34;;24571:15;;24566:2;24551:18;;24544:43;24618:2;24603:18;;24596:34;;;24666:3;24661:2;24646:18;;24639:31;;;24444:4;;24687:46;;24713:19;;24705:6;24687:46;:::i;24744:249::-;24813:6;24866:2;24854:9;24845:7;24841:23;24837:32;24834:52;;;24882:1;24879;24872:12;24834:52;24914:9;24908:16;24933:30;24957:5;24933:30;:::i;24998:127::-;25059:10;25054:3;25050:20;25047:1;25040:31;25090:4;25087:1;25080:15;25114:4;25111:1;25104:15", "linkReferences": {} }, "methodIdentifiers": { @@ -2275,16 +2275,16 @@ }, "settings": { "remappings": [ - ":aux/=lib/aux/", - ":ds-test/=lib/ds-test/src/", - ":erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - ":forge-std/=lib/forge-std/src/", - ":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", - ":openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", - ":rareprotocol/aux/=lib/aux/src/", - ":royalty-guard/=lib/royalty-guard/src/royalty-guard/", - ":solmate/=lib/royalty-guard/lib/solmate/src/" + "aux/=lib/aux/", + "ds-test/=lib/ds-test/src/", + "erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", + "openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", + "rareprotocol/aux/=lib/aux/src/", + "royalty-guard/=lib/royalty-guard/src/royalty-guard/", + "solmate/=lib/royalty-guard/lib/solmate/src/" ], "optimizer": { "enabled": true, @@ -2512,84 +2512,139 @@ }, "ast": { "absolutePath": "src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTrigger.sol", - "id": 9328, + "id": 33472, "exportedSymbols": { - "AddressUpgradeable": [3429], - "ContextUpgradeable": [3471], - "CountersUpgradeable": [3545], - "ERC165": [6471], - "ERC165Upgradeable": [3792], - "ERC2981Upgradeable": [10393], - "ERC721BurnableUpgradeable": [3159], - "ERC721Upgradeable": [2975], - "EnumerableSet": [7082], - "IERC165Upgradeable": [3804], - "IERC2981": [10409], - "IERC721MetadataUpgradeable": [3186], - "IERC721ReceiverUpgradeable": [2993], - "IERC721Upgradeable": [3109], - "IRoyaltyGuard": [7212], - "IRoyaltyGuardDeadmanTrigger": [7609], - "ITokenCreator": [10419], - "Initializable": [955], - "OwnableUpgradeable": [813], - "RoyaltyGuard": [7568], - "RoyaltyGuardDeadmanTrigger": [7703], - "SafeMathUpgradeable": [4116], - "SovereignNFT": [8727], - "SovereignNFTRoyaltyGuardDeadmanTrigger": [9327], - "StringsUpgradeable": [3748] + "AddressUpgradeable": [ + 27536 + ], + "ContextUpgradeable": [ + 27578 + ], + "CountersUpgradeable": [ + 27652 + ], + "ERC165": [ + 30578 + ], + "ERC165Upgradeable": [ + 27899 + ], + "ERC2981Upgradeable": [ + 35531 + ], + "ERC721BurnableUpgradeable": [ + 27266 + ], + "ERC721Upgradeable": [ + 27082 + ], + "EnumerableSet": [ + 31189 + ], + "IERC165Upgradeable": [ + 27911 + ], + "IERC2981": [ + 35547 + ], + "IERC721MetadataUpgradeable": [ + 27293 + ], + "IERC721ReceiverUpgradeable": [ + 27100 + ], + "IERC721Upgradeable": [ + 27216 + ], + "IRoyaltyGuard": [ + 31319 + ], + "IRoyaltyGuardDeadmanTrigger": [ + 31716 + ], + "ITokenCreator": [ + 35557 + ], + "Initializable": [ + 25062 + ], + "OwnableUpgradeable": [ + 24920 + ], + "RoyaltyGuard": [ + 31675 + ], + "RoyaltyGuardDeadmanTrigger": [ + 31810 + ], + "SafeMathUpgradeable": [ + 28223 + ], + "SovereignNFT": [ + 32902 + ], + "SovereignNFTRoyaltyGuardDeadmanTrigger": [ + 33471 + ], + "StringsUpgradeable": [ + 27855 + ] }, "nodeType": "SourceUnit", - "src": "85:1832:48", + "src": "85:1832:62", "nodes": [ { - "id": 9241, + "id": 33385, "nodeType": "PragmaDirective", - "src": "85:23:48", + "src": "85:23:62", "nodes": [], - "literals": ["solidity", "^", "0.8", ".0"] + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ] }, { - "id": 9242, + "id": 33386, "nodeType": "ImportDirective", - "src": "110:65:48", + "src": "110:65:62", "nodes": [], "absolutePath": "lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol", "file": "royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol", "nameLocation": "-1:-1:-1", - "scope": 9328, - "sourceUnit": 7704, + "scope": 33472, + "sourceUnit": 31811, "symbolAliases": [], "unitAlias": "" }, { - "id": 9243, + "id": 33387, "nodeType": "ImportDirective", - "src": "177:29:48", + "src": "177:29:62", "nodes": [], "absolutePath": "src/token/ERC721/sovereign/SovereignNFT.sol", "file": "../SovereignNFT.sol", "nameLocation": "-1:-1:-1", - "scope": 9328, - "sourceUnit": 8728, + "scope": 33472, + "sourceUnit": 32903, "symbolAliases": [], "unitAlias": "" }, { - "id": 9327, + "id": 33471, "nodeType": "ContractDefinition", - "src": "208:1708:48", + "src": "208:1708:62", "nodes": [ { - "id": 9269, + "id": 33413, "nodeType": "FunctionDefinition", - "src": "564:304:48", + "src": "564:304:62", "nodes": [], "body": { - "id": 9268, + "id": 33412, "nodeType": "Block", - "src": "728:140:48", + "src": "728:140:62", "nodes": [], "statements": [ { @@ -2598,7 +2653,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 9266, + "id": 33410, "isConstant": false, "isLValue": false, "isPure": false, @@ -2606,12 +2661,12 @@ "leftExpression": { "arguments": [ { - "id": 9260, + "id": 33404, "name": "_interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9250, - "src": "788:12:48", + "referencedDeclaration": 33394, + "src": "788:12:62", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -2626,32 +2681,32 @@ } ], "expression": { - "id": 9258, + "id": 33402, "name": "RoyaltyGuard", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7568, - "src": "757:12:48", + "referencedDeclaration": 31675, + "src": "757:12:62", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_RoyaltyGuard_$7568_$", + "typeIdentifier": "t_type$_t_contract$_RoyaltyGuard_$31675_$", "typeString": "type(contract RoyaltyGuard)" } }, - "id": 9259, + "id": 33403, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "supportsInterface", "nodeType": "MemberAccess", - "referencedDeclaration": 7475, - "src": "757:30:48", + "referencedDeclaration": 31582, + "src": "757:30:62", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", "typeString": "function (bytes4) view returns (bool)" } }, - "id": 9261, + "id": 33405, "isConstant": false, "isLValue": false, "isPure": false, @@ -2659,7 +2714,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "757:44:48", + "src": "757:44:62", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2671,12 +2726,12 @@ "rightExpression": { "arguments": [ { - "id": 9264, + "id": 33408, "name": "_interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9250, - "src": "848:12:48", + "referencedDeclaration": 33394, + "src": "848:12:62", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -2691,32 +2746,32 @@ } ], "expression": { - "id": 9262, + "id": 33406, "name": "SovereignNFT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8727, - "src": "817:12:48", + "referencedDeclaration": 32902, + "src": "817:12:62", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SovereignNFT_$8727_$", + "typeIdentifier": "t_type$_t_contract$_SovereignNFT_$32902_$", "typeString": "type(contract SovereignNFT)" } }, - "id": 9263, + "id": 33407, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "supportsInterface", "nodeType": "MemberAccess", - "referencedDeclaration": 8726, - "src": "817:30:48", + "referencedDeclaration": 32901, + "src": "817:30:62", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", "typeString": "function (bytes4) view returns (bool)" } }, - "id": 9265, + "id": 33409, "isConstant": false, "isLValue": false, "isPure": false, @@ -2724,31 +2779,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "817:44:48", + "src": "817:44:62", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "757:104:48", + "src": "757:104:62", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 9257, - "id": 9267, + "functionReturnParameters": 33401, + "id": 33411, "nodeType": "Return", - "src": "738:123:48" + "src": "738:123:62" } ] }, - "baseFunctions": [7475, 8726], + "baseFunctions": [ + 31582, + 32901 + ], "documentation": { - "id": 9248, + "id": 33392, "nodeType": "StructuredDocumentation", - "src": "518:41:48", + "src": "518:41:62", "text": "@dev See {IERC165-supportsInterface}." }, "functionSelector": "01ffc9a7", @@ -2756,41 +2814,41 @@ "kind": "function", "modifiers": [], "name": "supportsInterface", - "nameLocation": "573:17:48", + "nameLocation": "573:17:62", "overrides": { - "id": 9254, + "id": 33398, "nodeType": "OverrideSpecifier", "overrides": [ { - "id": 9252, + "id": 33396, "name": "SovereignNFT", "nodeType": "IdentifierPath", - "referencedDeclaration": 8727, - "src": "673:12:48" + "referencedDeclaration": 32902, + "src": "673:12:62" }, { - "id": 9253, + "id": 33397, "name": "RoyaltyGuard", "nodeType": "IdentifierPath", - "referencedDeclaration": 7568, - "src": "687:12:48" + "referencedDeclaration": 31675, + "src": "687:12:62" } ], - "src": "664:36:48" + "src": "664:36:62" }, "parameters": { - "id": 9251, + "id": 33395, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9250, + "id": 33394, "mutability": "mutable", "name": "_interfaceId", - "nameLocation": "598:12:48", + "nameLocation": "598:12:62", "nodeType": "VariableDeclaration", - "scope": 9269, - "src": "591:19:48", + "scope": 33413, + "src": "591:19:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2798,10 +2856,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 9249, + "id": 33393, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "591:6:48", + "src": "591:6:62", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -2810,21 +2868,21 @@ "visibility": "internal" } ], - "src": "590:21:48" + "src": "590:21:62" }, "returnParameters": { - "id": 9257, + "id": 33401, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9256, + "id": 33400, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 9269, - "src": "718:4:48", + "scope": 33413, + "src": "718:4:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2832,10 +2890,10 @@ "typeString": "bool" }, "typeName": { - "id": 9255, + "id": 33399, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "718:4:48", + "src": "718:4:62", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2844,22 +2902,22 @@ "visibility": "internal" } ], - "src": "717:6:48" + "src": "717:6:62" }, - "scope": 9327, + "scope": 33471, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 9286, + "id": 33430, "nodeType": "FunctionDefinition", - "src": "1113:200:48", + "src": "1113:200:62", "nodes": [], "body": { - "id": 9285, + "id": 33429, "nodeType": "Block", - "src": "1273:40:48", + "src": "1273:40:62", "nodes": [], "statements": [ { @@ -2868,18 +2926,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9283, + "id": 33427, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 9280, + "id": 33424, "name": "_addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9272, - "src": "1290:5:48", + "referencedDeclaration": 33416, + "src": "1290:5:62", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2891,18 +2949,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 9281, + "id": 33425, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 736, - "src": "1299:5:48", + "referencedDeclaration": 24843, + "src": "1299:5:62", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 9282, + "id": 33426, "isConstant": false, "isLValue": false, "isPure": false, @@ -2910,31 +2968,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1299:7:48", + "src": "1299:7:62", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1290:16:48", + "src": "1290:16:62", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 9279, - "id": 9284, + "functionReturnParameters": 33423, + "id": 33428, "nodeType": "Return", - "src": "1283:23:48" + "src": "1283:23:62" } ] }, - "baseFunctions": [7204, 7453], + "baseFunctions": [ + 31311, + 31560 + ], "documentation": { - "id": 9270, + "id": 33414, "nodeType": "StructuredDocumentation", - "src": "1080:28:48", + "src": "1080:28:62", "text": "@inheritdoc RoyaltyGuard" }, "functionSelector": "20427486", @@ -2942,41 +3003,41 @@ "kind": "function", "modifiers": [], "name": "hasAdminPermission", - "nameLocation": "1122:18:48", + "nameLocation": "1122:18:62", "overrides": { - "id": 9276, + "id": 33420, "nodeType": "OverrideSpecifier", "overrides": [ { - "id": 9274, + "id": 33418, "name": "IRoyaltyGuard", "nodeType": "IdentifierPath", - "referencedDeclaration": 7212, - "src": "1217:13:48" + "referencedDeclaration": 31319, + "src": "1217:13:62" }, { - "id": 9275, + "id": 33419, "name": "RoyaltyGuard", "nodeType": "IdentifierPath", - "referencedDeclaration": 7568, - "src": "1232:12:48" + "referencedDeclaration": 31675, + "src": "1232:12:62" } ], - "src": "1208:37:48" + "src": "1208:37:62" }, "parameters": { - "id": 9273, + "id": 33417, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9272, + "id": 33416, "mutability": "mutable", "name": "_addr", - "nameLocation": "1149:5:48", + "nameLocation": "1149:5:62", "nodeType": "VariableDeclaration", - "scope": 9286, - "src": "1141:13:48", + "scope": 33430, + "src": "1141:13:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2984,10 +3045,10 @@ "typeString": "address" }, "typeName": { - "id": 9271, + "id": 33415, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1141:7:48", + "src": "1141:7:62", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2997,21 +3058,21 @@ "visibility": "internal" } ], - "src": "1140:15:48" + "src": "1140:15:62" }, "returnParameters": { - "id": 9279, + "id": 33423, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9278, + "id": 33422, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 9286, - "src": "1263:4:48", + "scope": 33430, + "src": "1263:4:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3019,10 +3080,10 @@ "typeString": "bool" }, "typeName": { - "id": 9277, + "id": 33421, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1263:4:48", + "src": "1263:4:62", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3031,46 +3092,46 @@ "visibility": "internal" } ], - "src": "1262:6:48" + "src": "1262:6:62" }, - "scope": 9327, + "scope": 33471, "stateMutability": "view", "virtual": true, "visibility": "public" }, { - "id": 9306, + "id": 33450, "nodeType": "FunctionDefinition", - "src": "1419:173:48", + "src": "1419:173:62", "nodes": [], "body": { - "id": 9305, + "id": 33449, "nodeType": "Block", - "src": "1547:45:48", + "src": "1547:45:62", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 9301, + "id": 33445, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9289, - "src": "1571:8:48", + "referencedDeclaration": 33433, + "src": "1571:8:62", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 9302, + "id": 33446, "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9291, - "src": "1581:3:48", + "referencedDeclaration": 33435, + "src": "1581:3:62", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3089,32 +3150,32 @@ } ], "expression": { - "id": 9298, + "id": 33442, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -25, - "src": "1557:5:48", + "src": "1557:5:62", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_SovereignNFTRoyaltyGuardDeadmanTrigger_$9327_$", + "typeIdentifier": "t_type$_t_super$_SovereignNFTRoyaltyGuardDeadmanTrigger_$33471_$", "typeString": "type(contract super SovereignNFTRoyaltyGuardDeadmanTrigger)" } }, - "id": 9300, + "id": 33444, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 8472, - "src": "1557:13:48", + "referencedDeclaration": 32647, + "src": "1557:13:62", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 9303, + "id": 33447, "isConstant": false, "isLValue": false, "isPure": false, @@ -3122,24 +3183,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1557:28:48", + "src": "1557:28:62", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9304, + "id": 33448, "nodeType": "ExpressionStatement", - "src": "1557:28:48" + "src": "1557:28:62" } ] }, - "baseFunctions": [8472], + "baseFunctions": [ + 32647 + ], "documentation": { - "id": 9287, + "id": 33431, "nodeType": "StructuredDocumentation", - "src": "1319:95:48", + "src": "1319:95:62", "text": "@dev Guards {approve} based on the type of list and depending if {_spender} is on the list." }, "functionSelector": "095ea7b3", @@ -3149,52 +3212,52 @@ { "arguments": [ { - "id": 9295, + "id": 33439, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9289, - "src": "1533:8:48", + "referencedDeclaration": 33433, + "src": "1533:8:62", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 9296, + "id": 33440, "kind": "modifierInvocation", "modifierName": { - "id": 9294, + "id": 33438, "name": "checkList", "nodeType": "IdentifierPath", - "referencedDeclaration": 7288, - "src": "1523:9:48" + "referencedDeclaration": 31395, + "src": "1523:9:62" }, "nodeType": "ModifierInvocation", - "src": "1523:19:48" + "src": "1523:19:62" } ], "name": "approve", - "nameLocation": "1428:7:48", + "nameLocation": "1428:7:62", "overrides": { - "id": 9293, + "id": 33437, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "1506:8:48" + "src": "1506:8:62" }, "parameters": { - "id": 9292, + "id": 33436, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9289, + "id": 33433, "mutability": "mutable", "name": "_spender", - "nameLocation": "1444:8:48", + "nameLocation": "1444:8:62", "nodeType": "VariableDeclaration", - "scope": 9306, - "src": "1436:16:48", + "scope": 33450, + "src": "1436:16:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3202,10 +3265,10 @@ "typeString": "address" }, "typeName": { - "id": 9288, + "id": 33432, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1436:7:48", + "src": "1436:7:62", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3216,13 +3279,13 @@ }, { "constant": false, - "id": 9291, + "id": 33435, "mutability": "mutable", "name": "_id", - "nameLocation": "1462:3:48", + "nameLocation": "1462:3:62", "nodeType": "VariableDeclaration", - "scope": 9306, - "src": "1454:11:48", + "scope": 33450, + "src": "1454:11:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3230,10 +3293,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9290, + "id": 33434, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1454:7:48", + "src": "1454:7:62", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3242,52 +3305,52 @@ "visibility": "internal" } ], - "src": "1435:31:48" + "src": "1435:31:62" }, "returnParameters": { - "id": 9297, + "id": 33441, "nodeType": "ParameterList", "parameters": [], - "src": "1547:0:48" + "src": "1547:0:62" }, - "scope": 9327, + "scope": 33471, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { - "id": 9326, + "id": 33470, "nodeType": "FunctionDefinition", - "src": "1709:205:48", + "src": "1709:205:62", "nodes": [], "body": { - "id": 9325, + "id": 33469, "nodeType": "Block", - "src": "1852:62:48", + "src": "1852:62:62", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 9321, + "id": 33465, "name": "_operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9309, - "src": "1886:9:48", + "referencedDeclaration": 33453, + "src": "1886:9:62", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 9322, + "id": 33466, "name": "_approved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9311, - "src": "1897:9:48", + "referencedDeclaration": 33455, + "src": "1897:9:62", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3306,32 +3369,32 @@ } ], "expression": { - "id": 9318, + "id": 33462, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -25, - "src": "1862:5:48", + "src": "1862:5:62", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_SovereignNFTRoyaltyGuardDeadmanTrigger_$9327_$", + "typeIdentifier": "t_type$_t_super$_SovereignNFTRoyaltyGuardDeadmanTrigger_$33471_$", "typeString": "type(contract super SovereignNFTRoyaltyGuardDeadmanTrigger)" } }, - "id": 9320, + "id": 33464, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "setApprovalForAll", "nodeType": "MemberAccess", - "referencedDeclaration": 2402, - "src": "1862:23:48", + "referencedDeclaration": 26509, + "src": "1862:23:62", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bool_$returns$__$", "typeString": "function (address,bool)" } }, - "id": 9323, + "id": 33467, "isConstant": false, "isLValue": false, "isPure": false, @@ -3339,24 +3402,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1862:45:48", + "src": "1862:45:62", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9324, + "id": 33468, "nodeType": "ExpressionStatement", - "src": "1862:45:48" + "src": "1862:45:62" } ] }, - "baseFunctions": [2402], + "baseFunctions": [ + 26509 + ], "documentation": { - "id": 9307, + "id": 33451, "nodeType": "StructuredDocumentation", - "src": "1598:106:48", + "src": "1598:106:62", "text": "@dev Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list." }, "functionSelector": "a22cb465", @@ -3366,52 +3431,52 @@ { "arguments": [ { - "id": 9315, + "id": 33459, "name": "_operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9309, - "src": "1837:9:48", + "referencedDeclaration": 33453, + "src": "1837:9:62", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 9316, + "id": 33460, "kind": "modifierInvocation", "modifierName": { - "id": 9314, + "id": 33458, "name": "checkList", "nodeType": "IdentifierPath", - "referencedDeclaration": 7288, - "src": "1827:9:48" + "referencedDeclaration": 31395, + "src": "1827:9:62" }, "nodeType": "ModifierInvocation", - "src": "1827:20:48" + "src": "1827:20:62" } ], "name": "setApprovalForAll", - "nameLocation": "1718:17:48", + "nameLocation": "1718:17:62", "overrides": { - "id": 9313, + "id": 33457, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "1810:8:48" + "src": "1810:8:62" }, "parameters": { - "id": 9312, + "id": 33456, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9309, + "id": 33453, "mutability": "mutable", "name": "_operator", - "nameLocation": "1744:9:48", + "nameLocation": "1744:9:62", "nodeType": "VariableDeclaration", - "scope": 9326, - "src": "1736:17:48", + "scope": 33470, + "src": "1736:17:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3419,10 +3484,10 @@ "typeString": "address" }, "typeName": { - "id": 9308, + "id": 33452, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1736:7:48", + "src": "1736:7:62", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3433,13 +3498,13 @@ }, { "constant": false, - "id": 9311, + "id": 33455, "mutability": "mutable", "name": "_approved", - "nameLocation": "1760:9:48", + "nameLocation": "1760:9:62", "nodeType": "VariableDeclaration", - "scope": 9326, - "src": "1755:14:48", + "scope": 33470, + "src": "1755:14:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3447,10 +3512,10 @@ "typeString": "bool" }, "typeName": { - "id": 9310, + "id": 33454, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1755:4:48", + "src": "1755:4:62", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3459,15 +3524,15 @@ "visibility": "internal" } ], - "src": "1735:35:48" + "src": "1735:35:62" }, "returnParameters": { - "id": 9317, + "id": 33461, "nodeType": "ParameterList", "parameters": [], - "src": "1852:0:48" + "src": "1852:0:62" }, - "scope": 9327, + "scope": 33471, "stateMutability": "nonpayable", "virtual": true, "visibility": "public" @@ -3477,27 +3542,27 @@ "baseContracts": [ { "baseName": { - "id": 9244, + "id": 33388, "name": "SovereignNFT", "nodeType": "IdentifierPath", - "referencedDeclaration": 8727, - "src": "263:12:48" + "referencedDeclaration": 32902, + "src": "263:12:62" }, - "id": 9245, + "id": 33389, "nodeType": "InheritanceSpecifier", - "src": "263:12:48" + "src": "263:12:62" }, { "baseName": { - "id": 9246, + "id": 33390, "name": "RoyaltyGuardDeadmanTrigger", "nodeType": "IdentifierPath", - "referencedDeclaration": 7703, - "src": "281:26:48" + "referencedDeclaration": 31810, + "src": "281:26:62" }, - "id": 9247, + "id": 33391, "nodeType": "InheritanceSpecifier", - "src": "281:26:48" + "src": "281:26:62" } ], "canonicalName": "SovereignNFTRoyaltyGuardDeadmanTrigger", @@ -3505,16 +3570,39 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 9327, 7703, 7568, 6471, 6483, 7609, 7212, 8727, 10393, 3159, 10419, - 2975, 3186, 3109, 3792, 3804, 813, 3471, 955, 10409 + 33471, + 31810, + 31675, + 30578, + 30590, + 31716, + 31319, + 32902, + 35531, + 27266, + 35557, + 27082, + 27293, + 27216, + 27899, + 27911, + 24920, + 27578, + 25062, + 35547 ], "name": "SovereignNFTRoyaltyGuardDeadmanTrigger", - "nameLocation": "217:38:48", - "scope": 9328, - "usedErrors": [7131, 7134, 7137, 7592] + "nameLocation": "217:38:62", + "scope": 33472, + "usedErrors": [ + 31238, + 31241, + 31244, + 31699 + ] } ], "license": "MIT" }, - "id": 48 -} + "id": 62 +} \ No newline at end of file diff --git a/abis/SuperRareV2.json b/abis/SuperRareV2.json index dbe7c87..4b9a7e1 100644 --- a/abis/SuperRareV2.json +++ b/abis/SuperRareV2.json @@ -580,12 +580,12 @@ ], "bytecode": { "object": "0x60806040526009805460ff191660011790553480156200001e57600080fd5b5060405162002196380380620021968339810160408190526200004191620001ad565b81816000620000518382620002a6565b506001620000608282620002a6565b5050506200007d620000776200008a60201b60201c565b6200008e565b50506000600b5562000372565b3390565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200010857600080fd5b81516001600160401b0380821115620001255762000125620000e0565b604051601f8301601f19908116603f01168101908282118183101715620001505762000150620000e0565b816040528381526020925086838588010111156200016d57600080fd5b600091505b8382101562000191578582018301518183018401529082019062000172565b83821115620001a35760008385830101525b9695505050505050565b60008060408385031215620001c157600080fd5b82516001600160401b0380821115620001d957600080fd5b620001e786838701620000f6565b93506020850151915080821115620001fe57600080fd5b506200020d85828601620000f6565b9150509250929050565b600181811c908216806200022c57607f821691505b6020821081036200024d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002a157600081815260208120601f850160051c810160208610156200027c5750805b601f850160051c820191505b818110156200029d5782815560010162000288565b5050505b505050565b81516001600160401b03811115620002c257620002c2620000e0565b620002da81620002d3845462000217565b8462000253565b602080601f831160018114620003125760008415620002f95750858301515b600019600386901b1c1916600185901b1785556200029d565b600085815260208120601f198616915b82811015620003435788860151825594840194600190910190840162000322565b5085821015620003625787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611e1480620003826000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806370a08231116100de578063b85ecf9311610097578063d9856c2111610071578063d9856c2114610344578063e43252d714610357578063e985e9c51461036a578063f2fde38b146103a657600080fd5b8063b85ecf931461030b578063b88d4fde1461031e578063c87b56dd1461033157600080fd5b806370a08231146102a3578063715018a6146102c45780638ab1d681146102cc5780638da5cb5b146102df57806395d89b41146102f0578063a22cb465146102f857600080fd5b80632cb2f52e116101305780632cb2f52e1461021b5780633af32abf1461022e57806340c1a0641461024157806342842e0e1461026a5780636297c16c1461027d5780636352211e1461029057600080fd5b806301ffc9a714610178578063040b6583146101a057806306fdde03146101b5578063081812fc146101ca578063095ea7b3146101f557806323b872dd14610208575b600080fd5b61018b61018636600461165e565b6103b9565b60405190151581526020015b60405180910390f35b6101b36101ae36600461168b565b61040b565b005b6101bd610451565b60405161019791906116fe565b6101dd6101d8366004611711565b6104e3565b6040516001600160a01b039091168152602001610197565b6101b3610203366004611741565b610578565b6101b361021636600461176b565b61068d565b6101b3610229366004611866565b6106be565b61018b61023c3660046118ad565b6107d7565b6101dd61024f366004611711565b6000908152600660205260409020546001600160a01b031690565b6101b361027836600461176b565b610811565b6101b361028b366004611711565b61082c565b6101dd61029e366004611711565b61089b565b6102b66102b13660046118ad565b610912565b604051908152602001610197565b6101b3610998565b6101b36102da3660046118ad565b6109ce565b6007546001600160a01b03166101dd565b6101bd610a54565b6101b36103063660046118c8565b610a63565b6101b36103193660046118fb565b610a72565b6101b361032c3660046119a8565b610aef565b6101bd61033f366004611711565b610b27565b6101b3610352366004611a24565b610c0f565b6101b36103653660046118ad565b610c7a565b61018b610378366004611a59565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6101b36103b43660046118ad565b610ce4565b60006001600160e01b031982166380ac58cd60e01b14806103ea57506001600160e01b03198216635b5e139f60e01b145b8061040557506301ffc9a760e01b6001600160e01b03198316145b92915050565b6007546001600160a01b0316331461043e5760405162461bcd60e51b815260040161043590611a83565b60405180910390fd5b6009805460ff1916911515919091179055565b60606000805461046090611ab8565b80601f016020809104026020016040519081016040528092919081815260200182805461048c90611ab8565b80156104d95780601f106104ae576101008083540402835291602001916104d9565b820191906000526020600020905b8154815290600101906020018083116104bc57829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b031661055c5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610435565b506000908152600460205260409020546001600160a01b031690565b60006105838261089b565b9050806001600160a01b0316836001600160a01b0316036105f05760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610435565b336001600160a01b038216148061060c575061060c8133610378565b61067e5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610435565b6106888383610d7f565b505050565b6106973382610ded565b6106b35760405162461bcd60e51b815260040161043590611af2565b610688838383610ee4565b8160006106ca8261089b565b90506001600160a01b03811633146107245760405162461bcd60e51b815260206004820152601e60248201527f6d75737420626520746865206f776e6572206f662074686520746f6b656e00006044820152606401610435565b60008481526006602052604090205484906001600160a01b031633811461078d5760405162461bcd60e51b815260206004820181905260248201527f6d757374206265207468652063726561746f72206f662074686520746f6b656e6044820152606401610435565b6107978686611080565b857f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd866040516107c791906116fe565b60405180910390a2505050505050565b60095460009060ff161561080457506001600160a01b031660009081526008602052604090205460ff1690565b506001919050565b919050565b61068883838360405180602001604052806000815250610aef565b8060006108388261089b565b90506001600160a01b03811633146108925760405162461bcd60e51b815260206004820152601e60248201527f6d75737420626520746865206f776e6572206f662074686520746f6b656e00006044820152606401610435565b61068883611098565b6000818152600260205260408120546001600160a01b0316806104055760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610435565b60006001600160a01b03821661097c5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610435565b506001600160a01b031660009081526003602052604090205490565b6007546001600160a01b031633146109c25760405162461bcd60e51b815260040161043590611a83565b6109cc6000611133565b565b6007546001600160a01b031633146109f85760405162461bcd60e51b815260040161043590611a83565b610a1d816001600160a01b03166000908152600860205260409020805460ff19169055565b6040516001600160a01b038216907f1f756c8b089af6b33ee121fee8badac2553a2fa89c0575ea91ff8792617746c290600090a250565b60606001805461046090611ab8565b610a6e338383611185565b5050565b6007546001600160a01b03163314610a9c5760405162461bcd60e51b815260040161043590611a83565b60005b8151811015610a6e576000828281518110610abc57610abc611b43565b60200260200101519050610acf816107d7565b610adc57610adc81611253565b5080610ae781611b6f565b915050610a9f565b610af93383610ded565b610b155760405162461bcd60e51b815260040161043590611af2565b610b2184848484611277565b50505050565b6000818152600260205260409020546060906001600160a01b0316610ba65760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610435565b6000610bbd60408051602081019091526000815290565b90506000815111610bdd5760405180602001604052806000815250610c08565b80610be7846112aa565b604051602001610bf8929190611b88565b6040516020818303038152906040525b9392505050565b610c18336107d7565b610c705760405162461bcd60e51b8152602060048201526024808201527f6d7573742062652077686974656c697374656420746f2063726561746520746f6044820152636b656e7360e01b6064820152608401610435565b610a6e81336113ab565b6007546001600160a01b03163314610ca45760405162461bcd60e51b815260040161043590611a83565b610cad81611253565b6040516001600160a01b038216907f75b2135d1c8c3519f3c09c43fe6527089ef09f40c7981ebf0ed46e79e79032c790600090a250565b6007546001600160a01b03163314610d0e5760405162461bcd60e51b815260040161043590611a83565b6001600160a01b038116610d735760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610435565b610d7c81611133565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610db48261089b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b0316610e665760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610435565b6000610e718361089b565b9050806001600160a01b0316846001600160a01b03161480610eb857506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80610edc5750836001600160a01b0316610ed1846104e3565b6001600160a01b0316145b949350505050565b826001600160a01b0316610ef78261089b565b6001600160a01b031614610f5b5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610435565b6001600160a01b038216610fbd5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610435565b610fc8600082610d7f565b6001600160a01b0383166000908152600360205260408120805460019290610ff1908490611bb7565b90915550506001600160a01b038216600090815260036020526040812080546001929061101f908490611bce565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000828152600a602052604090206106888282611c34565b60006110a38261089b565b90506110b0600083610d7f565b6001600160a01b03811660009081526003602052604081208054600192906110d9908490611bb7565b909155505060008281526002602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036111e65760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610435565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b03166000908152600860205260409020805460ff19166001179055565b611282848484610ee4565b61128e84848484611405565b610b215760405162461bcd60e51b815260040161043590611cf4565b6060816000036112d15750506040805180820190915260018152600360fc1b602082015290565b8160005b81156112fb57806112e581611b6f565b91506112f49050600a83611d5c565b91506112d5565b60008167ffffffffffffffff811115611316576113166117a7565b6040519080825280601f01601f191660200182016040528015611340576020820181803683370190505b5090505b8415610edc57611355600183611bb7565b9150611362600a86611d70565b61136d906030611bce565b60f81b81838151811061138257611382611b43565b60200101906001600160f81b031916908160001a9053506113a4600a86611d5c565b9450611344565b600b80546000918190836113be83611b6f565b91905055506113cd8382611506565b6113d78185611080565b600081815260066020526040902080546001600160a01b0319166001600160a01b0385161790559392505050565b60006001600160a01b0384163b156114fb57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611449903390899088908890600401611d84565b6020604051808303816000875af1925050508015611484575060408051601f3d908101601f1916820190925261148191810190611dc1565b60015b6114e1573d8080156114b2576040519150601f19603f3d011682016040523d82523d6000602084013e6114b7565b606091505b5080516000036114d95760405162461bcd60e51b815260040161043590611cf4565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610edc565b506001949350505050565b6001600160a01b03821661155c5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610435565b6000818152600260205260409020546001600160a01b0316156115c15760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610435565b6001600160a01b03821660009081526003602052604081208054600192906115ea908490611bce565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b031981168114610d7c57600080fd5b60006020828403121561167057600080fd5b8135610c0881611648565b8035801515811461080c57600080fd5b60006020828403121561169d57600080fd5b610c088261167b565b60005b838110156116c15781810151838201526020016116a9565b83811115610b215750506000910152565b600081518084526116ea8160208601602086016116a6565b601f01601f19169290920160200192915050565b602081526000610c0860208301846116d2565b60006020828403121561172357600080fd5b5035919050565b80356001600160a01b038116811461080c57600080fd5b6000806040838503121561175457600080fd5b61175d8361172a565b946020939093013593505050565b60008060006060848603121561178057600080fd5b6117898461172a565b92506117976020850161172a565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156117e6576117e66117a7565b604052919050565b600067ffffffffffffffff831115611808576118086117a7565b61181b601f8401601f19166020016117bd565b905082815283838301111561182f57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261185757600080fd5b610c08838335602085016117ee565b6000806040838503121561187957600080fd5b82359150602083013567ffffffffffffffff81111561189757600080fd5b6118a385828601611846565b9150509250929050565b6000602082840312156118bf57600080fd5b610c088261172a565b600080604083850312156118db57600080fd5b6118e48361172a565b91506118f26020840161167b565b90509250929050565b6000602080838503121561190e57600080fd5b823567ffffffffffffffff8082111561192657600080fd5b818501915085601f83011261193a57600080fd5b81358181111561194c5761194c6117a7565b8060051b915061195d8483016117bd565b818152918301840191848101908884111561197757600080fd5b938501935b8385101561199c5761198d8561172a565b8252938501939085019061197c565b98975050505050505050565b600080600080608085870312156119be57600080fd5b6119c78561172a565b93506119d56020860161172a565b925060408501359150606085013567ffffffffffffffff8111156119f857600080fd5b8501601f81018713611a0957600080fd5b611a18878235602084016117ee565b91505092959194509250565b600060208284031215611a3657600080fd5b813567ffffffffffffffff811115611a4d57600080fd5b610edc84828501611846565b60008060408385031215611a6c57600080fd5b611a758361172a565b91506118f26020840161172a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611acc57607f821691505b602082108103611aec57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611b8157611b81611b59565b5060010190565b60008351611b9a8184602088016116a6565b835190830190611bae8183602088016116a6565b01949350505050565b600082821015611bc957611bc9611b59565b500390565b60008219821115611be157611be1611b59565b500190565b601f82111561068857600081815260208120601f850160051c81016020861015611c0d5750805b601f850160051c820191505b81811015611c2c57828155600101611c19565b505050505050565b815167ffffffffffffffff811115611c4e57611c4e6117a7565b611c6281611c5c8454611ab8565b84611be6565b602080601f831160018114611c975760008415611c7f5750858301515b600019600386901b1c1916600185901b178555611c2c565b600085815260208120601f198616915b82811015611cc657888601518255948401946001909101908401611ca7565b5085821015611ce45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b600082611d6b57611d6b611d46565b500490565b600082611d7f57611d7f611d46565b500690565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611db7908301846116d2565b9695505050505050565b600060208284031215611dd357600080fd5b8151610c088161164856fea2646970667358221220b7a75a290d713e190c06fa7eca897b9beb2fe6b3d3f9a1f5d82888d7a6cea02a64736f6c634300080f0033", - "sourceMap": "348:3527:52:-:0;;;350:36:53;;;-1:-1:-1;;350:36:53;382:4;350:36;;;748:409:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;852:5;859:7;1456:5:30;:13;852:5:52;1456::30;:13;:::i;:::-;-1:-1:-1;1479:7:30;:17;1489:7;1479;:17;:::i;:::-;;1390:113;;921:32:28;940:12;:10;;;:12;;:::i;:::-;921:18;:32::i;:::-;-1:-1:-1;;1149:1:52::1;1137:9;:13:::0;348:3527;;640:96:35;719:10;;640:96::o;2270:187:28:-;2362:6;;;-1:-1:-1;;;;;2378:17:28;;;-1:-1:-1;;;;;;2378:17:28;;;;;;;2410:40;;2362:6;;;2378:17;2362:6;;2410:40;;2343:16;;2410:40;2333:124;2270:187;:::o;14:127:59:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:59;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:59;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:59:o;1036:562::-;1135:6;1143;1196:2;1184:9;1175:7;1171:23;1167:32;1164:52;;;1212:1;1209;1202:12;1164:52;1239:16;;-1:-1:-1;;;;;1304:14:59;;;1301:34;;;1331:1;1328;1321:12;1301:34;1354:61;1407:7;1398:6;1387:9;1383:22;1354:61;:::i;:::-;1344:71;;1461:2;1450:9;1446:18;1440:25;1424:41;;1490:2;1480:8;1477:16;1474:36;;;1506:1;1503;1496:12;1474:36;;1529:63;1584:7;1573:8;1562:9;1558:24;1529:63;:::i;:::-;1519:73;;;1036:562;;;;;:::o;1603:380::-;1682:1;1678:12;;;;1725;;;1746:61;;1800:4;1792:6;1788:17;1778:27;;1746:61;1853:2;1845:6;1842:14;1822:18;1819:38;1816:161;;1899:10;1894:3;1890:20;1887:1;1880:31;1934:4;1931:1;1924:15;1962:4;1959:1;1952:15;1816:161;;1603:380;;;:::o;2114:545::-;2216:2;2211:3;2208:11;2205:448;;;2252:1;2277:5;2273:2;2266:17;2322:4;2318:2;2308:19;2392:2;2380:10;2376:19;2373:1;2369:27;2363:4;2359:38;2428:4;2416:10;2413:20;2410:47;;;-1:-1:-1;2451:4:59;2410:47;2506:2;2501:3;2497:12;2494:1;2490:20;2484:4;2480:31;2470:41;;2561:82;2579:2;2572:5;2569:13;2561:82;;;2624:17;;;2605:1;2594:13;2561:82;;;2565:3;;;2205:448;2114:545;;;:::o;2835:1352::-;2955:10;;-1:-1:-1;;;;;2977:30:59;;2974:56;;;3010:18;;:::i;:::-;3039:97;3129:6;3089:38;3121:4;3115:11;3089:38;:::i;:::-;3083:4;3039:97;:::i;:::-;3191:4;;3255:2;3244:14;;3272:1;3267:663;;;;3974:1;3991:6;3988:89;;;-1:-1:-1;4043:19:59;;;4037:26;3988:89;-1:-1:-1;;2792:1:59;2788:11;;;2784:24;2780:29;2770:40;2816:1;2812:11;;;2767:57;4090:81;;3237:944;;3267:663;2061:1;2054:14;;;2098:4;2085:18;;-1:-1:-1;;3303:20:59;;;3421:236;3435:7;3432:1;3429:14;3421:236;;;3524:19;;;3518:26;3503:42;;3616:27;;;;3584:1;3572:14;;;;3451:19;;3421:236;;;3425:3;3685:6;3676:7;3673:19;3670:201;;;3746:19;;;3740:26;-1:-1:-1;;3829:1:59;3825:14;;;3841:3;3821:24;3817:37;3813:42;3798:58;3783:74;;3670:201;-1:-1:-1;;;;;3917:1:59;3901:14;;;3897:22;3884:36;;-1:-1:-1;2835:1352:59:o;:::-;348:3527:52;;;;;;", + "sourceMap": "348:3527:70:-:0;;;350:36:71;;;-1:-1:-1;;350:36:71;382:4;350:36;;;748:409:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;852:5;859:7;1456:5:42;:13;852:5:70;1456::42;:13;:::i;:::-;-1:-1:-1;1479:7:42;:17;1489:7;1479;:17;:::i;:::-;;1390:113;;921:32:40;940:12;:10;;;:12;;:::i;:::-;921:18;:32::i;:::-;-1:-1:-1;;1149:1:70::1;1137:9;:13:::0;348:3527;;640:96:47;719:10;;640:96::o;2270:187:40:-;2362:6;;;-1:-1:-1;;;;;2378:17:40;;;-1:-1:-1;;;;;;2378:17:40;;;;;;;2410:40;;2362:6;;;2378:17;2362:6;;2410:40;;2343:16;;2410:40;2333:124;2270:187;:::o;14:127:77:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:77;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:77;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:77:o;1036:562::-;1135:6;1143;1196:2;1184:9;1175:7;1171:23;1167:32;1164:52;;;1212:1;1209;1202:12;1164:52;1239:16;;-1:-1:-1;;;;;1304:14:77;;;1301:34;;;1331:1;1328;1321:12;1301:34;1354:61;1407:7;1398:6;1387:9;1383:22;1354:61;:::i;:::-;1344:71;;1461:2;1450:9;1446:18;1440:25;1424:41;;1490:2;1480:8;1477:16;1474:36;;;1506:1;1503;1496:12;1474:36;;1529:63;1584:7;1573:8;1562:9;1558:24;1529:63;:::i;:::-;1519:73;;;1036:562;;;;;:::o;1603:380::-;1682:1;1678:12;;;;1725;;;1746:61;;1800:4;1792:6;1788:17;1778:27;;1746:61;1853:2;1845:6;1842:14;1822:18;1819:38;1816:161;;1899:10;1894:3;1890:20;1887:1;1880:31;1934:4;1931:1;1924:15;1962:4;1959:1;1952:15;1816:161;;1603:380;;;:::o;2114:545::-;2216:2;2211:3;2208:11;2205:448;;;2252:1;2277:5;2273:2;2266:17;2322:4;2318:2;2308:19;2392:2;2380:10;2376:19;2373:1;2369:27;2363:4;2359:38;2428:4;2416:10;2413:20;2410:47;;;-1:-1:-1;2451:4:77;2410:47;2506:2;2501:3;2497:12;2494:1;2490:20;2484:4;2480:31;2470:41;;2561:82;2579:2;2572:5;2569:13;2561:82;;;2624:17;;;2605:1;2594:13;2561:82;;;2565:3;;;2205:448;2114:545;;;:::o;2835:1352::-;2955:10;;-1:-1:-1;;;;;2977:30:77;;2974:56;;;3010:18;;:::i;:::-;3039:97;3129:6;3089:38;3121:4;3115:11;3089:38;:::i;:::-;3083:4;3039:97;:::i;:::-;3191:4;;3255:2;3244:14;;3272:1;3267:663;;;;3974:1;3991:6;3988:89;;;-1:-1:-1;4043:19:77;;;4037:26;3988:89;-1:-1:-1;;2792:1:77;2788:11;;;2784:24;2780:29;2770:40;2816:1;2812:11;;;2767:57;4090:81;;3237:944;;3267:663;2061:1;2054:14;;;2098:4;2085:18;;-1:-1:-1;;3303:20:77;;;3421:236;3435:7;3432:1;3429:14;3421:236;;;3524:19;;;3518:26;3503:42;;3616:27;;;;3584:1;3572:14;;;;3451:19;;3421:236;;;3425:3;3685:6;3676:7;3673:19;3670:201;;;3746:19;;;3740:26;-1:-1:-1;;3829:1:77;3825:14;;;3841:3;3821:24;3817:37;3813:42;3798:58;3783:74;;3670:201;-1:-1:-1;;;;;3917:1:77;3901:14;;;3897:22;3884:36;;-1:-1:-1;2835:1352:77:o;:::-;348:3527:70;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101735760003560e01c806370a08231116100de578063b85ecf9311610097578063d9856c2111610071578063d9856c2114610344578063e43252d714610357578063e985e9c51461036a578063f2fde38b146103a657600080fd5b8063b85ecf931461030b578063b88d4fde1461031e578063c87b56dd1461033157600080fd5b806370a08231146102a3578063715018a6146102c45780638ab1d681146102cc5780638da5cb5b146102df57806395d89b41146102f0578063a22cb465146102f857600080fd5b80632cb2f52e116101305780632cb2f52e1461021b5780633af32abf1461022e57806340c1a0641461024157806342842e0e1461026a5780636297c16c1461027d5780636352211e1461029057600080fd5b806301ffc9a714610178578063040b6583146101a057806306fdde03146101b5578063081812fc146101ca578063095ea7b3146101f557806323b872dd14610208575b600080fd5b61018b61018636600461165e565b6103b9565b60405190151581526020015b60405180910390f35b6101b36101ae36600461168b565b61040b565b005b6101bd610451565b60405161019791906116fe565b6101dd6101d8366004611711565b6104e3565b6040516001600160a01b039091168152602001610197565b6101b3610203366004611741565b610578565b6101b361021636600461176b565b61068d565b6101b3610229366004611866565b6106be565b61018b61023c3660046118ad565b6107d7565b6101dd61024f366004611711565b6000908152600660205260409020546001600160a01b031690565b6101b361027836600461176b565b610811565b6101b361028b366004611711565b61082c565b6101dd61029e366004611711565b61089b565b6102b66102b13660046118ad565b610912565b604051908152602001610197565b6101b3610998565b6101b36102da3660046118ad565b6109ce565b6007546001600160a01b03166101dd565b6101bd610a54565b6101b36103063660046118c8565b610a63565b6101b36103193660046118fb565b610a72565b6101b361032c3660046119a8565b610aef565b6101bd61033f366004611711565b610b27565b6101b3610352366004611a24565b610c0f565b6101b36103653660046118ad565b610c7a565b61018b610378366004611a59565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6101b36103b43660046118ad565b610ce4565b60006001600160e01b031982166380ac58cd60e01b14806103ea57506001600160e01b03198216635b5e139f60e01b145b8061040557506301ffc9a760e01b6001600160e01b03198316145b92915050565b6007546001600160a01b0316331461043e5760405162461bcd60e51b815260040161043590611a83565b60405180910390fd5b6009805460ff1916911515919091179055565b60606000805461046090611ab8565b80601f016020809104026020016040519081016040528092919081815260200182805461048c90611ab8565b80156104d95780601f106104ae576101008083540402835291602001916104d9565b820191906000526020600020905b8154815290600101906020018083116104bc57829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b031661055c5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610435565b506000908152600460205260409020546001600160a01b031690565b60006105838261089b565b9050806001600160a01b0316836001600160a01b0316036105f05760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610435565b336001600160a01b038216148061060c575061060c8133610378565b61067e5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610435565b6106888383610d7f565b505050565b6106973382610ded565b6106b35760405162461bcd60e51b815260040161043590611af2565b610688838383610ee4565b8160006106ca8261089b565b90506001600160a01b03811633146107245760405162461bcd60e51b815260206004820152601e60248201527f6d75737420626520746865206f776e6572206f662074686520746f6b656e00006044820152606401610435565b60008481526006602052604090205484906001600160a01b031633811461078d5760405162461bcd60e51b815260206004820181905260248201527f6d757374206265207468652063726561746f72206f662074686520746f6b656e6044820152606401610435565b6107978686611080565b857f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd866040516107c791906116fe565b60405180910390a2505050505050565b60095460009060ff161561080457506001600160a01b031660009081526008602052604090205460ff1690565b506001919050565b919050565b61068883838360405180602001604052806000815250610aef565b8060006108388261089b565b90506001600160a01b03811633146108925760405162461bcd60e51b815260206004820152601e60248201527f6d75737420626520746865206f776e6572206f662074686520746f6b656e00006044820152606401610435565b61068883611098565b6000818152600260205260408120546001600160a01b0316806104055760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610435565b60006001600160a01b03821661097c5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610435565b506001600160a01b031660009081526003602052604090205490565b6007546001600160a01b031633146109c25760405162461bcd60e51b815260040161043590611a83565b6109cc6000611133565b565b6007546001600160a01b031633146109f85760405162461bcd60e51b815260040161043590611a83565b610a1d816001600160a01b03166000908152600860205260409020805460ff19169055565b6040516001600160a01b038216907f1f756c8b089af6b33ee121fee8badac2553a2fa89c0575ea91ff8792617746c290600090a250565b60606001805461046090611ab8565b610a6e338383611185565b5050565b6007546001600160a01b03163314610a9c5760405162461bcd60e51b815260040161043590611a83565b60005b8151811015610a6e576000828281518110610abc57610abc611b43565b60200260200101519050610acf816107d7565b610adc57610adc81611253565b5080610ae781611b6f565b915050610a9f565b610af93383610ded565b610b155760405162461bcd60e51b815260040161043590611af2565b610b2184848484611277565b50505050565b6000818152600260205260409020546060906001600160a01b0316610ba65760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610435565b6000610bbd60408051602081019091526000815290565b90506000815111610bdd5760405180602001604052806000815250610c08565b80610be7846112aa565b604051602001610bf8929190611b88565b6040516020818303038152906040525b9392505050565b610c18336107d7565b610c705760405162461bcd60e51b8152602060048201526024808201527f6d7573742062652077686974656c697374656420746f2063726561746520746f6044820152636b656e7360e01b6064820152608401610435565b610a6e81336113ab565b6007546001600160a01b03163314610ca45760405162461bcd60e51b815260040161043590611a83565b610cad81611253565b6040516001600160a01b038216907f75b2135d1c8c3519f3c09c43fe6527089ef09f40c7981ebf0ed46e79e79032c790600090a250565b6007546001600160a01b03163314610d0e5760405162461bcd60e51b815260040161043590611a83565b6001600160a01b038116610d735760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610435565b610d7c81611133565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610db48261089b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b0316610e665760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610435565b6000610e718361089b565b9050806001600160a01b0316846001600160a01b03161480610eb857506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80610edc5750836001600160a01b0316610ed1846104e3565b6001600160a01b0316145b949350505050565b826001600160a01b0316610ef78261089b565b6001600160a01b031614610f5b5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610435565b6001600160a01b038216610fbd5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610435565b610fc8600082610d7f565b6001600160a01b0383166000908152600360205260408120805460019290610ff1908490611bb7565b90915550506001600160a01b038216600090815260036020526040812080546001929061101f908490611bce565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000828152600a602052604090206106888282611c34565b60006110a38261089b565b90506110b0600083610d7f565b6001600160a01b03811660009081526003602052604081208054600192906110d9908490611bb7565b909155505060008281526002602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036111e65760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610435565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b03166000908152600860205260409020805460ff19166001179055565b611282848484610ee4565b61128e84848484611405565b610b215760405162461bcd60e51b815260040161043590611cf4565b6060816000036112d15750506040805180820190915260018152600360fc1b602082015290565b8160005b81156112fb57806112e581611b6f565b91506112f49050600a83611d5c565b91506112d5565b60008167ffffffffffffffff811115611316576113166117a7565b6040519080825280601f01601f191660200182016040528015611340576020820181803683370190505b5090505b8415610edc57611355600183611bb7565b9150611362600a86611d70565b61136d906030611bce565b60f81b81838151811061138257611382611b43565b60200101906001600160f81b031916908160001a9053506113a4600a86611d5c565b9450611344565b600b80546000918190836113be83611b6f565b91905055506113cd8382611506565b6113d78185611080565b600081815260066020526040902080546001600160a01b0319166001600160a01b0385161790559392505050565b60006001600160a01b0384163b156114fb57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611449903390899088908890600401611d84565b6020604051808303816000875af1925050508015611484575060408051601f3d908101601f1916820190925261148191810190611dc1565b60015b6114e1573d8080156114b2576040519150601f19603f3d011682016040523d82523d6000602084013e6114b7565b606091505b5080516000036114d95760405162461bcd60e51b815260040161043590611cf4565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610edc565b506001949350505050565b6001600160a01b03821661155c5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610435565b6000818152600260205260409020546001600160a01b0316156115c15760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610435565b6001600160a01b03821660009081526003602052604081208054600192906115ea908490611bce565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b031981168114610d7c57600080fd5b60006020828403121561167057600080fd5b8135610c0881611648565b8035801515811461080c57600080fd5b60006020828403121561169d57600080fd5b610c088261167b565b60005b838110156116c15781810151838201526020016116a9565b83811115610b215750506000910152565b600081518084526116ea8160208601602086016116a6565b601f01601f19169290920160200192915050565b602081526000610c0860208301846116d2565b60006020828403121561172357600080fd5b5035919050565b80356001600160a01b038116811461080c57600080fd5b6000806040838503121561175457600080fd5b61175d8361172a565b946020939093013593505050565b60008060006060848603121561178057600080fd5b6117898461172a565b92506117976020850161172a565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156117e6576117e66117a7565b604052919050565b600067ffffffffffffffff831115611808576118086117a7565b61181b601f8401601f19166020016117bd565b905082815283838301111561182f57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261185757600080fd5b610c08838335602085016117ee565b6000806040838503121561187957600080fd5b82359150602083013567ffffffffffffffff81111561189757600080fd5b6118a385828601611846565b9150509250929050565b6000602082840312156118bf57600080fd5b610c088261172a565b600080604083850312156118db57600080fd5b6118e48361172a565b91506118f26020840161167b565b90509250929050565b6000602080838503121561190e57600080fd5b823567ffffffffffffffff8082111561192657600080fd5b818501915085601f83011261193a57600080fd5b81358181111561194c5761194c6117a7565b8060051b915061195d8483016117bd565b818152918301840191848101908884111561197757600080fd5b938501935b8385101561199c5761198d8561172a565b8252938501939085019061197c565b98975050505050505050565b600080600080608085870312156119be57600080fd5b6119c78561172a565b93506119d56020860161172a565b925060408501359150606085013567ffffffffffffffff8111156119f857600080fd5b8501601f81018713611a0957600080fd5b611a18878235602084016117ee565b91505092959194509250565b600060208284031215611a3657600080fd5b813567ffffffffffffffff811115611a4d57600080fd5b610edc84828501611846565b60008060408385031215611a6c57600080fd5b611a758361172a565b91506118f26020840161172a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611acc57607f821691505b602082108103611aec57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611b8157611b81611b59565b5060010190565b60008351611b9a8184602088016116a6565b835190830190611bae8183602088016116a6565b01949350505050565b600082821015611bc957611bc9611b59565b500390565b60008219821115611be157611be1611b59565b500190565b601f82111561068857600081815260208120601f850160051c81016020861015611c0d5750805b601f850160051c820191505b81811015611c2c57828155600101611c19565b505050505050565b815167ffffffffffffffff811115611c4e57611c4e6117a7565b611c6281611c5c8454611ab8565b84611be6565b602080601f831160018114611c975760008415611c7f5750858301515b600019600386901b1c1916600185901b178555611c2c565b600085815260208120601f198616915b82811015611cc657888601518255948401946001909101908401611ca7565b5085821015611ce45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b600082611d6b57611d6b611d46565b500490565b600082611d7f57611d7f611d46565b500690565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611db7908301846116d2565b9695505050505050565b600060208284031215611dd357600080fd5b8151610c088161164856fea2646970667358221220b7a75a290d713e190c06fa7eca897b9beb2fe6b3d3f9a1f5d82888d7a6cea02a64736f6c634300080f0033", - "sourceMap": "348:3527:52:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:30;;;;;;:::i;:::-;;:::i;:::-;;;565:14:59;;558:22;540:41;;528:2;513:18;1570:300:30;;;;;;;;637:101:53;;;;;;:::i;:::-;;:::i;:::-;;2487:98:30;;;:::i;:::-;;;;;;;:::i;3999:217::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2042:32:59;;;2024:51;;2012:2;1997:18;3999:217:30;1878:203:59;3537:401:30;;;;;;:::i;:::-;;:::i;4726:330::-;;;;;;:::i;:::-;;:::i;3008:245:52:-;;;;;;:::i;:::-;;:::i;1478:202:53:-;;;;;;:::i;:::-;;:::i;282:163:57:-;;;;;;:::i;:::-;367:15;413:24;;;:14;:24;;;;;;-1:-1:-1;;;;;413:24:57;;282:163;5122:179:30;;;;;;:::i;:::-;;:::i;2710:103:52:-;;;;;;:::i;:::-;;:::i;2190:235:30:-;;;;;;:::i;:::-;;:::i;1929:204::-;;;;;;:::i;:::-;;:::i;:::-;;;4863:25:59;;;4851:2;4836:18;1929:204:30;4717:177:59;1668:101:28;;;:::i;1173:168:53:-;;;;;;:::i;:::-;;:::i;1036:85:28:-;1108:6;;-1:-1:-1;;;;;1108:6:28;1036:85;;2649:102:30;;;:::i;4283:153::-;;;;;;:::i;:::-;;:::i;1289:325:52:-;;;;;;:::i;:::-;;:::i;5367:318:30:-;;;;;;:::i;:::-;;:::i;2817:329::-;;;;;;:::i;:::-;;:::i;2375:213:52:-;;;;;;:::i;:::-;;:::i;878:144:53:-;;;;;;:::i;:::-;;:::i;4502:162:30:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4622:25:30;;;4599:4;4622:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4502:162;1918:198:28;;;;;;:::i;:::-;;:::i;1570:300:30:-;1672:4;-1:-1:-1;;;;;;1707:40:30;;-1:-1:-1;;;1707:40:30;;:104;;-1:-1:-1;;;;;;;1763:48:30;;-1:-1:-1;;;1763:48:30;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:37;;;1827:36:30;1688:175;1570:300;-1:-1:-1;;1570:300:30:o;637:101:53:-;1108:6:28;;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;;;;;;;;;704:16:53::1;:27:::0;;-1:-1:-1;;704:27:53::1;::::0;::::1;;::::0;;;::::1;::::0;;637:101::o;2487:98:30:-;2541:13;2573:5;2566:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2487:98;:::o;3999:217::-;4075:7;7242:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7242:16:30;4094:73;;;;-1:-1:-1;;;4094:73:30;;8327:2:59;4094:73:30;;;8309:21:59;8366:2;8346:18;;;8339:30;8405:34;8385:18;;;8378:62;-1:-1:-1;;;8456:18:59;;;8449:42;8508:19;;4094:73:30;8125:408:59;4094:73:30;-1:-1:-1;4185:24:30;;;;:15;:24;;;;;;-1:-1:-1;;;;;4185:24:30;;3999:217::o;3537:401::-;3617:13;3633:23;3648:7;3633:14;:23::i;:::-;3617:39;;3680:5;-1:-1:-1;;;;;3674:11:30;:2;-1:-1:-1;;;;;3674:11:30;;3666:57;;;;-1:-1:-1;;;3666:57:30;;8740:2:59;3666:57:30;;;8722:21:59;8779:2;8759:18;;;8752:30;8818:34;8798:18;;;8791:62;-1:-1:-1;;;8869:18:59;;;8862:31;8910:19;;3666:57:30;8538:397:59;3666:57:30;719:10:35;-1:-1:-1;;;;;3755:21:30;;;;:62;;-1:-1:-1;3780:37:30;3797:5;719:10:35;4502:162:30;:::i;3780:37::-;3734:165;;;;-1:-1:-1;;;3734:165:30;;9142:2:59;3734:165:30;;;9124:21:59;9181:2;9161:18;;;9154:30;9220:34;9200:18;;;9193:62;9291:26;9271:18;;;9264:54;9335:19;;3734:165:30;8940:420:59;3734:165:30;3910:21;3919:2;3923:7;3910:8;:21::i;:::-;3607:331;3537:401;;:::o;4726:330::-;4915:41;719:10:35;4948:7:30;4915:18;:41::i;:::-;4907:103;;;;-1:-1:-1;;;4907:103:30;;;;;;;:::i;:::-;5021:28;5031:4;5037:2;5041:7;5021:9;:28::i;3008:245:52:-;3113:8;1794:13;1810:17;1818:8;1810:7;:17::i;:::-;1794:33;-1:-1:-1;;;;;;1845:19:52;;1854:10;1845:19;1837:62;;;;-1:-1:-1;;;1837:62:52;;9985:2:59;1837:62:52;;;9967:21:59;10024:2;10004:18;;;9997:30;10063:32;10043:18;;;10036:60;10113:18;;1837:62:52;9783:354:59;1837:62:52;2102:15:::1;413:24:57::0;;;:14;:24;;;;;;;;-1:-1:-1;;;;;413:24:57;2171:10:52::1;2160:21:::0;::::1;2152:66;;;::::0;-1:-1:-1;;;2152:66:52;;10344:2:59;2152:66:52::1;::::0;::::1;10326:21:59::0;;;10363:18;;;10356:30;10422:34;10402:18;;;10395:62;10474:18;;2152:66:52::1;10142:356:59::0;2152:66:52::1;3172:28:::2;3185:8;3195:4;3172:12;:28::i;:::-;3231:8;3215:31;3241:4;3215:31;;;;;;:::i;:::-;;;;;;;;2092:144:::1;1909:1;1784:133:::0;3008:245;;;:::o;1478:202:53:-;1560:16;;1540:4;;1560:16;;1556:118;;;-1:-1:-1;;;;;;1599:22:53;;;;;:12;:22;;;;;;;;;1478:202::o;1556:118::-;-1:-1:-1;1659:4:53;;1478:202;-1:-1:-1;1478:202:53:o;1556:118::-;1478:202;;;:::o;5122:179:30:-;5255:39;5272:4;5278:2;5282:7;5255:39;;;;;;;;;;;;:16;:39::i;2710:103:52:-;2771:8;1794:13;1810:17;1818:8;1810:7;:17::i;:::-;1794:33;-1:-1:-1;;;;;;1845:19:52;;1854:10;1845:19;1837:62;;;;-1:-1:-1;;;1837:62:52;;9985:2:59;1837:62:52;;;9967:21:59;10024:2;10004:18;;;9997:30;10063:32;10043:18;;;10036:60;10113:18;;1837:62:52;9783:354:59;1837:62:52;2791:15:::1;2797:8;2791:5;:15::i;2190:235:30:-:0;2262:7;2297:16;;;:7;:16;;;;;;-1:-1:-1;;;;;2297:16:30;;2323:73;;;;-1:-1:-1;;;2323:73:30;;10705:2:59;2323:73:30;;;10687:21:59;10744:2;10724:18;;;10717:30;10783:34;10763:18;;;10756:62;-1:-1:-1;;;10834:18:59;;;10827:39;10883:19;;2323:73:30;10503:405:59;1929:204:30;2001:7;-1:-1:-1;;;;;2028:19:30;;2020:73;;;;-1:-1:-1;;;2020:73:30;;11115:2:59;2020:73:30;;;11097:21:59;11154:2;11134:18;;;11127:30;11193:34;11173:18;;;11166:62;-1:-1:-1;;;11244:18:59;;;11237:39;11293:19;;2020:73:30;10913:405:59;2020:73:30;-1:-1:-1;;;;;;2110:16:30;;;;;:9;:16;;;;;;;1929:204::o;1668:101:28:-;1108:6;;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;1173:168:53:-;1108:6:28;;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;1254:29:53::1;1267:15;-1:-1:-1::0;;;;;1896:29:53;1928:5;1896:29;;;:12;:29;;;;;:37;;-1:-1:-1;;1896:37:53;;;1830:110;1254:29:::1;1298:36;::::0;-1:-1:-1;;;;;1298:36:53;::::1;::::0;::::1;::::0;;;::::1;1173:168:::0;:::o;2649:102:30:-;2705:13;2737:7;2730:14;;;;;:::i;4283:153::-;4377:52;719:10:35;4410:8:30;4420;4377:18;:52::i;:::-;4283:153;;:::o;1289:325:52:-;1108:6:28;;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;1409:9:52::1;1404:204;1428:13;:20;1424:1;:24;1404:204;;;1469:15;1487:13;1501:1;1487:16;;;;;;;;:::i;:::-;;;;;;;1469:34;;1522:22;1536:7;1522:13;:22::i;:::-;1517:81;;1564:19;1575:7;1564:10;:19::i;:::-;-1:-1:-1::0;1450:3:52;::::1;::::0;::::1;:::i;:::-;;;;1404:204;;5367:318:30::0;5535:41;719:10:35;5568:7:30;5535:18;:41::i;:::-;5527:103;;;;-1:-1:-1;;;5527:103:30;;;;;;;:::i;:::-;5640:38;5654:4;5660:2;5664:7;5673:4;5640:13;:38::i;:::-;5367:318;;;;:::o;2817:329::-;7219:4;7242:16;;;:7;:16;;;;;;2890:13;;-1:-1:-1;;;;;7242:16:30;2915:76;;;;-1:-1:-1;;;2915:76:30;;11929:2:59;2915:76:30;;;11911:21:59;11968:2;11948:18;;;11941:30;12007:34;11987:18;;;11980:62;-1:-1:-1;;;12058:18:59;;;12051:45;12113:19;;2915:76:30;11727:411:59;2915:76:30;3002:21;3026:10;3464:9;;;;;;;;;-1:-1:-1;3464:9:30;;;3388:92;3026:10;3002:34;;3077:1;3059:7;3053:21;:25;:86;;;;;;;;;;;;;;;;;3105:7;3114:18;:7;:16;:18::i;:::-;3088:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3053:86;3046:93;2817:329;-1:-1:-1;;;2817:329:30:o;2375:213:52:-;2454:25;2468:10;2454:13;:25::i;:::-;2433:108;;;;-1:-1:-1;;;2433:108:52;;12820:2:59;2433:108:52;;;12802:21:59;12859:2;12839:18;;;12832:30;12898:34;12878:18;;;12871:62;-1:-1:-1;;;12949:18:59;;;12942:34;12993:19;;2433:108:52;12618:400:59;2433:108:52;2551:30;2564:4;2570:10;2551:12;:30::i;878:144:53:-;1108:6:28;;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;950:23:53::1;961:11;950:10;:23::i;:::-;988:27;::::0;-1:-1:-1;;;;;988:27:53;::::1;::::0;::::1;::::0;;;::::1;878:144:::0;:::o;1918:198:28:-;1108:6;;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:28;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:28;;13225:2:59;1998:73:28::1;::::0;::::1;13207:21:59::0;13264:2;13244:18;;;13237:30;13303:34;13283:18;;;13276:62;-1:-1:-1;;;13354:18:59;;;13347:36;13400:19;;1998:73:28::1;13023:402:59::0;1998:73:28::1;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;11162:171:30:-;11236:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;11236:29:30;-1:-1:-1;;;;;11236:29:30;;;;;;;;:24;;11289:23;11236:24;11289:14;:23::i;:::-;-1:-1:-1;;;;;11280:46:30;;;;;;;;;;;11162:171;;:::o;7437:344::-;7530:4;7242:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7242:16:30;7546:73;;;;-1:-1:-1;;;7546:73:30;;13632:2:59;7546:73:30;;;13614:21:59;13671:2;13651:18;;;13644:30;13710:34;13690:18;;;13683:62;-1:-1:-1;;;13761:18:59;;;13754:42;13813:19;;7546:73:30;13430:408:59;7546:73:30;7629:13;7645:23;7660:7;7645:14;:23::i;:::-;7629:39;;7697:5;-1:-1:-1;;;;;7686:16:30;:7;-1:-1:-1;;;;;7686:16:30;;:52;;;-1:-1:-1;;;;;;4622:25:30;;;4599:4;4622:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7706:32;7686:87;;;;7766:7;-1:-1:-1;;;;;7742:31:30;:20;7754:7;7742:11;:20::i;:::-;-1:-1:-1;;;;;7742:31:30;;7686:87;7678:96;7437:344;-1:-1:-1;;;;7437:344:30:o;10445:605::-;10599:4;-1:-1:-1;;;;;10572:31:30;:23;10587:7;10572:14;:23::i;:::-;-1:-1:-1;;;;;10572:31:30;;10564:81;;;;-1:-1:-1;;;10564:81:30;;14045:2:59;10564:81:30;;;14027:21:59;14084:2;14064:18;;;14057:30;14123:34;14103:18;;;14096:62;-1:-1:-1;;;14174:18:59;;;14167:35;14219:19;;10564:81:30;13843:401:59;10564:81:30;-1:-1:-1;;;;;10663:16:30;;10655:65;;;;-1:-1:-1;;;10655:65:30;;14451:2:59;10655:65:30;;;14433:21:59;14490:2;14470:18;;;14463:30;14529:34;14509:18;;;14502:62;-1:-1:-1;;;14580:18:59;;;14573:34;14624:19;;10655:65:30;14249:400:59;10655:65:30;10832:29;10849:1;10853:7;10832:8;:29::i;:::-;-1:-1:-1;;;;;10872:15:30;;;;;;:9;:15;;;;;:20;;10891:1;;10872:15;:20;;10891:1;;10872:20;:::i;:::-;;;;-1:-1:-1;;;;;;;10902:13:30;;;;;;:9;:13;;;;;:18;;10919:1;;10902:13;:18;;10919:1;;10902:18;:::i;:::-;;;;-1:-1:-1;;10930:16:30;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;10930:21:30;-1:-1:-1;;;;;10930:21:30;;;;;;;;;10967:27;;10930:16;;10967:27;;;;;;;3607:331;3537:401;;:::o;3760:113:52:-;3839:20;;;;:10;:20;;;;;:27;3862:4;3839:20;:27;:::i;9715:406:30:-;9774:13;9790:23;9805:7;9790:14;:23::i;:::-;9774:39;;9910:29;9927:1;9931:7;9910:8;:29::i;:::-;-1:-1:-1;;;;;9950:16:30;;;;;;:9;:16;;;;;:21;;9970:1;;9950:16;:21;;9970:1;;9950:21;:::i;:::-;;;;-1:-1:-1;;9988:16:30;;;;:7;:16;;;;;;9981:23;;-1:-1:-1;;;;;;9981:23:30;;;10020:36;9996:7;;9988:16;-1:-1:-1;;;;;10020:36:30;;;;;9988:16;;10020:36;4283:153;;:::o;2270:187:28:-;2362:6;;;-1:-1:-1;;;;;2378:17:28;;;-1:-1:-1;;;;;;2378:17:28;;;;;;;2410:40;;2362:6;;;2378:17;2362:6;;2410:40;;2343:16;;2410:40;2333:124;2270:187;:::o;11469:307:30:-;11619:8;-1:-1:-1;;;;;11610:17:30;:5;-1:-1:-1;;;;;11610:17:30;;11602:55;;;;-1:-1:-1;;;11602:55:30;;17323:2:59;11602:55:30;;;17305:21:59;17362:2;17342:18;;;17335:30;17401:27;17381:18;;;17374:55;17446:18;;11602:55:30;17121:349:59;11602:55:30;-1:-1:-1;;;;;11667:25:30;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;11667:46:30;;;;;;;;;;11728:41;;540::59;;;11728::30;;513:18:59;11728:41:30;;;;;;;11469:307;;;:::o;2104:99:53:-;-1:-1:-1;;;;;2164:25:53;;;;;:12;:25;;;;;:32;;-1:-1:-1;;2164:32:53;2192:4;2164:32;;;2104:99::o;6546:305:30:-;6696:28;6706:4;6712:2;6716:7;6696:9;:28::i;:::-;6742:47;6765:4;6771:2;6775:7;6784:4;6742:22;:47::i;:::-;6734:110;;;;-1:-1:-1;;;6734:110:30;;;;;;;:::i;328:703:36:-;384:13;601:5;610:1;601:10;597:51;;-1:-1:-1;;627:10:36;;;;;;;;;;;;-1:-1:-1;;;627:10:36;;;;;328:703::o;597:51::-;672:5;657:12;711:75;718:9;;711:75;;743:8;;;;:::i;:::-;;-1:-1:-1;765:10:36;;-1:-1:-1;773:2:36;765:10;;:::i;:::-;;;711:75;;;795:19;827:6;817:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;817:17:36;;795:39;;844:150;851:10;;844:150;;877:11;887:1;877:11;;:::i;:::-;;-1:-1:-1;945:10:36;953:2;945:5;:10;:::i;:::-;932:24;;:2;:24;:::i;:::-;919:39;;902:6;909;902:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;902:56:36;;;;;;;;-1:-1:-1;972:11:36;981:2;972:11;;:::i;:::-;;;844:150;;3452:302:52;3585:9;;;3546:7;;3585:9;;3546:7;3604:11;3585:9;3604:11;:::i;:::-;;;;;;3625:22;3631:8;3641:5;3625;:22::i;:::-;3657:25;3670:5;3677:4;3657:12;:25::i;:::-;532:24:57;;;;:14;:24;;;;;:35;;-1:-1:-1;;;;;;532:35:57;-1:-1:-1;;;;;532:35:57;;;;;3742:5:52;3452:302;-1:-1:-1;;;3452:302:52:o;12328:776:30:-;12477:4;-1:-1:-1;;;;;12497:13:30;;1465:19:34;:23;12493:605:30;;12532:71;;-1:-1:-1;;;12532:71:30;;-1:-1:-1;;;;;12532:36:30;;;;;:71;;719:10:35;;12583:4:30;;12589:7;;12598:4;;12532:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12532:71:30;;;;;;;;-1:-1:-1;;12532:71:30;;;;;;;;;;;;:::i;:::-;;;12528:518;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12770:6;:13;12787:1;12770:18;12766:266;;12812:60;;-1:-1:-1;;;12812:60:30;;;;;;;:::i;12766:266::-;12984:6;12978:13;12969:6;12965:2;12961:15;12954:38;12528:518;-1:-1:-1;;;;;;12653:51:30;-1:-1:-1;;;12653:51:30;;-1:-1:-1;12646:58:30;;12493:605;-1:-1:-1;13083:4:30;12328:776;;;;;;:::o;9071:427::-;-1:-1:-1;;;;;9150:16:30;;9142:61;;;;-1:-1:-1;;;9142:61:30;;19218:2:59;9142:61:30;;;19200:21:59;;;19237:18;;;19230:30;19296:34;19276:18;;;19269:62;19348:18;;9142:61:30;19016:356:59;9142:61:30;7219:4;7242:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7242:16:30;:30;9213:58;;;;-1:-1:-1;;;9213:58:30;;19579:2:59;9213:58:30;;;19561:21:59;19618:2;19598:18;;;19591:30;19657;19637:18;;;19630:58;19705:18;;9213:58:30;19377:352:59;9213:58:30;-1:-1:-1;;;;;9338:13:30;;;;;;:9;:13;;;;;:18;;9355:1;;9338:13;:18;;9355:1;;9338:18;:::i;:::-;;;;-1:-1:-1;;9366:16:30;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9366:21:30;-1:-1:-1;;;;;9366:21:30;;;;;;;;9403:33;;9366:16;;;9403:33;;9366:16;;9403:33;4283:153;;:::o;14:131:59:-;-1:-1:-1;;;;;;88:32:59;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:160::-;657:20;;713:13;;706:21;696:32;;686:60;;742:1;739;732:12;757:180;813:6;866:2;854:9;845:7;841:23;837:32;834:52;;;882:1;879;872:12;834:52;905:26;921:9;905:26;:::i;942:258::-;1014:1;1024:113;1038:6;1035:1;1032:13;1024:113;;;1114:11;;;1108:18;1095:11;;;1088:39;1060:2;1053:10;1024:113;;;1155:6;1152:1;1149:13;1146:48;;;-1:-1:-1;;1190:1:59;1172:16;;1165:27;942:258::o;1205:::-;1247:3;1285:5;1279:12;1312:6;1307:3;1300:19;1328:63;1384:6;1377:4;1372:3;1368:14;1361:4;1354:5;1350:16;1328:63;:::i;:::-;1445:2;1424:15;-1:-1:-1;;1420:29:59;1411:39;;;;1452:4;1407:50;;1205:258;-1:-1:-1;;1205:258:59:o;1468:220::-;1617:2;1606:9;1599:21;1580:4;1637:45;1678:2;1667:9;1663:18;1655:6;1637:45;:::i;1693:180::-;1752:6;1805:2;1793:9;1784:7;1780:23;1776:32;1773:52;;;1821:1;1818;1811:12;1773:52;-1:-1:-1;1844:23:59;;1693:180;-1:-1:-1;1693:180:59:o;2086:173::-;2154:20;;-1:-1:-1;;;;;2203:31:59;;2193:42;;2183:70;;2249:1;2246;2239:12;2264:254;2332:6;2340;2393:2;2381:9;2372:7;2368:23;2364:32;2361:52;;;2409:1;2406;2399:12;2361:52;2432:29;2451:9;2432:29;:::i;:::-;2422:39;2508:2;2493:18;;;;2480:32;;-1:-1:-1;;;2264:254:59:o;2523:328::-;2600:6;2608;2616;2669:2;2657:9;2648:7;2644:23;2640:32;2637:52;;;2685:1;2682;2675:12;2637:52;2708:29;2727:9;2708:29;:::i;:::-;2698:39;;2756:38;2790:2;2779:9;2775:18;2756:38;:::i;:::-;2746:48;;2841:2;2830:9;2826:18;2813:32;2803:42;;2523:328;;;;;:::o;2856:127::-;2917:10;2912:3;2908:20;2905:1;2898:31;2948:4;2945:1;2938:15;2972:4;2969:1;2962:15;2988:275;3059:2;3053:9;3124:2;3105:13;;-1:-1:-1;;3101:27:59;3089:40;;3159:18;3144:34;;3180:22;;;3141:62;3138:88;;;3206:18;;:::i;:::-;3242:2;3235:22;2988:275;;-1:-1:-1;2988:275:59:o;3268:407::-;3333:5;3367:18;3359:6;3356:30;3353:56;;;3389:18;;:::i;:::-;3427:57;3472:2;3451:15;;-1:-1:-1;;3447:29:59;3478:4;3443:40;3427:57;:::i;:::-;3418:66;;3507:6;3500:5;3493:21;3547:3;3538:6;3533:3;3529:16;3526:25;3523:45;;;3564:1;3561;3554:12;3523:45;3613:6;3608:3;3601:4;3594:5;3590:16;3577:43;3667:1;3660:4;3651:6;3644:5;3640:18;3636:29;3629:40;3268:407;;;;;:::o;3680:222::-;3723:5;3776:3;3769:4;3761:6;3757:17;3753:27;3743:55;;3794:1;3791;3784:12;3743:55;3816:80;3892:3;3883:6;3870:20;3863:4;3855:6;3851:17;3816:80;:::i;3907:390::-;3985:6;3993;4046:2;4034:9;4025:7;4021:23;4017:32;4014:52;;;4062:1;4059;4052:12;4014:52;4098:9;4085:23;4075:33;;4159:2;4148:9;4144:18;4131:32;4186:18;4178:6;4175:30;4172:50;;;4218:1;4215;4208:12;4172:50;4241;4283:7;4274:6;4263:9;4259:22;4241:50;:::i;:::-;4231:60;;;3907:390;;;;;:::o;4302:186::-;4361:6;4414:2;4402:9;4393:7;4389:23;4385:32;4382:52;;;4430:1;4427;4420:12;4382:52;4453:29;4472:9;4453:29;:::i;4899:254::-;4964:6;4972;5025:2;5013:9;5004:7;5000:23;4996:32;4993:52;;;5041:1;5038;5031:12;4993:52;5064:29;5083:9;5064:29;:::i;:::-;5054:39;;5112:35;5143:2;5132:9;5128:18;5112:35;:::i;:::-;5102:45;;4899:254;;;;;:::o;5158:952::-;5242:6;5273:2;5316;5304:9;5295:7;5291:23;5287:32;5284:52;;;5332:1;5329;5322:12;5284:52;5372:9;5359:23;5401:18;5442:2;5434:6;5431:14;5428:34;;;5458:1;5455;5448:12;5428:34;5496:6;5485:9;5481:22;5471:32;;5541:7;5534:4;5530:2;5526:13;5522:27;5512:55;;5563:1;5560;5553:12;5512:55;5599:2;5586:16;5621:2;5617;5614:10;5611:36;;;5627:18;;:::i;:::-;5673:2;5670:1;5666:10;5656:20;;5696:28;5720:2;5716;5712:11;5696:28;:::i;:::-;5758:15;;;5828:11;;;5824:20;;;5789:12;;;;5856:19;;;5853:39;;;5888:1;5885;5878:12;5853:39;5912:11;;;;5932:148;5948:6;5943:3;5940:15;5932:148;;;6014:23;6033:3;6014:23;:::i;:::-;6002:36;;5965:12;;;;6058;;;;5932:148;;;6099:5;5158:952;-1:-1:-1;;;;;;;;5158:952:59:o;6115:667::-;6210:6;6218;6226;6234;6287:3;6275:9;6266:7;6262:23;6258:33;6255:53;;;6304:1;6301;6294:12;6255:53;6327:29;6346:9;6327:29;:::i;:::-;6317:39;;6375:38;6409:2;6398:9;6394:18;6375:38;:::i;:::-;6365:48;;6460:2;6449:9;6445:18;6432:32;6422:42;;6515:2;6504:9;6500:18;6487:32;6542:18;6534:6;6531:30;6528:50;;;6574:1;6571;6564:12;6528:50;6597:22;;6650:4;6642:13;;6638:27;-1:-1:-1;6628:55:59;;6679:1;6676;6669:12;6628:55;6702:74;6768:7;6763:2;6750:16;6745:2;6741;6737:11;6702:74;:::i;:::-;6692:84;;;6115:667;;;;;;;:::o;6787:322::-;6856:6;6909:2;6897:9;6888:7;6884:23;6880:32;6877:52;;;6925:1;6922;6915:12;6877:52;6965:9;6952:23;6998:18;6990:6;6987:30;6984:50;;;7030:1;7027;7020:12;6984:50;7053;7095:7;7086:6;7075:9;7071:22;7053:50;:::i;7114:260::-;7182:6;7190;7243:2;7231:9;7222:7;7218:23;7214:32;7211:52;;;7259:1;7256;7249:12;7211:52;7282:29;7301:9;7282:29;:::i;:::-;7272:39;;7330:38;7364:2;7353:9;7349:18;7330:38;:::i;7379:356::-;7581:2;7563:21;;;7600:18;;;7593:30;7659:34;7654:2;7639:18;;7632:62;7726:2;7711:18;;7379:356::o;7740:380::-;7819:1;7815:12;;;;7862;;;7883:61;;7937:4;7929:6;7925:17;7915:27;;7883:61;7990:2;7982:6;7979:14;7959:18;7956:38;7953:161;;8036:10;8031:3;8027:20;8024:1;8017:31;8071:4;8068:1;8061:15;8099:4;8096:1;8089:15;7953:161;;7740:380;;;:::o;9365:413::-;9567:2;9549:21;;;9606:2;9586:18;;;9579:30;9645:34;9640:2;9625:18;;9618:62;-1:-1:-1;;;9711:2:59;9696:18;;9689:47;9768:3;9753:19;;9365:413::o;11323:127::-;11384:10;11379:3;11375:20;11372:1;11365:31;11415:4;11412:1;11405:15;11439:4;11436:1;11429:15;11455:127;11516:10;11511:3;11507:20;11504:1;11497:31;11547:4;11544:1;11537:15;11571:4;11568:1;11561:15;11587:135;11626:3;11647:17;;;11644:43;;11667:18;;:::i;:::-;-1:-1:-1;11714:1:59;11703:13;;11587:135::o;12143:470::-;12322:3;12360:6;12354:13;12376:53;12422:6;12417:3;12410:4;12402:6;12398:17;12376:53;:::i;:::-;12492:13;;12451:16;;;;12514:57;12492:13;12451:16;12548:4;12536:17;;12514:57;:::i;:::-;12587:20;;12143:470;-1:-1:-1;;;;12143:470:59:o;14654:125::-;14694:4;14722:1;14719;14716:8;14713:34;;;14727:18;;:::i;:::-;-1:-1:-1;14764:9:59;;14654:125::o;14784:128::-;14824:3;14855:1;14851:6;14848:1;14845:13;14842:39;;;14861:18;;:::i;:::-;-1:-1:-1;14897:9:59;;14784:128::o;15043:545::-;15145:2;15140:3;15137:11;15134:448;;;15181:1;15206:5;15202:2;15195:17;15251:4;15247:2;15237:19;15321:2;15309:10;15305:19;15302:1;15298:27;15292:4;15288:38;15357:4;15345:10;15342:20;15339:47;;;-1:-1:-1;15380:4:59;15339:47;15435:2;15430:3;15426:12;15423:1;15419:20;15413:4;15409:31;15399:41;;15490:82;15508:2;15501:5;15498:13;15490:82;;;15553:17;;;15534:1;15523:13;15490:82;;;15494:3;;;15043:545;;;:::o;15764:1352::-;15890:3;15884:10;15917:18;15909:6;15906:30;15903:56;;;15939:18;;:::i;:::-;15968:97;16058:6;16018:38;16050:4;16044:11;16018:38;:::i;:::-;16012:4;15968:97;:::i;:::-;16120:4;;16184:2;16173:14;;16201:1;16196:663;;;;16903:1;16920:6;16917:89;;;-1:-1:-1;16972:19:59;;;16966:26;16917:89;-1:-1:-1;;15721:1:59;15717:11;;;15713:24;15709:29;15699:40;15745:1;15741:11;;;15696:57;17019:81;;16166:944;;16196:663;14990:1;14983:14;;;15027:4;15014:18;;-1:-1:-1;;16232:20:59;;;16350:236;16364:7;16361:1;16358:14;16350:236;;;16453:19;;;16447:26;16432:42;;16545:27;;;;16513:1;16501:14;;;;16380:19;;16350:236;;;16354:3;16614:6;16605:7;16602:19;16599:201;;;16675:19;;;16669:26;-1:-1:-1;;16758:1:59;16754:14;;;16770:3;16750:24;16746:37;16742:42;16727:58;16712:74;;16599:201;-1:-1:-1;;;;;16846:1:59;16830:14;;;16826:22;16813:36;;-1:-1:-1;15764:1352:59:o;17475:414::-;17677:2;17659:21;;;17716:2;17696:18;;;17689:30;17755:34;17750:2;17735:18;;17728:62;-1:-1:-1;;;17821:2:59;17806:18;;17799:48;17879:3;17864:19;;17475:414::o;17894:127::-;17955:10;17950:3;17946:20;17943:1;17936:31;17986:4;17983:1;17976:15;18010:4;18007:1;18000:15;18026:120;18066:1;18092;18082:35;;18097:18;;:::i;:::-;-1:-1:-1;18131:9:59;;18026:120::o;18151:112::-;18183:1;18209;18199:35;;18214:18;;:::i;:::-;-1:-1:-1;18248:9:59;;18151:112::o;18268:489::-;-1:-1:-1;;;;;18537:15:59;;;18519:34;;18589:15;;18584:2;18569:18;;18562:43;18636:2;18621:18;;18614:34;;;18684:3;18679:2;18664:18;;18657:31;;;18462:4;;18705:46;;18731:19;;18723:6;18705:46;:::i;:::-;18697:54;18268:489;-1:-1:-1;;;;;;18268:489:59:o;18762:249::-;18831:6;18884:2;18872:9;18863:7;18859:23;18855:32;18852:52;;;18900:1;18897;18890:12;18852:52;18932:9;18926:16;18951:30;18975:5;18951:30;:::i", + "sourceMap": "348:3527:70:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:42;;;;;;:::i;:::-;;:::i;:::-;;;565:14:77;;558:22;540:41;;528:2;513:18;1570:300:42;;;;;;;;637:101:71;;;;;;:::i;:::-;;:::i;:::-;;2487:98:42;;;:::i;:::-;;;;;;;:::i;3999:217::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2042:32:77;;;2024:51;;2012:2;1997:18;3999:217:42;1878:203:77;3537:401:42;;;;;;:::i;:::-;;:::i;4726:330::-;;;;;;:::i;:::-;;:::i;3008:245:70:-;;;;;;:::i;:::-;;:::i;1478:202:71:-;;;;;;:::i;:::-;;:::i;282:163:75:-;;;;;;:::i;:::-;367:15;413:24;;;:14;:24;;;;;;-1:-1:-1;;;;;413:24:75;;282:163;5122:179:42;;;;;;:::i;:::-;;:::i;2710:103:70:-;;;;;;:::i;:::-;;:::i;2190:235:42:-;;;;;;:::i;:::-;;:::i;1929:204::-;;;;;;:::i;:::-;;:::i;:::-;;;4863:25:77;;;4851:2;4836:18;1929:204:42;4717:177:77;1668:101:40;;;:::i;1173:168:71:-;;;;;;:::i;:::-;;:::i;1036:85:40:-;1108:6;;-1:-1:-1;;;;;1108:6:40;1036:85;;2649:102:42;;;:::i;4283:153::-;;;;;;:::i;:::-;;:::i;1289:325:70:-;;;;;;:::i;:::-;;:::i;5367:318:42:-;;;;;;:::i;:::-;;:::i;2817:329::-;;;;;;:::i;:::-;;:::i;2375:213:70:-;;;;;;:::i;:::-;;:::i;878:144:71:-;;;;;;:::i;:::-;;:::i;4502:162:42:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4622:25:42;;;4599:4;4622:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4502:162;1918:198:40;;;;;;:::i;:::-;;:::i;1570:300:42:-;1672:4;-1:-1:-1;;;;;;1707:40:42;;-1:-1:-1;;;1707:40:42;;:104;;-1:-1:-1;;;;;;;1763:48:42;;-1:-1:-1;;;1763:48:42;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:49;;;1827:36:42;1688:175;1570:300;-1:-1:-1;;1570:300:42:o;637:101:71:-;1108:6:40;;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;;;;;;;;;704:16:71::1;:27:::0;;-1:-1:-1;;704:27:71::1;::::0;::::1;;::::0;;;::::1;::::0;;637:101::o;2487:98:42:-;2541:13;2573:5;2566:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2487:98;:::o;3999:217::-;4075:7;7242:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7242:16:42;4094:73;;;;-1:-1:-1;;;4094:73:42;;8327:2:77;4094:73:42;;;8309:21:77;8366:2;8346:18;;;8339:30;8405:34;8385:18;;;8378:62;-1:-1:-1;;;8456:18:77;;;8449:42;8508:19;;4094:73:42;8125:408:77;4094:73:42;-1:-1:-1;4185:24:42;;;;:15;:24;;;;;;-1:-1:-1;;;;;4185:24:42;;3999:217::o;3537:401::-;3617:13;3633:23;3648:7;3633:14;:23::i;:::-;3617:39;;3680:5;-1:-1:-1;;;;;3674:11:42;:2;-1:-1:-1;;;;;3674:11:42;;3666:57;;;;-1:-1:-1;;;3666:57:42;;8740:2:77;3666:57:42;;;8722:21:77;8779:2;8759:18;;;8752:30;8818:34;8798:18;;;8791:62;-1:-1:-1;;;8869:18:77;;;8862:31;8910:19;;3666:57:42;8538:397:77;3666:57:42;719:10:47;-1:-1:-1;;;;;3755:21:42;;;;:62;;-1:-1:-1;3780:37:42;3797:5;719:10:47;4502:162:42;:::i;3780:37::-;3734:165;;;;-1:-1:-1;;;3734:165:42;;9142:2:77;3734:165:42;;;9124:21:77;9181:2;9161:18;;;9154:30;9220:34;9200:18;;;9193:62;9291:26;9271:18;;;9264:54;9335:19;;3734:165:42;8940:420:77;3734:165:42;3910:21;3919:2;3923:7;3910:8;:21::i;:::-;3607:331;3537:401;;:::o;4726:330::-;4915:41;719:10:47;4948:7:42;4915:18;:41::i;:::-;4907:103;;;;-1:-1:-1;;;4907:103:42;;;;;;;:::i;:::-;5021:28;5031:4;5037:2;5041:7;5021:9;:28::i;3008:245:70:-;3113:8;1794:13;1810:17;1818:8;1810:7;:17::i;:::-;1794:33;-1:-1:-1;;;;;;1845:19:70;;1854:10;1845:19;1837:62;;;;-1:-1:-1;;;1837:62:70;;9985:2:77;1837:62:70;;;9967:21:77;10024:2;10004:18;;;9997:30;10063:32;10043:18;;;10036:60;10113:18;;1837:62:70;9783:354:77;1837:62:70;2102:15:::1;413:24:75::0;;;:14;:24;;;;;;;;-1:-1:-1;;;;;413:24:75;2171:10:70::1;2160:21:::0;::::1;2152:66;;;::::0;-1:-1:-1;;;2152:66:70;;10344:2:77;2152:66:70::1;::::0;::::1;10326:21:77::0;;;10363:18;;;10356:30;10422:34;10402:18;;;10395:62;10474:18;;2152:66:70::1;10142:356:77::0;2152:66:70::1;3172:28:::2;3185:8;3195:4;3172:12;:28::i;:::-;3231:8;3215:31;3241:4;3215:31;;;;;;:::i;:::-;;;;;;;;2092:144:::1;1909:1;1784:133:::0;3008:245;;;:::o;1478:202:71:-;1560:16;;1540:4;;1560:16;;1556:118;;;-1:-1:-1;;;;;;1599:22:71;;;;;:12;:22;;;;;;;;;1478:202::o;1556:118::-;-1:-1:-1;1659:4:71;;1478:202;-1:-1:-1;1478:202:71:o;1556:118::-;1478:202;;;:::o;5122:179:42:-;5255:39;5272:4;5278:2;5282:7;5255:39;;;;;;;;;;;;:16;:39::i;2710:103:70:-;2771:8;1794:13;1810:17;1818:8;1810:7;:17::i;:::-;1794:33;-1:-1:-1;;;;;;1845:19:70;;1854:10;1845:19;1837:62;;;;-1:-1:-1;;;1837:62:70;;9985:2:77;1837:62:70;;;9967:21:77;10024:2;10004:18;;;9997:30;10063:32;10043:18;;;10036:60;10113:18;;1837:62:70;9783:354:77;1837:62:70;2791:15:::1;2797:8;2791:5;:15::i;2190:235:42:-:0;2262:7;2297:16;;;:7;:16;;;;;;-1:-1:-1;;;;;2297:16:42;;2323:73;;;;-1:-1:-1;;;2323:73:42;;10705:2:77;2323:73:42;;;10687:21:77;10744:2;10724:18;;;10717:30;10783:34;10763:18;;;10756:62;-1:-1:-1;;;10834:18:77;;;10827:39;10883:19;;2323:73:42;10503:405:77;1929:204:42;2001:7;-1:-1:-1;;;;;2028:19:42;;2020:73;;;;-1:-1:-1;;;2020:73:42;;11115:2:77;2020:73:42;;;11097:21:77;11154:2;11134:18;;;11127:30;11193:34;11173:18;;;11166:62;-1:-1:-1;;;11244:18:77;;;11237:39;11293:19;;2020:73:42;10913:405:77;2020:73:42;-1:-1:-1;;;;;;2110:16:42;;;;;:9;:16;;;;;;;1929:204::o;1668:101:40:-;1108:6;;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;1173:168:71:-;1108:6:40;;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;1254:29:71::1;1267:15;-1:-1:-1::0;;;;;1896:29:71;1928:5;1896:29;;;:12;:29;;;;;:37;;-1:-1:-1;;1896:37:71;;;1830:110;1254:29:::1;1298:36;::::0;-1:-1:-1;;;;;1298:36:71;::::1;::::0;::::1;::::0;;;::::1;1173:168:::0;:::o;2649:102:42:-;2705:13;2737:7;2730:14;;;;;:::i;4283:153::-;4377:52;719:10:47;4410:8:42;4420;4377:18;:52::i;:::-;4283:153;;:::o;1289:325:70:-;1108:6:40;;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;1409:9:70::1;1404:204;1428:13;:20;1424:1;:24;1404:204;;;1469:15;1487:13;1501:1;1487:16;;;;;;;;:::i;:::-;;;;;;;1469:34;;1522:22;1536:7;1522:13;:22::i;:::-;1517:81;;1564:19;1575:7;1564:10;:19::i;:::-;-1:-1:-1::0;1450:3:70;::::1;::::0;::::1;:::i;:::-;;;;1404:204;;5367:318:42::0;5535:41;719:10:47;5568:7:42;5535:18;:41::i;:::-;5527:103;;;;-1:-1:-1;;;5527:103:42;;;;;;;:::i;:::-;5640:38;5654:4;5660:2;5664:7;5673:4;5640:13;:38::i;:::-;5367:318;;;;:::o;2817:329::-;7219:4;7242:16;;;:7;:16;;;;;;2890:13;;-1:-1:-1;;;;;7242:16:42;2915:76;;;;-1:-1:-1;;;2915:76:42;;11929:2:77;2915:76:42;;;11911:21:77;11968:2;11948:18;;;11941:30;12007:34;11987:18;;;11980:62;-1:-1:-1;;;12058:18:77;;;12051:45;12113:19;;2915:76:42;11727:411:77;2915:76:42;3002:21;3026:10;3464:9;;;;;;;;;-1:-1:-1;3464:9:42;;;3388:92;3026:10;3002:34;;3077:1;3059:7;3053:21;:25;:86;;;;;;;;;;;;;;;;;3105:7;3114:18;:7;:16;:18::i;:::-;3088:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3053:86;3046:93;2817:329;-1:-1:-1;;;2817:329:42:o;2375:213:70:-;2454:25;2468:10;2454:13;:25::i;:::-;2433:108;;;;-1:-1:-1;;;2433:108:70;;12820:2:77;2433:108:70;;;12802:21:77;12859:2;12839:18;;;12832:30;12898:34;12878:18;;;12871:62;-1:-1:-1;;;12949:18:77;;;12942:34;12993:19;;2433:108:70;12618:400:77;2433:108:70;2551:30;2564:4;2570:10;2551:12;:30::i;878:144:71:-;1108:6:40;;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;950:23:71::1;961:11;950:10;:23::i;:::-;988:27;::::0;-1:-1:-1;;;;;988:27:71;::::1;::::0;::::1;::::0;;;::::1;878:144:::0;:::o;1918:198:40:-;1108:6;;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:40;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:40;;13225:2:77;1998:73:40::1;::::0;::::1;13207:21:77::0;13264:2;13244:18;;;13237:30;13303:34;13283:18;;;13276:62;-1:-1:-1;;;13354:18:77;;;13347:36;13400:19;;1998:73:40::1;13023:402:77::0;1998:73:40::1;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;11162:171:42:-;11236:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;11236:29:42;-1:-1:-1;;;;;11236:29:42;;;;;;;;:24;;11289:23;11236:24;11289:14;:23::i;:::-;-1:-1:-1;;;;;11280:46:42;;;;;;;;;;;11162:171;;:::o;7437:344::-;7530:4;7242:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7242:16:42;7546:73;;;;-1:-1:-1;;;7546:73:42;;13632:2:77;7546:73:42;;;13614:21:77;13671:2;13651:18;;;13644:30;13710:34;13690:18;;;13683:62;-1:-1:-1;;;13761:18:77;;;13754:42;13813:19;;7546:73:42;13430:408:77;7546:73:42;7629:13;7645:23;7660:7;7645:14;:23::i;:::-;7629:39;;7697:5;-1:-1:-1;;;;;7686:16:42;:7;-1:-1:-1;;;;;7686:16:42;;:52;;;-1:-1:-1;;;;;;4622:25:42;;;4599:4;4622:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7706:32;7686:87;;;;7766:7;-1:-1:-1;;;;;7742:31:42;:20;7754:7;7742:11;:20::i;:::-;-1:-1:-1;;;;;7742:31:42;;7686:87;7678:96;7437:344;-1:-1:-1;;;;7437:344:42:o;10445:605::-;10599:4;-1:-1:-1;;;;;10572:31:42;:23;10587:7;10572:14;:23::i;:::-;-1:-1:-1;;;;;10572:31:42;;10564:81;;;;-1:-1:-1;;;10564:81:42;;14045:2:77;10564:81:42;;;14027:21:77;14084:2;14064:18;;;14057:30;14123:34;14103:18;;;14096:62;-1:-1:-1;;;14174:18:77;;;14167:35;14219:19;;10564:81:42;13843:401:77;10564:81:42;-1:-1:-1;;;;;10663:16:42;;10655:65;;;;-1:-1:-1;;;10655:65:42;;14451:2:77;10655:65:42;;;14433:21:77;14490:2;14470:18;;;14463:30;14529:34;14509:18;;;14502:62;-1:-1:-1;;;14580:18:77;;;14573:34;14624:19;;10655:65:42;14249:400:77;10655:65:42;10832:29;10849:1;10853:7;10832:8;:29::i;:::-;-1:-1:-1;;;;;10872:15:42;;;;;;:9;:15;;;;;:20;;10891:1;;10872:15;:20;;10891:1;;10872:20;:::i;:::-;;;;-1:-1:-1;;;;;;;10902:13:42;;;;;;:9;:13;;;;;:18;;10919:1;;10902:13;:18;;10919:1;;10902:18;:::i;:::-;;;;-1:-1:-1;;10930:16:42;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;10930:21:42;-1:-1:-1;;;;;10930:21:42;;;;;;;;;10967:27;;10930:16;;10967:27;;;;;;;3607:331;3537:401;;:::o;3760:113:70:-;3839:20;;;;:10;:20;;;;;:27;3862:4;3839:20;:27;:::i;9715:406:42:-;9774:13;9790:23;9805:7;9790:14;:23::i;:::-;9774:39;;9910:29;9927:1;9931:7;9910:8;:29::i;:::-;-1:-1:-1;;;;;9950:16:42;;;;;;:9;:16;;;;;:21;;9970:1;;9950:16;:21;;9970:1;;9950:21;:::i;:::-;;;;-1:-1:-1;;9988:16:42;;;;:7;:16;;;;;;9981:23;;-1:-1:-1;;;;;;9981:23:42;;;10020:36;9996:7;;9988:16;-1:-1:-1;;;;;10020:36:42;;;;;9988:16;;10020:36;4283:153;;:::o;2270:187:40:-;2362:6;;;-1:-1:-1;;;;;2378:17:40;;;-1:-1:-1;;;;;;2378:17:40;;;;;;;2410:40;;2362:6;;;2378:17;2362:6;;2410:40;;2343:16;;2410:40;2333:124;2270:187;:::o;11469:307:42:-;11619:8;-1:-1:-1;;;;;11610:17:42;:5;-1:-1:-1;;;;;11610:17:42;;11602:55;;;;-1:-1:-1;;;11602:55:42;;17323:2:77;11602:55:42;;;17305:21:77;17362:2;17342:18;;;17335:30;17401:27;17381:18;;;17374:55;17446:18;;11602:55:42;17121:349:77;11602:55:42;-1:-1:-1;;;;;11667:25:42;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;11667:46:42;;;;;;;;;;11728:41;;540::77;;;11728::42;;513:18:77;11728:41:42;;;;;;;11469:307;;;:::o;2104:99:71:-;-1:-1:-1;;;;;2164:25:71;;;;;:12;:25;;;;;:32;;-1:-1:-1;;2164:32:71;2192:4;2164:32;;;2104:99::o;6546:305:42:-;6696:28;6706:4;6712:2;6716:7;6696:9;:28::i;:::-;6742:47;6765:4;6771:2;6775:7;6784:4;6742:22;:47::i;:::-;6734:110;;;;-1:-1:-1;;;6734:110:42;;;;;;;:::i;328:703:48:-;384:13;601:5;610:1;601:10;597:51;;-1:-1:-1;;627:10:48;;;;;;;;;;;;-1:-1:-1;;;627:10:48;;;;;328:703::o;597:51::-;672:5;657:12;711:75;718:9;;711:75;;743:8;;;;:::i;:::-;;-1:-1:-1;765:10:48;;-1:-1:-1;773:2:48;765:10;;:::i;:::-;;;711:75;;;795:19;827:6;817:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;817:17:48;;795:39;;844:150;851:10;;844:150;;877:11;887:1;877:11;;:::i;:::-;;-1:-1:-1;945:10:48;953:2;945:5;:10;:::i;:::-;932:24;;:2;:24;:::i;:::-;919:39;;902:6;909;902:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;902:56:48;;;;;;;;-1:-1:-1;972:11:48;981:2;972:11;;:::i;:::-;;;844:150;;3452:302:70;3585:9;;;3546:7;;3585:9;;3546:7;3604:11;3585:9;3604:11;:::i;:::-;;;;;;3625:22;3631:8;3641:5;3625;:22::i;:::-;3657:25;3670:5;3677:4;3657:12;:25::i;:::-;532:24:75;;;;:14;:24;;;;;:35;;-1:-1:-1;;;;;;532:35:75;-1:-1:-1;;;;;532:35:75;;;;;3742:5:70;3452:302;-1:-1:-1;;;3452:302:70:o;12328:776:42:-;12477:4;-1:-1:-1;;;;;12497:13:42;;1465:19:46;:23;12493:605:42;;12532:71;;-1:-1:-1;;;12532:71:42;;-1:-1:-1;;;;;12532:36:42;;;;;:71;;719:10:47;;12583:4:42;;12589:7;;12598:4;;12532:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12532:71:42;;;;;;;;-1:-1:-1;;12532:71:42;;;;;;;;;;;;:::i;:::-;;;12528:518;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12770:6;:13;12787:1;12770:18;12766:266;;12812:60;;-1:-1:-1;;;12812:60:42;;;;;;;:::i;12766:266::-;12984:6;12978:13;12969:6;12965:2;12961:15;12954:38;12528:518;-1:-1:-1;;;;;;12653:51:42;-1:-1:-1;;;12653:51:42;;-1:-1:-1;12646:58:42;;12493:605;-1:-1:-1;13083:4:42;12328:776;;;;;;:::o;9071:427::-;-1:-1:-1;;;;;9150:16:42;;9142:61;;;;-1:-1:-1;;;9142:61:42;;19218:2:77;9142:61:42;;;19200:21:77;;;19237:18;;;19230:30;19296:34;19276:18;;;19269:62;19348:18;;9142:61:42;19016:356:77;9142:61:42;7219:4;7242:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7242:16:42;:30;9213:58;;;;-1:-1:-1;;;9213:58:42;;19579:2:77;9213:58:42;;;19561:21:77;19618:2;19598:18;;;19591:30;19657;19637:18;;;19630:58;19705:18;;9213:58:42;19377:352:77;9213:58:42;-1:-1:-1;;;;;9338:13:42;;;;;;:9;:13;;;;;:18;;9355:1;;9338:13;:18;;9355:1;;9338:18;:::i;:::-;;;;-1:-1:-1;;9366:16:42;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9366:21:42;-1:-1:-1;;;;;9366:21:42;;;;;;;;9403:33;;9366:16;;;9403:33;;9366:16;;9403:33;4283:153;;:::o;14:131:77:-;-1:-1:-1;;;;;;88:32:77;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:160::-;657:20;;713:13;;706:21;696:32;;686:60;;742:1;739;732:12;757:180;813:6;866:2;854:9;845:7;841:23;837:32;834:52;;;882:1;879;872:12;834:52;905:26;921:9;905:26;:::i;942:258::-;1014:1;1024:113;1038:6;1035:1;1032:13;1024:113;;;1114:11;;;1108:18;1095:11;;;1088:39;1060:2;1053:10;1024:113;;;1155:6;1152:1;1149:13;1146:48;;;-1:-1:-1;;1190:1:77;1172:16;;1165:27;942:258::o;1205:::-;1247:3;1285:5;1279:12;1312:6;1307:3;1300:19;1328:63;1384:6;1377:4;1372:3;1368:14;1361:4;1354:5;1350:16;1328:63;:::i;:::-;1445:2;1424:15;-1:-1:-1;;1420:29:77;1411:39;;;;1452:4;1407:50;;1205:258;-1:-1:-1;;1205:258:77:o;1468:220::-;1617:2;1606:9;1599:21;1580:4;1637:45;1678:2;1667:9;1663:18;1655:6;1637:45;:::i;1693:180::-;1752:6;1805:2;1793:9;1784:7;1780:23;1776:32;1773:52;;;1821:1;1818;1811:12;1773:52;-1:-1:-1;1844:23:77;;1693:180;-1:-1:-1;1693:180:77:o;2086:173::-;2154:20;;-1:-1:-1;;;;;2203:31:77;;2193:42;;2183:70;;2249:1;2246;2239:12;2264:254;2332:6;2340;2393:2;2381:9;2372:7;2368:23;2364:32;2361:52;;;2409:1;2406;2399:12;2361:52;2432:29;2451:9;2432:29;:::i;:::-;2422:39;2508:2;2493:18;;;;2480:32;;-1:-1:-1;;;2264:254:77:o;2523:328::-;2600:6;2608;2616;2669:2;2657:9;2648:7;2644:23;2640:32;2637:52;;;2685:1;2682;2675:12;2637:52;2708:29;2727:9;2708:29;:::i;:::-;2698:39;;2756:38;2790:2;2779:9;2775:18;2756:38;:::i;:::-;2746:48;;2841:2;2830:9;2826:18;2813:32;2803:42;;2523:328;;;;;:::o;2856:127::-;2917:10;2912:3;2908:20;2905:1;2898:31;2948:4;2945:1;2938:15;2972:4;2969:1;2962:15;2988:275;3059:2;3053:9;3124:2;3105:13;;-1:-1:-1;;3101:27:77;3089:40;;3159:18;3144:34;;3180:22;;;3141:62;3138:88;;;3206:18;;:::i;:::-;3242:2;3235:22;2988:275;;-1:-1:-1;2988:275:77:o;3268:407::-;3333:5;3367:18;3359:6;3356:30;3353:56;;;3389:18;;:::i;:::-;3427:57;3472:2;3451:15;;-1:-1:-1;;3447:29:77;3478:4;3443:40;3427:57;:::i;:::-;3418:66;;3507:6;3500:5;3493:21;3547:3;3538:6;3533:3;3529:16;3526:25;3523:45;;;3564:1;3561;3554:12;3523:45;3613:6;3608:3;3601:4;3594:5;3590:16;3577:43;3667:1;3660:4;3651:6;3644:5;3640:18;3636:29;3629:40;3268:407;;;;;:::o;3680:222::-;3723:5;3776:3;3769:4;3761:6;3757:17;3753:27;3743:55;;3794:1;3791;3784:12;3743:55;3816:80;3892:3;3883:6;3870:20;3863:4;3855:6;3851:17;3816:80;:::i;3907:390::-;3985:6;3993;4046:2;4034:9;4025:7;4021:23;4017:32;4014:52;;;4062:1;4059;4052:12;4014:52;4098:9;4085:23;4075:33;;4159:2;4148:9;4144:18;4131:32;4186:18;4178:6;4175:30;4172:50;;;4218:1;4215;4208:12;4172:50;4241;4283:7;4274:6;4263:9;4259:22;4241:50;:::i;:::-;4231:60;;;3907:390;;;;;:::o;4302:186::-;4361:6;4414:2;4402:9;4393:7;4389:23;4385:32;4382:52;;;4430:1;4427;4420:12;4382:52;4453:29;4472:9;4453:29;:::i;4899:254::-;4964:6;4972;5025:2;5013:9;5004:7;5000:23;4996:32;4993:52;;;5041:1;5038;5031:12;4993:52;5064:29;5083:9;5064:29;:::i;:::-;5054:39;;5112:35;5143:2;5132:9;5128:18;5112:35;:::i;:::-;5102:45;;4899:254;;;;;:::o;5158:952::-;5242:6;5273:2;5316;5304:9;5295:7;5291:23;5287:32;5284:52;;;5332:1;5329;5322:12;5284:52;5372:9;5359:23;5401:18;5442:2;5434:6;5431:14;5428:34;;;5458:1;5455;5448:12;5428:34;5496:6;5485:9;5481:22;5471:32;;5541:7;5534:4;5530:2;5526:13;5522:27;5512:55;;5563:1;5560;5553:12;5512:55;5599:2;5586:16;5621:2;5617;5614:10;5611:36;;;5627:18;;:::i;:::-;5673:2;5670:1;5666:10;5656:20;;5696:28;5720:2;5716;5712:11;5696:28;:::i;:::-;5758:15;;;5828:11;;;5824:20;;;5789:12;;;;5856:19;;;5853:39;;;5888:1;5885;5878:12;5853:39;5912:11;;;;5932:148;5948:6;5943:3;5940:15;5932:148;;;6014:23;6033:3;6014:23;:::i;:::-;6002:36;;5965:12;;;;6058;;;;5932:148;;;6099:5;5158:952;-1:-1:-1;;;;;;;;5158:952:77:o;6115:667::-;6210:6;6218;6226;6234;6287:3;6275:9;6266:7;6262:23;6258:33;6255:53;;;6304:1;6301;6294:12;6255:53;6327:29;6346:9;6327:29;:::i;:::-;6317:39;;6375:38;6409:2;6398:9;6394:18;6375:38;:::i;:::-;6365:48;;6460:2;6449:9;6445:18;6432:32;6422:42;;6515:2;6504:9;6500:18;6487:32;6542:18;6534:6;6531:30;6528:50;;;6574:1;6571;6564:12;6528:50;6597:22;;6650:4;6642:13;;6638:27;-1:-1:-1;6628:55:77;;6679:1;6676;6669:12;6628:55;6702:74;6768:7;6763:2;6750:16;6745:2;6741;6737:11;6702:74;:::i;:::-;6692:84;;;6115:667;;;;;;;:::o;6787:322::-;6856:6;6909:2;6897:9;6888:7;6884:23;6880:32;6877:52;;;6925:1;6922;6915:12;6877:52;6965:9;6952:23;6998:18;6990:6;6987:30;6984:50;;;7030:1;7027;7020:12;6984:50;7053;7095:7;7086:6;7075:9;7071:22;7053:50;:::i;7114:260::-;7182:6;7190;7243:2;7231:9;7222:7;7218:23;7214:32;7211:52;;;7259:1;7256;7249:12;7211:52;7282:29;7301:9;7282:29;:::i;:::-;7272:39;;7330:38;7364:2;7353:9;7349:18;7330:38;:::i;7379:356::-;7581:2;7563:21;;;7600:18;;;7593:30;7659:34;7654:2;7639:18;;7632:62;7726:2;7711:18;;7379:356::o;7740:380::-;7819:1;7815:12;;;;7862;;;7883:61;;7937:4;7929:6;7925:17;7915:27;;7883:61;7990:2;7982:6;7979:14;7959:18;7956:38;7953:161;;8036:10;8031:3;8027:20;8024:1;8017:31;8071:4;8068:1;8061:15;8099:4;8096:1;8089:15;7953:161;;7740:380;;;:::o;9365:413::-;9567:2;9549:21;;;9606:2;9586:18;;;9579:30;9645:34;9640:2;9625:18;;9618:62;-1:-1:-1;;;9711:2:77;9696:18;;9689:47;9768:3;9753:19;;9365:413::o;11323:127::-;11384:10;11379:3;11375:20;11372:1;11365:31;11415:4;11412:1;11405:15;11439:4;11436:1;11429:15;11455:127;11516:10;11511:3;11507:20;11504:1;11497:31;11547:4;11544:1;11537:15;11571:4;11568:1;11561:15;11587:135;11626:3;11647:17;;;11644:43;;11667:18;;:::i;:::-;-1:-1:-1;11714:1:77;11703:13;;11587:135::o;12143:470::-;12322:3;12360:6;12354:13;12376:53;12422:6;12417:3;12410:4;12402:6;12398:17;12376:53;:::i;:::-;12492:13;;12451:16;;;;12514:57;12492:13;12451:16;12548:4;12536:17;;12514:57;:::i;:::-;12587:20;;12143:470;-1:-1:-1;;;;12143:470:77:o;14654:125::-;14694:4;14722:1;14719;14716:8;14713:34;;;14727:18;;:::i;:::-;-1:-1:-1;14764:9:77;;14654:125::o;14784:128::-;14824:3;14855:1;14851:6;14848:1;14845:13;14842:39;;;14861:18;;:::i;:::-;-1:-1:-1;14897:9:77;;14784:128::o;15043:545::-;15145:2;15140:3;15137:11;15134:448;;;15181:1;15206:5;15202:2;15195:17;15251:4;15247:2;15237:19;15321:2;15309:10;15305:19;15302:1;15298:27;15292:4;15288:38;15357:4;15345:10;15342:20;15339:47;;;-1:-1:-1;15380:4:77;15339:47;15435:2;15430:3;15426:12;15423:1;15419:20;15413:4;15409:31;15399:41;;15490:82;15508:2;15501:5;15498:13;15490:82;;;15553:17;;;15534:1;15523:13;15490:82;;;15494:3;;;15043:545;;;:::o;15764:1352::-;15890:3;15884:10;15917:18;15909:6;15906:30;15903:56;;;15939:18;;:::i;:::-;15968:97;16058:6;16018:38;16050:4;16044:11;16018:38;:::i;:::-;16012:4;15968:97;:::i;:::-;16120:4;;16184:2;16173:14;;16201:1;16196:663;;;;16903:1;16920:6;16917:89;;;-1:-1:-1;16972:19:77;;;16966:26;16917:89;-1:-1:-1;;15721:1:77;15717:11;;;15713:24;15709:29;15699:40;15745:1;15741:11;;;15696:57;17019:81;;16166:944;;16196:663;14990:1;14983:14;;;15027:4;15014:18;;-1:-1:-1;;16232:20:77;;;16350:236;16364:7;16361:1;16358:14;16350:236;;;16453:19;;;16447:26;16432:42;;16545:27;;;;16513:1;16501:14;;;;16380:19;;16350:236;;;16354:3;16614:6;16605:7;16602:19;16599:201;;;16675:19;;;16669:26;-1:-1:-1;;16758:1:77;16754:14;;;16770:3;16750:24;16746:37;16742:42;16727:58;16712:74;;16599:201;-1:-1:-1;;;;;16846:1:77;16830:14;;;16826:22;16813:36;;-1:-1:-1;15764:1352:77:o;17475:414::-;17677:2;17659:21;;;17716:2;17696:18;;;17689:30;17755:34;17750:2;17735:18;;17728:62;-1:-1:-1;;;17821:2:77;17806:18;;17799:48;17879:3;17864:19;;17475:414::o;17894:127::-;17955:10;17950:3;17946:20;17943:1;17936:31;17986:4;17983:1;17976:15;18010:4;18007:1;18000:15;18026:120;18066:1;18092;18082:35;;18097:18;;:::i;:::-;-1:-1:-1;18131:9:77;;18026:120::o;18151:112::-;18183:1;18209;18199:35;;18214:18;;:::i;:::-;-1:-1:-1;18248:9:77;;18151:112::o;18268:489::-;-1:-1:-1;;;;;18537:15:77;;;18519:34;;18589:15;;18584:2;18569:18;;18562:43;18636:2;18621:18;;18614:34;;;18684:3;18679:2;18664:18;;18657:31;;;18462:4;;18705:46;;18731:19;;18723:6;18705:46;:::i;:::-;18697:54;18268:489;-1:-1:-1;;;;;;18268:489:77:o;18762:249::-;18831:6;18884:2;18872:9;18863:7;18859:23;18855:32;18852:52;;;18900:1;18897;18890:12;18852:52;18932:9;18926:16;18951:30;18975:5;18951:30;:::i", "linkReferences": {} }, "methodIdentifiers": { @@ -1301,16 +1301,16 @@ }, "settings": { "remappings": [ - ":aux/=lib/aux/", - ":ds-test/=lib/ds-test/src/", - ":erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - ":forge-std/=lib/forge-std/src/", - ":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", - ":openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", - ":rareprotocol/aux/=lib/aux/src/", - ":royalty-guard/=lib/royalty-guard/src/royalty-guard/", - ":solmate/=lib/royalty-guard/lib/solmate/src/" + "aux/=lib/aux/", + "ds-test/=lib/ds-test/src/", + "erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", + "openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", + "rareprotocol/aux/=lib/aux/src/", + "royalty-guard/=lib/royalty-guard/src/royalty-guard/", + "solmate/=lib/royalty-guard/lib/solmate/src/" ], "optimizer": { "enabled": true, @@ -1450,44 +1450,60 @@ }, "ast": { "absolutePath": "src/token/ERC721/superrare/SuperRareV2.sol", - "id": 10106, + "id": 35244, "exportedSymbols": { - "ERC721": [5766], - "ISuperRare": [9863], - "Ownable": [4820], - "SuperRareV2": [10105], - "TokenCreator": [10459], - "Whitelist": [10219] + "ERC721": [ + 29873 + ], + "ISuperRare": [ + 35001 + ], + "Ownable": [ + 28927 + ], + "SuperRareV2": [ + 35243 + ], + "TokenCreator": [ + 35597 + ], + "Whitelist": [ + 35357 + ] }, "nodeType": "SourceUnit", - "src": "32:3844:52", + "src": "32:3844:70", "nodes": [ { - "id": 9865, + "id": 35003, "nodeType": "PragmaDirective", - "src": "32:23:52", + "src": "32:23:70", "nodes": [], - "literals": ["solidity", "0.8", ".15"] + "literals": [ + "solidity", + "0.8", + ".15" + ] }, { - "id": 9867, + "id": 35005, "nodeType": "ImportDirective", - "src": "57:70:52", + "src": "57:70:70", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol", "file": "openzeppelin-contracts/token/ERC721/ERC721.sol", "nameLocation": "-1:-1:-1", - "scope": 10106, - "sourceUnit": 5767, + "scope": 35244, + "sourceUnit": 29874, "symbolAliases": [ { "foreign": { - "id": 9866, + "id": 35004, "name": "ERC721", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5766, - "src": "65:6:52", + "referencedDeclaration": 29873, + "src": "65:6:70", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1496,24 +1512,24 @@ "unitAlias": "" }, { - "id": 9869, + "id": 35007, "nodeType": "ImportDirective", - "src": "128:66:52", + "src": "128:66:70", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/access/Ownable.sol", "file": "openzeppelin-contracts/access/Ownable.sol", "nameLocation": "-1:-1:-1", - "scope": 10106, - "sourceUnit": 4821, + "scope": 35244, + "sourceUnit": 28928, "symbolAliases": [ { "foreign": { - "id": 9868, + "id": 35006, "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4820, - "src": "136:7:52", + "referencedDeclaration": 28927, + "src": "136:7:70", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1522,24 +1538,24 @@ "unitAlias": "" }, { - "id": 9871, + "id": 35009, "nodeType": "ImportDirective", - "src": "195:63:52", + "src": "195:63:70", "nodes": [], "absolutePath": "src/token/extensions/TokenCreator.sol", "file": "../../extensions/TokenCreator.sol", "nameLocation": "-1:-1:-1", - "scope": 10106, - "sourceUnit": 10460, + "scope": 35244, + "sourceUnit": 35598, "symbolAliases": [ { "foreign": { - "id": 9870, + "id": 35008, "name": "TokenCreator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10459, - "src": "203:12:52", + "referencedDeclaration": 35597, + "src": "203:12:70", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1548,24 +1564,24 @@ "unitAlias": "" }, { - "id": 9873, + "id": 35011, "nodeType": "ImportDirective", - "src": "259:42:52", + "src": "259:42:70", "nodes": [], "absolutePath": "src/token/ERC721/superrare/Whitelist.sol", "file": "./Whitelist.sol", "nameLocation": "-1:-1:-1", - "scope": 10106, - "sourceUnit": 10220, + "scope": 35244, + "sourceUnit": 35358, "symbolAliases": [ { "foreign": { - "id": 9872, + "id": 35010, "name": "Whitelist", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10219, - "src": "267:9:52", + "referencedDeclaration": 35357, + "src": "267:9:70", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1574,24 +1590,24 @@ "unitAlias": "" }, { - "id": 9875, + "id": 35013, "nodeType": "ImportDirective", - "src": "302:44:52", + "src": "302:44:70", "nodes": [], "absolutePath": "src/token/ERC721/superrare/ISuperRare.sol", "file": "./ISuperRare.sol", "nameLocation": "-1:-1:-1", - "scope": 10106, - "sourceUnit": 9864, + "scope": 35244, + "sourceUnit": 35002, "symbolAliases": [ { "foreign": { - "id": 9874, + "id": 35012, "name": "ISuperRare", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9863, - "src": "310:10:52", + "referencedDeclaration": 35001, + "src": "310:10:70", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1600,20 +1616,20 @@ "unitAlias": "" }, { - "id": 10105, + "id": 35243, "nodeType": "ContractDefinition", - "src": "348:3527:52", + "src": "348:3527:70", "nodes": [ { - "id": 9887, + "id": 35025, "nodeType": "VariableDeclaration", - "src": "419:45:52", + "src": "419:45:70", "nodes": [], "constant": false, "mutability": "mutable", "name": "_tokenURIs", - "nameLocation": "454:10:52", - "scope": 10105, + "nameLocation": "454:10:70", + "scope": 35243, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1621,28 +1637,28 @@ "typeString": "mapping(uint256 => string)" }, "typeName": { - "id": 9886, + "id": 35024, "keyType": { - "id": 9884, + "id": 35022, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "427:7:52", + "src": "427:7:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "419:26:52", + "src": "419:26:70", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", "typeString": "mapping(uint256 => string)" }, "valueType": { - "id": 9885, + "id": 35023, "name": "string", "nodeType": "ElementaryTypeName", - "src": "438:6:52", + "src": "438:6:70", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1652,15 +1668,15 @@ "visibility": "private" }, { - "id": 9889, + "id": 35027, "nodeType": "VariableDeclaration", - "src": "509:25:52", + "src": "509:25:70", "nodes": [], "constant": false, "mutability": "mutable", "name": "idCounter", - "nameLocation": "525:9:52", - "scope": 10105, + "nameLocation": "525:9:70", + "scope": 35243, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1668,10 +1684,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9888, + "id": 35026, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "509:7:52", + "src": "509:7:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1680,63 +1696,63 @@ "visibility": "private" }, { - "id": 9892, + "id": 35030, "nodeType": "VariableDeclaration", - "src": "597:31:52", + "src": "597:31:70", "nodes": [], "constant": false, "mutability": "mutable", "name": "oldSuperRare", - "nameLocation": "616:12:52", - "scope": 10105, + "nameLocation": "616:12:70", + "scope": 35243, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ISuperRare_$9863", + "typeIdentifier": "t_contract$_ISuperRare_$35001", "typeString": "contract ISuperRare" }, "typeName": { - "id": 9891, + "id": 35029, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 9890, + "id": 35028, "name": "ISuperRare", "nodeType": "IdentifierPath", - "referencedDeclaration": 9863, - "src": "597:10:52" + "referencedDeclaration": 35001, + "src": "597:10:70" }, - "referencedDeclaration": 9863, - "src": "597:10:52", + "referencedDeclaration": 35001, + "src": "597:10:70", "typeDescriptions": { - "typeIdentifier": "t_contract$_ISuperRare_$9863", + "typeIdentifier": "t_contract$_ISuperRare_$35001", "typeString": "contract ISuperRare" } }, "visibility": "private" }, { - "id": 9898, + "id": 35036, "nodeType": "EventDefinition", - "src": "681:61:52", + "src": "681:61:70", "nodes": [], "anonymous": false, "eventSelector": "931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd", "name": "TokenURIUpdated", - "nameLocation": "687:15:52", + "nameLocation": "687:15:70", "parameters": { - "id": 9897, + "id": 35035, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9894, + "id": 35032, "indexed": true, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "719:8:52", + "nameLocation": "719:8:70", "nodeType": "VariableDeclaration", - "scope": 9898, - "src": "703:24:52", + "scope": 35036, + "src": "703:24:70", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1744,10 +1760,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9893, + "id": 35031, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "703:7:52", + "src": "703:7:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1757,14 +1773,14 @@ }, { "constant": false, - "id": 9896, + "id": 35034, "indexed": false, "mutability": "mutable", "name": "_uri", - "nameLocation": "736:4:52", + "nameLocation": "736:4:70", "nodeType": "VariableDeclaration", - "scope": 9898, - "src": "729:11:52", + "scope": 35036, + "src": "729:11:70", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1772,10 +1788,10 @@ "typeString": "string" }, "typeName": { - "id": 9895, + "id": 35033, "name": "string", "nodeType": "ElementaryTypeName", - "src": "729:6:52", + "src": "729:6:70", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1784,34 +1800,34 @@ "visibility": "internal" } ], - "src": "702:39:52" + "src": "702:39:70" } }, { - "id": 9914, + "id": 35052, "nodeType": "FunctionDefinition", - "src": "748:409:52", + "src": "748:409:70", "nodes": [], "body": { - "id": 9913, + "id": 35051, "nodeType": "Block", - "src": "872:285:52", + "src": "872:285:70", "nodes": [], "statements": [ { "expression": { - "id": 9911, + "id": 35049, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 9909, + "id": 35047, "name": "idCounter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9889, - "src": "1137:9:52", + "referencedDeclaration": 35027, + "src": "1137:9:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1821,29 +1837,29 @@ "operator": "=", "rightHandSide": { "hexValue": "30", - "id": 9910, + "id": 35048, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1149:1:52", + "src": "1149:1:70", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1137:13:52", + "src": "1137:13:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 9912, + "id": 35050, "nodeType": "ExpressionStatement", - "src": "1137:13:52" + "src": "1137:13:70" } ] }, @@ -1853,58 +1869,58 @@ { "arguments": [ { - "id": 9905, + "id": 35043, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9900, - "src": "852:5:52", + "referencedDeclaration": 35038, + "src": "852:5:70", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 9906, + "id": 35044, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9902, - "src": "859:7:52", + "referencedDeclaration": 35040, + "src": "859:7:70", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], - "id": 9907, + "id": 35045, "kind": "baseConstructorSpecifier", "modifierName": { - "id": 9904, + "id": 35042, "name": "ERC721", "nodeType": "IdentifierPath", - "referencedDeclaration": 5766, - "src": "845:6:52" + "referencedDeclaration": 29873, + "src": "845:6:70" }, "nodeType": "ModifierInvocation", - "src": "845:22:52" + "src": "845:22:70" } ], "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 9903, + "id": 35041, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9900, + "id": 35038, "mutability": "mutable", "name": "_name", - "nameLocation": "774:5:52", + "nameLocation": "774:5:70", "nodeType": "VariableDeclaration", - "scope": 9914, - "src": "760:19:52", + "scope": 35052, + "src": "760:19:70", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1912,10 +1928,10 @@ "typeString": "string" }, "typeName": { - "id": 9899, + "id": 35037, "name": "string", "nodeType": "ElementaryTypeName", - "src": "760:6:52", + "src": "760:6:70", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1925,13 +1941,13 @@ }, { "constant": false, - "id": 9902, + "id": 35040, "mutability": "mutable", "name": "_symbol", - "nameLocation": "795:7:52", + "nameLocation": "795:7:70", "nodeType": "VariableDeclaration", - "scope": 9914, - "src": "781:21:52", + "scope": 35052, + "src": "781:21:70", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1939,10 +1955,10 @@ "typeString": "string" }, "typeName": { - "id": 9901, + "id": 35039, "name": "string", "nodeType": "ElementaryTypeName", - "src": "781:6:52", + "src": "781:6:70", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1951,48 +1967,50 @@ "visibility": "internal" } ], - "src": "759:44:52" + "src": "759:44:70" }, "returnParameters": { - "id": 9908, + "id": 35046, "nodeType": "ParameterList", "parameters": [], - "src": "872:0:52" + "src": "872:0:70" }, - "scope": 10105, + "scope": 35243, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 9953, + "id": 35091, "nodeType": "FunctionDefinition", - "src": "1289:325:52", + "src": "1289:325:70", "nodes": [], "body": { - "id": 9952, + "id": 35090, "nodeType": "Block", - "src": "1361:253:52", + "src": "1361:253:70", "nodes": [], "statements": [ { "body": { - "id": 9950, + "id": 35088, "nodeType": "Block", - "src": "1455:153:52", + "src": "1455:153:70", "statements": [ { - "assignments": [9935], + "assignments": [ + 35073 + ], "declarations": [ { "constant": false, - "id": 9935, + "id": 35073, "mutability": "mutable", "name": "creator", - "nameLocation": "1477:7:52", + "nameLocation": "1477:7:70", "nodeType": "VariableDeclaration", - "scope": 9950, - "src": "1469:15:52", + "scope": 35088, + "src": "1469:15:70", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2000,10 +2018,10 @@ "typeString": "address" }, "typeName": { - "id": 9934, + "id": 35072, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1469:7:52", + "src": "1469:7:70", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2013,28 +2031,28 @@ "visibility": "internal" } ], - "id": 9939, + "id": 35077, "initialValue": { "baseExpression": { - "id": 9936, + "id": 35074, "name": "_whitelistees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9918, - "src": "1487:13:52", + "referencedDeclaration": 35056, + "src": "1487:13:70", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 9938, + "id": 35076, "indexExpression": { - "id": 9937, + "id": 35075, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9924, - "src": "1501:1:52", + "referencedDeclaration": 35062, + "src": "1501:1:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2045,18 +2063,18 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1487:16:52", + "src": "1487:16:70", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "1469:34:52" + "src": "1469:34:70" }, { "condition": { - "id": 9943, + "id": 35081, "isConstant": false, "isLValue": false, "isPure": false, @@ -2064,16 +2082,16 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1521:23:52", + "src": "1521:23:70", "subExpression": { "arguments": [ { - "id": 9941, + "id": 35079, "name": "creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9935, - "src": "1536:7:52", + "referencedDeclaration": 35073, + "src": "1536:7:70", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2087,18 +2105,18 @@ "typeString": "address" } ], - "id": 9940, + "id": 35078, "name": "isWhitelisted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10192, - "src": "1522:13:52", + "referencedDeclaration": 35330, + "src": "1522:13:70", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, - "id": 9942, + "id": 35080, "isConstant": false, "isLValue": false, "isPure": false, @@ -2106,7 +2124,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1522:22:52", + "src": "1522:22:70", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2118,24 +2136,24 @@ "typeString": "bool" } }, - "id": 9949, + "id": 35087, "nodeType": "IfStatement", - "src": "1517:81:52", + "src": "1517:81:70", "trueBody": { - "id": 9948, + "id": 35086, "nodeType": "Block", - "src": "1546:52:52", + "src": "1546:52:70", "statements": [ { "expression": { "arguments": [ { - "id": 9945, + "id": 35083, "name": "creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9935, - "src": "1575:7:52", + "referencedDeclaration": 35073, + "src": "1575:7:70", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2149,18 +2167,18 @@ "typeString": "address" } ], - "id": 9944, + "id": 35082, "name": "_whitelist", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10218, - "src": "1564:10:52", + "referencedDeclaration": 35356, + "src": "1564:10:70", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 9946, + "id": 35084, "isConstant": false, "isLValue": false, "isPure": false, @@ -2168,16 +2186,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1564:19:52", + "src": "1564:19:70", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9947, + "id": 35085, "nodeType": "ExpressionStatement", - "src": "1564:19:52" + "src": "1564:19:70" } ] } @@ -2189,18 +2207,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 9930, + "id": 35068, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 9927, + "id": 35065, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9924, - "src": "1424:1:52", + "referencedDeclaration": 35062, + "src": "1424:1:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2210,49 +2228,51 @@ "operator": "<", "rightExpression": { "expression": { - "id": 9928, + "id": 35066, "name": "_whitelistees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9918, - "src": "1428:13:52", + "referencedDeclaration": 35056, + "src": "1428:13:70", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 9929, + "id": 35067, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "1428:20:52", + "src": "1428:20:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1424:24:52", + "src": "1424:24:70", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 9951, + "id": 35089, "initializationExpression": { - "assignments": [9924], + "assignments": [ + 35062 + ], "declarations": [ { "constant": false, - "id": 9924, + "id": 35062, "mutability": "mutable", "name": "i", - "nameLocation": "1417:1:52", + "nameLocation": "1417:1:70", "nodeType": "VariableDeclaration", - "scope": 9951, - "src": "1409:9:52", + "scope": 35089, + "src": "1409:9:70", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2260,10 +2280,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9923, + "id": 35061, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1409:7:52", + "src": "1409:7:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2272,17 +2292,17 @@ "visibility": "internal" } ], - "id": 9926, + "id": 35064, "initialValue": { "hexValue": "30", - "id": 9925, + "id": 35063, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1421:1:52", + "src": "1421:1:70", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -2290,11 +2310,11 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "1409:13:52" + "src": "1409:13:70" }, "loopExpression": { "expression": { - "id": 9932, + "id": 35070, "isConstant": false, "isLValue": false, "isPure": false, @@ -2302,14 +2322,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "1450:3:52", + "src": "1450:3:70", "subExpression": { - "id": 9931, + "id": 35069, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9924, - "src": "1450:1:52", + "referencedDeclaration": 35062, + "src": "1450:1:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2320,19 +2340,19 @@ "typeString": "uint256" } }, - "id": 9933, + "id": 35071, "nodeType": "ExpressionStatement", - "src": "1450:3:52" + "src": "1450:3:70" }, "nodeType": "ForStatement", - "src": "1404:204:52" + "src": "1404:204:70" } ] }, "documentation": { - "id": 9915, + "id": 35053, "nodeType": "StructuredDocumentation", - "src": "1163:121:52", + "src": "1163:121:70", "text": " @dev Whitelists a bunch of addresses.\n @param _whitelistees address[] of addresses to whitelist." }, "functionSelector": "b85ecf93", @@ -2340,34 +2360,34 @@ "kind": "function", "modifiers": [ { - "id": 9921, + "id": 35059, "kind": "modifierInvocation", "modifierName": { - "id": 9920, + "id": 35058, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 4762, - "src": "1351:9:52" + "referencedDeclaration": 28869, + "src": "1351:9:70" }, "nodeType": "ModifierInvocation", - "src": "1351:9:52" + "src": "1351:9:70" } ], "name": "initWhitelist", - "nameLocation": "1298:13:52", + "nameLocation": "1298:13:70", "parameters": { - "id": 9919, + "id": 35057, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9918, + "id": 35056, "mutability": "mutable", "name": "_whitelistees", - "nameLocation": "1329:13:52", + "nameLocation": "1329:13:70", "nodeType": "VariableDeclaration", - "scope": 9953, - "src": "1312:30:52", + "scope": 35091, + "src": "1312:30:70", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2376,19 +2396,19 @@ }, "typeName": { "baseType": { - "id": 9916, + "id": 35054, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1312:7:52", + "src": "1312:7:70", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 9917, + "id": 35055, "nodeType": "ArrayTypeName", - "src": "1312:9:52", + "src": "1312:9:70", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -2397,42 +2417,44 @@ "visibility": "internal" } ], - "src": "1311:32:52" + "src": "1311:32:70" }, "returnParameters": { - "id": 9922, + "id": 35060, "nodeType": "ParameterList", "parameters": [], - "src": "1361:0:52" + "src": "1361:0:70" }, - "scope": 10105, + "scope": 35243, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 9974, + "id": 35112, "nodeType": "ModifierDefinition", - "src": "1742:175:52", + "src": "1742:175:70", "nodes": [], "body": { - "id": 9973, + "id": 35111, "nodeType": "Block", - "src": "1784:133:52", + "src": "1784:133:70", "nodes": [], "statements": [ { - "assignments": [9959], + "assignments": [ + 35097 + ], "declarations": [ { "constant": false, - "id": 9959, + "id": 35097, "mutability": "mutable", "name": "owner", - "nameLocation": "1802:5:52", + "nameLocation": "1802:5:70", "nodeType": "VariableDeclaration", - "scope": 9973, - "src": "1794:13:52", + "scope": 35111, + "src": "1794:13:70", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2440,10 +2462,10 @@ "typeString": "address" }, "typeName": { - "id": 9958, + "id": 35096, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1794:7:52", + "src": "1794:7:70", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2453,16 +2475,16 @@ "visibility": "internal" } ], - "id": 9963, + "id": 35101, "initialValue": { "arguments": [ { - "id": 9961, + "id": 35099, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9956, - "src": "1818:8:52", + "referencedDeclaration": 35094, + "src": "1818:8:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2476,18 +2498,18 @@ "typeString": "uint256" } ], - "id": 9960, + "id": 35098, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5046, - "src": "1810:7:52", + "referencedDeclaration": 29153, + "src": "1810:7:70", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 9962, + "id": 35100, "isConstant": false, "isLValue": false, "isPure": false, @@ -2495,7 +2517,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1810:17:52", + "src": "1810:17:70", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -2503,7 +2525,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1794:33:52" + "src": "1794:33:70" }, { "expression": { @@ -2513,18 +2535,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9968, + "id": 35106, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 9965, + "id": 35103, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9959, - "src": "1845:5:52", + "referencedDeclaration": 35097, + "src": "1845:5:70", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2534,31 +2556,31 @@ "operator": "==", "rightExpression": { "expression": { - "id": 9966, + "id": 35104, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1854:3:52", + "src": "1854:3:70", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 9967, + "id": 35105, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "1854:10:52", + "src": "1854:10:70", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1845:19:52", + "src": "1845:19:70", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2566,14 +2588,14 @@ }, { "hexValue": "6d75737420626520746865206f776e6572206f662074686520746f6b656e", - "id": 9969, + "id": 35107, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1866:32:52", + "src": "1866:32:70", "typeDescriptions": { "typeIdentifier": "t_stringliteral_362807bc1217816e528eb99e4b814e8f0e92376a1c70a67476d4f5cfb96286a2", "typeString": "literal_string \"must be the owner of the token\"" @@ -2592,18 +2614,21 @@ "typeString": "literal_string \"must be the owner of the token\"" } ], - "id": 9964, + "id": 35102, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "1837:7:52", + "src": "1837:7:70", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 9970, + "id": 35108, "isConstant": false, "isLValue": false, "isPure": false, @@ -2611,45 +2636,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1837:62:52", + "src": "1837:62:70", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9971, + "id": 35109, "nodeType": "ExpressionStatement", - "src": "1837:62:52" + "src": "1837:62:70" }, { - "id": 9972, + "id": 35110, "nodeType": "PlaceholderStatement", - "src": "1909:1:52" + "src": "1909:1:70" } ] }, "documentation": { - "id": 9954, + "id": 35092, "nodeType": "StructuredDocumentation", - "src": "1620:117:52", + "src": "1620:117:70", "text": " @dev Checks that the token is owned by the sender.\n @param _tokenId uint256 ID of the token." }, "name": "onlyTokenOwner", - "nameLocation": "1751:14:52", + "nameLocation": "1751:14:70", "parameters": { - "id": 9957, + "id": 35095, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9956, + "id": 35094, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "1774:8:52", + "nameLocation": "1774:8:70", "nodeType": "VariableDeclaration", - "scope": 9974, - "src": "1766:16:52", + "scope": 35112, + "src": "1766:16:70", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2657,10 +2682,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9955, + "id": 35093, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1766:7:52", + "src": "1766:7:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2669,34 +2694,36 @@ "visibility": "internal" } ], - "src": "1765:18:52" + "src": "1765:18:70" }, "virtual": false, "visibility": "internal" }, { - "id": 9995, + "id": 35133, "nodeType": "ModifierDefinition", - "src": "2048:188:52", + "src": "2048:188:70", "nodes": [], "body": { - "id": 9994, + "id": 35132, "nodeType": "Block", - "src": "2092:144:52", + "src": "2092:144:70", "nodes": [], "statements": [ { - "assignments": [9980], + "assignments": [ + 35118 + ], "declarations": [ { "constant": false, - "id": 9980, + "id": 35118, "mutability": "mutable", "name": "creator", - "nameLocation": "2110:7:52", + "nameLocation": "2110:7:70", "nodeType": "VariableDeclaration", - "scope": 9994, - "src": "2102:15:52", + "scope": 35132, + "src": "2102:15:70", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2704,10 +2731,10 @@ "typeString": "address" }, "typeName": { - "id": 9979, + "id": 35117, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2102:7:52", + "src": "2102:7:70", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2717,16 +2744,16 @@ "visibility": "internal" } ], - "id": 9984, + "id": 35122, "initialValue": { "arguments": [ { - "id": 9982, + "id": 35120, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9977, - "src": "2133:8:52", + "referencedDeclaration": 35115, + "src": "2133:8:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2740,18 +2767,18 @@ "typeString": "uint256" } ], - "id": 9981, + "id": 35119, "name": "tokenCreator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10444, - "src": "2120:12:52", + "referencedDeclaration": 35582, + "src": "2120:12:70", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_payable_$", "typeString": "function (uint256) view returns (address payable)" } }, - "id": 9983, + "id": 35121, "isConstant": false, "isLValue": false, "isPure": false, @@ -2759,7 +2786,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2120:22:52", + "src": "2120:22:70", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -2767,7 +2794,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2102:40:52" + "src": "2102:40:70" }, { "expression": { @@ -2777,18 +2804,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 9989, + "id": 35127, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 9986, + "id": 35124, "name": "creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9980, - "src": "2160:7:52", + "referencedDeclaration": 35118, + "src": "2160:7:70", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2798,31 +2825,31 @@ "operator": "==", "rightExpression": { "expression": { - "id": 9987, + "id": 35125, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2171:3:52", + "src": "2171:3:70", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 9988, + "id": 35126, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "2171:10:52", + "src": "2171:10:70", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2160:21:52", + "src": "2160:21:70", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2830,14 +2857,14 @@ }, { "hexValue": "6d757374206265207468652063726561746f72206f662074686520746f6b656e", - "id": 9990, + "id": 35128, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2183:34:52", + "src": "2183:34:70", "typeDescriptions": { "typeIdentifier": "t_stringliteral_bf3bcd9a7497581d21c9e3226134f4833877ef89944e4f696c07b8940f9a59b0", "typeString": "literal_string \"must be the creator of the token\"" @@ -2856,18 +2883,21 @@ "typeString": "literal_string \"must be the creator of the token\"" } ], - "id": 9985, + "id": 35123, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "2152:7:52", + "src": "2152:7:70", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 9991, + "id": 35129, "isConstant": false, "isLValue": false, "isPure": false, @@ -2875,45 +2905,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2152:66:52", + "src": "2152:66:70", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 9992, + "id": 35130, "nodeType": "ExpressionStatement", - "src": "2152:66:52" + "src": "2152:66:70" }, { - "id": 9993, + "id": 35131, "nodeType": "PlaceholderStatement", - "src": "2228:1:52" + "src": "2228:1:70" } ] }, "documentation": { - "id": 9975, + "id": 35113, "nodeType": "StructuredDocumentation", - "src": "1923:120:52", + "src": "1923:120:70", "text": " @dev Checks that the token was created by the sender.\n @param _tokenId uint256 ID of the token." }, "name": "onlyTokenCreator", - "nameLocation": "2057:16:52", + "nameLocation": "2057:16:70", "parameters": { - "id": 9978, + "id": 35116, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9977, + "id": 35115, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "2082:8:52", + "nameLocation": "2082:8:70", "nodeType": "VariableDeclaration", - "scope": 9995, - "src": "2074:16:52", + "scope": 35133, + "src": "2074:16:70", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2921,10 +2951,10 @@ "typeString": "uint256" }, "typeName": { - "id": 9976, + "id": 35114, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2074:7:52", + "src": "2074:7:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2933,20 +2963,20 @@ "visibility": "internal" } ], - "src": "2073:18:52" + "src": "2073:18:70" }, "virtual": false, "visibility": "internal" }, { - "id": 10016, + "id": 35154, "nodeType": "FunctionDefinition", - "src": "2375:213:52", + "src": "2375:213:70", "nodes": [], "body": { - "id": 10015, + "id": 35153, "nodeType": "Block", - "src": "2423:165:52", + "src": "2423:165:70", "nodes": [], "statements": [ { @@ -2956,25 +2986,25 @@ "arguments": [ { "expression": { - "id": 10003, + "id": 35141, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2468:3:52", + "src": "2468:3:70", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 10004, + "id": 35142, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "2468:10:52", + "src": "2468:10:70", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2988,18 +3018,18 @@ "typeString": "address" } ], - "id": 10002, + "id": 35140, "name": "isWhitelisted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10192, - "src": "2454:13:52", + "referencedDeclaration": 35330, + "src": "2454:13:70", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, - "id": 10005, + "id": 35143, "isConstant": false, "isLValue": false, "isPure": false, @@ -3007,7 +3037,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2454:25:52", + "src": "2454:25:70", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -3016,14 +3046,14 @@ }, { "hexValue": "6d7573742062652077686974656c697374656420746f2063726561746520746f6b656e73", - "id": 10006, + "id": 35144, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2493:38:52", + "src": "2493:38:70", "typeDescriptions": { "typeIdentifier": "t_stringliteral_f281480bc60e1ff1d4893acbe73b0a292a7d3919ff2087702f24fec6c8d186e0", "typeString": "literal_string \"must be whitelisted to create tokens\"" @@ -3042,18 +3072,21 @@ "typeString": "literal_string \"must be whitelisted to create tokens\"" } ], - "id": 10001, + "id": 35139, "name": "require", "nodeType": "Identifier", - "overloadedDeclarations": [-18, -18], + "overloadedDeclarations": [ + -18, + -18 + ], "referencedDeclaration": -18, - "src": "2433:7:52", + "src": "2433:7:70", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 10007, + "id": 35145, "isConstant": false, "isLValue": false, "isPure": false, @@ -3061,27 +3094,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2433:108:52", + "src": "2433:108:70", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10008, + "id": 35146, "nodeType": "ExpressionStatement", - "src": "2433:108:52" + "src": "2433:108:70" }, { "expression": { "arguments": [ { - "id": 10010, + "id": 35148, "name": "_uri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9998, - "src": "2564:4:52", + "referencedDeclaration": 35136, + "src": "2564:4:70", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3089,25 +3122,25 @@ }, { "expression": { - "id": 10011, + "id": 35149, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2570:3:52", + "src": "2570:3:70", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 10012, + "id": 35150, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "2570:10:52", + "src": "2570:10:70", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3125,18 +3158,18 @@ "typeString": "address" } ], - "id": 10009, + "id": 35147, "name": "_createToken", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10090, - "src": "2551:12:52", + "referencedDeclaration": 35228, + "src": "2551:12:70", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$_t_uint256_$", "typeString": "function (string memory,address) returns (uint256)" } }, - "id": 10013, + "id": 35151, "isConstant": false, "isLValue": false, "isPure": false, @@ -3144,23 +3177,23 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2551:30:52", + "src": "2551:30:70", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 10014, + "id": 35152, "nodeType": "ExpressionStatement", - "src": "2551:30:52" + "src": "2551:30:70" } ] }, "documentation": { - "id": 9996, + "id": 35134, "nodeType": "StructuredDocumentation", - "src": "2242:128:52", + "src": "2242:128:70", "text": " @dev Adds a new unique token to the supply.\n @param _uri string metadata uri associated with the token." }, "functionSelector": "d9856c21", @@ -3168,20 +3201,20 @@ "kind": "function", "modifiers": [], "name": "addNewToken", - "nameLocation": "2384:11:52", + "nameLocation": "2384:11:70", "parameters": { - "id": 9999, + "id": 35137, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 9998, + "id": 35136, "mutability": "mutable", "name": "_uri", - "nameLocation": "2410:4:52", + "nameLocation": "2410:4:70", "nodeType": "VariableDeclaration", - "scope": 10016, - "src": "2396:18:52", + "scope": 35154, + "src": "2396:18:70", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3189,10 +3222,10 @@ "typeString": "string" }, "typeName": { - "id": 9997, + "id": 35135, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2396:6:52", + "src": "2396:6:70", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -3201,40 +3234,40 @@ "visibility": "internal" } ], - "src": "2395:20:52" + "src": "2395:20:70" }, "returnParameters": { - "id": 10000, + "id": 35138, "nodeType": "ParameterList", "parameters": [], - "src": "2423:0:52" + "src": "2423:0:70" }, - "scope": 10105, + "scope": 35243, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 10030, + "id": 35168, "nodeType": "FunctionDefinition", - "src": "2710:103:52", + "src": "2710:103:70", "nodes": [], "body": { - "id": 10029, + "id": 35167, "nodeType": "Block", - "src": "2781:32:52", + "src": "2781:32:70", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 10026, + "id": 35164, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10019, - "src": "2797:8:52", + "referencedDeclaration": 35157, + "src": "2797:8:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3248,18 +3281,18 @@ "typeString": "uint256" } ], - "id": 10025, + "id": 35163, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5550, - "src": "2791:5:52", + "referencedDeclaration": 29657, + "src": "2791:5:70", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 10027, + "id": 35165, "isConstant": false, "isLValue": false, "isPure": false, @@ -3267,23 +3300,23 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2791:15:52", + "src": "2791:15:70", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10028, + "id": 35166, "nodeType": "ExpressionStatement", - "src": "2791:15:52" + "src": "2791:15:70" } ] }, "documentation": { - "id": 10017, + "id": 35155, "nodeType": "StructuredDocumentation", - "src": "2594:111:52", + "src": "2594:111:70", "text": " @dev Deletes the token with the provided ID.\n @param _tokenId uint256 ID of the token." }, "functionSelector": "6297c16c", @@ -3293,46 +3326,46 @@ { "arguments": [ { - "id": 10022, + "id": 35160, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10019, - "src": "2771:8:52", + "referencedDeclaration": 35157, + "src": "2771:8:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 10023, + "id": 35161, "kind": "modifierInvocation", "modifierName": { - "id": 10021, + "id": 35159, "name": "onlyTokenOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 9974, - "src": "2756:14:52" + "referencedDeclaration": 35112, + "src": "2756:14:70" }, "nodeType": "ModifierInvocation", - "src": "2756:24:52" + "src": "2756:24:70" } ], "name": "deleteToken", - "nameLocation": "2719:11:52", + "nameLocation": "2719:11:70", "parameters": { - "id": 10020, + "id": 35158, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10019, + "id": 35157, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "2739:8:52", + "nameLocation": "2739:8:70", "nodeType": "VariableDeclaration", - "scope": 10030, - "src": "2731:16:52", + "scope": 35168, + "src": "2731:16:70", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3340,10 +3373,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10018, + "id": 35156, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2731:7:52", + "src": "2731:7:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3352,52 +3385,52 @@ "visibility": "internal" } ], - "src": "2730:18:52" + "src": "2730:18:70" }, "returnParameters": { - "id": 10024, + "id": 35162, "nodeType": "ParameterList", "parameters": [], - "src": "2781:0:52" + "src": "2781:0:70" }, - "scope": 10105, + "scope": 35243, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 10055, + "id": 35193, "nodeType": "FunctionDefinition", - "src": "3008:245:52", + "src": "3008:245:70", "nodes": [], "body": { - "id": 10054, + "id": 35192, "nodeType": "Block", - "src": "3162:91:52", + "src": "3162:91:70", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 10045, + "id": 35183, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10033, - "src": "3185:8:52", + "referencedDeclaration": 35171, + "src": "3185:8:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 10046, + "id": 35184, "name": "_uri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10035, - "src": "3195:4:52", + "referencedDeclaration": 35173, + "src": "3195:4:70", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3415,18 +3448,18 @@ "typeString": "string memory" } ], - "id": 10044, + "id": 35182, "name": "_setTokenURI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10104, - "src": "3172:12:52", + "referencedDeclaration": 35242, + "src": "3172:12:70", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", "typeString": "function (uint256,string memory)" } }, - "id": 10047, + "id": 35185, "isConstant": false, "isLValue": false, "isPure": false, @@ -3434,39 +3467,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3172:28:52", + "src": "3172:28:70", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10048, + "id": 35186, "nodeType": "ExpressionStatement", - "src": "3172:28:52" + "src": "3172:28:70" }, { "eventCall": { "arguments": [ { - "id": 10050, + "id": 35188, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10033, - "src": "3231:8:52", + "referencedDeclaration": 35171, + "src": "3231:8:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 10051, + "id": 35189, "name": "_uri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10035, - "src": "3241:4:52", + "referencedDeclaration": 35173, + "src": "3241:4:70", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3484,18 +3517,18 @@ "typeString": "string memory" } ], - "id": 10049, + "id": 35187, "name": "TokenURIUpdated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9898, - "src": "3215:15:52", + "referencedDeclaration": 35036, + "src": "3215:15:70", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", "typeString": "function (uint256,string memory)" } }, - "id": 10052, + "id": 35190, "isConstant": false, "isLValue": false, "isPure": false, @@ -3503,23 +3536,23 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3215:31:52", + "src": "3215:31:70", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10053, + "id": 35191, "nodeType": "EmitStatement", - "src": "3210:36:52" + "src": "3210:36:70" } ] }, "documentation": { - "id": 10031, + "id": 35169, "nodeType": "StructuredDocumentation", - "src": "2819:184:52", + "src": "2819:184:70", "text": " @dev Updates the token metadata if the owner is also the\n creator.\n @param _tokenId uint256 ID of the token.\n @param _uri string metadata URI." }, "functionSelector": "2cb2f52e", @@ -3529,73 +3562,73 @@ { "arguments": [ { - "id": 10038, + "id": 35176, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10033, - "src": "3113:8:52", + "referencedDeclaration": 35171, + "src": "3113:8:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 10039, + "id": 35177, "kind": "modifierInvocation", "modifierName": { - "id": 10037, + "id": 35175, "name": "onlyTokenOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 9974, - "src": "3098:14:52" + "referencedDeclaration": 35112, + "src": "3098:14:70" }, "nodeType": "ModifierInvocation", - "src": "3098:24:52" + "src": "3098:24:70" }, { "arguments": [ { - "id": 10041, + "id": 35179, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10033, - "src": "3148:8:52", + "referencedDeclaration": 35171, + "src": "3148:8:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 10042, + "id": 35180, "kind": "modifierInvocation", "modifierName": { - "id": 10040, + "id": 35178, "name": "onlyTokenCreator", "nodeType": "IdentifierPath", - "referencedDeclaration": 9995, - "src": "3131:16:52" + "referencedDeclaration": 35133, + "src": "3131:16:70" }, "nodeType": "ModifierInvocation", - "src": "3131:26:52" + "src": "3131:26:70" } ], "name": "updateTokenMetadata", - "nameLocation": "3017:19:52", + "nameLocation": "3017:19:70", "parameters": { - "id": 10036, + "id": 35174, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10033, + "id": 35171, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "3045:8:52", + "nameLocation": "3045:8:70", "nodeType": "VariableDeclaration", - "scope": 10055, - "src": "3037:16:52", + "scope": 35193, + "src": "3037:16:70", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3603,10 +3636,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10032, + "id": 35170, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3037:7:52", + "src": "3037:7:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3616,13 +3649,13 @@ }, { "constant": false, - "id": 10035, + "id": 35173, "mutability": "mutable", "name": "_uri", - "nameLocation": "3069:4:52", + "nameLocation": "3069:4:70", "nodeType": "VariableDeclaration", - "scope": 10055, - "src": "3055:18:52", + "scope": 35193, + "src": "3055:18:70", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3630,10 +3663,10 @@ "typeString": "string" }, "typeName": { - "id": 10034, + "id": 35172, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3055:6:52", + "src": "3055:6:70", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -3642,42 +3675,44 @@ "visibility": "internal" } ], - "src": "3036:38:52" + "src": "3036:38:70" }, "returnParameters": { - "id": 10043, + "id": 35181, "nodeType": "ParameterList", "parameters": [], - "src": "3162:0:52" + "src": "3162:0:70" }, - "scope": 10105, + "scope": 35243, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 10090, + "id": 35228, "nodeType": "FunctionDefinition", - "src": "3452:302:52", + "src": "3452:302:70", "nodes": [], "body": { - "id": 10089, + "id": 35227, "nodeType": "Block", - "src": "3559:195:52", + "src": "3559:195:70", "nodes": [], "statements": [ { - "assignments": [10066], + "assignments": [ + 35204 + ], "declarations": [ { "constant": false, - "id": 10066, + "id": 35204, "mutability": "mutable", "name": "newId", - "nameLocation": "3577:5:52", + "nameLocation": "3577:5:70", "nodeType": "VariableDeclaration", - "scope": 10089, - "src": "3569:13:52", + "scope": 35227, + "src": "3569:13:70", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3685,10 +3720,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10065, + "id": 35203, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3569:7:52", + "src": "3569:7:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3697,25 +3732,25 @@ "visibility": "internal" } ], - "id": 10068, + "id": 35206, "initialValue": { - "id": 10067, + "id": 35205, "name": "idCounter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9889, - "src": "3585:9:52", + "referencedDeclaration": 35027, + "src": "3585:9:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3569:25:52" + "src": "3569:25:70" }, { "expression": { - "id": 10070, + "id": 35208, "isConstant": false, "isLValue": false, "isPure": false, @@ -3723,14 +3758,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3604:11:52", + "src": "3604:11:70", "subExpression": { - "id": 10069, + "id": 35207, "name": "idCounter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9889, - "src": "3604:9:52", + "referencedDeclaration": 35027, + "src": "3604:9:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3741,32 +3776,32 @@ "typeString": "uint256" } }, - "id": 10071, + "id": 35209, "nodeType": "ExpressionStatement", - "src": "3604:11:52" + "src": "3604:11:70" }, { "expression": { "arguments": [ { - "id": 10073, + "id": 35211, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10060, - "src": "3631:8:52", + "referencedDeclaration": 35198, + "src": "3631:8:70", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 10074, + "id": 35212, "name": "newId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10066, - "src": "3641:5:52", + "referencedDeclaration": 35204, + "src": "3641:5:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3784,18 +3819,18 @@ "typeString": "uint256" } ], - "id": 10072, + "id": 35210, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5490, - "src": "3625:5:52", + "referencedDeclaration": 29597, + "src": "3625:5:70", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 10075, + "id": 35213, "isConstant": false, "isLValue": false, "isPure": false, @@ -3803,39 +3838,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3625:22:52", + "src": "3625:22:70", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10076, + "id": 35214, "nodeType": "ExpressionStatement", - "src": "3625:22:52" + "src": "3625:22:70" }, { "expression": { "arguments": [ { - "id": 10078, + "id": 35216, "name": "newId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10066, - "src": "3670:5:52", + "referencedDeclaration": 35204, + "src": "3670:5:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 10079, + "id": 35217, "name": "_uri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10058, - "src": "3677:4:52", + "referencedDeclaration": 35196, + "src": "3677:4:70", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3853,18 +3888,18 @@ "typeString": "string memory" } ], - "id": 10077, + "id": 35215, "name": "_setTokenURI", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10104, - "src": "3657:12:52", + "referencedDeclaration": 35242, + "src": "3657:12:70", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", "typeString": "function (uint256,string memory)" } }, - "id": 10080, + "id": 35218, "isConstant": false, "isLValue": false, "isPure": false, @@ -3872,39 +3907,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3657:25:52", + "src": "3657:25:70", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10081, + "id": 35219, "nodeType": "ExpressionStatement", - "src": "3657:25:52" + "src": "3657:25:70" }, { "expression": { "arguments": [ { - "id": 10083, + "id": 35221, "name": "newId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10066, - "src": "3709:5:52", + "referencedDeclaration": 35204, + "src": "3709:5:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 10084, + "id": 35222, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10060, - "src": "3716:8:52", + "referencedDeclaration": 35198, + "src": "3716:8:70", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3922,18 +3957,18 @@ "typeString": "address" } ], - "id": 10082, + "id": 35220, "name": "_setTokenCreator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10458, - "src": "3692:16:52", + "referencedDeclaration": 35596, + "src": "3692:16:70", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$", "typeString": "function (uint256,address)" } }, - "id": 10085, + "id": 35223, "isConstant": false, "isLValue": false, "isPure": false, @@ -3941,61 +3976,61 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3692:33:52", + "src": "3692:33:70", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10086, + "id": 35224, "nodeType": "ExpressionStatement", - "src": "3692:33:52" + "src": "3692:33:70" }, { "expression": { - "id": 10087, + "id": 35225, "name": "newId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10066, - "src": "3742:5:52", + "referencedDeclaration": 35204, + "src": "3742:5:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 10064, - "id": 10088, + "functionReturnParameters": 35202, + "id": 35226, "nodeType": "Return", - "src": "3735:12:52" + "src": "3735:12:70" } ] }, "documentation": { - "id": 10056, + "id": 35194, "nodeType": "StructuredDocumentation", - "src": "3259:188:52", + "src": "3259:188:70", "text": " @dev Internal function creating a new token.\n @param _uri string metadata uri associated with the token\n @param _creator address of the creator of the token." }, "implemented": true, "kind": "function", "modifiers": [], "name": "_createToken", - "nameLocation": "3461:12:52", + "nameLocation": "3461:12:70", "parameters": { - "id": 10061, + "id": 35199, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10058, + "id": 35196, "mutability": "mutable", "name": "_uri", - "nameLocation": "3488:4:52", + "nameLocation": "3488:4:70", "nodeType": "VariableDeclaration", - "scope": 10090, - "src": "3474:18:52", + "scope": 35228, + "src": "3474:18:70", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4003,10 +4038,10 @@ "typeString": "string" }, "typeName": { - "id": 10057, + "id": 35195, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3474:6:52", + "src": "3474:6:70", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4016,13 +4051,13 @@ }, { "constant": false, - "id": 10060, + "id": 35198, "mutability": "mutable", "name": "_creator", - "nameLocation": "3502:8:52", + "nameLocation": "3502:8:70", "nodeType": "VariableDeclaration", - "scope": 10090, - "src": "3494:16:52", + "scope": 35228, + "src": "3494:16:70", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4030,10 +4065,10 @@ "typeString": "address" }, "typeName": { - "id": 10059, + "id": 35197, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3494:7:52", + "src": "3494:7:70", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4043,21 +4078,21 @@ "visibility": "internal" } ], - "src": "3473:38:52" + "src": "3473:38:70" }, "returnParameters": { - "id": 10064, + "id": 35202, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10063, + "id": 35201, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 10090, - "src": "3546:7:52", + "scope": 35228, + "src": "3546:7:70", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4065,10 +4100,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10062, + "id": 35200, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3546:7:52", + "src": "3546:7:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4077,52 +4112,52 @@ "visibility": "internal" } ], - "src": "3545:9:52" + "src": "3545:9:70" }, - "scope": 10105, + "scope": 35243, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 10104, + "id": 35242, "nodeType": "FunctionDefinition", - "src": "3760:113:52", + "src": "3760:113:70", "nodes": [], "body": { - "id": 10103, + "id": 35241, "nodeType": "Block", - "src": "3829:44:52", + "src": "3829:44:70", "nodes": [], "statements": [ { "expression": { - "id": 10101, + "id": 35239, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 10097, + "id": 35235, "name": "_tokenURIs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 9887, - "src": "3839:10:52", + "referencedDeclaration": 35025, + "src": "3839:10:70", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", "typeString": "mapping(uint256 => string storage ref)" } }, - "id": 10099, + "id": 35237, "indexExpression": { - "id": 10098, + "id": 35236, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10092, - "src": "3850:8:52", + "referencedDeclaration": 35230, + "src": "3850:8:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4133,7 +4168,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3839:20:52", + "src": "3839:20:70", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -4142,26 +4177,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 10100, + "id": 35238, "name": "_uri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10094, - "src": "3862:4:52", + "referencedDeclaration": 35232, + "src": "3862:4:70", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3839:27:52", + "src": "3839:27:70", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 10102, + "id": 35240, "nodeType": "ExpressionStatement", - "src": "3839:27:52" + "src": "3839:27:70" } ] }, @@ -4169,20 +4204,20 @@ "kind": "function", "modifiers": [], "name": "_setTokenURI", - "nameLocation": "3769:12:52", + "nameLocation": "3769:12:70", "parameters": { - "id": 10095, + "id": 35233, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10092, + "id": 35230, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "3790:8:52", + "nameLocation": "3790:8:70", "nodeType": "VariableDeclaration", - "scope": 10104, - "src": "3782:16:52", + "scope": 35242, + "src": "3782:16:70", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4190,10 +4225,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10091, + "id": 35229, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3782:7:52", + "src": "3782:7:70", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4203,13 +4238,13 @@ }, { "constant": false, - "id": 10094, + "id": 35232, "mutability": "mutable", "name": "_uri", - "nameLocation": "3814:4:52", + "nameLocation": "3814:4:70", "nodeType": "VariableDeclaration", - "scope": 10104, - "src": "3800:18:52", + "scope": 35242, + "src": "3800:18:70", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4217,10 +4252,10 @@ "typeString": "string" }, "typeName": { - "id": 10093, + "id": 35231, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3800:6:52", + "src": "3800:6:70", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4229,15 +4264,15 @@ "visibility": "internal" } ], - "src": "3781:38:52" + "src": "3781:38:70" }, "returnParameters": { - "id": 10096, + "id": 35234, "nodeType": "ParameterList", "parameters": [], - "src": "3829:0:52" + "src": "3829:0:70" }, - "scope": 10105, + "scope": 35243, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" @@ -4247,51 +4282,51 @@ "baseContracts": [ { "baseName": { - "id": 9876, + "id": 35014, "name": "ERC721", "nodeType": "IdentifierPath", - "referencedDeclaration": 5766, - "src": "372:6:52" + "referencedDeclaration": 29873, + "src": "372:6:70" }, - "id": 9877, + "id": 35015, "nodeType": "InheritanceSpecifier", - "src": "372:6:52" + "src": "372:6:70" }, { "baseName": { - "id": 9878, + "id": 35016, "name": "TokenCreator", "nodeType": "IdentifierPath", - "referencedDeclaration": 10459, - "src": "380:12:52" + "referencedDeclaration": 35597, + "src": "380:12:70" }, - "id": 9879, + "id": 35017, "nodeType": "InheritanceSpecifier", - "src": "380:12:52" + "src": "380:12:70" }, { "baseName": { - "id": 9880, + "id": 35018, "name": "Ownable", "nodeType": "IdentifierPath", - "referencedDeclaration": 4820, - "src": "394:7:52" + "referencedDeclaration": 28927, + "src": "394:7:70" }, - "id": 9881, + "id": 35019, "nodeType": "InheritanceSpecifier", - "src": "394:7:52" + "src": "394:7:70" }, { "baseName": { - "id": 9882, + "id": 35020, "name": "Whitelist", "nodeType": "IdentifierPath", - "referencedDeclaration": 10219, - "src": "403:9:52" + "referencedDeclaration": 35357, + "src": "403:9:70" }, - "id": 9883, + "id": 35021, "nodeType": "InheritanceSpecifier", - "src": "403:9:52" + "src": "403:9:70" } ], "canonicalName": "SuperRareV2", @@ -4299,15 +4334,25 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 10105, 10219, 4820, 10459, 10419, 5766, 5927, 5882, 6471, 6483, 6244 + 35243, + 35357, + 28927, + 35597, + 35557, + 29873, + 30034, + 29989, + 30578, + 30590, + 30351 ], "name": "SuperRareV2", - "nameLocation": "357:11:52", - "scope": 10106, + "nameLocation": "357:11:70", + "scope": 35244, "usedErrors": [] } ], "license": "MIT" }, - "id": 52 -} + "id": 70 +} \ No newline at end of file diff --git a/abis/TokenCreator.json b/abis/TokenCreator.json index 4ac897c..393d25a 100644 --- a/abis/TokenCreator.json +++ b/abis/TokenCreator.json @@ -74,16 +74,16 @@ }, "settings": { "remappings": [ - ":aux/=lib/aux/", - ":ds-test/=lib/ds-test/src/", - ":erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - ":forge-std/=lib/forge-std/src/", - ":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", - ":openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", - ":rareprotocol/aux/=lib/aux/src/", - ":royalty-guard/=lib/royalty-guard/src/royalty-guard/", - ":solmate/=lib/royalty-guard/lib/solmate/src/" + "aux/=lib/aux/", + "ds-test/=lib/ds-test/src/", + "erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", + "openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", + "rareprotocol/aux/=lib/aux/src/", + "royalty-guard/=lib/royalty-guard/src/royalty-guard/", + "solmate/=lib/royalty-guard/lib/solmate/src/" ], "optimizer": { "enabled": true, @@ -119,40 +119,49 @@ }, "ast": { "absolutePath": "src/token/extensions/TokenCreator.sol", - "id": 10460, + "id": 35598, "exportedSymbols": { - "ITokenCreator": [10419], - "TokenCreator": [10459] + "ITokenCreator": [ + 35557 + ], + "TokenCreator": [ + 35597 + ] }, "nodeType": "SourceUnit", - "src": "32:545:57", + "src": "32:545:75", "nodes": [ { - "id": 10421, + "id": 35559, "nodeType": "PragmaDirective", - "src": "32:23:57", + "src": "32:23:75", "nodes": [], - "literals": ["solidity", "^", "0.8", ".0"] + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ] }, { - "id": 10423, + "id": 35561, "nodeType": "ImportDirective", - "src": "57:50:57", + "src": "57:50:75", "nodes": [], "absolutePath": "src/token/extensions/ITokenCreator.sol", "file": "./ITokenCreator.sol", "nameLocation": "-1:-1:-1", - "scope": 10460, - "sourceUnit": 10420, + "scope": 35598, + "sourceUnit": 35558, "symbolAliases": [ { "foreign": { - "id": 10422, + "id": 35560, "name": "ITokenCreator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10419, - "src": "65:13:57", + "referencedDeclaration": 35557, + "src": "65:13:75", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -161,20 +170,20 @@ "unitAlias": "" }, { - "id": 10459, + "id": 35597, "nodeType": "ContractDefinition", - "src": "109:467:57", + "src": "109:467:75", "nodes": [ { - "id": 10429, + "id": 35567, "nodeType": "VariableDeclaration", - "src": "163:50:57", + "src": "163:50:75", "nodes": [], "constant": false, "mutability": "mutable", "name": "_tokenCreators", - "nameLocation": "199:14:57", - "scope": 10459, + "nameLocation": "199:14:75", + "scope": 35597, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -182,28 +191,28 @@ "typeString": "mapping(uint256 => address)" }, "typeName": { - "id": 10428, + "id": 35566, "keyType": { - "id": 10426, + "id": 35564, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "171:7:57", + "src": "171:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "163:27:57", + "src": "163:27:75", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" }, "valueType": { - "id": 10427, + "id": 35565, "name": "address", "nodeType": "ElementaryTypeName", - "src": "182:7:57", + "src": "182:7:75", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -214,14 +223,14 @@ "visibility": "private" }, { - "id": 10444, + "id": 35582, "nodeType": "FunctionDefinition", - "src": "282:163:57", + "src": "282:163:75", "nodes": [], "body": { - "id": 10443, + "id": 35581, "nodeType": "Block", - "src": "388:57:57", + "src": "388:57:75", "nodes": [], "statements": [ { @@ -229,25 +238,25 @@ "arguments": [ { "baseExpression": { - "id": 10438, + "id": 35576, "name": "_tokenCreators", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10429, - "src": "413:14:57", + "referencedDeclaration": 35567, + "src": "413:14:75", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 10440, + "id": 35578, "indexExpression": { - "id": 10439, + "id": 35577, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10431, - "src": "428:8:57", + "referencedDeclaration": 35569, + "src": "428:8:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -258,7 +267,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "413:24:57", + "src": "413:24:75", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -272,27 +281,27 @@ "typeString": "address" } ], - "id": 10437, + "id": 35575, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "405:8:57", + "src": "405:8:75", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_payable_$", "typeString": "type(address payable)" }, "typeName": { - "id": 10436, + "id": 35574, "name": "address", "nodeType": "ElementaryTypeName", - "src": "405:8:57", + "src": "405:8:75", "stateMutability": "payable", "typeDescriptions": {} } }, - "id": 10441, + "id": 35579, "isConstant": false, "isLValue": false, "isPure": false, @@ -300,40 +309,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "405:33:57", + "src": "405:33:75", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "functionReturnParameters": 10435, - "id": 10442, + "functionReturnParameters": 35573, + "id": 35580, "nodeType": "Return", - "src": "398:40:57" + "src": "398:40:75" } ] }, - "baseFunctions": [10418], + "baseFunctions": [ + 35556 + ], "functionSelector": "40c1a064", "implemented": true, "kind": "function", "modifiers": [], "name": "tokenCreator", - "nameLocation": "291:12:57", + "nameLocation": "291:12:75", "parameters": { - "id": 10432, + "id": 35570, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10431, + "id": 35569, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "312:8:57", + "nameLocation": "312:8:75", "nodeType": "VariableDeclaration", - "scope": 10444, - "src": "304:16:57", + "scope": 35582, + "src": "304:16:75", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -341,10 +352,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10430, + "id": 35568, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "304:7:57", + "src": "304:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -353,21 +364,21 @@ "visibility": "internal" } ], - "src": "303:18:57" + "src": "303:18:75" }, "returnParameters": { - "id": 10435, + "id": 35573, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10434, + "id": 35572, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 10444, - "src": "367:15:57", + "scope": 35582, + "src": "367:15:75", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -375,10 +386,10 @@ "typeString": "address payable" }, "typeName": { - "id": 10433, + "id": 35571, "name": "address", "nodeType": "ElementaryTypeName", - "src": "367:15:57", + "src": "367:15:75", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -388,52 +399,52 @@ "visibility": "internal" } ], - "src": "366:17:57" + "src": "366:17:75" }, - "scope": 10459, + "scope": 35597, "stateMutability": "view", "virtual": false, "visibility": "public" }, { - "id": 10458, + "id": 35596, "nodeType": "FunctionDefinition", - "src": "451:123:57", + "src": "451:123:75", "nodes": [], "body": { - "id": 10457, + "id": 35595, "nodeType": "Block", - "src": "522:52:57", + "src": "522:52:75", "nodes": [], "statements": [ { "expression": { - "id": 10455, + "id": 35593, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 10451, + "id": 35589, "name": "_tokenCreators", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10429, - "src": "532:14:57", + "referencedDeclaration": 35567, + "src": "532:14:75", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" } }, - "id": 10453, + "id": 35591, "indexExpression": { - "id": 10452, + "id": 35590, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10446, - "src": "547:8:57", + "referencedDeclaration": 35584, + "src": "547:8:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -444,7 +455,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "532:24:57", + "src": "532:24:75", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -453,26 +464,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 10454, + "id": 35592, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10448, - "src": "559:8:57", + "referencedDeclaration": 35586, + "src": "559:8:75", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "532:35:57", + "src": "532:35:75", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 10456, + "id": 35594, "nodeType": "ExpressionStatement", - "src": "532:35:57" + "src": "532:35:75" } ] }, @@ -480,20 +491,20 @@ "kind": "function", "modifiers": [], "name": "_setTokenCreator", - "nameLocation": "460:16:57", + "nameLocation": "460:16:75", "parameters": { - "id": 10449, + "id": 35587, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10446, + "id": 35584, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "485:8:57", + "nameLocation": "485:8:75", "nodeType": "VariableDeclaration", - "scope": 10458, - "src": "477:16:57", + "scope": 35596, + "src": "477:16:75", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -501,10 +512,10 @@ "typeString": "uint256" }, "typeName": { - "id": 10445, + "id": 35583, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "477:7:57", + "src": "477:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -514,13 +525,13 @@ }, { "constant": false, - "id": 10448, + "id": 35586, "mutability": "mutable", "name": "_creator", - "nameLocation": "503:8:57", + "nameLocation": "503:8:75", "nodeType": "VariableDeclaration", - "scope": 10458, - "src": "495:16:57", + "scope": 35596, + "src": "495:16:75", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -528,10 +539,10 @@ "typeString": "address" }, "typeName": { - "id": 10447, + "id": 35585, "name": "address", "nodeType": "ElementaryTypeName", - "src": "495:7:57", + "src": "495:7:75", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -541,15 +552,15 @@ "visibility": "internal" } ], - "src": "476:36:57" + "src": "476:36:75" }, "returnParameters": { - "id": 10450, + "id": 35588, "nodeType": "ParameterList", "parameters": [], - "src": "522:0:57" + "src": "522:0:75" }, - "scope": 10459, + "scope": 35597, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" @@ -559,29 +570,32 @@ "baseContracts": [ { "baseName": { - "id": 10424, + "id": 35562, "name": "ITokenCreator", "nodeType": "IdentifierPath", - "referencedDeclaration": 10419, - "src": "143:13:57" + "referencedDeclaration": 35557, + "src": "143:13:75" }, - "id": 10425, + "id": 35563, "nodeType": "InheritanceSpecifier", - "src": "143:13:57" + "src": "143:13:75" } ], "canonicalName": "TokenCreator", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "linearizedBaseContracts": [10459, 10419], + "linearizedBaseContracts": [ + 35597, + 35557 + ], "name": "TokenCreator", - "nameLocation": "127:12:57", - "scope": 10460, + "nameLocation": "127:12:75", + "scope": 35598, "usedErrors": [] } ], "license": "MIT" }, - "id": 57 -} + "id": 75 +} \ No newline at end of file diff --git a/abis/Whitelist.json b/abis/Whitelist.json index 6d6a8be..4a14cbc 100644 --- a/abis/Whitelist.json +++ b/abis/Whitelist.json @@ -139,12 +139,12 @@ ], "bytecode": { "object": "0x60806040526002805460ff1916600117905534801561001d57600080fd5b506100273361002c565b61007c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6104868061008b6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638ab1d6811161005b5780638ab1d681146100c75780638da5cb5b146100da578063e43252d7146100f5578063f2fde38b1461010857600080fd5b8063040b6583146100825780633af32abf14610097578063715018a6146100bf575b600080fd5b6100956100903660046103c9565b61011b565b005b6100aa6100a53660046103f2565b610161565b60405190151581526020015b60405180910390f35b610095610196565b6100956100d53660046103f2565b6101cc565b6000546040516001600160a01b0390911681526020016100b6565b6100956101033660046103f2565b610252565b6100956101163660046103f2565b6102de565b6000546001600160a01b0316331461014e5760405162461bcd60e51b81526004016101459061041b565b60405180910390fd5b6002805460ff1916911515919091179055565b60025460009060ff161561018e57506001600160a01b031660009081526001602052604090205460ff1690565b506001919050565b6000546001600160a01b031633146101c05760405162461bcd60e51b81526004016101459061041b565b6101ca6000610379565b565b6000546001600160a01b031633146101f65760405162461bcd60e51b81526004016101459061041b565b61021b816001600160a01b03166000908152600160205260409020805460ff19169055565b6040516001600160a01b038216907f1f756c8b089af6b33ee121fee8badac2553a2fa89c0575ea91ff8792617746c290600090a250565b6000546001600160a01b0316331461027c5760405162461bcd60e51b81526004016101459061041b565b6102a7816001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6040516001600160a01b038216907f75b2135d1c8c3519f3c09c43fe6527089ef09f40c7981ebf0ed46e79e79032c790600090a250565b6000546001600160a01b031633146103085760405162461bcd60e51b81526004016101459061041b565b6001600160a01b03811661036d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610145565b61037681610379565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156103db57600080fd5b813580151581146103eb57600080fd5b9392505050565b60006020828403121561040457600080fd5b81356001600160a01b03811681146103eb57600080fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea264697066735822122030b04e7b64d8c9936206d85ce2d227470fc93054f7c2afc55140107c75e37ec264736f6c634300080f0033", - "sourceMap": "125:2080:53:-:0;;;350:36;;;-1:-1:-1;;350:36:53;382:4;350:36;;;125:2080;;;;;;;;;-1:-1:-1;921:32:28;719:10:35;921:18:28;:32::i;:::-;125:2080:53;;2270:187:28;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:28;;;-1:-1:-1;;;;;;2378:17:28;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;125:2080:53:-;;;;;;;", + "sourceMap": "125:2080:71:-:0;;;350:36;;;-1:-1:-1;;350:36:71;382:4;350:36;;;125:2080;;;;;;;;;-1:-1:-1;921:32:40;719:10:47;921:18:40;:32::i;:::-;125:2080:71;;2270:187:40;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:40;;;-1:-1:-1;;;;;;2378:17:40;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;125:2080:71:-;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80638ab1d6811161005b5780638ab1d681146100c75780638da5cb5b146100da578063e43252d7146100f5578063f2fde38b1461010857600080fd5b8063040b6583146100825780633af32abf14610097578063715018a6146100bf575b600080fd5b6100956100903660046103c9565b61011b565b005b6100aa6100a53660046103f2565b610161565b60405190151581526020015b60405180910390f35b610095610196565b6100956100d53660046103f2565b6101cc565b6000546040516001600160a01b0390911681526020016100b6565b6100956101033660046103f2565b610252565b6100956101163660046103f2565b6102de565b6000546001600160a01b0316331461014e5760405162461bcd60e51b81526004016101459061041b565b60405180910390fd5b6002805460ff1916911515919091179055565b60025460009060ff161561018e57506001600160a01b031660009081526001602052604090205460ff1690565b506001919050565b6000546001600160a01b031633146101c05760405162461bcd60e51b81526004016101459061041b565b6101ca6000610379565b565b6000546001600160a01b031633146101f65760405162461bcd60e51b81526004016101459061041b565b61021b816001600160a01b03166000908152600160205260409020805460ff19169055565b6040516001600160a01b038216907f1f756c8b089af6b33ee121fee8badac2553a2fa89c0575ea91ff8792617746c290600090a250565b6000546001600160a01b0316331461027c5760405162461bcd60e51b81526004016101459061041b565b6102a7816001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6040516001600160a01b038216907f75b2135d1c8c3519f3c09c43fe6527089ef09f40c7981ebf0ed46e79e79032c790600090a250565b6000546001600160a01b031633146103085760405162461bcd60e51b81526004016101459061041b565b6001600160a01b03811661036d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610145565b61037681610379565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156103db57600080fd5b813580151581146103eb57600080fd5b9392505050565b60006020828403121561040457600080fd5b81356001600160a01b03811681146103eb57600080fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea264697066735822122030b04e7b64d8c9936206d85ce2d227470fc93054f7c2afc55140107c75e37ec264736f6c634300080f0033", - "sourceMap": "125:2080:53:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;637:101;;;;;;:::i;:::-;;:::i;:::-;;1478:202;;;;;;:::i;:::-;;:::i;:::-;;;748:14:59;;741:22;723:41;;711:2;696:18;1478:202:53;;;;;;;;1668:101:28;;;:::i;1173:168:53:-;;;;;;:::i;:::-;;:::i;1036:85:28:-;1082:7;1108:6;1036:85;;-1:-1:-1;;;;;1108:6:28;;;921:51:59;;909:2;894:18;1036:85:28;775:203:59;878:144:53;;;;;;:::i;:::-;;:::i;1918:198:28:-;;;;;;:::i;:::-;;:::i;637:101:53:-;1082:7:28;1108:6;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;;;;;;;;;704:16:53::1;:27:::0;;-1:-1:-1;;704:27:53::1;::::0;::::1;;::::0;;;::::1;::::0;;637:101::o;1478:202::-;1560:16;;1540:4;;1560:16;;1556:118;;;-1:-1:-1;;;;;;1599:22:53;;;;;:12;:22;;;;;;;;;1478:202::o;1556:118::-;-1:-1:-1;1659:4:53;;1478:202;-1:-1:-1;1478:202:53:o;1668:101:28:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;1173:168:53:-;1082:7:28;1108:6;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;1254:29:53::1;1267:15;-1:-1:-1::0;;;;;1896:29:53;1928:5;1896:29;;;:12;:29;;;;;:37;;-1:-1:-1;;1896:37:53;;;1830:110;1254:29:::1;1298:36;::::0;-1:-1:-1;;;;;1298:36:53;::::1;::::0;::::1;::::0;;;::::1;1173:168:::0;:::o;878:144::-;1082:7:28;1108:6;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;950:23:53::1;961:11;-1:-1:-1::0;;;;;2164:25:53;;;;;2192:4;2164:25;;;;;;;;:32;;-1:-1:-1;;2164:32:53;;;;;;2104:99;950:23:::1;988:27;::::0;-1:-1:-1;;;;;988:27:53;::::1;::::0;::::1;::::0;;;::::1;878:144:::0;:::o;1918:198:28:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:28;719:10:35;1248:23:28;1240:68;;;;-1:-1:-1;;;1240:68:28;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:28;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:28;;1546:2:59;1998:73:28::1;::::0;::::1;1528:21:59::0;1585:2;1565:18;;;1558:30;1624:34;1604:18;;;1597:62;-1:-1:-1;;;1675:18:59;;;1668:36;1721:19;;1998:73:28::1;1344:402:59::0;1998:73:28::1;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;2270:187::-;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:28;;;-1:-1:-1;;;;;;2378:17:28;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;14:273:59:-;70:6;123:2;111:9;102:7;98:23;94:32;91:52;;;139:1;136;129:12;91:52;178:9;165:23;231:5;224:13;217:21;210:5;207:32;197:60;;253:1;250;243:12;197:60;276:5;14:273;-1:-1:-1;;;14:273:59:o;292:286::-;351:6;404:2;392:9;383:7;379:23;375:32;372:52;;;420:1;417;410:12;372:52;446:23;;-1:-1:-1;;;;;498:31:59;;488:42;;478:70;;544:1;541;534:12;983:356;1185:2;1167:21;;;1204:18;;;1197:30;1263:34;1258:2;1243:18;;1236:62;1330:2;1315:18;;983:356::o", + "sourceMap": "125:2080:71:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;637:101;;;;;;:::i;:::-;;:::i;:::-;;1478:202;;;;;;:::i;:::-;;:::i;:::-;;;748:14:77;;741:22;723:41;;711:2;696:18;1478:202:71;;;;;;;;1668:101:40;;;:::i;1173:168:71:-;;;;;;:::i;:::-;;:::i;1036:85:40:-;1082:7;1108:6;1036:85;;-1:-1:-1;;;;;1108:6:40;;;921:51:77;;909:2;894:18;1036:85:40;775:203:77;878:144:71;;;;;;:::i;:::-;;:::i;1918:198:40:-;;;;;;:::i;:::-;;:::i;637:101:71:-;1082:7:40;1108:6;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;;;;;;;;;704:16:71::1;:27:::0;;-1:-1:-1;;704:27:71::1;::::0;::::1;;::::0;;;::::1;::::0;;637:101::o;1478:202::-;1560:16;;1540:4;;1560:16;;1556:118;;;-1:-1:-1;;;;;;1599:22:71;;;;;:12;:22;;;;;;;;;1478:202::o;1556:118::-;-1:-1:-1;1659:4:71;;1478:202;-1:-1:-1;1478:202:71:o;1668:101:40:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;1173:168:71:-;1082:7:40;1108:6;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;1254:29:71::1;1267:15;-1:-1:-1::0;;;;;1896:29:71;1928:5;1896:29;;;:12;:29;;;;;:37;;-1:-1:-1;;1896:37:71;;;1830:110;1254:29:::1;1298:36;::::0;-1:-1:-1;;;;;1298:36:71;::::1;::::0;::::1;::::0;;;::::1;1173:168:::0;:::o;878:144::-;1082:7:40;1108:6;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;950:23:71::1;961:11;-1:-1:-1::0;;;;;2164:25:71;;;;;2192:4;2164:25;;;;;;;;:32;;-1:-1:-1;;2164:32:71;;;;;;2104:99;950:23:::1;988:27;::::0;-1:-1:-1;;;;;988:27:71;::::1;::::0;::::1;::::0;;;::::1;878:144:::0;:::o;1918:198:40:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:40;719:10:47;1248:23:40;1240:68;;;;-1:-1:-1;;;1240:68:40;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:40;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:40;;1546:2:77;1998:73:40::1;::::0;::::1;1528:21:77::0;1585:2;1565:18;;;1558:30;1624:34;1604:18;;;1597:62;-1:-1:-1;;;1675:18:77;;;1668:36;1721:19;;1998:73:40::1;1344:402:77::0;1998:73:40::1;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;2270:187::-;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:40;;;-1:-1:-1;;;;;;2378:17:40;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;14:273:77:-;70:6;123:2;111:9;102:7;98:23;94:32;91:52;;;139:1;136;129:12;91:52;178:9;165:23;231:5;224:13;217:21;210:5;207:32;197:60;;253:1;250;243:12;197:60;276:5;14:273;-1:-1:-1;;;14:273:77:o;292:286::-;351:6;404:2;392:9;383:7;379:23;375:32;372:52;;;420:1;417;410:12;372:52;446:23;;-1:-1:-1;;;;;498:31:77;;488:42;;478:70;;544:1;541;534:12;983:356;1185:2;1167:21;;;1204:18;;;1197:30;1263:34;1258:2;1243:18;;1236:62;1330:2;1315:18;;983:356::o", "linkReferences": {} }, "methodIdentifiers": { @@ -346,16 +346,16 @@ }, "settings": { "remappings": [ - ":aux/=lib/aux/", - ":ds-test/=lib/ds-test/src/", - ":erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - ":forge-std/=lib/forge-std/src/", - ":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", - ":openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", - ":rareprotocol/aux/=lib/aux/src/", - ":royalty-guard/=lib/royalty-guard/src/royalty-guard/", - ":solmate/=lib/royalty-guard/lib/solmate/src/" + "aux/=lib/aux/", + "ds-test/=lib/ds-test/src/", + "erc4626-tests/=lib/aux/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", + "openzeppelin/=lib/aux/lib/openzeppelin-contracts-upgradeable/contracts/", + "rareprotocol/aux/=lib/aux/src/", + "royalty-guard/=lib/royalty-guard/src/royalty-guard/", + "solmate/=lib/royalty-guard/lib/solmate/src/" ], "optimizer": { "enabled": true, @@ -399,40 +399,49 @@ }, "ast": { "absolutePath": "src/token/ERC721/superrare/Whitelist.sol", - "id": 10220, + "id": 35358, "exportedSymbols": { - "Ownable": [4820], - "Whitelist": [10219] + "Ownable": [ + 28927 + ], + "Whitelist": [ + 35357 + ] }, "nodeType": "SourceUnit", - "src": "32:2174:53", + "src": "32:2174:71", "nodes": [ { - "id": 10107, + "id": 35245, "nodeType": "PragmaDirective", - "src": "32:23:53", + "src": "32:23:71", "nodes": [], - "literals": ["solidity", "^", "0.8", ".0"] + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ] }, { - "id": 10109, + "id": 35247, "nodeType": "ImportDirective", - "src": "57:66:53", + "src": "57:66:71", "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/access/Ownable.sol", "file": "openzeppelin-contracts/access/Ownable.sol", "nameLocation": "-1:-1:-1", - "scope": 10220, - "sourceUnit": 4821, + "scope": 35358, + "sourceUnit": 28928, "symbolAliases": [ { "foreign": { - "id": 10108, + "id": 35246, "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4820, - "src": "65:7:53", + "referencedDeclaration": 28927, + "src": "65:7:71", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -441,20 +450,20 @@ "unitAlias": "" }, { - "id": 10219, + "id": 35357, "nodeType": "ContractDefinition", - "src": "125:2080:53", + "src": "125:2080:71", "nodes": [ { - "id": 10115, + "id": 35253, "nodeType": "VariableDeclaration", - "src": "244:45:53", + "src": "244:45:71", "nodes": [], "constant": false, "mutability": "mutable", "name": "whitelistMap", - "nameLocation": "277:12:53", - "scope": 10219, + "nameLocation": "277:12:71", + "scope": 35357, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -462,28 +471,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 10114, + "id": 35252, "keyType": { - "id": 10112, + "id": 35250, "name": "address", "nodeType": "ElementaryTypeName", - "src": "252:7:53", + "src": "252:7:71", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "244:24:53", + "src": "244:24:71", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 10113, + "id": 35251, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "263:4:53", + "src": "263:4:71", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -493,15 +502,15 @@ "visibility": "private" }, { - "id": 10118, + "id": 35256, "nodeType": "VariableDeclaration", - "src": "350:36:53", + "src": "350:36:71", "nodes": [], "constant": false, "mutability": "mutable", "name": "whitelistEnabled", - "nameLocation": "363:16:53", - "scope": 10219, + "nameLocation": "363:16:71", + "scope": 35357, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -509,10 +518,10 @@ "typeString": "bool" }, "typeName": { - "id": 10116, + "id": 35254, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "350:4:53", + "src": "350:4:71", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -520,14 +529,14 @@ }, "value": { "hexValue": "74727565", - "id": 10117, + "id": 35255, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "382:4:53", + "src": "382:4:71", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -537,28 +546,28 @@ "visibility": "private" }, { - "id": 10122, + "id": 35260, "nodeType": "EventDefinition", - "src": "393:50:53", + "src": "393:50:71", "nodes": [], "anonymous": false, "eventSelector": "75b2135d1c8c3519f3c09c43fe6527089ef09f40c7981ebf0ed46e79e79032c7", "name": "AddToWhitelist", - "nameLocation": "399:14:53", + "nameLocation": "399:14:71", "parameters": { - "id": 10121, + "id": 35259, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10120, + "id": 35258, "indexed": true, "mutability": "mutable", "name": "_newAddress", - "nameLocation": "430:11:53", + "nameLocation": "430:11:71", "nodeType": "VariableDeclaration", - "scope": 10122, - "src": "414:27:53", + "scope": 35260, + "src": "414:27:71", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -566,10 +575,10 @@ "typeString": "address" }, "typeName": { - "id": 10119, + "id": 35257, "name": "address", "nodeType": "ElementaryTypeName", - "src": "414:7:53", + "src": "414:7:71", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -579,32 +588,32 @@ "visibility": "internal" } ], - "src": "413:29:53" + "src": "413:29:71" } }, { - "id": 10126, + "id": 35264, "nodeType": "EventDefinition", - "src": "448:59:53", + "src": "448:59:71", "nodes": [], "anonymous": false, "eventSelector": "1f756c8b089af6b33ee121fee8badac2553a2fa89c0575ea91ff8792617746c2", "name": "RemoveFromWhitelist", - "nameLocation": "454:19:53", + "nameLocation": "454:19:71", "parameters": { - "id": 10125, + "id": 35263, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10124, + "id": 35262, "indexed": true, "mutability": "mutable", "name": "_removedAddress", - "nameLocation": "490:15:53", + "nameLocation": "490:15:71", "nodeType": "VariableDeclaration", - "scope": 10126, - "src": "474:31:53", + "scope": 35264, + "src": "474:31:71", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -612,10 +621,10 @@ "typeString": "address" }, "typeName": { - "id": 10123, + "id": 35261, "name": "address", "nodeType": "ElementaryTypeName", - "src": "474:7:53", + "src": "474:7:71", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -625,34 +634,34 @@ "visibility": "internal" } ], - "src": "473:33:53" + "src": "473:33:71" } }, { - "id": 10139, + "id": 35277, "nodeType": "FunctionDefinition", - "src": "637:101:53", + "src": "637:101:71", "nodes": [], "body": { - "id": 10138, + "id": 35276, "nodeType": "Block", - "src": "694:44:53", + "src": "694:44:71", "nodes": [], "statements": [ { "expression": { - "id": 10136, + "id": 35274, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 10134, + "id": 35272, "name": "whitelistEnabled", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10118, - "src": "704:16:53", + "referencedDeclaration": 35256, + "src": "704:16:71", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -661,33 +670,33 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 10135, + "id": 35273, "name": "_enabled", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10129, - "src": "723:8:53", + "referencedDeclaration": 35267, + "src": "723:8:71", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "704:27:53", + "src": "704:27:71", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 10137, + "id": 35275, "nodeType": "ExpressionStatement", - "src": "704:27:53" + "src": "704:27:71" } ] }, "documentation": { - "id": 10127, + "id": 35265, "nodeType": "StructuredDocumentation", - "src": "513:119:53", + "src": "513:119:71", "text": " @dev Enable or disable the whitelist\n @param _enabled bool of whether to enable the whitelist." }, "functionSelector": "040b6583", @@ -695,34 +704,34 @@ "kind": "function", "modifiers": [ { - "id": 10132, + "id": 35270, "kind": "modifierInvocation", "modifierName": { - "id": 10131, + "id": 35269, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 4762, - "src": "684:9:53" + "referencedDeclaration": 28869, + "src": "684:9:71" }, "nodeType": "ModifierInvocation", - "src": "684:9:53" + "src": "684:9:71" } ], "name": "enableWhitelist", - "nameLocation": "646:15:53", + "nameLocation": "646:15:71", "parameters": { - "id": 10130, + "id": 35268, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10129, + "id": 35267, "mutability": "mutable", "name": "_enabled", - "nameLocation": "667:8:53", + "nameLocation": "667:8:71", "nodeType": "VariableDeclaration", - "scope": 10139, - "src": "662:13:53", + "scope": 35277, + "src": "662:13:71", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -730,10 +739,10 @@ "typeString": "bool" }, "typeName": { - "id": 10128, + "id": 35266, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "662:4:53", + "src": "662:4:71", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -742,40 +751,40 @@ "visibility": "internal" } ], - "src": "661:15:53" + "src": "661:15:71" }, "returnParameters": { - "id": 10133, + "id": 35271, "nodeType": "ParameterList", "parameters": [], - "src": "694:0:53" + "src": "694:0:71" }, - "scope": 10219, + "scope": 35357, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 10156, + "id": 35294, "nodeType": "FunctionDefinition", - "src": "878:144:53", + "src": "878:144:71", "nodes": [], "body": { - "id": 10155, + "id": 35293, "nodeType": "Block", - "src": "940:82:53", + "src": "940:82:71", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 10148, + "id": 35286, "name": "_newAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10142, - "src": "961:11:53", + "referencedDeclaration": 35280, + "src": "961:11:71", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -789,18 +798,18 @@ "typeString": "address" } ], - "id": 10147, + "id": 35285, "name": "_whitelist", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10218, - "src": "950:10:53", + "referencedDeclaration": 35356, + "src": "950:10:71", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 10149, + "id": 35287, "isConstant": false, "isLValue": false, "isPure": false, @@ -808,27 +817,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "950:23:53", + "src": "950:23:71", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10150, + "id": 35288, "nodeType": "ExpressionStatement", - "src": "950:23:53" + "src": "950:23:71" }, { "eventCall": { "arguments": [ { - "id": 10152, + "id": 35290, "name": "_newAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10142, - "src": "1003:11:53", + "referencedDeclaration": 35280, + "src": "1003:11:71", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -842,18 +851,18 @@ "typeString": "address" } ], - "id": 10151, + "id": 35289, "name": "AddToWhitelist", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10122, - "src": "988:14:53", + "referencedDeclaration": 35260, + "src": "988:14:71", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 10153, + "id": 35291, "isConstant": false, "isLValue": false, "isPure": false, @@ -861,23 +870,23 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "988:27:53", + "src": "988:27:71", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10154, + "id": 35292, "nodeType": "EmitStatement", - "src": "983:32:53" + "src": "983:32:71" } ] }, "documentation": { - "id": 10140, + "id": 35278, "nodeType": "StructuredDocumentation", - "src": "744:129:53", + "src": "744:129:71", "text": " @dev Adds the provided address to the whitelist\n @param _newAddress address to be added to the whitelist" }, "functionSelector": "e43252d7", @@ -885,34 +894,34 @@ "kind": "function", "modifiers": [ { - "id": 10145, + "id": 35283, "kind": "modifierInvocation", "modifierName": { - "id": 10144, + "id": 35282, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 4762, - "src": "930:9:53" + "referencedDeclaration": 28869, + "src": "930:9:71" }, "nodeType": "ModifierInvocation", - "src": "930:9:53" + "src": "930:9:71" } ], "name": "addToWhitelist", - "nameLocation": "887:14:53", + "nameLocation": "887:14:71", "parameters": { - "id": 10143, + "id": 35281, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10142, + "id": 35280, "mutability": "mutable", "name": "_newAddress", - "nameLocation": "910:11:53", + "nameLocation": "910:11:71", "nodeType": "VariableDeclaration", - "scope": 10156, - "src": "902:19:53", + "scope": 35294, + "src": "902:19:71", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -920,10 +929,10 @@ "typeString": "address" }, "typeName": { - "id": 10141, + "id": 35279, "name": "address", "nodeType": "ElementaryTypeName", - "src": "902:7:53", + "src": "902:7:71", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -933,40 +942,40 @@ "visibility": "internal" } ], - "src": "901:21:53" + "src": "901:21:71" }, "returnParameters": { - "id": 10146, + "id": 35284, "nodeType": "ParameterList", "parameters": [], - "src": "940:0:53" + "src": "940:0:71" }, - "scope": 10219, + "scope": 35357, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 10173, + "id": 35311, "nodeType": "FunctionDefinition", - "src": "1173:168:53", + "src": "1173:168:71", "nodes": [], "body": { - "id": 10172, + "id": 35310, "nodeType": "Block", - "src": "1244:97:53", + "src": "1244:97:71", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 10165, + "id": 35303, "name": "_removedAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10159, - "src": "1267:15:53", + "referencedDeclaration": 35297, + "src": "1267:15:71", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -980,18 +989,18 @@ "typeString": "address" } ], - "id": 10164, + "id": 35302, "name": "_unWhitelist", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10205, - "src": "1254:12:53", + "referencedDeclaration": 35343, + "src": "1254:12:71", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 10166, + "id": 35304, "isConstant": false, "isLValue": false, "isPure": false, @@ -999,27 +1008,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1254:29:53", + "src": "1254:29:71", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10167, + "id": 35305, "nodeType": "ExpressionStatement", - "src": "1254:29:53" + "src": "1254:29:71" }, { "eventCall": { "arguments": [ { - "id": 10169, + "id": 35307, "name": "_removedAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10159, - "src": "1318:15:53", + "referencedDeclaration": 35297, + "src": "1318:15:71", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1033,18 +1042,18 @@ "typeString": "address" } ], - "id": 10168, + "id": 35306, "name": "RemoveFromWhitelist", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10126, - "src": "1298:19:53", + "referencedDeclaration": 35264, + "src": "1298:19:71", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 10170, + "id": 35308, "isConstant": false, "isLValue": false, "isPure": false, @@ -1052,23 +1061,23 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1298:36:53", + "src": "1298:36:71", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 10171, + "id": 35309, "nodeType": "EmitStatement", - "src": "1293:41:53" + "src": "1293:41:71" } ] }, "documentation": { - "id": 10157, + "id": 35295, "nodeType": "StructuredDocumentation", - "src": "1028:140:53", + "src": "1028:140:71", "text": " @dev Removes the provided address to the whitelist\n @param _removedAddress address to be removed from the whitelist" }, "functionSelector": "8ab1d681", @@ -1076,34 +1085,34 @@ "kind": "function", "modifiers": [ { - "id": 10162, + "id": 35300, "kind": "modifierInvocation", "modifierName": { - "id": 10161, + "id": 35299, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 4762, - "src": "1234:9:53" + "referencedDeclaration": 28869, + "src": "1234:9:71" }, "nodeType": "ModifierInvocation", - "src": "1234:9:53" + "src": "1234:9:71" } ], "name": "removeFromWhitelist", - "nameLocation": "1182:19:53", + "nameLocation": "1182:19:71", "parameters": { - "id": 10160, + "id": 35298, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10159, + "id": 35297, "mutability": "mutable", "name": "_removedAddress", - "nameLocation": "1210:15:53", + "nameLocation": "1210:15:71", "nodeType": "VariableDeclaration", - "scope": 10173, - "src": "1202:23:53", + "scope": 35311, + "src": "1202:23:71", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1111,10 +1120,10 @@ "typeString": "address" }, "typeName": { - "id": 10158, + "id": 35296, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1202:7:53", + "src": "1202:7:71", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1124,102 +1133,102 @@ "visibility": "internal" } ], - "src": "1201:25:53" + "src": "1201:25:71" }, "returnParameters": { - "id": 10163, + "id": 35301, "nodeType": "ParameterList", "parameters": [], - "src": "1244:0:53" + "src": "1244:0:71" }, - "scope": 10219, + "scope": 35357, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 10192, + "id": 35330, "nodeType": "FunctionDefinition", - "src": "1478:202:53", + "src": "1478:202:71", "nodes": [], "body": { - "id": 10191, + "id": 35329, "nodeType": "Block", - "src": "1546:134:53", + "src": "1546:134:71", "nodes": [], "statements": [ { "condition": { - "id": 10181, + "id": 35319, "name": "whitelistEnabled", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10118, - "src": "1560:16:53", + "referencedDeclaration": 35256, + "src": "1560:16:71", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 10189, + "id": 35327, "nodeType": "Block", - "src": "1638:36:53", + "src": "1638:36:71", "statements": [ { "expression": { "hexValue": "74727565", - "id": 10187, + "id": 35325, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1659:4:53", + "src": "1659:4:71", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "functionReturnParameters": 10180, - "id": 10188, + "functionReturnParameters": 35318, + "id": 35326, "nodeType": "Return", - "src": "1652:11:53" + "src": "1652:11:71" } ] }, - "id": 10190, + "id": 35328, "nodeType": "IfStatement", - "src": "1556:118:53", + "src": "1556:118:71", "trueBody": { - "id": 10186, + "id": 35324, "nodeType": "Block", - "src": "1578:54:53", + "src": "1578:54:71", "statements": [ { "expression": { "baseExpression": { - "id": 10182, + "id": 35320, "name": "whitelistMap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10115, - "src": "1599:12:53", + "referencedDeclaration": 35253, + "src": "1599:12:71", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 10184, + "id": 35322, "indexExpression": { - "id": 10183, + "id": 35321, "name": "_address", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10176, - "src": "1612:8:53", + "referencedDeclaration": 35314, + "src": "1612:8:71", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1230,16 +1239,16 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1599:22:53", + "src": "1599:22:71", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 10180, - "id": 10185, + "functionReturnParameters": 35318, + "id": 35323, "nodeType": "Return", - "src": "1592:29:53" + "src": "1592:29:71" } ] } @@ -1247,9 +1256,9 @@ ] }, "documentation": { - "id": 10174, + "id": 35312, "nodeType": "StructuredDocumentation", - "src": "1347:126:53", + "src": "1347:126:71", "text": " @dev Returns whether the address is whitelisted\n @param _address address to check\n @return bool" }, "functionSelector": "3af32abf", @@ -1257,20 +1266,20 @@ "kind": "function", "modifiers": [], "name": "isWhitelisted", - "nameLocation": "1487:13:53", + "nameLocation": "1487:13:71", "parameters": { - "id": 10177, + "id": 35315, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10176, + "id": 35314, "mutability": "mutable", "name": "_address", - "nameLocation": "1509:8:53", + "nameLocation": "1509:8:71", "nodeType": "VariableDeclaration", - "scope": 10192, - "src": "1501:16:53", + "scope": 35330, + "src": "1501:16:71", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1278,10 +1287,10 @@ "typeString": "address" }, "typeName": { - "id": 10175, + "id": 35313, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1501:7:53", + "src": "1501:7:71", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1291,21 +1300,21 @@ "visibility": "internal" } ], - "src": "1500:18:53" + "src": "1500:18:71" }, "returnParameters": { - "id": 10180, + "id": 35318, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10179, + "id": 35317, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 10192, - "src": "1540:4:53", + "scope": 35330, + "src": "1540:4:71", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1313,10 +1322,10 @@ "typeString": "bool" }, "typeName": { - "id": 10178, + "id": 35316, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1540:4:53", + "src": "1540:4:71", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1325,52 +1334,52 @@ "visibility": "internal" } ], - "src": "1539:6:53" + "src": "1539:6:71" }, - "scope": 10219, + "scope": 35357, "stateMutability": "view", "virtual": false, "visibility": "public" }, { - "id": 10205, + "id": 35343, "nodeType": "FunctionDefinition", - "src": "1830:110:53", + "src": "1830:110:71", "nodes": [], "body": { - "id": 10204, + "id": 35342, "nodeType": "Block", - "src": "1886:54:53", + "src": "1886:54:71", "nodes": [], "statements": [ { "expression": { - "id": 10202, + "id": 35340, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 10198, + "id": 35336, "name": "whitelistMap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10115, - "src": "1896:12:53", + "referencedDeclaration": 35253, + "src": "1896:12:71", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 10200, + "id": 35338, "indexExpression": { - "id": 10199, + "id": 35337, "name": "_removedAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10195, - "src": "1909:15:53", + "referencedDeclaration": 35333, + "src": "1909:15:71", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1381,7 +1390,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1896:29:53", + "src": "1896:29:71", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1391,56 +1400,56 @@ "operator": "=", "rightHandSide": { "hexValue": "66616c7365", - "id": 10201, + "id": 35339, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1928:5:53", + "src": "1928:5:71", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "src": "1896:37:53", + "src": "1896:37:71", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 10203, + "id": 35341, "nodeType": "ExpressionStatement", - "src": "1896:37:53" + "src": "1896:37:71" } ] }, "documentation": { - "id": 10193, + "id": 35331, "nodeType": "StructuredDocumentation", - "src": "1686:139:53", + "src": "1686:139:71", "text": " @dev Internal function for removing an address from the whitelist\n @param _removedAddress address to unwhitelisted" }, "implemented": true, "kind": "function", "modifiers": [], "name": "_unWhitelist", - "nameLocation": "1839:12:53", + "nameLocation": "1839:12:71", "parameters": { - "id": 10196, + "id": 35334, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10195, + "id": 35333, "mutability": "mutable", "name": "_removedAddress", - "nameLocation": "1860:15:53", + "nameLocation": "1860:15:71", "nodeType": "VariableDeclaration", - "scope": 10205, - "src": "1852:23:53", + "scope": 35343, + "src": "1852:23:71", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1448,10 +1457,10 @@ "typeString": "address" }, "typeName": { - "id": 10194, + "id": 35332, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1852:7:53", + "src": "1852:7:71", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1461,58 +1470,58 @@ "visibility": "internal" } ], - "src": "1851:25:53" + "src": "1851:25:71" }, "returnParameters": { - "id": 10197, + "id": 35335, "nodeType": "ParameterList", "parameters": [], - "src": "1886:0:53" + "src": "1886:0:71" }, - "scope": 10219, + "scope": 35357, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 10218, + "id": 35356, "nodeType": "FunctionDefinition", - "src": "2104:99:53", + "src": "2104:99:71", "nodes": [], "body": { - "id": 10217, + "id": 35355, "nodeType": "Block", - "src": "2154:49:53", + "src": "2154:49:71", "nodes": [], "statements": [ { "expression": { - "id": 10215, + "id": 35353, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 10211, + "id": 35349, "name": "whitelistMap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10115, - "src": "2164:12:53", + "referencedDeclaration": 35253, + "src": "2164:12:71", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 10213, + "id": 35351, "indexExpression": { - "id": 10212, + "id": 35350, "name": "_newAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 10208, - "src": "2177:11:53", + "referencedDeclaration": 35346, + "src": "2177:11:71", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1523,7 +1532,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2164:25:53", + "src": "2164:25:71", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1533,56 +1542,56 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 10214, + "id": 35352, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2192:4:53", + "src": "2192:4:71", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "2164:32:53", + "src": "2164:32:71", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 10216, + "id": 35354, "nodeType": "ExpressionStatement", - "src": "2164:32:53" + "src": "2164:32:71" } ] }, "documentation": { - "id": 10206, + "id": 35344, "nodeType": "StructuredDocumentation", - "src": "1946:153:53", + "src": "1946:153:71", "text": " @dev Internal function for adding the provided address to the whitelist\n @param _newAddress address to be added to the whitelist" }, "implemented": true, "kind": "function", "modifiers": [], "name": "_whitelist", - "nameLocation": "2113:10:53", + "nameLocation": "2113:10:71", "parameters": { - "id": 10209, + "id": 35347, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 10208, + "id": 35346, "mutability": "mutable", "name": "_newAddress", - "nameLocation": "2132:11:53", + "nameLocation": "2132:11:71", "nodeType": "VariableDeclaration", - "scope": 10218, - "src": "2124:19:53", + "scope": 35356, + "src": "2124:19:71", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1590,10 +1599,10 @@ "typeString": "address" }, "typeName": { - "id": 10207, + "id": 35345, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2124:7:53", + "src": "2124:7:71", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1603,15 +1612,15 @@ "visibility": "internal" } ], - "src": "2123:21:53" + "src": "2123:21:71" }, "returnParameters": { - "id": 10210, + "id": 35348, "nodeType": "ParameterList", "parameters": [], - "src": "2154:0:53" + "src": "2154:0:71" }, - "scope": 10219, + "scope": 35357, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" @@ -1621,29 +1630,33 @@ "baseContracts": [ { "baseName": { - "id": 10110, + "id": 35248, "name": "Ownable", "nodeType": "IdentifierPath", - "referencedDeclaration": 4820, - "src": "147:7:53" + "referencedDeclaration": 28927, + "src": "147:7:71" }, - "id": 10111, + "id": 35249, "nodeType": "InheritanceSpecifier", - "src": "147:7:53" + "src": "147:7:71" } ], "canonicalName": "Whitelist", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "linearizedBaseContracts": [10219, 4820, 6244], + "linearizedBaseContracts": [ + 35357, + 28927, + 30351 + ], "name": "Whitelist", - "nameLocation": "134:9:53", - "scope": 10220, + "nameLocation": "134:9:71", + "scope": 35358, "usedErrors": [] } ], "license": "MIT" }, - "id": 53 -} + "id": 71 +} \ No newline at end of file diff --git a/remappings.txt b/remappings.txt index 1db611c..eaaebb6 100644 --- a/remappings.txt +++ b/remappings.txt @@ -1,4 +1,5 @@ openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/ openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/ rareprotocol/aux/=lib/aux/src/ -royalty-guard/=lib/royalty-guard/src/royalty-guard \ No newline at end of file +royalty-guard/=lib/royalty-guard/src/royalty-guard +forge-std/=lib/forge-std/src/ diff --git a/scripts/copy_abis.sh b/script/copy_abis.sh similarity index 100% rename from scripts/copy_abis.sh rename to script/copy_abis.sh diff --git a/script/token/sovereign/LazySovereignNFTFactoryDeploy.s.sol b/script/token/sovereign/LazySovereignNFTFactoryDeploy.s.sol new file mode 100644 index 0000000..4b3c7e2 --- /dev/null +++ b/script/token/sovereign/LazySovereignNFTFactoryDeploy.s.sol @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "forge-std/Script.sol"; + +import "../../../src/token/ERC721/sovereign/lazy/LazySovereignNFTFactory.sol"; + +contract LazySovereignNFTFactoryDeploy is Script { + function run() external { + uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + + vm.startBroadcast(deployerPrivateKey); + + // Deploy Logic Contracts + new LazySovereignNFTFactory(); + + vm.stopBroadcast(); + } +} diff --git a/scripts/token/sovereign/SovereignNFTFactoryDeploy.s.sol b/script/token/sovereign/SovereignNFTFactoryDeploy.s.sol similarity index 75% rename from scripts/token/sovereign/SovereignNFTFactoryDeploy.s.sol rename to script/token/sovereign/SovereignNFTFactoryDeploy.s.sol index 6a1be39..6a107eb 100644 --- a/scripts/token/sovereign/SovereignNFTFactoryDeploy.s.sol +++ b/script/token/sovereign/SovereignNFTFactoryDeploy.s.sol @@ -8,12 +8,11 @@ import "../../../src/token/ERC721/sovereign/SovereignNFTContractFactory.sol"; contract SovereignNFTFactoryDeploy is Script { function run() external { uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY"); - address martketplaceSetings = vm.envAddress("MARKETPLACE_SETTINGS"); vm.startBroadcast(deployerPrivateKey); // Deploy Logic Contracts - new SovereignNFTContractFactory(martketplaceSetings); + new SovereignNFTContractFactory(); vm.stopBroadcast(); } diff --git a/src/token/ERC721/sovereign/SovereignNFTContractFactory.sol b/src/token/ERC721/sovereign/SovereignNFTContractFactory.sol index 6445580..da933a7 100644 --- a/src/token/ERC721/sovereign/SovereignNFTContractFactory.sol +++ b/src/token/ERC721/sovereign/SovereignNFTContractFactory.sol @@ -4,35 +4,38 @@ pragma solidity 0.8.15; import "openzeppelin-contracts/access/Ownable.sol"; import "openzeppelin-contracts/proxy/Clones.sol"; -import "rareprotocol/aux/marketplace/IMarketplaceSettings.sol"; import "./SovereignNFT.sol"; import "./extensions/SovereignNFTRoyaltyGuard.sol"; import "./extensions/SovereignNFTRoyaltyGuardDeadmanTrigger.sol"; contract SovereignNFTContractFactory is Ownable { - IMarketplaceSettings public marketplaceSettings; - bytes32 public constant SOVEREIGN_NFT = "SOVEREIGN_NFT"; - bytes32 public constant ROYALTY_GUARD = "ROYALTY_GUARD"; - bytes32 public constant ROYALTY_GUARD_DEADMAN = "ROYALTY_GUARD_DEADMAN"; + bytes32 public constant SOVEREIGN_NFT = keccak256("SOVEREIGN_NFT"); + bytes32 public constant ROYALTY_GUARD = keccak256("ROYALTY_GUARD"); + bytes32 public constant ROYALTY_GUARD_DEADMAN = keccak256("ROYALTY_GUARD_DEADMAN"); + bytes32 public constant LAZY_SOVEREIGN_NFT = keccak256("LAZY_SOVEREIGN_NFT"); + bytes32 public constant LAZY_ROYALTY_GUARD = keccak256("LAZY_ROYALTY_GUARD"); + bytes32 public constant LAZY_ROYALTY_GUARD_DEADMAN = keccak256("LAZY_ROYALTY_GUARD_DEADMAN"); address public sovereignNFT; address public sovereignNFTRoyaltyGuard; address public sovereignNFTRoyaltyGuardDeadmanTrigger; + address public lazySovereignNFT; + address public lazySovereignNFTRoyaltyGuard; + address public lazySovereignNFTRoyaltyGuardDeadmanTrigger; event SovereignNFTContractCreated( address indexed contractAddress, address indexed owner ); - constructor(address _marketplaceSettings) { - require( - _marketplaceSettings != address(0), - "constructor::_marketplaceSettings cannot be zero address." - ); - - marketplaceSettings = IMarketplaceSettings(_marketplaceSettings); + event SovereignNFTContractCreated( + address indexed contractAddress, + address indexed owner, + bytes32 indexed contractType + ); + constructor() { SovereignNFT sovNFT = new SovereignNFT(); sovereignNFT = address(sovNFT); @@ -43,14 +46,6 @@ contract SovereignNFTContractFactory is Ownable { sovereignNFTRoyaltyGuardDeadmanTrigger = address(sovNFTRGDT); } - function setMarketplaceSettings(address _marketplaceSettings) - external - onlyOwner - { - require(_marketplaceSettings != address(0)); - marketplaceSettings = IMarketplaceSettings(_marketplaceSettings); - } - function setSovereignNFT(address _sovereignNFT) external onlyOwner { require(_sovereignNFT != address(0)); sovereignNFT = _sovereignNFT; @@ -73,6 +68,7 @@ contract SovereignNFTContractFactory is Ownable { sovereignNFTRoyaltyGuardDeadmanTrigger = _sovereignNFT; return; } + require(false, "setSovereignNFT::Unsupported _contractType."); } @@ -90,10 +86,6 @@ contract SovereignNFTContractFactory is Ownable { emit SovereignNFTContractCreated(sovAddr, msg.sender); - marketplaceSettings.setERC721ContractPrimarySaleFeePercentage( - sovAddr, - 15 - ); return address(sovereignNFT); } @@ -112,11 +104,6 @@ contract SovereignNFTContractFactory is Ownable { emit SovereignNFTContractCreated(sovAddr, msg.sender); - marketplaceSettings.setERC721ContractPrimarySaleFeePercentage( - sovAddr, - 15 - ); - return address(sovereignNFT); } @@ -147,7 +134,7 @@ contract SovereignNFTContractFactory is Ownable { } if (_contractType == ROYALTY_GUARD_DEADMAN) { sovAddr = Clones.clone(sovereignNFTRoyaltyGuardDeadmanTrigger); - SovereignNFTRoyaltyGuardDeadmanTrigger(sovAddr).init( + SovereignNFTRoyaltyGuardDeadmanTrigger(sovAddr).init( _name, _symbol, msg.sender, @@ -161,11 +148,6 @@ contract SovereignNFTContractFactory is Ownable { ); emit SovereignNFTContractCreated(sovAddr, msg.sender); - marketplaceSettings.setERC721ContractPrimarySaleFeePercentage( - sovAddr, - 15 - ); - return address(sovAddr); } } diff --git a/src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol b/src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol new file mode 100644 index 0000000..cc019ab --- /dev/null +++ b/src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol @@ -0,0 +1,398 @@ +// contracts/token/ERC721/sovereign/SovereignNFT.sol +// SPDX-License-Identifier: MIT +pragma solidity 0.8.15; + +import "openzeppelin-contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol"; +import "openzeppelin-contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol"; +import "openzeppelin-contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol"; +import "openzeppelin-contracts-upgradeable/access/OwnableUpgradeable.sol"; +import "openzeppelin-contracts-upgradeable/utils/CountersUpgradeable.sol"; +import "openzeppelin-contracts-upgradeable/utils/math/SafeMathUpgradeable.sol"; +import "../../../extensions/ITokenCreator.sol"; +import "../../../extensions/ERC2981Upgradeable.sol"; + +/** + * @title LazySovereignNFT + * @dev This contract implements an ERC721 compliant NFT (Non-Fungible Token) with lazy minting. + */ + +contract LazySovereignNFT is + OwnableUpgradeable, + ERC165Upgradeable, + ERC721Upgradeable, + ITokenCreator, + ERC721BurnableUpgradeable, + ERC2981Upgradeable +{ + using SafeMathUpgradeable for uint256; + using StringsUpgradeable for uint256; + using CountersUpgradeable for CountersUpgradeable.Counter; + + ///////////////////////////////////////////////////////////////////////////// + // Structs + ///////////////////////////////////////////////////////////////////////////// + struct MintConfig { + uint256 numberOfTokens; + string baseURI; + bool lockedMetadata; + } + + ///////////////////////////////////////////////////////////////////////////// + // Storage + ///////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////// + // Public + ////////////////////////////////////////////// + // Disabled flag + bool public disabled; + + // Maximum number of tokens that can be minted + uint256 public maxTokens; + + ////////////////////////////////////////////// + // Private + ////////////////////////////////////////////// + // Mapping from token ID to approved address + mapping(uint256 => address) private tokenApprovals; + + // Mapping from addresses that can mint outside of the owner + mapping(address => bool) private minterAddresses; + + // Optional mapping for token URIs + mapping(uint256 => string) private _tokenURIs; + + // Counter to keep track of the current token id. + CountersUpgradeable.Counter private tokenIdCounter; + + // Mint batches for batch minting + MintConfig private mintConfig; + + ///////////////////////////////////////////////////////////////////////////// + // Events + ///////////////////////////////////////////////////////////////////////////// + // Emits when the contract is disabled. + event ContractDisabled(address indexed user); + + // Emits when prepared for minting. + event PrepareMint(uint256 indexed numberOfTokens, string baseURI); + + // Emits when metadata is locked. + event MetadataLocked(string baseURI); + + // Emits when metadata is updated. + event MetadataUpdated(string baseURI); + + // Emits when token URI is updated. + event TokenURIUpdated(uint256 indexed tokenId, string metadataUri); + + ///////////////////////////////////////////////////////////////////////////// + // Init + ///////////////////////////////////////////////////////////////////////////// + /** + * @dev Contract initialization function. + * @param _name The name of the NFT contract. + * @param _symbol The symbol of the NFT contract. + * @param _creator The address of the contract creator. + * @param _maxTokens The maximum number of tokens that can be minted. + */ + function init( + string calldata _name, + string calldata _symbol, + address _creator, + uint256 _maxTokens + ) public initializer { + require(_creator != address(0), "creator cannot be null address"); + _setDefaultRoyaltyPercentage(10); + disabled = false; + maxTokens = _maxTokens; + + __Ownable_init(); + __ERC721_init(_name, _symbol); + __ERC165_init(); + __ERC2981__init(); + + _setDefaultRoyaltyReceiver(_creator); + + super.transferOwnership(_creator); + } + + ///////////////////////////////////////////////////////////////////////////// + // Modifiers + ///////////////////////////////////////////////////////////////////////////// + /** + * @dev Modifier to check if the contract is not disabled. + */ + modifier ifNotDisabled() { + require(!disabled, "Contract must not be disabled."); + _; + } + + ///////////////////////////////////////////////////////////////////////////// + // Write Functions + ///////////////////////////////////////////////////////////////////////////// + + /** + * @dev Set a minter for the contract + * @param _minter address of the minter. + * @param _isMinter bool of whether the address is a minter. + */ + function setMinterApproval( + address _minter, + bool _isMinter + ) public onlyOwner ifNotDisabled { + minterAddresses[_minter] = _isMinter; + } + + /** + * @dev Prepare a minting batch with a specified base URI and number of tokens. + * @param _baseURI The base URI for token metadata. + * @param _numberOfTokens The number of tokens to prepare for minting. + */ + function prepareMint( + string calldata _baseURI, + uint256 _numberOfTokens + ) public onlyOwner ifNotDisabled { + _prepareMint(_baseURI, _numberOfTokens); + } + + /** + * @dev Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address. + * @param _baseURI The base URI for token metadata. + * @param _numberOfTokens The number of tokens to prepare for minting. + * @param _minter The address of the minter. + */ + function prepareMintWithMinter( + string calldata _baseURI, + uint256 _numberOfTokens, + address _minter + ) public onlyOwner ifNotDisabled { + _prepareMint(_baseURI, _numberOfTokens); + minterAddresses[_minter] = true; + } + + /** + * @dev Mint a new token to the specified receiver. + * @param _receiver The address of the token receiver. + * @return uint256 Token Id of the new token. + */ + function mintTo( + address _receiver + ) external ifNotDisabled returns (uint256) { + require( + msg.sender == owner() || minterAddresses[msg.sender], + "lazyMint::only owner or approved minter can mint" + ); + return + _createToken( + _receiver, + getDefaultRoyaltyPercentage(), + getDefaultRoyaltyReceiver() + ); + } + + /** + * @dev Delete a token with the given ID. + * @param _tokenId The ID of the token to delete. + */ + function deleteToken(uint256 _tokenId) public { + require( + ownerOf(_tokenId) == msg.sender, + "Must be the owner of the token." + ); + burn(_tokenId); + } + + /** + * @dev Disable the contract, preventing further minting. + */ + function disableContract() public onlyOwner { + disabled = true; + emit ContractDisabled(msg.sender); + } + + /** + * @dev Set the default royalty receiver address. + * @param _receiver The address of the default royalty receiver. + */ + function setDefaultRoyaltyReceiver(address _receiver) external onlyOwner { + _setDefaultRoyaltyReceiver(_receiver); + } + + /** + * @dev Set a specific royalty receiver address for a token. + * @param _receiver The address of the royalty receiver. + * @param _tokenId The ID of the token. + */ + function setRoyaltyReceiverForToken( + address _receiver, + uint256 _tokenId + ) external onlyOwner { + royaltyReceivers[_tokenId] = _receiver; + } + + /** + * @dev Update the base URI. + * @param _baseURI The new base URI. + */ + function updateBaseURI(string calldata _baseURI) external onlyOwner { + require( + !mintConfig.lockedMetadata, + "updateBaseURI::metadata is locked" + ); + + mintConfig.baseURI = _baseURI; + emit MetadataUpdated(_baseURI); + } + + /** + * @dev Update the token metadata URI. + * @param _metadataUri The new metadata URI. + */ + function updateTokenURI( + uint256 _tokenId, + string calldata _metadataUri + ) external onlyOwner { + require( + !mintConfig.lockedMetadata, + "updateTokenURI::metadata is locked" + ); + + _tokenURIs[_tokenId] = _metadataUri; + emit TokenURIUpdated(_tokenId, _metadataUri); + } + + /** + * @dev Lock the metadata to prevent further updates. + */ + function lockBaseURI() external onlyOwner { + emit MetadataLocked(mintConfig.baseURI); + mintConfig.lockedMetadata = true; + } + + ///////////////////////////////////////////////////////////////////////////// + // Read Functions + ///////////////////////////////////////////////////////////////////////////// + /** + * @dev Checks if the supplied address is approved for minting + * @param _address The address of the minter. + * @return bool, whether the address is approved for minting. + */ + function isApprovedMinter(address _address) public view returns (bool) { + return minterAddresses[_address]; + } + + /** + * @dev Get the address of the token creator for a given token ID. + * @param _tokenId The ID of the token. + * @return address of the token creator. + */ + function tokenCreator( + uint256 _tokenId + ) public view override returns (address payable) { + return payable(owner()); + } + + /** + * @dev Get the current minting configuration. + * @return mintConfig the mint config. + */ + function getMintConfig() public view returns (MintConfig memory) { + return mintConfig; + } + + /** + * @dev Get the token URI for a specific token. If a token has a set URI, + * it will return that, otherwise it will return the token URI computed from + * the base URI. + * @param _tokenId The ID of the token. + * @return The token's URI. + */ + function tokenURI( + uint256 _tokenId + ) public view virtual override returns (string memory) { + if (bytes(_tokenURIs[_tokenId]).length > 0) { + return _tokenURIs[_tokenId]; + } + return + string( + abi.encodePacked( + mintConfig.baseURI, + "/", + _tokenId.toString(), + ".json" + ) + ); + } + + /** + * @dev Get the total supply of tokens in existence. + * @return The total supply of tokens. + */ + function totalSupply() public view virtual returns (uint256) { + return tokenIdCounter.current(); + } + + /** + * @dev See {IERC165-supportsInterface}. + */ + function supportsInterface( + bytes4 interfaceId + ) + public + view + virtual + override(ERC165Upgradeable, ERC2981Upgradeable, ERC721Upgradeable) + returns (bool) + { + return + interfaceId == type(ITokenCreator).interfaceId || + ERC165Upgradeable.supportsInterface(interfaceId) || + ERC2981Upgradeable.supportsInterface(interfaceId) || + ERC721Upgradeable.supportsInterface(interfaceId); + } + + ///////////////////////////////////////////////////////////////////////////// + // Internal Functions + ///////////////////////////////////////////////////////////////////////////// + /** + * @dev Create a new token and assign it to the specified recipient. + * @param _to The address of the token recipient. + * @param _royaltyPercentage The royalty percentage for the token. + * @param _royaltyReceiver The address of the royalty receiver for the token. + * @return The ID of the newly created token. + */ + function _createToken( + address _to, + uint256 _royaltyPercentage, + address _royaltyReceiver + ) internal returns (uint256) { + tokenIdCounter.increment(); + uint256 tokenId = tokenIdCounter.current(); + require(tokenId <= maxTokens, "_createToken::exceeded maxTokens"); + _safeMint(_to, tokenId); + _setRoyaltyPercentage(tokenId, _royaltyPercentage); + _setRoyaltyReceiver(tokenId, _royaltyReceiver); + return tokenId; + } + + /** + * @dev Prepare a minting batch with a specified base URI and number of tokens. + * @param _baseURI The base URI for token metadata. + * @param _numberOfTokens The number of tokens to prepare for minting. + */ + function _prepareMint( + string calldata _baseURI, + uint256 _numberOfTokens + ) internal { + require( + _numberOfTokens <= maxTokens, + "_prepareMint::exceeded maxTokens" + ); + require( + tokenIdCounter.current() == 0, + "_prepareMint::can only prepare mint with 0 tokens" + ); + mintConfig = MintConfig(_numberOfTokens, _baseURI, false); + emit PrepareMint(_numberOfTokens, _baseURI); + } +} diff --git a/src/token/ERC721/sovereign/lazy/LazySovereignNFTFactory.sol b/src/token/ERC721/sovereign/lazy/LazySovereignNFTFactory.sol new file mode 100644 index 0000000..896157b --- /dev/null +++ b/src/token/ERC721/sovereign/lazy/LazySovereignNFTFactory.sol @@ -0,0 +1,107 @@ +// contracts/token/ERC721/sovereign/SovereignNFTContractFactory.sol +// SPDX-License-Identifier: MIT +pragma solidity 0.8.15; + +import "openzeppelin-contracts/access/Ownable.sol"; +import "openzeppelin-contracts/proxy/Clones.sol"; +import "./LazySovereignNFT.sol"; +import "./extensions/LazySovereignNFTRoyaltyGuard.sol"; +import "./extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol"; + +contract LazySovereignNFTFactory is Ownable { + + bytes32 public constant LAZY_SOVEREIGN_NFT = keccak256("LAZY_SOVEREIGN_NFT"); + bytes32 public constant LAZY_ROYALTY_GUARD = keccak256("LAZY_ROYALTY_GUARD"); + bytes32 public constant LAZY_ROYALTY_GUARD_DEADMAN = keccak256("LAZY_ROYALTY_GUARD_DEADMAN"); + + address public lazySovereignNFT; + address public lazySovereignNFTRoyaltyGuard; + address public lazySovereignNFTRoyaltyGuardDeadmanTrigger; + + event SovereignNFTContractCreated( + address indexed contractAddress, + address indexed owner + ); + + event SovereignNFTContractCreated( + address indexed contractAddress, + address indexed owner, + bytes32 indexed contractType + ); + + constructor() { + LazySovereignNFT lsovNFT = new LazySovereignNFT(); + lazySovereignNFT = address(lsovNFT); + + LazySovereignNFTRoyaltyGuard lsovNFTRG = new LazySovereignNFTRoyaltyGuard(); + lazySovereignNFTRoyaltyGuard = address(lsovNFTRG); + + LazySovereignNFTRoyaltyGuardDeadmanTrigger lsovNFTRGDT = new LazySovereignNFTRoyaltyGuardDeadmanTrigger(); + lazySovereignNFTRoyaltyGuardDeadmanTrigger = address(lsovNFTRGDT); + } + + function setSovereignNFT(address _sovereignNFT, bytes32 _contractType) + external + onlyOwner + { + require(_sovereignNFT != address(0)); + if (_contractType == LAZY_SOVEREIGN_NFT) { + lazySovereignNFT = _sovereignNFT; + return; + } + if (_contractType == LAZY_ROYALTY_GUARD) { + lazySovereignNFTRoyaltyGuard = _sovereignNFT; + return; + } + if (_contractType == LAZY_ROYALTY_GUARD_DEADMAN) { + lazySovereignNFTRoyaltyGuardDeadmanTrigger = _sovereignNFT; + return; + } + require(false, "setSovereignNFT::Unsupported _contractType."); + } + + + function createSovereignNFTContract( + string memory _name, + string memory _symbol, + uint256 _maxTokens, + bytes32 _contractType + ) public returns (address) { + require( + _maxTokens != 0, + "createSovereignNFTContract::_maxTokens cant be zero" + ); + + address sovAddr; + if (_contractType == LAZY_SOVEREIGN_NFT) { + sovAddr = Clones.clone(lazySovereignNFT); + LazySovereignNFT(sovAddr).init(_name, _symbol, msg.sender, _maxTokens); + } + if (_contractType == LAZY_ROYALTY_GUARD) { + sovAddr = Clones.clone(lazySovereignNFTRoyaltyGuard); + LazySovereignNFTRoyaltyGuard(sovAddr).init( + _name, + _symbol, + msg.sender, + _maxTokens + ); + } + if (_contractType == LAZY_ROYALTY_GUARD_DEADMAN) { + sovAddr = Clones.clone(lazySovereignNFTRoyaltyGuardDeadmanTrigger); + LazySovereignNFTRoyaltyGuardDeadmanTrigger(sovAddr).init( + _name, + _symbol, + msg.sender, + _maxTokens + ); + } + require( + sovAddr != address(0), + "createSovereignNFTContract::_contractType unsupported contract type." + ); + emit SovereignNFTContractCreated(sovAddr, msg.sender); + emit SovereignNFTContractCreated(sovAddr, msg.sender, _contractType); + + return address(sovAddr); + } +} diff --git a/src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol b/src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol new file mode 100644 index 0000000..82b9d50 --- /dev/null +++ b/src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol @@ -0,0 +1,61 @@ +// contracts/token/ERC721/sovereign/SovereignNFT.sol +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "royalty-guard/RoyaltyGuard.sol"; + +import "../LazySovereignNFT.sol"; + +contract LazySovereignNFTRoyaltyGuard is LazySovereignNFT, RoyaltyGuard { + /*////////////////////////////////////////////////////////////////////////// + ERC165 LOGIC + //////////////////////////////////////////////////////////////////////////*/ + + /// @dev See {IERC165-supportsInterface}. + function supportsInterface(bytes4 _interfaceId) + public + view + virtual + override(LazySovereignNFT, RoyaltyGuard) + returns (bool) + { + return + RoyaltyGuard.supportsInterface(_interfaceId) || + LazySovereignNFT.supportsInterface(_interfaceId); + } + + /*////////////////////////////////////////////////////////////////////////// + RoyaltyGuard LOGIC + //////////////////////////////////////////////////////////////////////////*/ + + /// @inheritdoc RoyaltyGuard + function hasAdminPermission(address _addr) + public + view + virtual + override + returns (bool) + { + return _addr == owner(); + } + + /// @dev Guards {approve} based on the type of list and depending if {_spender} is on the list. + function approve(address _spender, uint256 _id) + public + virtual + override + checkList(_spender) + { + super.approve(_spender, _id); + } + + /// @dev Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list. + function setApprovalForAll(address _operator, bool _approved) + public + virtual + override + checkList(_operator) + { + super.setApprovalForAll(_operator, _approved); + } +} diff --git a/src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol b/src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol new file mode 100644 index 0000000..8265f96 --- /dev/null +++ b/src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol @@ -0,0 +1,64 @@ +// contracts/token/ERC721/sovereign/SovereignNFT.sol +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol"; + +import "../LazySovereignNFT.sol"; + +contract LazySovereignNFTRoyaltyGuardDeadmanTrigger is + LazySovereignNFT, + RoyaltyGuardDeadmanTrigger +{ + /*////////////////////////////////////////////////////////////////////////// + ERC165 LOGIC + //////////////////////////////////////////////////////////////////////////*/ + + /// @dev See {IERC165-supportsInterface}. + function supportsInterface(bytes4 _interfaceId) + public + view + virtual + override(LazySovereignNFT, RoyaltyGuard) + returns (bool) + { + return + RoyaltyGuard.supportsInterface(_interfaceId) || + LazySovereignNFT.supportsInterface(_interfaceId); + } + + /*////////////////////////////////////////////////////////////////////////// + RoyaltyGuard LOGIC + //////////////////////////////////////////////////////////////////////////*/ + + /// @inheritdoc RoyaltyGuard + function hasAdminPermission(address _addr) + public + view + virtual + override(IRoyaltyGuard, RoyaltyGuard) + returns (bool) + { + return _addr == owner(); + } + + /// @dev Guards {approve} based on the type of list and depending if {_spender} is on the list. + function approve(address _spender, uint256 _id) + public + virtual + override + checkList(_spender) + { + super.approve(_spender, _id); + } + + /// @dev Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list. + function setApprovalForAll(address _operator, bool _approved) + public + virtual + override + checkList(_operator) + { + super.setApprovalForAll(_operator, _approved); + } +}