diff --git a/deployments/linea/.chainId b/deployments/linea/.chainId new file mode 100644 index 0000000..c9e6af4 --- /dev/null +++ b/deployments/linea/.chainId @@ -0,0 +1 @@ +59144 \ No newline at end of file diff --git a/deployments/linea/KycNFT.json b/deployments/linea/KycNFT.json new file mode 100644 index 0000000..edf7888 --- /dev/null +++ b/deployments/linea/KycNFT.json @@ -0,0 +1,683 @@ +{ + "address": "0xACCe550000159e70908C0499a1119D04e7039C28", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "BadSignature", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "ERC721IncorrectOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ERC721InsufficientApproval", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "approver", + "type": "address" + } + ], + "name": "ERC721InvalidApprover", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "ERC721InvalidOperator", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "ERC721InvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "ERC721InvalidReceiver", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ERC721InvalidSender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ERC721NonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "OnlyOneNFTPerAddress", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": 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": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": 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": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "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": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "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": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "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": "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": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "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": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "transactionHash": "0xc9dab584bdd765c3e77f9ee77b6c58038dff8ca6c28c5b3e7942f3da8763f78a", + "receipt": { + "to": "0xD935a2bb926019E0ed6fb31fbD5b1Bbb7c05bf65", + "from": "0x56E44874F624EbDE6efCc783eFD685f0FBDC6dcF", + "contractAddress": null, + "transactionIndex": 4, + "gasUsed": "1689706", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000004000000000000008000000000000000000000000000000000000000000000000000000001000000000002000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000001000000000000000000000000000000000000000000400000000000000", + "blockHash": "0xa60bfcd8ce9c8d6c2a118c5072d413d5305e5153fc2cd636dc8a5fa9297c472c", + "transactionHash": "0xc9dab584bdd765c3e77f9ee77b6c58038dff8ca6c28c5b3e7942f3da8763f78a", + "logs": [ + { + "_type": "log", + "address": "0xACCe550000159e70908C0499a1119D04e7039C28", + "blockHash": "0xa60bfcd8ce9c8d6c2a118c5072d413d5305e5153fc2cd636dc8a5fa9297c472c", + "blockNumber": 12936115, + "data": "0x", + "index": 4, + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000056e44874f624ebde6efcc783efd685f0fbdc6dcf" + ], + "transactionHash": "0xc9dab584bdd765c3e77f9ee77b6c58038dff8ca6c28c5b3e7942f3da8763f78a", + "transactionIndex": 4 + } + ], + "blockNumber": 12936115, + "cumulativeGasUsed": "1909517", + "status": 1 + }, + "args": [ + "Resolver Access Token", + "RES", + "0x56E44874F624EbDE6efCc783eFD685f0FBDC6dcF" + ], + "numDeployments": 1, + "bytecode": "0x608060405234620003805762001f84803803806200001d8162000385565b928339810190606081830312620003805780516001600160401b03919082811162000380578362000050918301620003c1565b6020938483015184811162000380576040916200006f918501620003c1565b9201516001600160a01b03929083811690819003620003805780156200036757600080546001600160a01b03198116831782559094167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a381519284841162000271576001938454938585811c951680156200035c575b8886101462000348578190601f95868111620002f5575b5088908683116001146200029157849262000285575b5050600019600383901b1c191690851b1784555b815194851162000271576002548481811c9116801562000266575b87821014620002525783811162000209575b5085928511600114620001a057939450849291908362000194575b50501b916000199060031b1c1916176002555b604051611b509081620004348239f35b01519250388062000171565b6002815285812093958591601f198316915b88838310620001ee5750505010620001d4575b505050811b0160025562000184565b015160001960f88460031b161c19169055388080620001c5565b858701518855909601959485019487935090810190620001b2565b600282528682208480880160051c82019289891062000248575b0160051c019085905b8281106200023c57505062000156565b8381550185906200022c565b9250819262000223565b634e487b7160e01b82526022600452602482fd5b90607f169062000144565b634e487b7160e01b81526041600452602490fd5b01519050388062000115565b8785528985208894509190601f198416865b8c828210620002de5750508411620002c4575b505050811b01845562000129565b015160001960f88460031b161c19169055388080620002b6565b8385015186558b97909501949384019301620002a3565b9091508684528884208680850160051c8201928b86106200033e575b918991869594930160051c01915b8281106200032f575050620000ff565b8681558594508991016200031f565b9250819262000311565b634e487b7160e01b83526022600452602483fd5b94607f1694620000e8565b604051631e4fbdf760e01b815260006004820152602490fd5b600080fd5b6040519190601f01601f191682016001600160401b03811183821017620003ab57604052565b634e487b7160e01b600052604160045260246000fd5b919080601f84011215620003805782516001600160401b038111620003ab57602090620003f7601f8201601f1916830162000385565b92818452828287010111620003805760005b8181106200041f57508260009394955001015290565b85810183015184820184015282016200040956fe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a7146111675750806306fdde0314611079578063081812fc14611014578063095ea7b314610ebe578063141a468c14610e7957806323b872dd14610e5957806340c10f1914610e0e57806342842e0e14610de557806342966c6814610ac35780636352211e14610a6857806370a0823114610a1d578063715018a6146109815780638da5cb5b1461093057806394d008ef146107b957806395d89b4114610648578063a22cb46514610545578063ab67aa5814610384578063b88d4fde146102dd578063c87b56dd1461026c578063e985e9c5146101ef5763f2fde38b1461010a57600080fd5b346101eb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb576101416112bb565b9061014a611751565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101bc5750508254827fffffffffffffffffffffffff00000000000000000000000000000000000000008216178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b908460249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b8280fd5b50503461026857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102685760ff8160209361022d6112bb565b6102356112e3565b73ffffffffffffffffffffffffffffffffffffffff91821683526006875283832091168252855220549151911615158152f35b5080fd5b509190346102685760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610268576102ab6102d993356116f0565b508181516102b881611394565b528051916102c583611394565b825251918291602083526020830190611278565b0390f35b5090346101eb5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb576103166112bb565b61031e6112e3565b846064359467ffffffffffffffff86116102685736602387011215610268578501359461035661034d87611420565b955195866113df565b8585523660248783010111610268578561038196602460209301838801378501015260443591611514565b80f35b509190346102685760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610268576103be6112bb565b6103c66112e3565b906044359260643567ffffffffffffffff8111610541576103ea9036908801611366565b908587526007602052610507838820805490610405826114b8565b9055845190610493826104678b60208301948c463088939192608895937fffffffffffffffffffffffffffffffffffffffff000000000000000000000000809360601b168652601486015260601b166034840152604883015260688201520190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018452836113df565b6104e3603d875180936104d360208301967f19457468657265756d205369676e6564204d6573736167653a0a313336000000885251809285850190611255565b810103601d8101845201826113df565b5190209273ffffffffffffffffffffffffffffffffffffffff92838a5416946118de565b160361051957506103819394506117a2565b8590517f5cd5d233000000000000000000000000000000000000000000000000000000008152fd5b8580fd5b5090346101eb57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb5761057d6112bb565b90602435918215158093036106445773ffffffffffffffffffffffffffffffffffffffff16928315610616575033845260066020528084208385526020528084207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b8360249251917f5b08ba18000000000000000000000000000000000000000000000000000000008352820152fd5b8480fd5b5091346107b657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107b657815191816002549260018460011c91600186169586156107ac575b6020968785108114610780578899509688969785829a52918260001461073b5750506001146106df575b5050506102d992916106d09103856113df565b51928284938452830190611278565b9190869350600283527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b82841061072357505050820101816106d06102d96106bd565b8054848a01860152889550879490930192810161070a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b860190930193508492506106d091506102d990506106bd565b60248360228c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b92607f1692610693565b80fd5b509190346102685760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610268576107f36112bb565b6024359160443567ffffffffffffffff8111610644576108169036908701611366565b9084865260076020526108f7838720805490610831826114b8565b9055845190610893826104678a60208301948b463088939192608895937fffffffffffffffffffffffffffffffffffffffff000000000000000000000000809360601b168652601486015260601b166034840152604883015260688201520190565b6108d3603d875180936104d360208301967f19457468657265756d205369676e6564204d6573736167653a0a313336000000885251809285850190611255565b5190209273ffffffffffffffffffffffffffffffffffffffff9283895416946118de565b16036109085750906103819161187f565b8490517f5cd5d233000000000000000000000000000000000000000000000000000000008152fd5b50503461026857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102685773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b83346107b657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107b6576109b8611751565b8073ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346102685760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026857602090610a61610a5c6112bb565b61145a565b9051908152f35b5091346107b65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107b6575073ffffffffffffffffffffffffffffffffffffffff610abb602093356116f0565b915191168152f35b5090346101eb57602090817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610de15782359173ffffffffffffffffffffffffffffffffffffffff808654163314600014610c2c5785849182825260038452848220541660038115948515610bbf575b848452528482207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4610b915750505080f35b6024935051917f7e273289000000000000000000000000000000000000000000000000000000008352820152fd5b610bf885600052600560205260406000207fffffffffffffffffffffffff00000000000000000000000000000000000000008154169055565b8284528881528684207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8154019055610b36565b91949383855260038252828686205416923315159081610d19575b505084959160039184969596610cac575b508585525282207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a480f35b610ce587600052600560205260406000207fffffffffffffffffffffffff00000000000000000000000000000000000000008154169055565b84865281528285207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff815401905538610c58565b81610d94575b5015610d2c573880610c47565b935050610d605760249251917f7e273289000000000000000000000000000000000000000000000000000000008352820152fd5b60449251917f177e802f00000000000000000000000000000000000000000000000000000000835233908301526024820152fd5b33851491508115610dc4575b8115610dae575b5038610d1f565b8587526005845287872054163314905038610da7565b8487526006845287872033885284528787205460ff169150610da0565b8380fd5b5050346102685761038190610df936611306565b91925192610e0684611394565b858452611514565b505034610268577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107b657610381610e486112bb565b610e50611751565b6024359061187f565b83346107b657610381610e6b36611306565b91610e74611751565b6117a2565b50346101eb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb5760209282913581526007845220549051908152f35b5090346101eb57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb57610ef66112bb565b9160243590610f04826116f0565b9033151580610ff4575b80610fbf575b610f8f5750819073ffffffffffffffffffffffffffffffffffffffff809516948591167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258780a4835260056020528220907fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905580f35b6024908451907fa9fbf51f0000000000000000000000000000000000000000000000000000000082523390820152fd5b5073ffffffffffffffffffffffffffffffffffffffff82168652600660205283862033875260205260ff848720541615610f14565b503373ffffffffffffffffffffffffffffffffffffffff83161415610f0e565b50346101eb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb578160209373ffffffffffffffffffffffffffffffffffffffff9235611068816116f0565b508152600585522054169051908152f35b5091346107b657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107b65781519181600192600154938460011c916001861695861561115d575b6020968785108114610780578899509688969785829a52918260001461073b575050600114611101575050506102d992916106d09103856113df565b9190869350600183527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b82841061114557505050820101816106d06102d96106bd565b8054848a01860152889550879490930192810161112c565b92607f16926110c5565b925050346101eb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb57357fffffffff0000000000000000000000000000000000000000000000000000000081168091036101eb57602092507f80ac58cd00000000000000000000000000000000000000000000000000000000811490811561122b575b8115611201575b5015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014386111fa565b7f5b5e139f00000000000000000000000000000000000000000000000000000000811491506111f3565b60005b8381106112685750506000910152565b8181015183820152602001611258565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020936112b481518092818752878088019101611255565b0116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112de57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112de57565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60609101126112de5773ffffffffffffffffffffffffffffffffffffffff9060043582811681036112de579160243590811681036112de579060443590565b9181601f840112156112de5782359167ffffffffffffffff83116112de57602083818601950101116112de57565b6020810190811067ffffffffffffffff8211176113b057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176113b057604052565b67ffffffffffffffff81116113b057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b73ffffffffffffffffffffffffffffffffffffffff16801561148757600052600460205260406000205490565b60246040517f89c62b6400000000000000000000000000000000000000000000000000000000815260006004820152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146114e55760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b61151c611751565b6115278383836117a2565b813b611534575b50505050565b73ffffffffffffffffffffffffffffffffffffffff949192939480931693604051937f150b7a020000000000000000000000000000000000000000000000000000000092838652336004870152166024850152604484015260806064840152826115a46020966084830190611278565b039285816000958187895af1849181611698575b50611630575050503d600014611628573d6115d281611420565b906115e060405192836113df565b81528091843d92013e5b8051928361162357602483604051907f64a0ae920000000000000000000000000000000000000000000000000000000082526004820152fd5b019050fd5b5060606115ea565b9092507fffffffff00000000000000000000000000000000000000000000000000000000919450160361166757503880808061152e565b602490604051907f64a0ae920000000000000000000000000000000000000000000000000000000082526004820152fd5b9091508681813d83116116e9575b6116b081836113df565b8101031261064457517fffffffff00000000000000000000000000000000000000000000000000000000811681036106445790386115b8565b503d6116a6565b80600052600360205273ffffffffffffffffffffffffffffffffffffffff60406000205416908115611720575090565b602490604051907f7e2732890000000000000000000000000000000000000000000000000000000082526004820152fd5b73ffffffffffffffffffffffffffffffffffffffff60005416330361177257565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b9073ffffffffffffffffffffffffffffffffffffffff908181161561184e576117cc8483926119b1565b16918261180457602484604051907f7e2732890000000000000000000000000000000000000000000000000000000082526004820152fd5b169182820361181257505050565b60649350604051927f64283d7b000000000000000000000000000000000000000000000000000000008452600484015260248301526044820152fd5b60246040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260006004820152fd5b73ffffffffffffffffffffffffffffffffffffffff918282161561184e576118a6916119b1565b166118ad57565b60246040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260006004820152fd5b929160009360009260405192838160411461199857506040146119535750829150815b61190a57505050565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a160608301511061193a57505050565b8293945081608091602094935282805260015afa505190565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160208086940135918260ff1c601b01828601526040850137166060820152611901565b916040809250810135861a602084015281830137611901565b9073ffffffffffffffffffffffffffffffffffffffff918281169081151580918192611b08575b50611ade577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600094848652600360205260408620541694859283611a6e575b611a56575b848152600360205260408120847fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905580a490565b83815260046020526040812060018154019055611a1d565b611aa786600052600560205260406000207fffffffffffffffffffffffff00000000000000000000000000000000000000008154169055565b8382526004602052604082207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8154019055611a18565b60046040517f6cb75e3f000000000000000000000000000000000000000000000000000000008152fd5b611b12915061145a565b1515386119d856fea2646970667358221220fc399e53dc4178ab41bcefc1cc83f166c9cd2709a4b20c3081fa3d629d88bee764736f6c63430008170033", + "deployedBytecode": "0x6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a7146111675750806306fdde0314611079578063081812fc14611014578063095ea7b314610ebe578063141a468c14610e7957806323b872dd14610e5957806340c10f1914610e0e57806342842e0e14610de557806342966c6814610ac35780636352211e14610a6857806370a0823114610a1d578063715018a6146109815780638da5cb5b1461093057806394d008ef146107b957806395d89b4114610648578063a22cb46514610545578063ab67aa5814610384578063b88d4fde146102dd578063c87b56dd1461026c578063e985e9c5146101ef5763f2fde38b1461010a57600080fd5b346101eb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb576101416112bb565b9061014a611751565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101bc5750508254827fffffffffffffffffffffffff00000000000000000000000000000000000000008216178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b908460249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b8280fd5b50503461026857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102685760ff8160209361022d6112bb565b6102356112e3565b73ffffffffffffffffffffffffffffffffffffffff91821683526006875283832091168252855220549151911615158152f35b5080fd5b509190346102685760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610268576102ab6102d993356116f0565b508181516102b881611394565b528051916102c583611394565b825251918291602083526020830190611278565b0390f35b5090346101eb5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb576103166112bb565b61031e6112e3565b846064359467ffffffffffffffff86116102685736602387011215610268578501359461035661034d87611420565b955195866113df565b8585523660248783010111610268578561038196602460209301838801378501015260443591611514565b80f35b509190346102685760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610268576103be6112bb565b6103c66112e3565b906044359260643567ffffffffffffffff8111610541576103ea9036908801611366565b908587526007602052610507838820805490610405826114b8565b9055845190610493826104678b60208301948c463088939192608895937fffffffffffffffffffffffffffffffffffffffff000000000000000000000000809360601b168652601486015260601b166034840152604883015260688201520190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018452836113df565b6104e3603d875180936104d360208301967f19457468657265756d205369676e6564204d6573736167653a0a313336000000885251809285850190611255565b810103601d8101845201826113df565b5190209273ffffffffffffffffffffffffffffffffffffffff92838a5416946118de565b160361051957506103819394506117a2565b8590517f5cd5d233000000000000000000000000000000000000000000000000000000008152fd5b8580fd5b5090346101eb57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb5761057d6112bb565b90602435918215158093036106445773ffffffffffffffffffffffffffffffffffffffff16928315610616575033845260066020528084208385526020528084207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b8360249251917f5b08ba18000000000000000000000000000000000000000000000000000000008352820152fd5b8480fd5b5091346107b657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107b657815191816002549260018460011c91600186169586156107ac575b6020968785108114610780578899509688969785829a52918260001461073b5750506001146106df575b5050506102d992916106d09103856113df565b51928284938452830190611278565b9190869350600283527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b82841061072357505050820101816106d06102d96106bd565b8054848a01860152889550879490930192810161070a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b860190930193508492506106d091506102d990506106bd565b60248360228c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b92607f1692610693565b80fd5b509190346102685760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610268576107f36112bb565b6024359160443567ffffffffffffffff8111610644576108169036908701611366565b9084865260076020526108f7838720805490610831826114b8565b9055845190610893826104678a60208301948b463088939192608895937fffffffffffffffffffffffffffffffffffffffff000000000000000000000000809360601b168652601486015260601b166034840152604883015260688201520190565b6108d3603d875180936104d360208301967f19457468657265756d205369676e6564204d6573736167653a0a313336000000885251809285850190611255565b5190209273ffffffffffffffffffffffffffffffffffffffff9283895416946118de565b16036109085750906103819161187f565b8490517f5cd5d233000000000000000000000000000000000000000000000000000000008152fd5b50503461026857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102685773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b83346107b657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107b6576109b8611751565b8073ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346102685760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026857602090610a61610a5c6112bb565b61145a565b9051908152f35b5091346107b65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107b6575073ffffffffffffffffffffffffffffffffffffffff610abb602093356116f0565b915191168152f35b5090346101eb57602090817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610de15782359173ffffffffffffffffffffffffffffffffffffffff808654163314600014610c2c5785849182825260038452848220541660038115948515610bbf575b848452528482207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4610b915750505080f35b6024935051917f7e273289000000000000000000000000000000000000000000000000000000008352820152fd5b610bf885600052600560205260406000207fffffffffffffffffffffffff00000000000000000000000000000000000000008154169055565b8284528881528684207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8154019055610b36565b91949383855260038252828686205416923315159081610d19575b505084959160039184969596610cac575b508585525282207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a480f35b610ce587600052600560205260406000207fffffffffffffffffffffffff00000000000000000000000000000000000000008154169055565b84865281528285207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff815401905538610c58565b81610d94575b5015610d2c573880610c47565b935050610d605760249251917f7e273289000000000000000000000000000000000000000000000000000000008352820152fd5b60449251917f177e802f00000000000000000000000000000000000000000000000000000000835233908301526024820152fd5b33851491508115610dc4575b8115610dae575b5038610d1f565b8587526005845287872054163314905038610da7565b8487526006845287872033885284528787205460ff169150610da0565b8380fd5b5050346102685761038190610df936611306565b91925192610e0684611394565b858452611514565b505034610268577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107b657610381610e486112bb565b610e50611751565b6024359061187f565b83346107b657610381610e6b36611306565b91610e74611751565b6117a2565b50346101eb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb5760209282913581526007845220549051908152f35b5090346101eb57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb57610ef66112bb565b9160243590610f04826116f0565b9033151580610ff4575b80610fbf575b610f8f5750819073ffffffffffffffffffffffffffffffffffffffff809516948591167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258780a4835260056020528220907fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905580f35b6024908451907fa9fbf51f0000000000000000000000000000000000000000000000000000000082523390820152fd5b5073ffffffffffffffffffffffffffffffffffffffff82168652600660205283862033875260205260ff848720541615610f14565b503373ffffffffffffffffffffffffffffffffffffffff83161415610f0e565b50346101eb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb578160209373ffffffffffffffffffffffffffffffffffffffff9235611068816116f0565b508152600585522054169051908152f35b5091346107b657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107b65781519181600192600154938460011c916001861695861561115d575b6020968785108114610780578899509688969785829a52918260001461073b575050600114611101575050506102d992916106d09103856113df565b9190869350600183527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b82841061114557505050820101816106d06102d96106bd565b8054848a01860152889550879490930192810161112c565b92607f16926110c5565b925050346101eb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb57357fffffffff0000000000000000000000000000000000000000000000000000000081168091036101eb57602092507f80ac58cd00000000000000000000000000000000000000000000000000000000811490811561122b575b8115611201575b5015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014386111fa565b7f5b5e139f00000000000000000000000000000000000000000000000000000000811491506111f3565b60005b8381106112685750506000910152565b8181015183820152602001611258565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020936112b481518092818752878088019101611255565b0116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112de57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112de57565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60609101126112de5773ffffffffffffffffffffffffffffffffffffffff9060043582811681036112de579160243590811681036112de579060443590565b9181601f840112156112de5782359167ffffffffffffffff83116112de57602083818601950101116112de57565b6020810190811067ffffffffffffffff8211176113b057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176113b057604052565b67ffffffffffffffff81116113b057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b73ffffffffffffffffffffffffffffffffffffffff16801561148757600052600460205260406000205490565b60246040517f89c62b6400000000000000000000000000000000000000000000000000000000815260006004820152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146114e55760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b61151c611751565b6115278383836117a2565b813b611534575b50505050565b73ffffffffffffffffffffffffffffffffffffffff949192939480931693604051937f150b7a020000000000000000000000000000000000000000000000000000000092838652336004870152166024850152604484015260806064840152826115a46020966084830190611278565b039285816000958187895af1849181611698575b50611630575050503d600014611628573d6115d281611420565b906115e060405192836113df565b81528091843d92013e5b8051928361162357602483604051907f64a0ae920000000000000000000000000000000000000000000000000000000082526004820152fd5b019050fd5b5060606115ea565b9092507fffffffff00000000000000000000000000000000000000000000000000000000919450160361166757503880808061152e565b602490604051907f64a0ae920000000000000000000000000000000000000000000000000000000082526004820152fd5b9091508681813d83116116e9575b6116b081836113df565b8101031261064457517fffffffff00000000000000000000000000000000000000000000000000000000811681036106445790386115b8565b503d6116a6565b80600052600360205273ffffffffffffffffffffffffffffffffffffffff60406000205416908115611720575090565b602490604051907f7e2732890000000000000000000000000000000000000000000000000000000082526004820152fd5b73ffffffffffffffffffffffffffffffffffffffff60005416330361177257565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b9073ffffffffffffffffffffffffffffffffffffffff908181161561184e576117cc8483926119b1565b16918261180457602484604051907f7e2732890000000000000000000000000000000000000000000000000000000082526004820152fd5b169182820361181257505050565b60649350604051927f64283d7b000000000000000000000000000000000000000000000000000000008452600484015260248301526044820152fd5b60246040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260006004820152fd5b73ffffffffffffffffffffffffffffffffffffffff918282161561184e576118a6916119b1565b166118ad57565b60246040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260006004820152fd5b929160009360009260405192838160411461199857506040146119535750829150815b61190a57505050565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a160608301511061193a57505050565b8293945081608091602094935282805260015afa505190565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160208086940135918260ff1c601b01828601526040850137166060820152611901565b916040809250810135861a602084015281830137611901565b9073ffffffffffffffffffffffffffffffffffffffff918281169081151580918192611b08575b50611ade577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600094848652600360205260408620541694859283611a6e575b611a56575b848152600360205260408120847fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905580a490565b83815260046020526040812060018154019055611a1d565b611aa786600052600560205260406000207fffffffffffffffffffffffff00000000000000000000000000000000000000008154169055565b8382526004602052604082207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8154019055611a18565b60046040517f6cb75e3f000000000000000000000000000000000000000000000000000000008152fd5b611b12915061145a565b1515386119d856fea2646970667358221220fc399e53dc4178ab41bcefc1cc83f166c9cd2709a4b20c3081fa3d629d88bee764736f6c63430008170033" +} \ No newline at end of file