@ensdomains/unruggable-gateways
Version:
Trustless Ethereum Multichain CCIP-Read Gateway
1 lines • 56.7 kB
JSON
{"abi":[{"type":"constructor","inputs":[{"name":"urls","type":"string[]","internalType":"string[]"},{"name":"window","type":"uint256","internalType":"uint256"},{"name":"hooks","type":"address","internalType":"contract IVerifierHooks"},{"name":"rollup","type":"address","internalType":"contract ITaiko"}],"stateMutability":"nonpayable"},{"type":"function","name":"gatewayURLs","inputs":[],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"getHooks","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IVerifierHooks"}],"stateMutability":"view"},{"type":"function","name":"getLatestContext","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStorageValues","inputs":[{"name":"context","type":"bytes","internalType":"bytes"},{"name":"req","type":"tuple","internalType":"struct GatewayRequest","components":[{"name":"ops","type":"bytes","internalType":"bytes"}]},{"name":"proof","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"},{"name":"exitCode","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getWindow","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setGatewayURLs","inputs":[{"name":"urls","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"GatewayURLsChanged","inputs":[],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"CommitTooNew","inputs":[{"name":"latest","type":"uint256","internalType":"uint256"},{"name":"got","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"CommitTooOld","inputs":[{"name":"latest","type":"uint256","internalType":"uint256"},{"name":"got","type":"uint256","internalType":"uint256"},{"name":"window","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60e060405234801561000f575f80fd5b5060405161156938038061156983398101604081905261002e91610205565b838383338061005657604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61005f81610099565b5082516100739060019060208601906100e8565b506080919091526001600160a01b0390811660a0529190911660c0525061047e92505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b828054828255905f5260205f2090810192821561012c579160200282015b8281111561012c578251829061011c90826103bf565b5091602001919060010190610106565b5061013892915061013c565b5090565b80821115610138575f61014f8282610158565b5060010161013c565b5080546101649061033b565b5f825580601f10610173575050565b601f0160209004905f5260205f209081019061018f9190610192565b50565b5b80821115610138575f8155600101610193565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156101e2576101e26101a6565b604052919050565b80516001600160a01b0381168114610200575f80fd5b919050565b5f805f8060808587031215610218575f80fd5b84516001600160401b038082111561022e575f80fd5b818701915087601f830112610241575f80fd5b8151602082821115610255576102556101a6565b8160051b6102648282016101ba565b928352848101820192828101908c85111561027d575f80fd5b83870192505b8483101561030657825186811115610299575f80fd5b8701603f81018e136102a9575f80fd5b84810151878111156102bd576102bd6101a6565b6102cf601f8201601f191687016101ba565b8181528f60408385010111156102e3575f80fd5b81604084018883015e5f9181018701919091528352509183019190830190610283565b809a5050505080890151965050505050610322604086016101ea565b9150610330606086016101ea565b905092959194509250565b600181811c9082168061034f57607f821691505b60208210810361036d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156103ba57805f5260205f20601f840160051c810160208510156103985750805b601f840160051c820191505b818110156103b7575f81556001016103a4565b50505b505050565b81516001600160401b038111156103d8576103d86101a6565b6103ec816103e6845461033b565b84610373565b602080601f83116001811461041f575f84156104085750858301515b5f19600386901b1c1916600185901b178555610476565b5f85815260208120601f198616915b8281101561044d5788860151825594840194600190910190840161042e565b508582101561046a57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a05160c0516110a76104c25f395f818161018101526103ce01525f818160ba015261047201525f8181608a015281816105ee015261063601526110a75ff3fe608060405234801561000f575f80fd5b5060043610610081575f3560e01c80631d80051d146100855780635cd2525e146100b8578063715018a6146100e757806387c484fe146100f15780638da5cb5b146101065780638e5ea8df1461010e578063b50f2fbc14610121578063e3d1666e14610136578063f2fde38b14610157575b5f80fd5b6040517f000000000000000000000000000000000000000000000000000000000000000081526020015b60405180910390f35b7f00000000000000000000000000000000000000000000000000000000000000005b6040516100af9190610747565b6100ef61016a565b005b6100f961017d565b6040516100af9190610789565b6100da610228565b6100ef61011c3660046108b4565b610236565b61012961027d565b6040516100af9190610970565b6101496101443660046109f0565b610351565b6040516100af929190610ab3565b6100ef610165366004610b35565b610521565b610172610567565b61017b5f610599565b565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639413caa96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ff9190610b6b565b604080516001600160401b03909216602083015201604051602081830303815290604052905090565b5f546001600160a01b031690565b61023e610567565b8051610251906001906020840190610691565b506040517fe621d803a0c96b9bbeea51d136777f6ea8a4ce0c4ac74f6645e18b4342e2fa07905f90a150565b60606001805480602002602001604051908101604052809291908181526020015f905b82821015610348578382905f5260205f200180546102bd90610b84565b80601f01602080910402602001604051908101604052809291908181526020018280546102e990610b84565b80156103345780601f1061030b57610100808354040283529160200191610334565b820191905f5260205f20905b81548152906001019060200180831161031757829003601f168201915b5050505050815260200190600101906102a0565b50505050905090565b60605f80858060200190518101906103699190610b6b565b90505f848060200190518101906103809190610c8e565b90506103a1826001600160401b0316825f01516001600160401b03166105e8565b8051602082015160405163fd257e2960e01b81526001600160401b03909216600483015260248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063fd257e299060440161014060405180830381865afa15801561041c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104409190610d75565b6040805160a0810182525f81528183015160208201528482015181830152606080860151908201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016608082015290516324a8807560e21b815291925073__$011ed85421b307e5206de383929e31be73$__916392a201d4916104d1918b9190600401610e26565b5f60405180830381865af41580156104eb573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526105129190810190610ef7565b94509450505050935093915050565b610529610567565b6001600160a01b03811661055b575f604051631e4fbdf760e01b81526004016105529190610747565b60405180910390fd5b61056481610599565b50565b33610570610228565b6001600160a01b03161461017b573360405163118cdaa760e01b81526004016105529190610747565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b816106137f000000000000000000000000000000000000000000000000000000000000000083610f41565b101561066257604051632a54241d60e21b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606401610552565b8181111561068d5760405163b356ade760e01b81526004810183905260248101829052604401610552565b5050565b828054828255905f5260205f209081019282156106d5579160200282015b828111156106d557825182906106c59082610fb2565b50916020019190600101906106af565b506106e19291506106e5565b5090565b808211156106e1575f6106f88282610701565b506001016106e5565b50805461070d90610b84565b5f825580601f1061071c575050565b601f0160209004905f5260205f209081019061056491905b808211156106e1575f8155600101610734565b6001600160a01b0391909116815260200190565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61079b602083018461075b565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b03811182821017156107d8576107d86107a2565b60405290565b60405161014081016001600160401b03811182821017156107d8576107d86107a2565b604051601f8201601f191681016001600160401b0381118282101715610829576108296107a2565b604052919050565b5f6001600160401b03821115610849576108496107a2565b5060051b60200190565b5f6001600160401b0382111561086b5761086b6107a2565b50601f01601f191660200190565b5f61088b61088684610853565b610801565b905082815283838301111561089e575f80fd5b828260208301375f602084830101529392505050565b5f60208083850312156108c5575f80fd5b82356001600160401b03808211156108db575f80fd5b818501915085601f8301126108ee575f80fd5b81356108fc61088682610831565b81815260059190911b8301840190848101908883111561091a575f80fd5b8585015b8381101561096357803585811115610934575f80fd5b8601603f81018b13610944575f80fd5b6109558b8983013560408401610879565b84525091860191860161091e565b5098975050505050505050565b5f60208083016020845280855180835260408601915060408160051b8701019250602087015f5b828110156109c557603f198886030184526109b385835161075b565b94509285019290850190600101610997565b5092979650505050505050565b5f82601f8301126109e1575f80fd5b61079b83833560208501610879565b5f805f60608486031215610a02575f80fd5b83356001600160401b0380821115610a18575f80fd5b610a24878388016109d2565b94506020860135915080821115610a39575f80fd5b9085019060208288031215610a4c575f80fd5b604051602081018181108382111715610a6757610a676107a2565b604052823582811115610a78575f80fd5b610a84898286016109d2565b82525093506040860135915080821115610a9c575f80fd5b50610aa9868287016109d2565b9150509250925092565b5f604082016040835280855180835260608501915060608160051b860101925060208088015f5b83811015610b0857605f19888703018552610af686835161075b565b95509382019390820190600101610ada565b50505050508091505060ff831660208301529392505050565b6001600160a01b0381168114610564575f80fd5b5f60208284031215610b45575f80fd5b813561079b81610b21565b80516001600160401b0381168114610b66575f80fd5b919050565b5f60208284031215610b7b575f80fd5b61079b82610b50565b600181811c90821680610b9857607f821691505b602082108103610bb657634e487b7160e01b5f52602260045260245ffd5b50919050565b5f82601f830112610bcb575f80fd5b8151610bd961088682610853565b818152846020838601011115610bed575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f82601f830112610c18575f80fd5b81516020610c2861088683610831565b82815260059290921b84018101918181019086841115610c46575f80fd5b8286015b84811015610c835780516001600160401b03811115610c67575f80fd5b610c758986838b0101610bbc565b845250918301918301610c4a565b509695505050505050565b5f60208284031215610c9e575f80fd5b81516001600160401b0380821115610cb4575f80fd5b9083019060808286031215610cc7575f80fd5b610ccf6107b6565b610cd883610b50565b815260208301516020820152604083015182811115610cf5575f80fd5b610d0187828601610c09565b604083015250606083015182811115610d18575f80fd5b610d2487828601610bbc565b60608301525095945050505050565b8051610b6681610b21565b80516001600160601b0381168114610b66575f80fd5b805161ffff81168114610b66575f80fd5b805160ff81168114610b66575f80fd5b5f6101408284031215610d86575f80fd5b610d8e6107de565b825181526020830151602082015260408301516040820152610db260608401610d33565b6060820152610dc360808401610d3e565b6080820152610dd460a08401610d33565b60a0820152610de560c08401610d3e565b60c0820152610df660e08401610b50565b60e0820152610100610e09818501610d54565b90820152610120610e1b848201610d65565b908201529392505050565b604081525f83516020806040850152610e42606085018361075b565b91508382038185015260a08201855183528186015182840152604086015160a0604085015281815180845260c08601915060c08160051b870101935084830192505f5b81811015610eb35760bf19878603018352610ea185855161075b565b94509285019291850191600101610e85565b50505050606086015191508281036060840152610ed0818361075b565b9150506080850151610eed60808401826001600160a01b03169052565b5095945050505050565b5f8060408385031215610f08575f80fd5b82516001600160401b03811115610f1d575f80fd5b610f2985828601610c09565b925050610f3860208401610d65565b90509250929050565b80820180821115610f6057634e487b7160e01b5f52601160045260245ffd5b92915050565b601f821115610fad57805f5260205f20601f840160051c81016020851015610f8b5750805b601f840160051c820191505b81811015610faa575f8155600101610f97565b50505b505050565b81516001600160401b03811115610fcb57610fcb6107a2565b610fdf81610fd98454610b84565b84610f66565b602080601f831160018114611012575f8415610ffb5750858301515b5f19600386901b1c1916600185901b178555611069565b5f85815260208120601f198616915b8281101561104057888601518255948401946001909101908401611021565b508582101561105d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b50505050505056fea2646970667358221220d9a0334b5f3317c388ad24c2f89cbd2d2b9a6e7d6e9658e4126a8173cc1d139864736f6c63430008190033","sourceMap":"813:1322:35:-:0;;;893:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1035:4;1041:6;1049:5;566:10:0;;1269:95:46;;1322:31;;-1:-1:-1;;;1322:31:46;;1350:1;1322:31;;;2587:51:63;2560:18;;1322:31:46;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;588:12:0;;::::1;::::0;:5:::1;::::0;:12:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;610:16:0::1;::::0;;;;-1:-1:-1;;;;;636:14:0;;::::1;;::::0;1066:16:35;;;::::1;;::::0;-1:-1:-1;813:1322:35;;-1:-1:-1;;;813:1322:35;2912:187:46;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:46;;;-1:-1:-1;;;;;;3020:17:46;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;813:1322:35:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;813:1322:35;;;-1:-1:-1;813:1322:35;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;14:127:63;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:275;217:2;211:9;282:2;263:13;;-1:-1:-1;;259:27:63;247:40;;-1:-1:-1;;;;;302:34:63;;338:22;;;299:62;296:88;;;364:18;;:::i;:::-;400:2;393:22;146:275;;-1:-1:-1;146:275:63:o;426:193::-;521:13;;-1:-1:-1;;;;;563:31:63;;553:42;;543:70;;609:1;606;599:12;543:70;426:193;;;:::o;624:1812::-;795:6;803;811;819;872:3;860:9;851:7;847:23;843:33;840:53;;;889:1;886;879:12;840:53;916:16;;-1:-1:-1;;;;;981:14:63;;;978:34;;;1008:1;1005;998:12;978:34;1046:6;1035:9;1031:22;1021:32;;1091:7;1084:4;1080:2;1076:13;1072:27;1062:55;;1113:1;1110;1103:12;1062:55;1142:2;1136:9;1164:4;1187:2;1183;1180:10;1177:36;;;1193:18;;:::i;:::-;1239:2;1236:1;1232:10;1262:28;1286:2;1282;1278:11;1262:28;:::i;:::-;1324:15;;;1394:11;;;1390:20;;;1355:12;;;;1422:19;;;1419:39;;;1454:1;1451;1444:12;1419:39;1486:2;1482;1478:11;1467:22;;1498:696;1514:6;1509:3;1506:15;1498:696;;;1593:3;1587:10;1629:2;1616:11;1613:19;1610:39;;;1645:1;1642;1635:12;1610:39;1672:20;;1727:2;1719:11;;1715:25;-1:-1:-1;1705:53:63;;1754:1;1751;1744:12;1705:53;1795:2;1791;1787:11;1781:18;1822:2;1818;1815:10;1812:36;;;1828:18;;:::i;:::-;1874:53;1917:2;1898:13;;-1:-1:-1;;1894:27:63;1890:36;;1874:53;:::i;:::-;1954:2;1947:5;1940:17;1998:7;1993:2;1988;1984;1980:11;1976:20;1973:33;1970:53;;;2019:1;2016;2009:12;1970:53;2071:2;2066;2062;2058:11;2053:2;2046:5;2042:14;2036:38;2119:1;2098:14;;;2094:23;;2087:34;;;;2134:18;;-1:-1:-1;1531:12:63;;;;2172;;;;1498:696;;;2213:5;2203:15;;;;;2258:2;2247:9;2243:18;2237:25;2227:35;;;;;;2281:65;2342:2;2331:9;2327:18;2281:65;:::i;:::-;2271:75;;2365:65;2426:2;2415:9;2411:18;2365:65;:::i;:::-;2355:75;;624:1812;;;;;;;:::o;2649:380::-;2728:1;2724:12;;;;2771;;;2792:61;;2846:4;2838:6;2834:17;2824:27;;2792:61;2899:2;2891:6;2888:14;2868:18;2865:38;2862:161;;2945:10;2940:3;2936:20;2933:1;2926:31;2980:4;2977:1;2970:15;3008:4;3005:1;2998:15;2862:161;;2649:380;;;:::o;3160:518::-;3262:2;3257:3;3254:11;3251:421;;;3298:5;3295:1;3288:16;3342:4;3339:1;3329:18;3412:2;3400:10;3396:19;3393:1;3389:27;3383:4;3379:38;3448:4;3436:10;3433:20;3430:47;;;-1:-1:-1;3471:4:63;3430:47;3526:2;3521:3;3517:12;3514:1;3510:20;3504:4;3500:31;3490:41;;3581:81;3599:2;3592:5;3589:13;3581:81;;;3658:1;3644:16;;3625:1;3614:13;3581:81;;;3585:3;;3251:421;3160:518;;;:::o;3854:1345::-;3974:10;;-1:-1:-1;;;;;3996:30:63;;3993:56;;;4029:18;;:::i;:::-;4058:97;4148:6;4108:38;4140:4;4134:11;4108:38;:::i;:::-;4102:4;4058:97;:::i;:::-;4210:4;;4267:2;4256:14;;4284:1;4279:663;;;;4986:1;5003:6;5000:89;;;-1:-1:-1;5055:19:63;;;5049:26;5000:89;-1:-1:-1;;3811:1:63;3807:11;;;3803:24;3799:29;3789:40;3835:1;3831:11;;;3786:57;5102:81;;4249:944;;4279:663;3107:1;3100:14;;;3144:4;3131:18;;-1:-1:-1;;4315:20:63;;;4433:236;4447:7;4444:1;4441:14;4433:236;;;4536:19;;;4530:26;4515:42;;4628:27;;;;4596:1;4584:14;;;;4463:19;;4433:236;;;4437:3;4697:6;4688:7;4685:19;4682:201;;;4758:19;;;4752:26;-1:-1:-1;;4841:1:63;4837:14;;;4853:3;4833:24;4829:37;4825:42;4810:58;4795:74;;4682:201;;;4929:1;4920:6;4917:1;4913:14;4909:22;4903:4;4896:36;4249:944;;;;;3854:1345;;:::o;:::-;813:1322:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{"contracts/GatewayVM.sol":{"GatewayVM":[{"start":2410,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b5060043610610081575f3560e01c80631d80051d146100855780635cd2525e146100b8578063715018a6146100e757806387c484fe146100f15780638da5cb5b146101065780638e5ea8df1461010e578063b50f2fbc14610121578063e3d1666e14610136578063f2fde38b14610157575b5f80fd5b6040517f000000000000000000000000000000000000000000000000000000000000000081526020015b60405180910390f35b7f00000000000000000000000000000000000000000000000000000000000000005b6040516100af9190610747565b6100ef61016a565b005b6100f961017d565b6040516100af9190610789565b6100da610228565b6100ef61011c3660046108b4565b610236565b61012961027d565b6040516100af9190610970565b6101496101443660046109f0565b610351565b6040516100af929190610ab3565b6100ef610165366004610b35565b610521565b610172610567565b61017b5f610599565b565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639413caa96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ff9190610b6b565b604080516001600160401b03909216602083015201604051602081830303815290604052905090565b5f546001600160a01b031690565b61023e610567565b8051610251906001906020840190610691565b506040517fe621d803a0c96b9bbeea51d136777f6ea8a4ce0c4ac74f6645e18b4342e2fa07905f90a150565b60606001805480602002602001604051908101604052809291908181526020015f905b82821015610348578382905f5260205f200180546102bd90610b84565b80601f01602080910402602001604051908101604052809291908181526020018280546102e990610b84565b80156103345780601f1061030b57610100808354040283529160200191610334565b820191905f5260205f20905b81548152906001019060200180831161031757829003601f168201915b5050505050815260200190600101906102a0565b50505050905090565b60605f80858060200190518101906103699190610b6b565b90505f848060200190518101906103809190610c8e565b90506103a1826001600160401b0316825f01516001600160401b03166105e8565b8051602082015160405163fd257e2960e01b81526001600160401b03909216600483015260248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063fd257e299060440161014060405180830381865afa15801561041c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104409190610d75565b6040805160a0810182525f81528183015160208201528482015181830152606080860151908201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016608082015290516324a8807560e21b815291925073__$011ed85421b307e5206de383929e31be73$__916392a201d4916104d1918b9190600401610e26565b5f60405180830381865af41580156104eb573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526105129190810190610ef7565b94509450505050935093915050565b610529610567565b6001600160a01b03811661055b575f604051631e4fbdf760e01b81526004016105529190610747565b60405180910390fd5b61056481610599565b50565b33610570610228565b6001600160a01b03161461017b573360405163118cdaa760e01b81526004016105529190610747565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b816106137f000000000000000000000000000000000000000000000000000000000000000083610f41565b101561066257604051632a54241d60e21b815260048101839052602481018290527f00000000000000000000000000000000000000000000000000000000000000006044820152606401610552565b8181111561068d5760405163b356ade760e01b81526004810183905260248101829052604401610552565b5050565b828054828255905f5260205f209081019282156106d5579160200282015b828111156106d557825182906106c59082610fb2565b50916020019190600101906106af565b506106e19291506106e5565b5090565b808211156106e1575f6106f88282610701565b506001016106e5565b50805461070d90610b84565b5f825580601f1061071c575050565b601f0160209004905f5260205f209081019061056491905b808211156106e1575f8155600101610734565b6001600160a01b0391909116815260200190565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61079b602083018461075b565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b03811182821017156107d8576107d86107a2565b60405290565b60405161014081016001600160401b03811182821017156107d8576107d86107a2565b604051601f8201601f191681016001600160401b0381118282101715610829576108296107a2565b604052919050565b5f6001600160401b03821115610849576108496107a2565b5060051b60200190565b5f6001600160401b0382111561086b5761086b6107a2565b50601f01601f191660200190565b5f61088b61088684610853565b610801565b905082815283838301111561089e575f80fd5b828260208301375f602084830101529392505050565b5f60208083850312156108c5575f80fd5b82356001600160401b03808211156108db575f80fd5b818501915085601f8301126108ee575f80fd5b81356108fc61088682610831565b81815260059190911b8301840190848101908883111561091a575f80fd5b8585015b8381101561096357803585811115610934575f80fd5b8601603f81018b13610944575f80fd5b6109558b8983013560408401610879565b84525091860191860161091e565b5098975050505050505050565b5f60208083016020845280855180835260408601915060408160051b8701019250602087015f5b828110156109c557603f198886030184526109b385835161075b565b94509285019290850190600101610997565b5092979650505050505050565b5f82601f8301126109e1575f80fd5b61079b83833560208501610879565b5f805f60608486031215610a02575f80fd5b83356001600160401b0380821115610a18575f80fd5b610a24878388016109d2565b94506020860135915080821115610a39575f80fd5b9085019060208288031215610a4c575f80fd5b604051602081018181108382111715610a6757610a676107a2565b604052823582811115610a78575f80fd5b610a84898286016109d2565b82525093506040860135915080821115610a9c575f80fd5b50610aa9868287016109d2565b9150509250925092565b5f604082016040835280855180835260608501915060608160051b860101925060208088015f5b83811015610b0857605f19888703018552610af686835161075b565b95509382019390820190600101610ada565b50505050508091505060ff831660208301529392505050565b6001600160a01b0381168114610564575f80fd5b5f60208284031215610b45575f80fd5b813561079b81610b21565b80516001600160401b0381168114610b66575f80fd5b919050565b5f60208284031215610b7b575f80fd5b61079b82610b50565b600181811c90821680610b9857607f821691505b602082108103610bb657634e487b7160e01b5f52602260045260245ffd5b50919050565b5f82601f830112610bcb575f80fd5b8151610bd961088682610853565b818152846020838601011115610bed575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f82601f830112610c18575f80fd5b81516020610c2861088683610831565b82815260059290921b84018101918181019086841115610c46575f80fd5b8286015b84811015610c835780516001600160401b03811115610c67575f80fd5b610c758986838b0101610bbc565b845250918301918301610c4a565b509695505050505050565b5f60208284031215610c9e575f80fd5b81516001600160401b0380821115610cb4575f80fd5b9083019060808286031215610cc7575f80fd5b610ccf6107b6565b610cd883610b50565b815260208301516020820152604083015182811115610cf5575f80fd5b610d0187828601610c09565b604083015250606083015182811115610d18575f80fd5b610d2487828601610bbc565b60608301525095945050505050565b8051610b6681610b21565b80516001600160601b0381168114610b66575f80fd5b805161ffff81168114610b66575f80fd5b805160ff81168114610b66575f80fd5b5f6101408284031215610d86575f80fd5b610d8e6107de565b825181526020830151602082015260408301516040820152610db260608401610d33565b6060820152610dc360808401610d3e565b6080820152610dd460a08401610d33565b60a0820152610de560c08401610d3e565b60c0820152610df660e08401610b50565b60e0820152610100610e09818501610d54565b90820152610120610e1b848201610d65565b908201529392505050565b604081525f83516020806040850152610e42606085018361075b565b91508382038185015260a08201855183528186015182840152604086015160a0604085015281815180845260c08601915060c08160051b870101935084830192505f5b81811015610eb35760bf19878603018352610ea185855161075b565b94509285019291850191600101610e85565b50505050606086015191508281036060840152610ed0818361075b565b9150506080850151610eed60808401826001600160a01b03169052565b5095945050505050565b5f8060408385031215610f08575f80fd5b82516001600160401b03811115610f1d575f80fd5b610f2985828601610c09565b925050610f3860208401610d65565b90509250929050565b80820180821115610f6057634e487b7160e01b5f52601160045260245ffd5b92915050565b601f821115610fad57805f5260205f20601f840160051c81016020851015610f8b5750805b601f840160051c820191505b81811015610faa575f8155600101610f97565b50505b505050565b81516001600160401b03811115610fcb57610fcb6107a2565b610fdf81610fd98454610b84565b84610f66565b602080601f831160018114611012575f8415610ffb5750858301515b5f19600386901b1c1916600185901b178555611069565b5f85815260208120601f198616915b8281101561104057888601518255948401946001909101908401611021565b508582101561105d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b50505050505056fea2646970667358221220d9a0334b5f3317c388ad24c2f89cbd2d2b9a6e7d6e9658e4126a8173cc1d139864736f6c63430008190033","sourceMap":"813:1322:35:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;896:84:0;;;966:7;160:25:63;;148:2;133:18;896:84:0;;;;;;;;986:89;1062:6;986:89;;;;;;;:::i;2293:101:46:-;;;:::i;:::-;;1095:129:35;;;:::i;:::-;;;;;;;:::i;1638:85:46:-;;;:::i;663:129:0:-;;;;;;:::i;:::-;;:::i;798:92::-;;;:::i;:::-;;;;;;;:::i;1360:773:35:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;2543:215:46:-;;;;;;:::i;:::-;;:::i;2293:101::-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;1095:129:35:-;1146:12;1188:7;-1:-1:-1;;;;;1188:26:35;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1177:40;;;-1:-1:-1;;;;;8147:31:63;;;1177:40:35;;;8129:50:63;8102:18;1177:40:35;;;;;;;;;;;;1170:47;;1095:129;:::o;1638:85:46:-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:46;;1638:85::o;663:129:0:-;1531:13:46;:11;:13::i;:::-;738:12:0;;::::1;::::0;:5:::1;::::0;:12:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;765:20:0::1;::::0;::::1;::::0;;;::::1;663:129:::0;:::o;798:92::-;844:15;878:5;871:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;798:92;:::o;1360:773:35:-;1508:14;1524;1550:15;1579:7;1568:29;;;;;;;;;;;;:::i;:::-;1550:47;;1607:21;1642:5;1631:33;;;;;;;;;;;;:::i;:::-;1607:57;;1793:33;1806:8;-1:-1:-1;;;;;1793:33:35;1816:1;:9;;;-1:-1:-1;;;;;1793:33:35;:12;:33::i;:::-;1899:9;;1922:12;;;;1864:80;;-1:-1:-1;;;1864:80:35;;-1:-1:-1;;;;;10996:31:63;;;1864:80:35;;;10978:50:63;11044:18;;;11037:34;1836:25:35;;1864:7;-1:-1:-1;;;;;1864:21:35;;;;10951:18:63;;1864:80:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2055:57;;;;;;;;-1:-1:-1;2055:57:35;;2072:12;;;;2055:57;;;;2086:8;;;;2055:57;;;;;2096:7;;;;2055:57;;;;-1:-1:-1;;;;;2105:6:35;2055:57;;;;;1995:131;;-1:-1:-1;;;1995:131:35;;1836:108;;-1:-1:-1;1995:9:35;;:21;;:131;;2034:3;;2055:57;1995:131;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1995:131:35;;;;;;;;;;;;:::i;:::-;1976:150;;;;;;;1360:773;;;;;;:::o;2543:215:46:-;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:46;::::1;2623:91;;2700:1;2672:31;;-1:-1:-1::0;;;2672:31:46::1;;;;;;;;:::i;:::-;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;735:10:48;1855:7:46;:5;:7::i;:::-;-1:-1:-1;;;;;1855:23:46;;1851:101;;735:10:48;1901:40:46;;-1:-1:-1;;;1901:40:46;;;;;;;;:::i;2912:187::-;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:46;;;-1:-1:-1;;;;;;3020:17:46;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;1081:211:0:-;1176:6;1160:13;1166:7;1160:3;:13;:::i;:::-;:22;1156:69;;;1191:34;;-1:-1:-1;;;1191:34:0;;;;;15230:25:63;;;15271:18;;;15264:34;;;1217:7:0;15314:18:63;;;15307:34;15203:18;;1191:34:0;15028:319:63;1156:69:0;1245:6;1239:3;:12;1235:50;;;1260:25;;-1:-1:-1;;;1260:25:0;;;;;15526::63;;;15567:18;;;15560:34;;;15499:18;;1260:25:0;15352:248:63;1235:50:0;1081:211;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;321:226:63;-1:-1:-1;;;;;508:32:63;;;;490:51;;478:2;463:18;;321:226::o;552:288::-;593:3;631:5;625:12;658:6;653:3;646:19;714:6;707:4;700:5;696:16;689:4;684:3;680:14;674:47;766:1;759:4;750:6;745:3;741:16;737:27;730:38;829:4;822:2;818:7;813:2;805:6;801:15;797:29;792:3;788:39;784:50;777:57;;;552:288;;;;:::o;845:217::-;992:2;981:9;974:21;955:4;1012:44;1052:2;1041:9;1037:18;1029:6;1012:44;:::i;:::-;1004:52;845:217;-1:-1:-1;;;845:217:63:o;1275:127::-;1336:10;1331:3;1327:20;1324:1;1317:31;1367:4;1364:1;1357:15;1391:4;1388:1;1381:15;1407:253;1479:2;1473:9;1521:4;1509:17;;-1:-1:-1;;;;;1541:34:63;;1577:22;;;1538:62;1535:88;;;1603:18;;:::i;:::-;1639:2;1632:22;1407:253;:::o;1665:252::-;1737:2;1731:9;1779:3;1767:16;;-1:-1:-1;;;;;1798:34:63;;1834:22;;;1795:62;1792:88;;;1860:18;;:::i;1922:275::-;1993:2;1987:9;2058:2;2039:13;;-1:-1:-1;;2035:27:63;2023:40;;-1:-1:-1;;;;;2078:34:63;;2114:22;;;2075:62;2072:88;;;2140:18;;:::i;:::-;2176:2;2169:22;1922:275;;-1:-1:-1;1922:275:63:o;2202:182::-;2261:4;-1:-1:-1;;;;;2283:30:63;;2280:56;;;2316:18;;:::i;:::-;-1:-1:-1;2361:1:63;2357:14;2373:4;2353:25;;2202:182::o;2389:187::-;2438:4;-1:-1:-1;;;;;2460:30:63;;2457:56;;;2493:18;;:::i;:::-;-1:-1:-1;2559:2:63;2538:15;-1:-1:-1;;2534:29:63;2565:4;2530:40;;2389:187::o;2581:338::-;2646:5;2675:53;2691:36;2720:6;2691:36;:::i;:::-;2675:53;:::i;:::-;2666:62;;2751:6;2744:5;2737:21;2791:3;2782:6;2777:3;2773:16;2770:25;2767:45;;;2808:1;2805;2798:12;2767:45;2857:6;2852:3;2845:4;2838:5;2834:16;2821:43;2911:1;2904:4;2895:6;2888:5;2884:18;2880:29;2873:40;2581:338;;;;;:::o;2924:1197::-;3018:6;3049:2;3092;3080:9;3071:7;3067:23;3063:32;3060:52;;;3108:1;3105;3098:12;3060:52;3135:23;;-1:-1:-1;;;;;3207:14:63;;;3204:34;;;3234:1;3231;3224:12;3204:34;3272:6;3261:9;3257:22;3247:32;;3317:7;3310:4;3306:2;3302:13;3298:27;3288:55;;3339:1;3336;3329:12;3288:55;3375:2;3362:16;3398:59;3414:42;3453:2;3414:42;:::i;3398:59::-;3491:15;;;3573:1;3569:10;;;;3561:19;;3557:28;;;3522:12;;;;3597:19;;;3594:39;;;3629:1;3626;3619:12;3594:39;3661:2;3657;3653:11;3673:418;3689:6;3684:3;3681:15;3673:418;;;3775:3;3762:17;3811:2;3798:11;3795:19;3792:39;;;3827:1;3824;3817:12;3792:39;3854:20;;3909:2;3901:11;;3897:25;-1:-1:-1;3887:53:63;;3936:1;3933;3926:12;3887:53;3965:83;4040:7;4034:2;4030;4026:11;4013:25;4008:2;4004;4000:11;3965:83;:::i;:::-;3953:96;;-1:-1:-1;4069:12:63;;;;3706;;3673:418;;;-1:-1:-1;4110:5:63;2924:1197;-1:-1:-1;;;;;;;;2924:1197:63:o;4126:802::-;4288:4;4317:2;4357;4346:9;4342:18;4387:2;4376:9;4369:21;4410:6;4445;4439:13;4476:6;4468;4461:22;4514:2;4503:9;4499:18;4492:25;;4576:2;4566:6;4563:1;4559:14;4548:9;4544:30;4540:39;4526:53;;4614:2;4606:6;4602:15;4635:1;4645:254;4659:6;4656:1;4653:13;4645:254;;;4752:2;4748:7;4736:9;4728:6;4724:22;4720:36;4715:3;4708:49;4780:39;4812:6;4803;4797:13;4780:39;:::i;:::-;4770:49;-1:-1:-1;4877:12:63;;;;4842:15;;;;4681:1;4674:9;4645:254;;;-1:-1:-1;4916:6:63;;4126:802;-1:-1:-1;;;;;;;4126:802:63:o;4933:221::-;4975:5;5028:3;5021:4;5013:6;5009:17;5005:27;4995:55;;5046:1;5043;5036:12;4995:55;5068:80;5144:3;5135:6;5122:20;5115:4;5107:6;5103:17;5068:80;:::i;5159:1153::-;5286:6;5294;5302;5355:2;5343:9;5334:7;5330:23;5326:32;5323:52;;;5371:1;5368;5361:12;5323:52;5398:23;;-1:-1:-1;;;;;5470:14:63;;;5467:34;;;5497:1;5494;5487:12;5467:34;5520:49;5561:7;5552:6;5541:9;5537:22;5520:49;:::i;:::-;5510:59;;5622:2;5611:9;5607:18;5594:32;5578:48;;5651:2;5641:8;5638:16;5635:36;;;5667:1;5664;5657:12;5635:36;5690:24;;;;5748:2;5730:16;;;5726:25;5723:45;;;5764:1;5761;5754:12;5723:45;5797:2;5791:9;5839:2;5831:6;5827:15;5892:6;5880:10;5877:22;5872:2;5860:10;5857:18;5854:46;5851:72;;;5903:18;;:::i;:::-;5939:2;5932:22;5979:16;;6007;;;6004:36;;;6036:1;6033;6026:12;6004:36;6064:44;6100:7;6089:8;6085:2;6081:17;6064:44;:::i;:::-;6049:60;;-1:-1:-1;6056:6:63;-1:-1:-1;6187:2:63;6172:18;;6159:32;;-1:-1:-1;6203:16:63;;;6200:36;;;6232:1;6229;6222:12;6200:36;;6255:51;6298:7;6287:8;6276:9;6272:24;6255:51;:::i;:::-;6245:61;;;5159:1153;;;;;:::o;6317:884::-;6501:4;6549:2;6538:9;6534:18;6579:2;6568:9;6561:21;6602:6;6637;6631:13;6668:6;6660;6653:22;6706:2;6695:9;6691:18;6684:25;;6768:2;6758:6;6755:1;6751:14;6740:9;6736:30;6732:39;6718:53;;6790:4;6829;6821:6;6817:17;6852:1;6862:254;6876:6;6873:1;6870:13;6862:254;;;6969:2;6965:7;6953:9;6945:6;6941:22;6937:36;6932:3;6925:49;6997:39;7029:6;7020;7014:13;6997:39;:::i;:::-;6987:49;-1:-1:-1;7094:12:63;;;;7059:15;;;;6898:1;6891:9;6862:254;;;6866:3;;;;;7133:6;7125:14;;;7189:4;7181:6;7177:17;7170:4;7159:9;7155:20;7148:47;6317:884;;;;;:::o;7206:131::-;-1:-1:-1;;;;;7281:31:63;;7271:42;;7261:70;;7327:1;7324;7317:12;7342:247;7401:6;7454:2;7442:9;7433:7;7429:23;7425:32;7422:52;;;7470:1;7467;7460:12;7422:52;7509:9;7496:23;7528:31;7553:5;7528:31;:::i;7594:175::-;7672:13;;-1:-1:-1;;;;;7714:30:63;;7704:41;;7694:69;;7759:1;7756;7749:12;7694:69;7594:175;;;:::o;7774:206::-;7843:6;7896:2;7884:9;7875:7;7871:23;7867:32;7864:52;;;7912:1;7909;7902:12;7864:52;7935:39;7964:9;7935:39;:::i;8190:380::-;8269:1;8265:12;;;;8312;;;8333:61;;8387:4;8379:6;8375:17;8365:27;;8333:61;8440:2;8432:6;8429:14;8409:18;8406:38;8403:161;;8486:10;8481:3;8477:20;8474:1;8467:31;8521:4;8518:1;8511:15;8549:4;8546:1;8539:15;8403:161;;8190:380;;;:::o;8575:460::-;8628:5;8681:3;8674:4;8666:6;8662:17;8658:27;8648:55;;8699:1;8696;8689:12;8648:55;8728:6;8722:13;8759:49;8775:32;8804:2;8775:32;:::i;8759:49::-;8833:2;8824:7;8817:19;8879:3;8872:4;8867:2;8859:6;8855:15;8851:26;8848:35;8845:55;;;8896:1;8893;8886:12;8845:55;8954:2;8947:4;8939:6;8935:17;8928:4;8919:7;8915:18;8909:48;9002:1;8977:16;;;8995:4;8973:27;8966:38;;;;8981:7;8575:460;-1:-1:-1;;;8575:460:63:o;9040:823::-;9103:5;9156:3;9149:4;9141:6;9137:17;9133:27;9123:55;;9174:1;9171;9164:12;9123:55;9203:6;9197:13;9229:4;9253:59;9269:42;9308:2;9269:42;:::i;9253:59::-;9346:15;;;9432:1;9428:10;;;;9416:23;;9412:32;;;9377:12;;;;9456:15;;;9453:35;;;9484:1;9481;9474:12;9453:35;9520:2;9512:6;9508:15;9532:302;9548:6;9543:3;9540:15;9532:302;;;9621:10;;-1:-1:-1;;;;;9647:35:63;;9644:55;;;9695:1;9692;9685:12;9644:55;9724:67;9787:3;9782:2;9768:11;9760:6;9756:24;9752:33;9724:67;:::i;:::-;9712:80;;-1:-1:-1;9812:12:63;;;;9565;;9532:302;;;-1:-1:-1;9852:5:63;9040:823;-1:-1:-1;;;;;;9040:823:63:o;9868:933::-;9969:6;10022:2;10010:9;10001:7;9997:23;9993:32;9990:52;;;10038:1;10035;10028:12;9990:52;10065:16;;-1:-1:-1;;;;;10130:14:63;;;10127:34;;;10157:1;10154;10147:12;10127:34;10180:22;;;;10236:4;10218:16;;;10214:27;10211:47;;;10254:1;10251;10244:12;10211:47;10280:22;;:::i;:::-;10325:32;10354:2;10325:32;:::i;:::-;10318:5;10311:47;10404:2;10400;10396:11;10390:18;10385:2;10378:5;10374:14;10367:42;10448:2;10444;10440:11;10434:18;10477:2;10467:8;10464:16;10461:36;;;10493:1;10490;10483:12;10461:36;10529:65;10586:7;10575:8;10571:2;10567:17;10529:65;:::i;:::-;10524:2;10517:5;10513:14;10506:89;;10634:2;10630;10626:11;10620:18;10663:2;10653:8;10650:16;10647:36;;;10679:1;10676;10669:12;10647:36;10715:55;10762:7;10751:8;10747:2;10743:17;10715:55;:::i;:::-;10710:2;10699:14;;10692:79;-1:-1:-1;10703:5:63;9868:933;-1:-1:-1;;;;;9868:933:63:o;11082:138::-;11161:13;;11183:31;11161:13;11183:31;:::i;11225:175::-;11303:13;;-1:-1:-1;;;;;11345:30:63;;11335:41;;11325:69;;11390:1;11387;11380:12;11405:163;11483:13;;11536:6;11525:18;;11515:29;;11505:57;;11558:1;11555;11548:12;11573:160;11650:13;;11703:4;11692:16;;11682:27;;11672:55;;11723:1;11720;11713:12;11738:1028;11842:6;11895:3;11883:9;11874:7;11870:23;11866:33;11863:53;;;11912:1;11909;11902:12;11863:53;11938:22;;:::i;:::-;11989:9;11983:16;11976:5;11969:31;12053:2;12042:9;12038:18;12032:25;12027:2;12020:5;12016:14;12009:49;12111:2;12100:9;12096:18;12090:25;12085:2;12078:5;12074:14;12067:49;12148;12193:2;12182:9;12178:18;12148:49;:::i;:::-;12143:2;12136:5;12132:14;12125:73;12231:49;12275:3;12264:9;12260:19;12231:49;:::i;:::-;12225:3;12218:5;12214:15;12207:74;12314:50;12359:3;12348:9;12344:19;12314:50;:::i;:::-;12308:3;12301:5;12297:15;12290:75;12398:49;12442:3;12431:9;12427:19;12398:49;:::i;:::-;12392:3;12385:5;12381:15;12374:74;12481:49;12525:3;12514:9;12510:19;12481:49;:::i;:::-;12475:3;12468:5;12464:15;12457:74;12550:3;12585:48;12629:2;12618:9;12614:18;12585:48;:::i;:::-;12569:14;;;12562:72;12653:3;12688:47;12716:18;;;12688:47;:::i;:::-;12672:14;;;12665:71;12676:5;11738:1028;-1:-1:-1;;;11738:1028:63:o;12771:1569::-;13062:2;13051:9;13044:21;13025:4;13100:6;13094:13;13126:4;13166:2;13161;13150:9;13146:18;13139:30;13189:50;13235:2;13224:9;13220:18;13206:12;13189:50;:::i;:::-;13178:61;;13284:9;13279:3;13275:19;13270:2;13259:9;13255:18;13248:47;13327:4;13322:3;13318:14;13359:6;13353:13;13348:3;13341:26;13415:2;13407:6;13403:15;13397:22;13392:2;13387:3;13383:12;13376:44;13469:2;13461:6;13457:15;13451:22;13503:4;13498:2;13493:3;13489:12;13482:26;13528:6;13563:14;13557:21;13602:6;13594;13587:22;13634:3;13629;13625:13;13618:20;;13691:3;13681:6;13678:1;13674:14;13669:3;13665:24;13661:34;13647:48;;13738:2;13722:14;13718:23;13704:37;;13759:1;13769:249;13783:6;13780:1;13777:13;13769:249;;;13870:3;13866:8;13860:3;13852:6;13848:16;13844:31;13839:3;13832:44;13899:39;13931:6;13922;13916:13;13899:39;:::i;:::-;13889:49;-1:-1:-1;13961:15:63;;;;13996:12;;;;13805:1;13798:9;13769:249;;;13773:3;;;;14067:2;14059:6;14055:15;14049:22;14027:44;;14113:3;14105:6;14101:16;14096:2;14091:3;14087:12;14080:38;14141:40;14174:6;14158:14;14141:40;:::i;:::-;14127:54;;;14230:4;14222:6;14218:17;14212:24;14245:66;14305:4;14300:3;14296:14;14280;-1:-1:-1;;;;;278:31:63;266:44;;196:120;14245:66;-1:-1:-1;14328:6:63;12771:1569;-1:-1:-1;;;;;12771:1569:63:o;14345:451::-;14456:6;14464;14517:2;14505:9;14496:7;14492:23;14488:32;14485:52;;;14533:1;14530;14523:12;14485:52;14560:16;;-1:-1:-1;;;;;14588:30:63;;14585:50;;;14631:1;14628;14621:12;14585:50;14654:70;14716:7;14707:6;14696:9;14692:22;14654:70;:::i;:::-;14644:80;;;14743:47;14786:2;14775:9;14771:18;14743:47;:::i;:::-;14733:57;;14345:451;;;;;:::o;14801:222::-;14866:9;;;14887:10;;;14884:133;;;14939:10;14934:3;14930:20;14927:1;14920:31;14974:4;14971:1;14964:15;15002:4;14999:1;14992:15;14884:133;14801:222;;;;:::o;15731:518::-;15833:2;15828:3;15825:11;15822:421;;;15869:5;15866:1;15859:16;15913:4;15910:1;15900:18;15983:2;15971:10;15967:19;15964:1;15960:27;15954:4;15950:38;16019:4;16007:10;16004:20;16001:47;;;-1:-1:-1;16042:4:63;16001:47;16097:2;16092:3;16088:12;16085:1;16081:20;16075:4;16071:31;16061:41;;16152:81;16170:2;16163:5;16160:13;16152:81;;;16229:1;16215:16;;16196:1;16185:13;16152:81;;;16156:3;;15822:421;15731:518;;;:::o;16425:1345::-;16545:10;;-1:-1:-1;;;;;16567:30:63;;16564:56;;;16600:18;;:::i;:::-;16629:97;16719:6;16679:38;16711:4;16705:11;16679:38;:::i;:::-;16673:4;16629:97;:::i;:::-;16781:4;;16838:2;16827:14;;16855:1;16850:663;;;;17557:1;17574:6;17571:89;;;-1:-1:-1;17626:19:63;;;17620:26;17571:89;-1:-1:-1;;16382:1:63;16378:11;;;16374:24;16370:29;16360:40;16406:1;16402:11;;;16357:57;17673:81;;16820:944;;16850:663;15678:1;15671:14;;;15715:4;15702:18;;-1:-1:-1;;16886:20:63;;;17004:236;17018:7;17015:1;17012:14;17004:236;;;17107:19;;;17101:26;17086:42;;17199:27;;;;17167:1;17155:14;;;;17034:19;;17004:236;;;17008:3;17268:6;17259:7;17256:19;17253:201;;;17329:19;;;17323:26;-1:-1:-1;;17412:1:63;17408:14;;;17424:3;17404:24;17400:37;17396:42;17381:58;17366:74;;17253:201;;;17500:1;17491:6;17488:1;17484:14;17480:22;17474:4;17467:36;16820:944;;;;;16425:1345;;:::o","linkReferences":{"contracts/GatewayVM.sol":{"GatewayVM":[{"start":1192,"length":20}]}},"immutableReferences":{"11371":[{"start":385,"length":32},{"start":974,"length":32}],"20":[{"start":138,"length":32},{"start":1518,"length":32},{"start":1590,"length":32}],"23":[{"start":186,"length":32},{"start":1138,"length":32}]}},"methodIdentifiers":{"gatewayURLs()":"b50f2fbc","getHooks()":"5cd2525e","getLatestContext()":"87c484fe","getStorageValues(bytes,(bytes),bytes)":"e3d1666e","getWindow()":"1d80051d","owner()":"8da5cb5b","renounceOwnership()":"715018a6","setGatewayURLs(string[])":"8e5ea8df","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"urls\",\"type\":\"string[]\"},{\"internalType\":\"uint256\",\"name\":\"window\",\"type\":\"uint256\"},{\"internalType\":\"contract IVerifierHooks\",\"name\":\"hooks\",\"type\":\"address\"},{\"internalType\":\"contract ITaiko\",\"name\":\"rollup\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"latest\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"got\",\"type\":\"uint256\"}],\"name\":\"CommitTooNew\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"latest\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"got\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"window\",\"type\":\"uint256\"}],\"name\":\"CommitTooOld\",\"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\":[],\"name\":\"GatewayURLsChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"gatewayURLs\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getHooks\",\"outputs\":[{\"internalType\":\"contract IVerifierHooks\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestContext\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"bytes\",\"name\":\"ops\",\"type\":\"bytes\"}],\"internalType\":\"struct GatewayRequest\",\"name\":\"req\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"}],\"name\":\"getStorageValues\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"},{\"internalType\":\"uint8\",\"name\":\"exitCode\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWindow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"urls\",\"type\":\"string[]\"}],\"name\":\"setGatewayURLs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/taiko/TaikoVerifier.sol\":\"TaikoVerifier\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[\":@eth-optimism/=lib/optimism/packages/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":optimism/=lib/optimism/packages/contracts-bedrock/src/\"]},\"sources\":{\"contracts/AbstractVerifier.sol\":{\"keccak256\":\"0x4868ee9c8ade05b23ce93c2fce0507588583597df087f9494a69df005cff2652\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e822d963a8461edcf72a7e500b53b0bfaf0d98412ae5da3287246cc491ef705\",\"dweb:/ipfs/QmU8NJXEg5oFCoahg9F8qtQoWsW1sYfKmDCVD7vtNX9qbZ\"]},\"contracts/GatewayRequest.sol\":{\"keccak256\":\"0x3e6ce7cae72d6d77a9a4b5644495b8621116be44511186d47efbb27ce0fc73f9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://301c7ad11dd0e050811a58ab6942040df9bad5e269bb43e4c74ffca3b43622f5\",\"dweb:/ipfs/QmXocie71GDYUPDEcVLsZ9N6LXZaSj8SX49HbGG3CUHLvP\"]},\"contracts/GatewayVM.sol\":{\"keccak256\":\"0x9bff36c483bb29a6fc0525cfa7ba09b523632ed9477dac23aa8d312237e987ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2452b324151e1909f825a83e895a242de7795bdab405121d3baec42128e350da\",\"dweb:/ipfs/QmWdMuMT3wYoe4Sa73PPWuW1RZSqvUT2qFck6WvMdLnSCy\"]},\"contracts/IGatewayVerifier.sol\":{\"keccak256\":\"0xd56c8ace6aba1354dd4c477b566343b641f57a8c4ef88e1d84294d3727552284\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e268659b9c590a5ce3d2eb440a11bcdf3214a4bfcfa7f38523137ccf940fa32\",\"dweb:/ipfs/QmVpLNhcXQbx4MaBPMnnEnt7gTLNWB753BszqakBq5yUA3\"]},\"contracts/IVerifierHooks.sol\":{\"keccak256\":\"0xd85e9b52270a88d0df9b26454d9c80389405c230b7d67060742a4a0ea5917248\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81de43a606284b5b9b146e06dbf6f54db5480058deb5fbe150302a37ffe14e1a\",\"dweb:/ipfs/QmSDH39aPAch4bKhRZbJ5vSDEUUDic76gWxDDDGaYxbPat\"]},\"contracts/taiko/TaikoVerifier.sol\":{\"keccak256\":\"0x63938d5c45928eceba0820dc099ba25511bce0d2203b40c6a777f87730cfc5c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa54d9ef8bb538492380683d5be9cb52934eeaf3c8946cc780c4ea1f3d1c706a\",\"dweb:/ipfs/QmTjxpgNZCdxNqfRxfz6fAJDmxzw54W8JLSESQZ2tNPt2S\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/optimism/packages/contracts-bedrock/src/libraries/Bytes.sol\":{\"keccak256\":\"0x827f47d123b0fdf3b08816d5b33831811704dbf4e554e53f2269354f6bba8859\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3137ac7204d30a245a8b0d67aa6da5286f1bd8c90379daab561f84963b6db782\",\"dweb:/ipfs/QmWRhisw3axJK833gUScs23ETh2MLFbVzzqzYVMKSDN3S9\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string[]","name":"urls","type":"string[]"},{"internalType":"uint256","name":"window","type":"uint256"},{"internalType":"contract IVerifierHooks","name":"hooks","type":"address"},{"internalType":"contract ITaiko","name":"rollup","typ