{"matchId":"51267111","creationMatch":"match","runtimeMatch":"match","verifiedAt":"2026-09-18T20:32:50Z","creationBytecode":{"onchainBytecode":"0x608060405234801561000f575f80fd5b50604051610a94380380610a9483398101604081905261002e916100df565b6001600160a01b03811661006257604051636f2ff52760e01b81525f60048201819052602482015260440160405180910390fd5b5f80805260208181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb580546001600160a01b0319166001600160a01b0385169081179091556040519081527fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266910160405180910390a25061010c565b5f602082840312156100ef575f80fd5b81516001600160a01b0381168114610105575f80fd5b9392505050565b61097b806101195f395ff3fe608060405234801561000f575f80fd5b50600436106100b9575f3560e01c80631896f70a11610072578063a22cb46511610058578063a22cb4651461020d578063e985e9c514610220578063f79fe53814610278575f80fd5b80631896f70a146101e75780635b0fc9c3146101fa575f80fd5b806306ab5923116100a257806306ab59231461015457806314ab90381461017557806316a25cbd1461018a575f80fd5b80630178b8bf146100bd57806302571be31461011f575b5f80fd5b6100f56100cb366004610850565b5f9081526020819052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f561012d366004610850565b5f9081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b61016761016236600461088f565b6102af565b604051908152602001610116565b6101886101833660046108c1565b61042d565b005b6101ce610198366004610850565b5f9081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b60405167ffffffffffffffff9091168152602001610116565b6101886101f53660046108fb565b61056d565b6101886102083660046108fb565b610695565b61018861021b366004610925565b6107ba565b61026861022e366004610953565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260016020908152604080832093909416825291909152205460ff1690565b6040519015158152602001610116565b610268610286366004610850565b5f9081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff16151590565b5f83815260208190526040812054849073ffffffffffffffffffffffffffffffffffffffff16338114801590610315575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b1561035a576040517f6f2ff527000000000000000000000000000000000000000000000000000000008152600481018390523360248201526044015b60405180910390fd5b6040805160208101889052908101869052606001604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815282825280516020918201205f8181528083529290922080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89169081179091558352909450869188917fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82910160405180910390a350509392505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff16338114801590610493575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b156104d3576040517f6f2ff52700000000000000000000000000000000000000000000000000000000815260048101839052336024820152604401610351565b5f848152602081815260409182902060010180547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000067ffffffffffffffff881690810291909117909155915191825285917f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6891015b60405180910390a250505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163381148015906105d3575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b15610613576040517f6f2ff52700000000000000000000000000000000000000000000000000000000815260048101839052336024820152604401610351565b5f848152602081815260409182902060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155915191825285917f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0910161055f565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163381148015906106fb575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b1561073b576040517f6f2ff52700000000000000000000000000000000000000000000000000000000815260048101839052336024820152604401610351565b5f848152602081815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155915191825285917fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266910161055f565b335f81815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b5f60208284031215610860575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461088a575f80fd5b919050565b5f805f606084860312156108a1575f80fd5b83359250602084013591506108b860408501610867565b90509250925092565b5f80604083850312156108d2575f80fd5b82359150602083013567ffffffffffffffff811681146108f0575f80fd5b809150509250929050565b5f806040838503121561090c575f80fd5b8235915061091c60208401610867565b90509250929050565b5f8060408385031215610936575f80fd5b61093f83610867565b9150602083013580151581146108f0575f80fd5b5f8060408385031215610964575f80fd5b61096d83610867565b915061091c602084016108675600000000000000000000000078de409a6306550882328e2a67160471368387ff","recompiledBytecode":"0x608060405234801561000f575f80fd5b50604051610a94380380610a9483398101604081905261002e916100df565b6001600160a01b03811661006257604051636f2ff52760e01b81525f60048201819052602482015260440160405180910390fd5b5f80805260208181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb580546001600160a01b0319166001600160a01b0385169081179091556040519081527fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266910160405180910390a25061010c565b5f602082840312156100ef575f80fd5b81516001600160a01b0381168114610105575f80fd5b9392505050565b61097b806101195f395ff3fe608060405234801561000f575f80fd5b50600436106100b9575f3560e01c80631896f70a11610072578063a22cb46511610058578063a22cb4651461020d578063e985e9c514610220578063f79fe53814610278575f80fd5b80631896f70a146101e75780635b0fc9c3146101fa575f80fd5b806306ab5923116100a257806306ab59231461015457806314ab90381461017557806316a25cbd1461018a575f80fd5b80630178b8bf146100bd57806302571be31461011f575b5f80fd5b6100f56100cb366004610850565b5f9081526020819052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f561012d366004610850565b5f9081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b61016761016236600461088f565b6102af565b604051908152602001610116565b6101886101833660046108c1565b61042d565b005b6101ce610198366004610850565b5f9081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b60405167ffffffffffffffff9091168152602001610116565b6101886101f53660046108fb565b61056d565b6101886102083660046108fb565b610695565b61018861021b366004610925565b6107ba565b61026861022e366004610953565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260016020908152604080832093909416825291909152205460ff1690565b6040519015158152602001610116565b610268610286366004610850565b5f9081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff16151590565b5f83815260208190526040812054849073ffffffffffffffffffffffffffffffffffffffff16338114801590610315575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b1561035a576040517f6f2ff527000000000000000000000000000000000000000000000000000000008152600481018390523360248201526044015b60405180910390fd5b6040805160208101889052908101869052606001604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815282825280516020918201205f8181528083529290922080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89169081179091558352909450869188917fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82910160405180910390a350509392505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff16338114801590610493575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b156104d3576040517f6f2ff52700000000000000000000000000000000000000000000000000000000815260048101839052336024820152604401610351565b5f848152602081815260409182902060010180547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000067ffffffffffffffff881690810291909117909155915191825285917f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6891015b60405180910390a250505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163381148015906105d3575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b15610613576040517f6f2ff52700000000000000000000000000000000000000000000000000000000815260048101839052336024820152604401610351565b5f848152602081815260409182902060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155915191825285917f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0910161055f565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163381148015906106fb575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b1561073b576040517f6f2ff52700000000000000000000000000000000000000000000000000000000815260048101839052336024820152604401610351565b5f848152602081815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155915191825285917fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266910161055f565b335f81815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b5f60208284031215610860575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461088a575f80fd5b919050565b5f805f606084860312156108a1575f80fd5b83359250602084013591506108b860408501610867565b90509250925092565b5f80604083850312156108d2575f80fd5b82359150602083013567ffffffffffffffff811681146108f0575f80fd5b809150509250929050565b5f806040838503121561090c575f80fd5b8235915061091c60208401610867565b90509250929050565b5f8060408385031215610936575f80fd5b61093f83610867565b9150602083013580151581146108f0575f80fd5b5f8060408385031215610964575f80fd5b61096d83610867565b915061091c6020840161086756","sourceMap":"214:2799:0:-:0;;;916:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;961:23:0;;957:72;;993:36;;-1:-1:-1;;;993:36:0;;1014:1;993:36;;;483:25:2;;;524:18;;;517:60;456:18;;993:36:0;;;;;;;957:72;1039:8;:20;;;;;;;;:38;;-1:-1:-1;;;;;;1039:38:0;-1:-1:-1;;;;;1039:38:0;;;;;;;;:20;1092:31;734:51:2;;;1092:31:0;;707:18:2;1092:31:0;;;;;;;916:214;214:2799;;14:290:2;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:2;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:2:o;588:203::-;214:2799:0;;;;;;","linkReferences":{},"cborAuxdata":{},"transformations":[{"type":"insert","offset":2708,"reason":"constructorArguments"}],"transformationValues":{"constructorArguments":"0x00000000000000000000000078de409a6306550882328e2a67160471368387ff"}},"runtimeBytecode":{"onchainBytecode":"0x608060405234801561000f575f80fd5b50600436106100b9575f3560e01c80631896f70a11610072578063a22cb46511610058578063a22cb4651461020d578063e985e9c514610220578063f79fe53814610278575f80fd5b80631896f70a146101e75780635b0fc9c3146101fa575f80fd5b806306ab5923116100a257806306ab59231461015457806314ab90381461017557806316a25cbd1461018a575f80fd5b80630178b8bf146100bd57806302571be31461011f575b5f80fd5b6100f56100cb366004610850565b5f9081526020819052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f561012d366004610850565b5f9081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b61016761016236600461088f565b6102af565b604051908152602001610116565b6101886101833660046108c1565b61042d565b005b6101ce610198366004610850565b5f9081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b60405167ffffffffffffffff9091168152602001610116565b6101886101f53660046108fb565b61056d565b6101886102083660046108fb565b610695565b61018861021b366004610925565b6107ba565b61026861022e366004610953565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260016020908152604080832093909416825291909152205460ff1690565b6040519015158152602001610116565b610268610286366004610850565b5f9081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff16151590565b5f83815260208190526040812054849073ffffffffffffffffffffffffffffffffffffffff16338114801590610315575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b1561035a576040517f6f2ff527000000000000000000000000000000000000000000000000000000008152600481018390523360248201526044015b60405180910390fd5b6040805160208101889052908101869052606001604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815282825280516020918201205f8181528083529290922080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89169081179091558352909450869188917fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82910160405180910390a350509392505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff16338114801590610493575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b156104d3576040517f6f2ff52700000000000000000000000000000000000000000000000000000000815260048101839052336024820152604401610351565b5f848152602081815260409182902060010180547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000067ffffffffffffffff881690810291909117909155915191825285917f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6891015b60405180910390a250505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163381148015906105d3575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b15610613576040517f6f2ff52700000000000000000000000000000000000000000000000000000000815260048101839052336024820152604401610351565b5f848152602081815260409182902060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155915191825285917f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0910161055f565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163381148015906106fb575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b1561073b576040517f6f2ff52700000000000000000000000000000000000000000000000000000000815260048101839052336024820152604401610351565b5f848152602081815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155915191825285917fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266910161055f565b335f81815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b5f60208284031215610860575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461088a575f80fd5b919050565b5f805f606084860312156108a1575f80fd5b83359250602084013591506108b860408501610867565b90509250925092565b5f80604083850312156108d2575f80fd5b82359150602083013567ffffffffffffffff811681146108f0575f80fd5b809150509250929050565b5f806040838503121561090c575f80fd5b8235915061091c60208401610867565b90509250929050565b5f8060408385031215610936575f80fd5b61093f83610867565b9150602083013580151581146108f0575f80fd5b5f8060408385031215610964575f80fd5b61096d83610867565b915061091c6020840161086756","recompiledBytecode":"0x608060405234801561000f575f80fd5b50600436106100b9575f3560e01c80631896f70a11610072578063a22cb46511610058578063a22cb4651461020d578063e985e9c514610220578063f79fe53814610278575f80fd5b80631896f70a146101e75780635b0fc9c3146101fa575f80fd5b806306ab5923116100a257806306ab59231461015457806314ab90381461017557806316a25cbd1461018a575f80fd5b80630178b8bf146100bd57806302571be31461011f575b5f80fd5b6100f56100cb366004610850565b5f9081526020819052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f561012d366004610850565b5f9081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b61016761016236600461088f565b6102af565b604051908152602001610116565b6101886101833660046108c1565b61042d565b005b6101ce610198366004610850565b5f9081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b60405167ffffffffffffffff9091168152602001610116565b6101886101f53660046108fb565b61056d565b6101886102083660046108fb565b610695565b61018861021b366004610925565b6107ba565b61026861022e366004610953565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260016020908152604080832093909416825291909152205460ff1690565b6040519015158152602001610116565b610268610286366004610850565b5f9081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff16151590565b5f83815260208190526040812054849073ffffffffffffffffffffffffffffffffffffffff16338114801590610315575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b1561035a576040517f6f2ff527000000000000000000000000000000000000000000000000000000008152600481018390523360248201526044015b60405180910390fd5b6040805160208101889052908101869052606001604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815282825280516020918201205f8181528083529290922080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89169081179091558352909450869188917fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82910160405180910390a350509392505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff16338114801590610493575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b156104d3576040517f6f2ff52700000000000000000000000000000000000000000000000000000000815260048101839052336024820152604401610351565b5f848152602081815260409182902060010180547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000067ffffffffffffffff881690810291909117909155915191825285917f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6891015b60405180910390a250505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163381148015906105d3575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b15610613576040517f6f2ff52700000000000000000000000000000000000000000000000000000000815260048101839052336024820152604401610351565b5f848152602081815260409182902060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155915191825285917f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0910161055f565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163381148015906106fb575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b1561073b576040517f6f2ff52700000000000000000000000000000000000000000000000000000000815260048101839052336024820152604401610351565b5f848152602081815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155915191825285917fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266910161055f565b335f81815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b5f60208284031215610860575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461088a575f80fd5b919050565b5f805f606084860312156108a1575f80fd5b83359250602084013591506108b860408501610867565b90509250925092565b5f80604083850312156108d2575f80fd5b82359150602083013567ffffffffffffffff811681146108f0575f80fd5b809150509250929050565b5f806040838503121561090c575f80fd5b8235915061091c60208401610867565b90509250929050565b5f8060408385031215610936575f80fd5b61093f83610867565b9150602083013580151581146108f0575f80fd5b5f8060408385031215610964575f80fd5b61096d83610867565b915061091c6020840161086756","sourceMap":"214:2799:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1493:111;;;;;;:::i;:::-;1548:7;1574:14;;;;;;;;;;:23;;;;;;1493:111;;;;375:42:2;363:55;;;345:74;;333:2;318:18;1493:111:0;;;;;;;;1382:105;;;;;;:::i;:::-;1434:7;1460:14;;;;;;;;;;:20;;;;1382:105;2359:309;;;;;;:::i;:::-;;:::i;:::-;;;1104:25:2;;;1092:2;1077:18;2359:309:0;958:177:2;2861:150:0;;;;;;:::i;:::-;;:::i;:::-;;1610:100;;;;;;:::i;:::-;1660:6;1685:14;;;;;;;;;;:18;;;;;;;;;1610:100;;;;1671:18:2;1659:31;;;1641:50;;1629:2;1614:18;1610:100:0;1497:200:2;2674:181:0;;;;;;:::i;:::-;;:::i;2190:163::-;;;;;;:::i;:::-;;:::i;1994:190::-;;;;;;:::i;:::-;;:::i;1845:143::-;;;;;;:::i;:::-;1952:19;;;;1929:4;1952:19;;;:10;:19;;;;;;;;:29;;;;;;;;;;;;;;;1845:143;;;;2743:14:2;;2736:22;2718:41;;2706:2;2691:18;1845:143:0;2578:187:2;1716:123:0;;;;;;:::i;:::-;1775:4;1798:14;;;;;;;;;;:20;:34;:20;:34;;;1716:123;2359:309;2490:15;1200:14;;;;;;;;;;:20;2467:4;;1200:20;;1234:10;:23;;;;;:61;;-1:-1:-1;1262:21:0;;;;;;;:10;:21;;;;;;;;1284:10;1262:33;;;;;;;;;;1261:34;1234:61;1230:129;;;1318:30;;;;;;;;2944:25:2;;;1337:10:0;2985:18:2;;;2978:83;2917:18;;1318:30:0;;;;;;;;1230:129;2541:29:::1;::::0;;::::1;::::0;::::1;3229:19:2::0;;;3264:12;;;3257:28;;;3301:12;;2541:29:0::1;::::0;;;;::::1;::::0;;;;;;;2531:40;;2541:29:::1;2531:40:::0;;::::1;::::0;2581:8:::1;:17:::0;;;;;;;;;;:34;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;;345:74:2;;2531:40:0;;-1:-1:-1;2645:5:0;;2639:4;;2630:31:::1;::::0;318:18:2;2630:31:0::1;;;;;;;1170:206:::0;2359:309;;;;;;:::o;2861:150::-;1180:17;1200:14;;;;;;;;;;:20;2926:4;;1200:20;;1234:10;:23;;;;;:61;;-1:-1:-1;1262:21:0;;;;;;;:10;:21;;;;;;;;1284:10;1262:33;;;;;;;;;;1261:34;1234:61;1230:129;;;1318:30;;;;;;;;2944:25:2;;;1337:10:0;2985:18:2;;;2978:83;2917:18;;1318:30:0;2770:297:2;1230:129:0;2942:8:::1;:14:::0;;;::::1;::::0;;;;;;;;:18:::1;;:27:::0;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;2984:20;;1641:50:2;;;2942:14:0;;2984:20:::1;::::0;1614:18:2;2984:20:0::1;;;;;;;;1170:206:::0;2861:150;;;:::o;2674:181::-;1180:17;1200:14;;;;;;;;;;:20;2750:4;;1200:20;;1234:10;:23;;;;;:61;;-1:-1:-1;1262:21:0;;;;;;;:10;:21;;;;;;;;1284:10;1262:33;;;;;;;;;;1261:34;1234:61;1230:129;;;1318:30;;;;;;;;2944:25:2;;;1337:10:0;2985:18:2;;;2978:83;2917:18;;1318:30:0;2770:297:2;1230:129:0;2766:8:::1;:14:::0;;;::::1;::::0;;;;;;;;:23:::1;;:37:::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;;2818:30;;345:74:2;;;2766:14:0;;2818:30:::1;::::0;318:18:2;2818:30:0::1;199:226:2::0;2190:163:0;1180:17;1200:14;;;;;;;;;;:20;2260:4;;1200:20;;1234:10;:23;;;;;:61;;-1:-1:-1;1262:21:0;;;;;;;:10;:21;;;;;;;;1284:10;1262:33;;;;;;;;;;1261:34;1234:61;1230:129;;;1318:30;;;;;;;;2944:25:2;;;1337:10:0;2985:18:2;;;2978:83;2917:18;;1318:30:0;2770:297:2;1230:129:0;2276:8:::1;:14:::0;;;::::1;::::0;;;;;;;;:31;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;;2322:24;;345:74:2;;;2276:14:0;;2322:24:::1;::::0;318:18:2;2322:24:0::1;199:226:2::0;1994:190:0;2084:10;2073:22;;;;:10;:22;;;;;;;;;:32;;;;;;;;;;;;:43;;;;;;;;;;;;;2131:46;;2718:41:2;;;2073:32:0;;2084:10;2131:46;;2691:18:2;2131:46:0;;;;;;;1994:190;;:::o;14:180:2:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:2;;14:180;-1:-1:-1;14:180:2:o;430:196::-;498:20;;558:42;547:54;;537:65;;527:93;;616:1;613;606:12;527:93;430:196;;;:::o;631:322::-;708:6;716;724;777:2;765:9;756:7;752:23;748:32;745:52;;;793:1;790;783:12;745:52;829:9;816:23;806:33;;886:2;875:9;871:18;858:32;848:42;;909:38;943:2;932:9;928:18;909:38;:::i;:::-;899:48;;631:322;;;;;:::o;1140:352::-;1207:6;1215;1268:2;1256:9;1247:7;1243:23;1239:32;1236:52;;;1284:1;1281;1274:12;1236:52;1320:9;1307:23;1297:33;;1380:2;1369:9;1365:18;1352:32;1424:18;1417:5;1413:30;1406:5;1403:41;1393:69;;1458:1;1455;1448:12;1393:69;1481:5;1471:15;;;1140:352;;;;;:::o;1702:254::-;1770:6;1778;1831:2;1819:9;1810:7;1806:23;1802:32;1799:52;;;1847:1;1844;1837:12;1799:52;1883:9;1870:23;1860:33;;1912:38;1946:2;1935:9;1931:18;1912:38;:::i;:::-;1902:48;;1702:254;;;;;:::o;1961:347::-;2026:6;2034;2087:2;2075:9;2066:7;2062:23;2058:32;2055:52;;;2103:1;2100;2093:12;2055:52;2126:29;2145:9;2126:29;:::i;:::-;2116:39;;2205:2;2194:9;2190:18;2177:32;2252:5;2245:13;2238:21;2231:5;2228:32;2218:60;;2274:1;2271;2264:12;2313:260;2381:6;2389;2442:2;2430:9;2421:7;2417:23;2413:32;2410:52;;;2458:1;2455;2448:12;2410:52;2481:29;2500:9;2481:29;:::i;:::-;2471:39;;2529:38;2563:2;2552:9;2548:18;2529:38;:::i","linkReferences":{},"cborAuxdata":{},"immutableReferences":{},"transformations":[],"transformationValues":{}},"deployment":{"transactionHash":"0x04e25c3d44407a520a757156817bb90f84edd2f7ecb6b2df2b8a9aeef8b4614f","blockNumber":"21554918","transactionIndex":"1","deployer":"0x78de409a6306550882328E2a67160471368387FF"},"sources":{"src/ArcNameRegistry.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.24;\n\nimport { IArcNameRegistry } from \"./interfaces/IArcNameRegistry.sol\";\n\n/// @notice ENS-compatible ownership, resolver and TTL source of truth for Arc names.\ncontract ArcNameRegistry is IArcNameRegistry {\n    error Unauthorized(bytes32 node, address caller);\n\n    struct Record {\n        address owner;\n        address resolver;\n        uint64 ttl;\n    }\n\n    mapping(bytes32 node => Record record) private _records;\n    mapping(address account => mapping(address operator => bool approved)) private _operators;\n\n    event Transfer(bytes32 indexed node, address owner);\n    event NewOwner(bytes32 indexed node, bytes32 indexed label, address owner);\n    event NewResolver(bytes32 indexed node, address resolver);\n    event NewTTL(bytes32 indexed node, uint64 ttl);\n    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n    constructor(address rootOwner) {\n        if (rootOwner == address(0)) revert Unauthorized(bytes32(0), address(0));\n        _records[bytes32(0)].owner = rootOwner;\n        emit Transfer(bytes32(0), rootOwner);\n    }\n\n    modifier authorised(bytes32 node) {\n        address nodeOwner = _records[node].owner;\n        if (msg.sender != nodeOwner && !_operators[nodeOwner][msg.sender]) {\n            revert Unauthorized(node, msg.sender);\n        }\n        _;\n    }\n\n    function owner(bytes32 node) external view returns (address) {\n        return _records[node].owner;\n    }\n\n    function resolver(bytes32 node) external view returns (address) {\n        return _records[node].resolver;\n    }\n\n    function ttl(bytes32 node) external view returns (uint64) {\n        return _records[node].ttl;\n    }\n\n    function recordExists(bytes32 node) external view returns (bool) {\n        return _records[node].owner != address(0);\n    }\n\n    function isApprovedForAll(address account, address operator) external view returns (bool) {\n        return _operators[account][operator];\n    }\n\n    function setApprovalForAll(address operator, bool approved) external {\n        _operators[msg.sender][operator] = approved;\n        emit ApprovalForAll(msg.sender, operator, approved);\n    }\n\n    function setOwner(bytes32 node, address newOwner) external authorised(node) {\n        _records[node].owner = newOwner;\n        emit Transfer(node, newOwner);\n    }\n\n    function setSubnodeOwner(bytes32 node, bytes32 label, address newOwner)\n        external\n        authorised(node)\n        returns (bytes32 subnode)\n    {\n        subnode = keccak256(abi.encodePacked(node, label));\n        _records[subnode].owner = newOwner;\n        emit NewOwner(node, label, newOwner);\n    }\n\n    function setResolver(bytes32 node, address newResolver) external authorised(node) {\n        _records[node].resolver = newResolver;\n        emit NewResolver(node, newResolver);\n    }\n\n    function setTTL(bytes32 node, uint64 newTTL) external authorised(node) {\n        _records[node].ttl = newTTL;\n        emit NewTTL(node, newTTL);\n    }\n}\n\n"},"src/interfaces/IArcNameRegistry.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.24;\n\ninterface IArcNameRegistry {\n    function owner(bytes32 node) external view returns (address);\n    function resolver(bytes32 node) external view returns (address);\n    function ttl(bytes32 node) external view returns (uint64);\n    function recordExists(bytes32 node) external view returns (bool);\n    function isApprovedForAll(address account, address operator) external view returns (bool);\n\n    function setOwner(bytes32 node, address newOwner) external;\n    function setSubnodeOwner(bytes32 node, bytes32 label, address newOwner)\n        external\n        returns (bytes32);\n    function setResolver(bytes32 node, address newResolver) external;\n    function setTTL(bytes32 node, uint64 newTTL) external;\n}\n\n"}},"compilation":{"language":"Solidity","compiler":"solc","compilerVersion":"0.8.24+commit.e11b9ed9","compilerSettings":{"viaIR":false,"metadata":{"appendCBOR":false,"bytecodeHash":"none","useLiteralContent":false},"libraries":{},"optimizer":{"runs":10000,"enabled":true},"evmVersion":"cancun"},"name":"ArcNameRegistry","fullyQualifiedName":"src/ArcNameRegistry.sol:ArcNameRegistry"},"abi":[{"type":"constructor","inputs":[{"name":"rootOwner","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"name":"Unauthorized","type":"error","inputs":[{"name":"node","type":"bytes32","internalType":"bytes32"},{"name":"caller","type":"address","internalType":"address"}]},{"name":"ApprovalForAll","type":"event","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"name":"NewOwner","type":"event","inputs":[{"name":"node","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"label","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"name":"NewResolver","type":"event","inputs":[{"name":"node","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"resolver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"name":"NewTTL","type":"event","inputs":[{"name":"node","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"ttl","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"name":"Transfer","type":"event","inputs":[{"name":"node","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"name":"isApprovedForAll","type":"function","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"name":"owner","type":"function","inputs":[{"name":"node","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"name":"recordExists","type":"function","inputs":[{"name":"node","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"name":"resolver","type":"function","inputs":[{"name":"node","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"name":"setApprovalForAll","type":"function","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"name":"setOwner","type":"function","inputs":[{"name":"node","type":"bytes32","internalType":"bytes32"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"name":"setResolver","type":"function","inputs":[{"name":"node","type":"bytes32","internalType":"bytes32"},{"name":"newResolver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"name":"setSubnodeOwner","type":"function","inputs":[{"name":"node","type":"bytes32","internalType":"bytes32"},{"name":"label","type":"bytes32","internalType":"bytes32"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[{"name":"subnode","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"name":"setTTL","type":"function","inputs":[{"name":"node","type":"bytes32","internalType":"bytes32"},{"name":"newTTL","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"name":"ttl","type":"function","inputs":[{"name":"node","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"}],"metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"rootOwner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"address","name":"caller","type":"address"}],"name":"Unauthorized","type":"error"},{"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":"bytes32","name":"node","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"label","type":"bytes32"},{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"NewOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"node","type":"bytes32"},{"indexed":false,"internalType":"address","name":"resolver","type":"address"}],"name":"NewResolver","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"node","type":"bytes32"},{"indexed":false,"internalType":"uint64","name":"ttl","type":"uint64"}],"name":"NewTTL","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"node","type":"bytes32"},{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"}],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"}],"name":"recordExists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"}],"name":"resolver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"address","name":"newResolver","type":"address"}],"name":"setResolver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"bytes32","name":"label","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"name":"setSubnodeOwner","outputs":[{"internalType":"bytes32","name":"subnode","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"uint64","name":"newTTL","type":"uint64"}],"name":"setTTL","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"}],"name":"ttl","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"notice":"ENS-compatible ownership, resolver and TTL source of truth for Arc names.","version":1}},"settings":{"compilationTarget":{"src/ArcNameRegistry.sol":"ArcNameRegistry"},"evmVersion":"cancun","libraries":{},"metadata":{"appendCBOR":false,"bytecodeHash":"none"},"optimizer":{"enabled":true,"runs":10000},"remappings":[]},"sources":{"src/ArcNameRegistry.sol":{"keccak256":"0x17916fe5cdf0cdb5b9fc7dd75d833fe5c6d39a642cbb41cbc3887e3636bf8a50","license":"MIT","urls":["bzz-raw://4a225fc4b2dac84f1334411794b1141ecca49bd73794d4c8c862bc448e5e9fc9","dweb:/ipfs/Qme12T77QwLmJp17MDRp7NoKcrjnQuTnp7H7nN6tbknbK1"]},"src/interfaces/IArcNameRegistry.sol":{"keccak256":"0x9a7366fcefaee18bbfa5339e99ee422d2e7a5e11400481b2155d8b9f0140e23b","license":"MIT","urls":["bzz-raw://71be7077c04aabc337addeeca365e26ca59e1f61e8885243844c5e9e12b87da9","dweb:/ipfs/QmTcHZbF6f5wrVaxNodfUV6Z3mVWV7JiEhdxJHa5tNH4sc"]}},"version":1},"storageLayout":{"types":{"t_bool":{"label":"bool","encoding":"inplace","numberOfBytes":"1"},"t_uint64":{"label":"uint64","encoding":"inplace","numberOfBytes":"8"},"t_address":{"label":"address","encoding":"inplace","numberOfBytes":"20"},"t_bytes32":{"label":"bytes32","encoding":"inplace","numberOfBytes":"32"},"t_struct(Record)19_storage":{"label":"struct ArcNameRegistry.Record","members":[{"slot":"0","type":"t_address","astId":14,"label":"owner","offset":0,"contract":"src/ArcNameRegistry.sol:ArcNameRegistry"},{"slot":"1","type":"t_address","astId":16,"label":"resolver","offset":0,"contract":"src/ArcNameRegistry.sol:ArcNameRegistry"},{"slot":"1","type":"t_uint64","astId":18,"label":"ttl","offset":20,"contract":"src/ArcNameRegistry.sol:ArcNameRegistry"}],"encoding":"inplace","numberOfBytes":"64"},"t_mapping(t_address,t_bool)":{"key":"t_address","label":"mapping(address => bool)","value":"t_bool","encoding":"mapping","numberOfBytes":"32"},"t_mapping(t_bytes32,t_struct(Record)19_storage)":{"key":"t_bytes32","label":"mapping(bytes32 => struct ArcNameRegistry.Record)","value":"t_struct(Record)19_storage","encoding":"mapping","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"key":"t_address","label":"mapping(address => mapping(address => bool))","value":"t_mapping(t_address,t_bool)","encoding":"mapping","numberOfBytes":"32"}},"storage":[{"slot":"0","type":"t_mapping(t_bytes32,t_struct(Record)19_storage)","astId":24,"label":"_records","offset":0,"contract":"src/ArcNameRegistry.sol:ArcNameRegistry"},{"slot":"1","type":"t_mapping(t_address,t_mapping(t_address,t_bool))","astId":30,"label":"_operators","offset":0,"contract":"src/ArcNameRegistry.sol:ArcNameRegistry"}]},"transientStorageLayout":null,"userdoc":{"kind":"user","notice":"ENS-compatible ownership, resolver and TTL source of truth for Arc names.","methods":{},"version":1},"devdoc":{"kind":"dev","methods":{},"version":1},"sourceIds":{"src/ArcNameRegistry.sol":{"id":0},"src/interfaces/IArcNameRegistry.sol":{"id":1}},"additionalInput":null,"stdJsonInput":{"sources":{"src/ArcNameRegistry.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.24;\n\nimport { IArcNameRegistry } from \"./interfaces/IArcNameRegistry.sol\";\n\n/// @notice ENS-compatible ownership, resolver and TTL source of truth for Arc names.\ncontract ArcNameRegistry is IArcNameRegistry {\n    error Unauthorized(bytes32 node, address caller);\n\n    struct Record {\n        address owner;\n        address resolver;\n        uint64 ttl;\n    }\n\n    mapping(bytes32 node => Record record) private _records;\n    mapping(address account => mapping(address operator => bool approved)) private _operators;\n\n    event Transfer(bytes32 indexed node, address owner);\n    event NewOwner(bytes32 indexed node, bytes32 indexed label, address owner);\n    event NewResolver(bytes32 indexed node, address resolver);\n    event NewTTL(bytes32 indexed node, uint64 ttl);\n    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n    constructor(address rootOwner) {\n        if (rootOwner == address(0)) revert Unauthorized(bytes32(0), address(0));\n        _records[bytes32(0)].owner = rootOwner;\n        emit Transfer(bytes32(0), rootOwner);\n    }\n\n    modifier authorised(bytes32 node) {\n        address nodeOwner = _records[node].owner;\n        if (msg.sender != nodeOwner && !_operators[nodeOwner][msg.sender]) {\n            revert Unauthorized(node, msg.sender);\n        }\n        _;\n    }\n\n    function owner(bytes32 node) external view returns (address) {\n        return _records[node].owner;\n    }\n\n    function resolver(bytes32 node) external view returns (address) {\n        return _records[node].resolver;\n    }\n\n    function ttl(bytes32 node) external view returns (uint64) {\n        return _records[node].ttl;\n    }\n\n    function recordExists(bytes32 node) external view returns (bool) {\n        return _records[node].owner != address(0);\n    }\n\n    function isApprovedForAll(address account, address operator) external view returns (bool) {\n        return _operators[account][operator];\n    }\n\n    function setApprovalForAll(address operator, bool approved) external {\n        _operators[msg.sender][operator] = approved;\n        emit ApprovalForAll(msg.sender, operator, approved);\n    }\n\n    function setOwner(bytes32 node, address newOwner) external authorised(node) {\n        _records[node].owner = newOwner;\n        emit Transfer(node, newOwner);\n    }\n\n    function setSubnodeOwner(bytes32 node, bytes32 label, address newOwner)\n        external\n        authorised(node)\n        returns (bytes32 subnode)\n    {\n        subnode = keccak256(abi.encodePacked(node, label));\n        _records[subnode].owner = newOwner;\n        emit NewOwner(node, label, newOwner);\n    }\n\n    function setResolver(bytes32 node, address newResolver) external authorised(node) {\n        _records[node].resolver = newResolver;\n        emit NewResolver(node, newResolver);\n    }\n\n    function setTTL(bytes32 node, uint64 newTTL) external authorised(node) {\n        _records[node].ttl = newTTL;\n        emit NewTTL(node, newTTL);\n    }\n}\n\n"},"src/interfaces/IArcNameRegistry.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.24;\n\ninterface IArcNameRegistry {\n    function owner(bytes32 node) external view returns (address);\n    function resolver(bytes32 node) external view returns (address);\n    function ttl(bytes32 node) external view returns (uint64);\n    function recordExists(bytes32 node) external view returns (bool);\n    function isApprovedForAll(address account, address operator) external view returns (bool);\n\n    function setOwner(bytes32 node, address newOwner) external;\n    function setSubnodeOwner(bytes32 node, bytes32 label, address newOwner)\n        external\n        returns (bytes32);\n    function setResolver(bytes32 node, address newResolver) external;\n    function setTTL(bytes32 node, uint64 newTTL) external;\n}\n\n"}},"language":"Solidity","settings":{"viaIR":false,"metadata":{"appendCBOR":false,"bytecodeHash":"none","useLiteralContent":false},"libraries":{},"optimizer":{"runs":10000,"enabled":true},"evmVersion":"cancun"}},"stdJsonOutput":{"sources":{"src/ArcNameRegistry.sol":{"id":0},"src/interfaces/IArcNameRegistry.sol":{"id":1}},"contracts":{"src/ArcNameRegistry.sol":{"ArcNameRegistry":{"abi":[{"type":"constructor","inputs":[{"name":"rootOwner","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"name":"Unauthorized","type":"error","inputs":[{"name":"node","type":"bytes32","internalType":"bytes32"},{"name":"caller","type":"address","internalType":"address"}]},{"name":"ApprovalForAll","type":"event","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"name":"NewOwner","type":"event","inputs":[{"name":"node","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"label","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"name":"NewResolver","type":"event","inputs":[{"name":"node","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"resolver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"name":"NewTTL","type":"event","inputs":[{"name":"node","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"ttl","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"name":"Transfer","type":"event","inputs":[{"name":"node","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"name":"isApprovedForAll","type":"function","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"name":"owner","type":"function","inputs":[{"name":"node","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"name":"recordExists","type":"function","inputs":[{"name":"node","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"name":"resolver","type":"function","inputs":[{"name":"node","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"name":"setApprovalForAll","type":"function","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"name":"setOwner","type":"function","inputs":[{"name":"node","type":"bytes32","internalType":"bytes32"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"name":"setResolver","type":"function","inputs":[{"name":"node","type":"bytes32","internalType":"bytes32"},{"name":"newResolver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"name":"setSubnodeOwner","type":"function","inputs":[{"name":"node","type":"bytes32","internalType":"bytes32"},{"name":"label","type":"bytes32","internalType":"bytes32"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[{"name":"subnode","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"name":"setTTL","type":"function","inputs":[{"name":"node","type":"bytes32","internalType":"bytes32"},{"name":"newTTL","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"name":"ttl","type":"function","inputs":[{"name":"node","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rootOwner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"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\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NewOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"NewResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"NewTTL\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"recordExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"resolver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newResolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"setSubnodeOwner\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"subnode\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"newTTL\",\"type\":\"uint64\"}],\"name\":\"setTTL\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"ttl\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"ENS-compatible ownership, resolver and TTL source of truth for Arc names.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/ArcNameRegistry.sol\":\"ArcNameRegistry\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"src/ArcNameRegistry.sol\":{\"keccak256\":\"0x17916fe5cdf0cdb5b9fc7dd75d833fe5c6d39a642cbb41cbc3887e3636bf8a50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a225fc4b2dac84f1334411794b1141ecca49bd73794d4c8c862bc448e5e9fc9\",\"dweb:/ipfs/Qme12T77QwLmJp17MDRp7NoKcrjnQuTnp7H7nN6tbknbK1\"]},\"src/interfaces/IArcNameRegistry.sol\":{\"keccak256\":\"0x9a7366fcefaee18bbfa5339e99ee422d2e7a5e11400481b2155d8b9f0140e23b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71be7077c04aabc337addeeca365e26ca59e1f61e8885243844c5e9e12b87da9\",\"dweb:/ipfs/QmTcHZbF6f5wrVaxNodfUV6Z3mVWV7JiEhdxJHa5tNH4sc\"]}},\"version\":1}","userdoc":{"kind":"user","notice":"ENS-compatible ownership, resolver and TTL source of truth for Arc names.","methods":{},"version":1},"devdoc":{"kind":"dev","methods":{},"version":1},"storageLayout":{"types":{"t_bool":{"label":"bool","encoding":"inplace","numberOfBytes":"1"},"t_uint64":{"label":"uint64","encoding":"inplace","numberOfBytes":"8"},"t_address":{"label":"address","encoding":"inplace","numberOfBytes":"20"},"t_bytes32":{"label":"bytes32","encoding":"inplace","numberOfBytes":"32"},"t_struct(Record)19_storage":{"label":"struct ArcNameRegistry.Record","members":[{"slot":"0","type":"t_address","astId":14,"label":"owner","offset":0,"contract":"src/ArcNameRegistry.sol:ArcNameRegistry"},{"slot":"1","type":"t_address","astId":16,"label":"resolver","offset":0,"contract":"src/ArcNameRegistry.sol:ArcNameRegistry"},{"slot":"1","type":"t_uint64","astId":18,"label":"ttl","offset":20,"contract":"src/ArcNameRegistry.sol:ArcNameRegistry"}],"encoding":"inplace","numberOfBytes":"64"},"t_mapping(t_address,t_bool)":{"key":"t_address","label":"mapping(address => bool)","value":"t_bool","encoding":"mapping","numberOfBytes":"32"},"t_mapping(t_bytes32,t_struct(Record)19_storage)":{"key":"t_bytes32","label":"mapping(bytes32 => struct ArcNameRegistry.Record)","value":"t_struct(Record)19_storage","encoding":"mapping","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"key":"t_address","label":"mapping(address => mapping(address => bool))","value":"t_mapping(t_address,t_bool)","encoding":"mapping","numberOfBytes":"32"}},"storage":[{"slot":"0","type":"t_mapping(t_bytes32,t_struct(Record)19_storage)","astId":24,"label":"_records","offset":0,"contract":"src/ArcNameRegistry.sol:ArcNameRegistry"},{"slot":"1","type":"t_mapping(t_address,t_mapping(t_address,t_bool))","astId":30,"label":"_operators","offset":0,"contract":"src/ArcNameRegistry.sol:ArcNameRegistry"}]},"transientStorageLayout":null,"evm":{"bytecode":{"object":"608060405234801561000f575f80fd5b50604051610a94380380610a9483398101604081905261002e916100df565b6001600160a01b03811661006257604051636f2ff52760e01b81525f60048201819052602482015260440160405180910390fd5b5f80805260208181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb580546001600160a01b0319166001600160a01b0385169081179091556040519081527fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266910160405180910390a25061010c565b5f602082840312156100ef575f80fd5b81516001600160a01b0381168114610105575f80fd5b9392505050565b61097b806101195f395ff3fe608060405234801561000f575f80fd5b50600436106100b9575f3560e01c80631896f70a11610072578063a22cb46511610058578063a22cb4651461020d578063e985e9c514610220578063f79fe53814610278575f80fd5b80631896f70a146101e75780635b0fc9c3146101fa575f80fd5b806306ab5923116100a257806306ab59231461015457806314ab90381461017557806316a25cbd1461018a575f80fd5b80630178b8bf146100bd57806302571be31461011f575b5f80fd5b6100f56100cb366004610850565b5f9081526020819052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f561012d366004610850565b5f9081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b61016761016236600461088f565b6102af565b604051908152602001610116565b6101886101833660046108c1565b61042d565b005b6101ce610198366004610850565b5f9081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b60405167ffffffffffffffff9091168152602001610116565b6101886101f53660046108fb565b61056d565b6101886102083660046108fb565b610695565b61018861021b366004610925565b6107ba565b61026861022e366004610953565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260016020908152604080832093909416825291909152205460ff1690565b6040519015158152602001610116565b610268610286366004610850565b5f9081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff16151590565b5f83815260208190526040812054849073ffffffffffffffffffffffffffffffffffffffff16338114801590610315575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b1561035a576040517f6f2ff527000000000000000000000000000000000000000000000000000000008152600481018390523360248201526044015b60405180910390fd5b6040805160208101889052908101869052606001604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815282825280516020918201205f8181528083529290922080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89169081179091558352909450869188917fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82910160405180910390a350509392505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff16338114801590610493575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b156104d3576040517f6f2ff52700000000000000000000000000000000000000000000000000000000815260048101839052336024820152604401610351565b5f848152602081815260409182902060010180547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000067ffffffffffffffff881690810291909117909155915191825285917f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6891015b60405180910390a250505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163381148015906105d3575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b15610613576040517f6f2ff52700000000000000000000000000000000000000000000000000000000815260048101839052336024820152604401610351565b5f848152602081815260409182902060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155915191825285917f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0910161055f565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163381148015906106fb575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b1561073b576040517f6f2ff52700000000000000000000000000000000000000000000000000000000815260048101839052336024820152604401610351565b5f848152602081815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155915191825285917fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266910161055f565b335f81815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b5f60208284031215610860575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461088a575f80fd5b919050565b5f805f606084860312156108a1575f80fd5b83359250602084013591506108b860408501610867565b90509250925092565b5f80604083850312156108d2575f80fd5b82359150602083013567ffffffffffffffff811681146108f0575f80fd5b809150509250929050565b5f806040838503121561090c575f80fd5b8235915061091c60208401610867565b90509250929050565b5f8060408385031215610936575f80fd5b61093f83610867565b9150602083013580151581146108f0575f80fd5b5f8060408385031215610964575f80fd5b61096d83610867565b915061091c6020840161086756","sourceMap":"214:2799:0:-:0;;;916:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;961:23:0;;957:72;;993:36;;-1:-1:-1;;;993:36:0;;1014:1;993:36;;;483:25:2;;;524:18;;;517:60;456:18;;993:36:0;;;;;;;957:72;1039:8;:20;;;;;;;;:38;;-1:-1:-1;;;;;;1039:38:0;-1:-1:-1;;;;;1039:38:0;;;;;;;;:20;1092:31;734:51:2;;;1092:31:0;;707:18:2;1092:31:0;;;;;;;916:214;214:2799;;14:290:2;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:2;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:2:o;588:203::-;214:2799:0;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561000f575f80fd5b50600436106100b9575f3560e01c80631896f70a11610072578063a22cb46511610058578063a22cb4651461020d578063e985e9c514610220578063f79fe53814610278575f80fd5b80631896f70a146101e75780635b0fc9c3146101fa575f80fd5b806306ab5923116100a257806306ab59231461015457806314ab90381461017557806316a25cbd1461018a575f80fd5b80630178b8bf146100bd57806302571be31461011f575b5f80fd5b6100f56100cb366004610850565b5f9081526020819052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100f561012d366004610850565b5f9081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b61016761016236600461088f565b6102af565b604051908152602001610116565b6101886101833660046108c1565b61042d565b005b6101ce610198366004610850565b5f9081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b60405167ffffffffffffffff9091168152602001610116565b6101886101f53660046108fb565b61056d565b6101886102083660046108fb565b610695565b61018861021b366004610925565b6107ba565b61026861022e366004610953565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260016020908152604080832093909416825291909152205460ff1690565b6040519015158152602001610116565b610268610286366004610850565b5f9081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff16151590565b5f83815260208190526040812054849073ffffffffffffffffffffffffffffffffffffffff16338114801590610315575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b1561035a576040517f6f2ff527000000000000000000000000000000000000000000000000000000008152600481018390523360248201526044015b60405180910390fd5b6040805160208101889052908101869052606001604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815282825280516020918201205f8181528083529290922080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89169081179091558352909450869188917fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82910160405180910390a350509392505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff16338114801590610493575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b156104d3576040517f6f2ff52700000000000000000000000000000000000000000000000000000000815260048101839052336024820152604401610351565b5f848152602081815260409182902060010180547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000067ffffffffffffffff881690810291909117909155915191825285917f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6891015b60405180910390a250505050565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163381148015906105d3575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b15610613576040517f6f2ff52700000000000000000000000000000000000000000000000000000000815260048101839052336024820152604401610351565b5f848152602081815260409182902060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155915191825285917f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0910161055f565b5f82815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163381148015906106fb575073ffffffffffffffffffffffffffffffffffffffff81165f90815260016020908152604080832033845290915290205460ff16155b1561073b576040517f6f2ff52700000000000000000000000000000000000000000000000000000000815260048101839052336024820152604401610351565b5f848152602081815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155915191825285917fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266910161055f565b335f81815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b5f60208284031215610860575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461088a575f80fd5b919050565b5f805f606084860312156108a1575f80fd5b83359250602084013591506108b860408501610867565b90509250925092565b5f80604083850312156108d2575f80fd5b82359150602083013567ffffffffffffffff811681146108f0575f80fd5b809150509250929050565b5f806040838503121561090c575f80fd5b8235915061091c60208401610867565b90509250929050565b5f8060408385031215610936575f80fd5b61093f83610867565b9150602083013580151581146108f0575f80fd5b5f8060408385031215610964575f80fd5b61096d83610867565b915061091c6020840161086756","sourceMap":"214:2799:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1493:111;;;;;;:::i;:::-;1548:7;1574:14;;;;;;;;;;:23;;;;;;1493:111;;;;375:42:2;363:55;;;345:74;;333:2;318:18;1493:111:0;;;;;;;;1382:105;;;;;;:::i;:::-;1434:7;1460:14;;;;;;;;;;:20;;;;1382:105;2359:309;;;;;;:::i;:::-;;:::i;:::-;;;1104:25:2;;;1092:2;1077:18;2359:309:0;958:177:2;2861:150:0;;;;;;:::i;:::-;;:::i;:::-;;1610:100;;;;;;:::i;:::-;1660:6;1685:14;;;;;;;;;;:18;;;;;;;;;1610:100;;;;1671:18:2;1659:31;;;1641:50;;1629:2;1614:18;1610:100:0;1497:200:2;2674:181:0;;;;;;:::i;:::-;;:::i;2190:163::-;;;;;;:::i;:::-;;:::i;1994:190::-;;;;;;:::i;:::-;;:::i;1845:143::-;;;;;;:::i;:::-;1952:19;;;;1929:4;1952:19;;;:10;:19;;;;;;;;:29;;;;;;;;;;;;;;;1845:143;;;;2743:14:2;;2736:22;2718:41;;2706:2;2691:18;1845:143:0;2578:187:2;1716:123:0;;;;;;:::i;:::-;1775:4;1798:14;;;;;;;;;;:20;:34;:20;:34;;;1716:123;2359:309;2490:15;1200:14;;;;;;;;;;:20;2467:4;;1200:20;;1234:10;:23;;;;;:61;;-1:-1:-1;1262:21:0;;;;;;;:10;:21;;;;;;;;1284:10;1262:33;;;;;;;;;;1261:34;1234:61;1230:129;;;1318:30;;;;;;;;2944:25:2;;;1337:10:0;2985:18:2;;;2978:83;2917:18;;1318:30:0;;;;;;;;1230:129;2541:29:::1;::::0;;::::1;::::0;::::1;3229:19:2::0;;;3264:12;;;3257:28;;;3301:12;;2541:29:0::1;::::0;;;;::::1;::::0;;;;;;;2531:40;;2541:29:::1;2531:40:::0;;::::1;::::0;2581:8:::1;:17:::0;;;;;;;;;;:34;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;;345:74:2;;2531:40:0;;-1:-1:-1;2645:5:0;;2639:4;;2630:31:::1;::::0;318:18:2;2630:31:0::1;;;;;;;1170:206:::0;2359:309;;;;;;:::o;2861:150::-;1180:17;1200:14;;;;;;;;;;:20;2926:4;;1200:20;;1234:10;:23;;;;;:61;;-1:-1:-1;1262:21:0;;;;;;;:10;:21;;;;;;;;1284:10;1262:33;;;;;;;;;;1261:34;1234:61;1230:129;;;1318:30;;;;;;;;2944:25:2;;;1337:10:0;2985:18:2;;;2978:83;2917:18;;1318:30:0;2770:297:2;1230:129:0;2942:8:::1;:14:::0;;;::::1;::::0;;;;;;;;:18:::1;;:27:::0;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;2984:20;;1641:50:2;;;2942:14:0;;2984:20:::1;::::0;1614:18:2;2984:20:0::1;;;;;;;;1170:206:::0;2861:150;;;:::o;2674:181::-;1180:17;1200:14;;;;;;;;;;:20;2750:4;;1200:20;;1234:10;:23;;;;;:61;;-1:-1:-1;1262:21:0;;;;;;;:10;:21;;;;;;;;1284:10;1262:33;;;;;;;;;;1261:34;1234:61;1230:129;;;1318:30;;;;;;;;2944:25:2;;;1337:10:0;2985:18:2;;;2978:83;2917:18;;1318:30:0;2770:297:2;1230:129:0;2766:8:::1;:14:::0;;;::::1;::::0;;;;;;;;:23:::1;;:37:::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;;2818:30;;345:74:2;;;2766:14:0;;2818:30:::1;::::0;318:18:2;2818:30:0::1;199:226:2::0;2190:163:0;1180:17;1200:14;;;;;;;;;;:20;2260:4;;1200:20;;1234:10;:23;;;;;:61;;-1:-1:-1;1262:21:0;;;;;;;:10;:21;;;;;;;;1284:10;1262:33;;;;;;;;;;1261:34;1234:61;1230:129;;;1318:30;;;;;;;;2944:25:2;;;1337:10:0;2985:18:2;;;2978:83;2917:18;;1318:30:0;2770:297:2;1230:129:0;2276:8:::1;:14:::0;;;::::1;::::0;;;;;;;;:31;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;;2322:24;;345:74:2;;;2276:14:0;;2322:24:::1;::::0;318:18:2;2322:24:0::1;199:226:2::0;1994:190:0;2084:10;2073:22;;;;:10;:22;;;;;;;;;:32;;;;;;;;;;;;:43;;;;;;;;;;;;;2131:46;;2718:41:2;;;2073:32:0;;2084:10;2131:46;;2691:18:2;2131:46:0;;;;;;;1994:190;;:::o;14:180:2:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:2;;14:180;-1:-1:-1;14:180:2:o;430:196::-;498:20;;558:42;547:54;;537:65;;527:93;;616:1;613;606:12;527:93;430:196;;;:::o;631:322::-;708:6;716;724;777:2;765:9;756:7;752:23;748:32;745:52;;;793:1;790;783:12;745:52;829:9;816:23;806:33;;886:2;875:9;871:18;858:32;848:42;;909:38;943:2;932:9;928:18;909:38;:::i;:::-;899:48;;631:322;;;;;:::o;1140:352::-;1207:6;1215;1268:2;1256:9;1247:7;1243:23;1239:32;1236:52;;;1284:1;1281;1274:12;1236:52;1320:9;1307:23;1297:33;;1380:2;1369:9;1365:18;1352:32;1424:18;1417:5;1413:30;1406:5;1403:41;1393:69;;1458:1;1455;1448:12;1393:69;1481:5;1471:15;;;1140:352;;;;;:::o;1702:254::-;1770:6;1778;1831:2;1819:9;1810:7;1806:23;1802:32;1799:52;;;1847:1;1844;1837:12;1799:52;1883:9;1870:23;1860:33;;1912:38;1946:2;1935:9;1931:18;1912:38;:::i;:::-;1902:48;;1702:254;;;;;:::o;1961:347::-;2026:6;2034;2087:2;2075:9;2066:7;2062:23;2058:32;2055:52;;;2103:1;2100;2093:12;2055:52;2126:29;2145:9;2126:29;:::i;:::-;2116:39;;2205:2;2194:9;2190:18;2177:32;2252:5;2245:13;2238:21;2231:5;2228:32;2218:60;;2274:1;2271;2264:12;2313:260;2381:6;2389;2442:2;2430:9;2421:7;2417:23;2413:32;2410:52;;;2458:1;2455;2448:12;2410:52;2481:29;2500:9;2481:29;:::i;:::-;2471:39;;2529:38;2563:2;2552:9;2548:18;2529:38;:::i","linkReferences":{},"immutableReferences":{}}}}}}},"signatures":{"function":[{"signature":"isApprovedForAll(address,address)","signatureHash4":"0xe985e9c5","signatureHash32":"0xe985e9c5c6636c6879256001057b28ccac7718ef0ac56553ff9b926452cab8a3"},{"signature":"owner(bytes32)","signatureHash4":"0x02571be3","signatureHash32":"0x02571be319ef7571ed67d9feec0669d781fe0239e3d831d329608b0bc4ac2a06"},{"signature":"recordExists(bytes32)","signatureHash4":"0xf79fe538","signatureHash32":"0xf79fe53880a74d5843a619bdca10b04b261f2c158dbdf8f18f37acd2941ec445"},{"signature":"resolver(bytes32)","signatureHash4":"0x0178b8bf","signatureHash32":"0x0178b8bf26f498274339d2f64571607d2a9d42b5d4ffcfff300bc22919aa9445"},{"signature":"setApprovalForAll(address,bool)","signatureHash4":"0xa22cb465","signatureHash32":"0xa22cb4651ab9570f89bb516380c40ce76762284fb1f21337ceaf6adab99e7d4a"},{"signature":"setOwner(bytes32,address)","signatureHash4":"0x5b0fc9c3","signatureHash32":"0x5b0fc9c31b431df62efd0ffa39192416db817c7bacd6f39e465d30af558836fa"},{"signature":"setResolver(bytes32,address)","signatureHash4":"0x1896f70a","signatureHash32":"0x1896f70ac4fae0daa5405c8f92f8bd3ec53b0018df3cdf8b102c223f733d7967"},{"signature":"setSubnodeOwner(bytes32,bytes32,address)","signatureHash4":"0x06ab5923","signatureHash32":"0x06ab5923ac535144202aaf3a3bade3c2d418dbaf119e8acd63571d4cc4975d96"},{"signature":"setTTL(bytes32,uint64)","signatureHash4":"0x14ab9038","signatureHash32":"0x14ab90388092664827928d90384c73d82c5bf21abb61dd7d4971fc65f4851dfb"},{"signature":"ttl(bytes32)","signatureHash4":"0x16a25cbd","signatureHash32":"0x16a25cbde9d0694e2a6fc05695ca1b0969804608697ad2317fba4b3d2496c812"}],"event":[{"signature":"ApprovalForAll(address,address,bool)","signatureHash4":"0x17307eab","signatureHash32":"0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31"},{"signature":"NewOwner(bytes32,bytes32,address)","signatureHash4":"0xce0457fe","signatureHash32":"0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82"},{"signature":"NewResolver(bytes32,address)","signatureHash4":"0x335721b0","signatureHash32":"0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0"},{"signature":"NewTTL(bytes32,uint64)","signatureHash4":"0x1d4f9bbf","signatureHash32":"0x1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68"},{"signature":"Transfer(bytes32,address)","signatureHash4":"0xd4735d92","signatureHash32":"0xd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266"}],"error":[{"signature":"Unauthorized(bytes32,address)","signatureHash4":"0x6f2ff527","signatureHash32":"0x6f2ff52754d87ee721a3bc0ad9502826fd5042b02c38d8f66e696d9a81d168d8"}]},"proxyResolution":{"isProxy":false,"proxyType":null,"implementations":[]},"match":"match","chainId":"5042","address":"0x944d5087a0967b3E982826F3d93a7FAcFD4e19cD"}