@unruggable/gateways
Version:
Trustless Ethereum Multichain CCIP-Read Gateway
1 lines • 49.6 kB
JSON
{"abi":[{"type":"function","name":"latestIndex","inputs":[{"name":"rollup","type":"address","internalType":"address"},{"name":"minAgeBlocks","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"index","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"verifyRollup","inputs":[{"name":"rollup","type":"address","internalType":"address"},{"name":"minAgeBlocks","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"stateRoot","type":"bytes32","internalType":"bytes32"},{"name":"got","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"verifyStateRoot","inputs":[{"name":"proof","type":"tuple","internalType":"struct BoLDVerifierLib.RollupProof","components":[{"name":"assertionHash","type":"bytes32","internalType":"bytes32"},{"name":"encodedAssertionChain","type":"bytes","internalType":"bytes"},{"name":"afterState","type":"tuple","internalType":"struct AssertionState","components":[{"name":"globalState","type":"tuple","internalType":"struct GlobalState","components":[{"name":"bytes32Vals","type":"bytes32[2]","internalType":"bytes32[2]"},{"name":"u64Vals","type":"uint64[2]","internalType":"uint64[2]"}]},{"name":"machineStatus","type":"MachineStatus","internalType":"enum MachineStatus"},{"name":"endHistoryRoot","type":"bytes32","internalType":"bytes32"}]},{"name":"rlpEncodedBlock","type":"bytes","internalType":"bytes"}]},{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"stateRoot","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"error","name":"ContentLengthMismatch","inputs":[]},{"type":"error","name":"EmptyItem","inputs":[]},{"type":"error","name":"InvalidDataRemainder","inputs":[]},{"type":"error","name":"InvalidHeader","inputs":[]},{"type":"error","name":"UnexpectedList","inputs":[]},{"type":"error","name":"UnexpectedString","inputs":[]}],"bytecode":{"object":"0x611446610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004a575f3560e01c80631213912c1461004e5780636d035dec14610074578063ad66af5a14610087575b5f80fd5b61006161005c366004610e5c565b6100af565b6040519081526020015b60405180910390f35b610061610082366004610fbf565b61013c565b61009a610095366004610fe7565b61023b565b6040805192835260208301919091520161006b565b5f81836060015180519060200120146101015760405162461bcd60e51b815260206004820152600f60248201526e084de98887440c4d8dec6d690c2e6d608b1b60448201526064015b60405180910390fd5b5f61010f846060015161036c565b90506101348160038151811061012757610127611039565b602002602001015161037f565b949350505050565b5f815f03610228575f836001600160a01b03166365f7f80d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610181573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101a5919061104d565b60405163220c0a2160e21b8152600481018290529091505f906001600160a01b0386169063883028849060240160c060405180830381865afa1580156101ed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610211919061106f565b604001516001600160401b03169250610235915050565b6102328243611127565b90505b92915050565b5f805f8380602001905181019061025291906111d2565b90505f8061026b888460200151855f01518a5f146103be565b91509150808360400151604051602001610285919061134e565b60405160208183030381529060405280519060200120146102dc5760405162461bcd60e51b8152602060048201526011602482015270426f4c443a20616674657220737461746560781b60448201526064016100f8565b600183604001516020015160028111156102f8576102f861131a565b1461033a5760405162461bcd60e51b8152602060048201526012602482015271109bd3110e881b9bdd08199a5b9a5cda195960721b60448201526064016100f8565b604082810151908401515151516001600160401b03909116945061035f9084906100af565b9450505050935093915050565b606061023561037a836106de565b610725565b5f8061038a83610898565b905080516020146103ae576040516366c9448560e01b815260040160405180910390fd5b6103b7816113d7565b9392505050565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a081019190915260405163220c0a2160e21b8152600481018490525f906001600160a01b0387169063883028849060240160c060405180830381865afa158015610434573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610458919061106f565b91506002826080015160028111156104725761047261131a565b146104ba5760405162461bcd60e51b8152602060048201526018602482015277109bd3110e881c185c995b9d081d5b999a5b985b1a5e995960421b60448201526064016100f8565b5f85511180156104cc57508451603f16155b61050a5760405162461bcd60e51b815260206004820152600f60248201526e2137a6221d103130b21031b430b4b760891b60448201526064016100f8565b5f5b85518110156106d4576020818701818101516040918201518251938401899052838301829052606084018190529094509201919060800160408051808303601f190181529082905280516020918201209086015163220c0a2160e21b8352600483018290529097506001600160401b031615906001600160a01b038a169063883028849060240160c060405180830381865afa1580156105ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105d2919061106f565b94506002856080015160028111156105ec576105ec61131a565b146106cd5785156106335760405162461bcd60e51b8152602060048201526011602482015270109bd3110e881d5b999a5b985b1a5e9959607a1b60448201526064016100f8565b806106735760405162461bcd60e51b815260206004820152601060248201526f109bd3110e8818da185b1b195b99d95960821b60448201526064016100f8565b60018560800151600281111561068b5761068b61131a565b146106cd5760405162461bcd60e51b81526020600482015260126024820152712137a6221d1037379030b9b9b2b93a34b7b760711b60448201526064016100f8565b505061050c565b5094509492505050565b6106e6610c93565b81515f0361070757604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60605f805f61073385610920565b91945092509050600181600181111561074e5761074e61131a565b1461076c576040516325ce355f60e11b815260040160405180910390fd5b845161077883856113fd565b1461079657604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b6107b5610c93565b8152602001906001900390816107ad5790505093505f835b865181101561088c575f806108116040518060400160405280858c5f01516107f59190611127565b8152602001858c6020015161080a91906113fd565b9052610920565b50915091506040518060400160405280838361082d91906113fd565b8152602001848b6020015161084291906113fd565b81525088858151811061085757610857611039565b602090810291909101015261086d6001856113fd565b935061087981836113fd565b61088390846113fd565b925050506107cd565b50845250919392505050565b60605f805f6108a685610920565b919450925090505f8160018111156108c0576108c061131a565b146108de576040516307fe6cb960e21b815260040160405180910390fd5b6108e882846113fd565b85511461090857604051630b8aa6f760e31b815260040160405180910390fd5b61091785602001518484610c03565b95945050505050565b5f805f835f01515f0361094657604051635ab458fb60e01b815260040160405180910390fd5b602084015180515f1a607f8111610968575f60015f9450945094505050610bfc565b60b781116109fd575f61097c608083611127565b905080875f0151116109a1576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b03191690821480156109cd5750600160ff1b6001600160f81b03198216105b156109eb5760405163babb01dd60e01b815260040160405180910390fd5b506001955093505f9250610bfc915050565b60bf8111610adb575f610a1160b783611127565b905080875f015111610a36576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b0319165f819003610a665760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c60378111610a955760405163babb01dd60e01b815260040160405180910390fd5b610a9f81846113fd565b895111610abf576040516366c9448560e01b815260040160405180910390fd5b610aca8360016113fd565b975095505f9450610bfc9350505050565b60f78111610b25575f610aef60c083611127565b905080875f015111610b14576040516366c9448560e01b815260040160405180910390fd5b600195509350849250610bfc915050565b5f610b3160f783611127565b905080875f015111610b56576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b0319165f819003610b865760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c60378111610bb55760405163babb01dd60e01b815260040160405180910390fd5b610bbf81846113fd565b895111610bdf576040516366c9448560e01b815260040160405180910390fd5b610bea8360016113fd565b9750955060019450610bfc9350505050565b9193909250565b6060816001600160401b03811115610c1d57610c1d610cab565b6040519080825280601f01601f191660200182016040528015610c47576020820181803683370190505b50905081156103b7575f610c5b84866113fd565b9050602082015f5b84811015610c7b578281015182820152602001610c63565b84811115610c89575f858301525b5050509392505050565b60405180604001604052805f81526020015f81525090565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b0381118282101715610ce157610ce1610cab565b60405290565b604051606081016001600160401b0381118282101715610ce157610ce1610cab565b604080519081016001600160401b0381118282101715610ce157610ce1610cab565b604051601f8201601f191681016001600160401b0381118282101715610d5357610d53610cab565b604052919050565b5f6001600160401b03821115610d7357610d73610cab565b50601f01601f191660200190565b5f82601f830112610d90575f80fd5b8135610da3610d9e82610d5b565b610d2b565b818152846020838601011115610db7575f80fd5b816020850160208301375f918101602001919091529392505050565b6001600160401b0381168114610de7575f80fd5b50565b5f82601f830112610df9575f80fd5b610e01610d09565b806040840185811115610e12575f80fd5b845b81811015610e35578035610e2781610dd3565b845260209384019301610e14565b509095945050505050565b60038110610de7575f80fd5b8035610e5781610e40565b919050565b5f8060408385031215610e6d575f80fd5b82356001600160401b0380821115610e83575f80fd5b90840190818603610120811215610e98575f80fd5b610ea0610cbf565b8335815260208085013584811115610eb6575f80fd5b610ec28a828801610d81565b8284015250603f198301925060c0831215610edb575f80fd5b610ee3610ce7565b6080841215610ef0575f80fd5b610ef8610d09565b935089605f870112610f08575f80fd5b610f10610d09565b80608088018c811115610f21575f80fd5b604089015b81811015610f3d5780358452928501928501610f26565b50818752610f4b8d82610dea565b85880152505050838152610f6160c08701610e4c565b8282015260e0860135604082015280604084015250610100850135925083831115610f8a575f80fd5b610f9689848701610d81565b6060830152909896013596505050505050565b80356001600160a01b0381168114610e57575f80fd5b5f8060408385031215610fd0575f80fd5b610fd983610fa9565b946020939093013593505050565b5f805f60608486031215610ff9575f80fd5b61100284610fa9565b92506020840135915060408401356001600160401b03811115611023575f80fd5b61102f86828701610d81565b9150509250925092565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561105d575f80fd5b5051919050565b8051610e5781610e40565b5f60c0828403121561107f575f80fd5b60405160c081016001600160401b03811182821017156110a1576110a1610cab565b60405282516110af81610dd3565b815260208301516110bf81610dd3565b602082015260408301516110d281610dd3565b6040820152606083015180151581146110e9575f80fd5b60608201526110fa60808401611064565b608082015260a083015160a08201528091505092915050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561023557610235611113565b5f82601f830112611149575f80fd5b8151611157610d9e82610d5b565b81815284602083860101111561116b575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f82601f830112611196575f80fd5b61119e610d09565b8060408401858111156111af575f80fd5b845b81811015610e355780516111c481610dd3565b8452602093840193016111b1565b5f60208083850312156111e3575f80fd5b82516001600160401b03808211156111f9575f80fd5b9084019081860361012081121561120e575f80fd5b611216610cbf565b83518152848401518381111561122a575f80fd5b6112368982870161113a565b8683015250603f198201915060c082121561124f575f80fd5b611257610ce7565b6080831215611264575f80fd5b61126c610d09565b925088605f86011261127c575f80fd5b611284610d09565b80608087018b811115611295575f80fd5b604088015b818110156112b1578051845292890192890161129a565b508186526112bf8c82611187565b898701525050508281526112d560c08601611064565b8682015260e08501516040820152806040830152506101008401519450828511156112fe575f80fd5b61130a8886860161113a565b6060820152979650505050505050565b634e487b7160e01b5f52602160045260245ffd5b6003811061134a57634e487b7160e01b5f52602160045260245ffd5b9052565b8151805160c083019190835f5b600281101561137a57825182526020928301929091019060010161135b565b50505060209081015190604084015f5b60028110156113b05783516001600160401b03168252928201929082019060010161138a565b5050505060208301516113c6608084018261132e565b50604083015160a083015292915050565b805160208083015191908110156113f7575f198160200360031b1b821691505b50919050565b808201808211156102355761023561111356fea2646970667358221220413105dcd47bd483ccdf6d90d9e8ff3a4a4622b1e55a73582e82f43a0a3e5db864736f6c63430008190033","sourceMap":"1722:3360:13:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1722:3360:13;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040526004361061004a575f3560e01c80631213912c1461004e5780636d035dec14610074578063ad66af5a14610087575b5f80fd5b61006161005c366004610e5c565b6100af565b6040519081526020015b60405180910390f35b610061610082366004610fbf565b61013c565b61009a610095366004610fe7565b61023b565b6040805192835260208301919091520161006b565b5f81836060015180519060200120146101015760405162461bcd60e51b815260206004820152600f60248201526e084de98887440c4d8dec6d690c2e6d608b1b60448201526064015b60405180910390fd5b5f61010f846060015161036c565b90506101348160038151811061012757610127611039565b602002602001015161037f565b949350505050565b5f815f03610228575f836001600160a01b03166365f7f80d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610181573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101a5919061104d565b60405163220c0a2160e21b8152600481018290529091505f906001600160a01b0386169063883028849060240160c060405180830381865afa1580156101ed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610211919061106f565b604001516001600160401b03169250610235915050565b6102328243611127565b90505b92915050565b5f805f8380602001905181019061025291906111d2565b90505f8061026b888460200151855f01518a5f146103be565b91509150808360400151604051602001610285919061134e565b60405160208183030381529060405280519060200120146102dc5760405162461bcd60e51b8152602060048201526011602482015270426f4c443a20616674657220737461746560781b60448201526064016100f8565b600183604001516020015160028111156102f8576102f861131a565b1461033a5760405162461bcd60e51b8152602060048201526012602482015271109bd3110e881b9bdd08199a5b9a5cda195960721b60448201526064016100f8565b604082810151908401515151516001600160401b03909116945061035f9084906100af565b9450505050935093915050565b606061023561037a836106de565b610725565b5f8061038a83610898565b905080516020146103ae576040516366c9448560e01b815260040160405180910390fd5b6103b7816113d7565b9392505050565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a081019190915260405163220c0a2160e21b8152600481018490525f906001600160a01b0387169063883028849060240160c060405180830381865afa158015610434573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610458919061106f565b91506002826080015160028111156104725761047261131a565b146104ba5760405162461bcd60e51b8152602060048201526018602482015277109bd3110e881c185c995b9d081d5b999a5b985b1a5e995960421b60448201526064016100f8565b5f85511180156104cc57508451603f16155b61050a5760405162461bcd60e51b815260206004820152600f60248201526e2137a6221d103130b21031b430b4b760891b60448201526064016100f8565b5f5b85518110156106d4576020818701818101516040918201518251938401899052838301829052606084018190529094509201919060800160408051808303601f190181529082905280516020918201209086015163220c0a2160e21b8352600483018290529097506001600160401b031615906001600160a01b038a169063883028849060240160c060405180830381865afa1580156105ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105d2919061106f565b94506002856080015160028111156105ec576105ec61131a565b146106cd5785156106335760405162461bcd60e51b8152602060048201526011602482015270109bd3110e881d5b999a5b985b1a5e9959607a1b60448201526064016100f8565b806106735760405162461bcd60e51b815260206004820152601060248201526f109bd3110e8818da185b1b195b99d95960821b60448201526064016100f8565b60018560800151600281111561068b5761068b61131a565b146106cd5760405162461bcd60e51b81526020600482015260126024820152712137a6221d1037379030b9b9b2b93a34b7b760711b60448201526064016100f8565b505061050c565b5094509492505050565b6106e6610c93565b81515f0361070757604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60605f805f61073385610920565b91945092509050600181600181111561074e5761074e61131a565b1461076c576040516325ce355f60e11b815260040160405180910390fd5b845161077883856113fd565b1461079657604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b6107b5610c93565b8152602001906001900390816107ad5790505093505f835b865181101561088c575f806108116040518060400160405280858c5f01516107f59190611127565b8152602001858c6020015161080a91906113fd565b9052610920565b50915091506040518060400160405280838361082d91906113fd565b8152602001848b6020015161084291906113fd565b81525088858151811061085757610857611039565b602090810291909101015261086d6001856113fd565b935061087981836113fd565b61088390846113fd565b925050506107cd565b50845250919392505050565b60605f805f6108a685610920565b919450925090505f8160018111156108c0576108c061131a565b146108de576040516307fe6cb960e21b815260040160405180910390fd5b6108e882846113fd565b85511461090857604051630b8aa6f760e31b815260040160405180910390fd5b61091785602001518484610c03565b95945050505050565b5f805f835f01515f0361094657604051635ab458fb60e01b815260040160405180910390fd5b602084015180515f1a607f8111610968575f60015f9450945094505050610bfc565b60b781116109fd575f61097c608083611127565b905080875f0151116109a1576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b03191690821480156109cd5750600160ff1b6001600160f81b03198216105b156109eb5760405163babb01dd60e01b815260040160405180910390fd5b506001955093505f9250610bfc915050565b60bf8111610adb575f610a1160b783611127565b905080875f015111610a36576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b0319165f819003610a665760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c60378111610a955760405163babb01dd60e01b815260040160405180910390fd5b610a9f81846113fd565b895111610abf576040516366c9448560e01b815260040160405180910390fd5b610aca8360016113fd565b975095505f9450610bfc9350505050565b60f78111610b25575f610aef60c083611127565b905080875f015111610b14576040516366c9448560e01b815260040160405180910390fd5b600195509350849250610bfc915050565b5f610b3160f783611127565b905080875f015111610b56576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b0319165f819003610b865760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c60378111610bb55760405163babb01dd60e01b815260040160405180910390fd5b610bbf81846113fd565b895111610bdf576040516366c9448560e01b815260040160405180910390fd5b610bea8360016113fd565b9750955060019450610bfc9350505050565b9193909250565b6060816001600160401b03811115610c1d57610c1d610cab565b6040519080825280601f01601f191660200182016040528015610c47576020820181803683370190505b50905081156103b7575f610c5b84866113fd565b9050602082015f5b84811015610c7b578281015182820152602001610c63565b84811115610c89575f858301525b5050509392505050565b60405180604001604052805f81526020015f81525090565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b0381118282101715610ce157610ce1610cab565b60405290565b604051606081016001600160401b0381118282101715610ce157610ce1610cab565b604080519081016001600160401b0381118282101715610ce157610ce1610cab565b604051601f8201601f191681016001600160401b0381118282101715610d5357610d53610cab565b604052919050565b5f6001600160401b03821115610d7357610d73610cab565b50601f01601f191660200190565b5f82601f830112610d90575f80fd5b8135610da3610d9e82610d5b565b610d2b565b818152846020838601011115610db7575f80fd5b816020850160208301375f918101602001919091529392505050565b6001600160401b0381168114610de7575f80fd5b50565b5f82601f830112610df9575f80fd5b610e01610d09565b806040840185811115610e12575f80fd5b845b81811015610e35578035610e2781610dd3565b845260209384019301610e14565b509095945050505050565b60038110610de7575f80fd5b8035610e5781610e40565b919050565b5f8060408385031215610e6d575f80fd5b82356001600160401b0380821115610e83575f80fd5b90840190818603610120811215610e98575f80fd5b610ea0610cbf565b8335815260208085013584811115610eb6575f80fd5b610ec28a828801610d81565b8284015250603f198301925060c0831215610edb575f80fd5b610ee3610ce7565b6080841215610ef0575f80fd5b610ef8610d09565b935089605f870112610f08575f80fd5b610f10610d09565b80608088018c811115610f21575f80fd5b604089015b81811015610f3d5780358452928501928501610f26565b50818752610f4b8d82610dea565b85880152505050838152610f6160c08701610e4c565b8282015260e0860135604082015280604084015250610100850135925083831115610f8a575f80fd5b610f9689848701610d81565b6060830152909896013596505050505050565b80356001600160a01b0381168114610e57575f80fd5b5f8060408385031215610fd0575f80fd5b610fd983610fa9565b946020939093013593505050565b5f805f60608486031215610ff9575f80fd5b61100284610fa9565b92506020840135915060408401356001600160401b03811115611023575f80fd5b61102f86828701610d81565b9150509250925092565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561105d575f80fd5b5051919050565b8051610e5781610e40565b5f60c0828403121561107f575f80fd5b60405160c081016001600160401b03811182821017156110a1576110a1610cab565b60405282516110af81610dd3565b815260208301516110bf81610dd3565b602082015260408301516110d281610dd3565b6040820152606083015180151581146110e9575f80fd5b60608201526110fa60808401611064565b608082015260a083015160a08201528091505092915050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561023557610235611113565b5f82601f830112611149575f80fd5b8151611157610d9e82610d5b565b81815284602083860101111561116b575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f82601f830112611196575f80fd5b61119e610d09565b8060408401858111156111af575f80fd5b845b81811015610e355780516111c481610dd3565b8452602093840193016111b1565b5f60208083850312156111e3575f80fd5b82516001600160401b03808211156111f9575f80fd5b9084019081860361012081121561120e575f80fd5b611216610cbf565b83518152848401518381111561122a575f80fd5b6112368982870161113a565b8683015250603f198201915060c082121561124f575f80fd5b611257610ce7565b6080831215611264575f80fd5b61126c610d09565b925088605f86011261127c575f80fd5b611284610d09565b80608087018b811115611295575f80fd5b604088015b818110156112b1578051845292890192890161129a565b508186526112bf8c82611187565b898701525050508281526112d560c08601611064565b8682015260e08501516040820152806040830152506101008401519450828511156112fe575f80fd5b61130a8886860161113a565b6060820152979650505050505050565b634e487b7160e01b5f52602160045260245ffd5b6003811061134a57634e487b7160e01b5f52602160045260245ffd5b9052565b8151805160c083019190835f5b600281101561137a57825182526020928301929091019060010161135b565b50505060209081015190604084015f5b60028110156113b05783516001600160401b03168252928201929082019060010161138a565b5050505060208301516113c6608084018261132e565b50604083015160a083015292915050565b805160208083015191908110156113f7575f198160200360031b1b821691505b50919050565b808201808211156102355761023561111356fea2646970667358221220413105dcd47bd483ccdf6d90d9e8ff3a4a4622b1e55a73582e82f43a0a3e5db864736f6c63430008190033","sourceMap":"1722:3360:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4659:421;;;;;;:::i;:::-;;:::i;:::-;;;4871:25:65;;;4859:2;4844:18;4659:421:13;;;;;;;;1918:470;;;;;;:::i;:::-;;:::i;2394:886::-;;;;;;:::i;:::-;;:::i;:::-;;;;6183:25:65;;;6239:2;6224:18;;6217:34;;;;6156:18;2394:886:13;6001:256:65;4659:421:13;4772:17;4858:9;4832:5;:21;;;4822:32;;;;;;:45;4801:107;;;;-1:-1:-1;;;4801:107:13;;6464:2:65;4801:107:13;;;6446:21:65;6503:2;6483:18;;;6476:30;-1:-1:-1;;;6522:18:65;;;6515:45;6577:18;;4801:107:13;;;;;;;;;4918:28;4949:63;4981:5;:21;;;4949:18;:63::i;:::-;4918:94;;5034:39;5068:1;5070;5068:4;;;;;;;;:::i;:::-;;;;;;;5034:33;:39::i;:::-;5022:51;4659:421;-1:-1:-1;;;;4659:421:13:o;1918:470::-;2022:13;2051:12;2067:1;2051:17;2047:335;;2084:21;2120:6;-1:-1:-1;;;;;2108:35:13;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2187:77;;-1:-1:-1;;;2187:77:13;;;;;4871:25:65;;;2084:61:13;;-1:-1:-1;2159:25:13;;-1:-1:-1;;;;;2187:32:13;;;;;4844:18:65;;2187:77:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2286:19;;;-1:-1:-1;;;;;2278:27:13;;-1:-1:-1;2047:335:13;;-1:-1:-1;;2047:335:13;;2344:27;2359:12;2344;:27;:::i;:::-;2336:35;;2047:335;1918:470;;;;:::o;2394:886::-;2527:17;2546:11;2569:20;2603:5;2592:32;;;;;;;;;;;;:::i;:::-;2569:55;;2648:25;2687:22;2722:181;2773:6;2798:1;:23;;;2839:1;:15;;;2872:12;2888:1;2872:17;2722:21;:181::i;:::-;2634:269;;;;2973:14;2955:1;:12;;;2944:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;2934:35;;;;;;:53;2913:117;;;;-1:-1:-1;;;2913:117:13;;13272:2:65;2913:117:13;;;13254:21:65;13311:2;13291:18;;;13284:30;-1:-1:-1;;;13330:18:65;;;13323:47;13387:18;;2913:117:13;13070:341:65;2913:117:13;3091:22;3061:1;:12;;;:26;;;:52;;;;;;;;:::i;:::-;;3040:117;;;;-1:-1:-1;;;3040:117:13;;13618:2:65;3040:117:13;;;13600:21:65;13657:2;13637:18;;;13630:30;-1:-1:-1;;;13676:18:65;;;13669:48;13734:18;;3040:117:13;13416:342:65;3040:117:13;3173:19;;;;;3233:12;;;;:24;:36;:39;-1:-1:-1;;;;;3167:25:13;;;;-1:-1:-1;3214:59:13;;3233:12;;3214:15;:59::i;:::-;3202:71;;2559:721;;;2394:886;;;;;;:::o;3631:130:63:-;3690:21;3730:24;3739:14;3749:3;3739:9;:14::i;:::-;3730:8;:24::i;579:253:9:-;677:7;696:14;713:25;733:4;713:19;:25::i;:::-;696:42;;752:1;:8;764:2;752:14;748:50;;775:23;;-1:-1:-1;;;775:23:9;;;;;;;;;;;748:50;815:10;823:1;815:10;:::i;:::-;808:17;579:253;-1:-1:-1;;;579:253:9:o;3286:1367:13:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3549:34:13;;-1:-1:-1;;;3549:34:13;;;;;4871:25:65;;;3504:22:13;;-1:-1:-1;;;;;3549:19:13;;;;;4844:18:65;;3549:34:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3542:41;-1:-1:-1;3629:25:13;3614:4;:11;;;:40;;;;;;;;:::i;:::-;;3593:111;;;;-1:-1:-1;;;3593:111:13;;14267:2:65;3593:111:13;;;14249:21:65;14306:2;14286:18;;;14279:30;-1:-1:-1;;;14325:18:65;;;14318:54;14389:18;;3593:111:13;14065:348:65;3593:111:13;3733:1;3722;:8;:12;:34;;;;-1:-1:-1;3738:8:13;;3749:2;3738:13;:18;3722:34;3714:62;;;;-1:-1:-1;;;3714:62:13;;14620:2:65;3714:62:13;;;14602:21:65;14659:2;14639:18;;;14632:30;-1:-1:-1;;;14678:18:65;;;14671:45;14733:18;;3714:62:13;14418:339:65;3714:62:13;3791:9;3786:861;3806:1;:8;3802:1;:12;3786:861;;;3901:2;3945:9;;;;;;3939:16;3977:10;4022:9;;;4016:16;4102:57;;;;;14947:19:65;;;14982:12;;;14975:28;;;15019:12;;;15012:28;;;3939:16:13;;-1:-1:-1;3977:10:13;;;4016:16;15056:12:65;;4102:57:13;;;;;;-1:-1:-1;;4102:57:13;;;;;;;4075:98;;4102:57;4075:98;;;;4213:21;;;;-1:-1:-1;;;4260:34:13;;;;;4871:25:65;;;4075:98:13;;-1:-1:-1;;;;;;4213:26:13;;;-1:-1:-1;;;;;4260:19:13;;;;;4844:18:65;;4260:34:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4253:41;-1:-1:-1;4327:25:13;4312:4;:11;;;:40;;;;;;;;:::i;:::-;;4308:329;;4381:9;4380:10;4372:40;;;;-1:-1:-1;;;4372:40:13;;15281:2:65;4372:40:13;;;15263:21:65;15320:2;15300:18;;;15293:30;-1:-1:-1;;;15339:18:65;;;15332:47;15396:18;;4372:40:13;15079:341:65;4372:40:13;4438:18;4430:47;;;;-1:-1:-1;;;4430:47:13;;15627:2:65;4430:47:13;;;15609:21:65;15666:2;15646:18;;;15639:30;-1:-1:-1;;;15685:18:65;;;15678:46;15741:18;;4430:47:13;15425:340:65;4430:47:13;4539:23;4524:4;:11;;;:38;;;;;;;;:::i;:::-;;4495:127;;;;-1:-1:-1;;;4495:127:13;;15972:2:65;4495:127:13;;;15954:21:65;16011:2;15991:18;;;15984:30;-1:-1:-1;;;16030:18:65;;;16023:48;16088:18;;4495:127:13;15770:342:65;4495:127:13;3818:829;;3786:861;;;;3286:1367;;;;;;;:::o;1325:328:63:-;1385:19;;:::i;:::-;1463:3;:10;1477:1;1463:15;1459:39;;1487:11;;-1:-1:-1;;;1487:11:63;;;;;;;;;;;1459:39;-1:-1:-1;1605:41:63;;;;;;;;;1623:10;;1605:41;;1575:2;1566:12;;;1605:41;;;;;;;;1325:328::o;1805:1674::-;1866:21;1900:18;1920;1940:20;1964:18;1978:3;1964:13;:18::i;:::-;1899:83;;-1:-1:-1;1899:83:63;-1:-1:-1;1899:83:63;-1:-1:-1;2009:21:63;1997:8;:33;;;;;;;;:::i;:::-;;1993:64;;2039:18;;-1:-1:-1;;;2039:18:63;;;;;;;;;;;1993:64;2099:10;;2072:23;2085:10;2072;:23;:::i;:::-;:37;2068:72;;2118:22;;-1:-1:-1;;;2118:22:63;;;;;;;;;;;2068:72;2550:30;;;1150:2;2550:30;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;2543:37:63;-1:-1:-1;2591:17:63;2639:10;2659:681;2675:10;;2666:19;;2659:681;;;2702:18;2722;2745:150;2776:105;;;;;;;;2807:6;2794:3;:10;;;:19;;;;:::i;:::-;2776:105;;;;2871:6;2860:3;:7;;;2839:38;;;;:::i;:::-;2776:105;;2745:13;:150::i;:::-;2701:194;;;;;3100:153;;;;;;;;3147:10;3134;:23;;;;:::i;:::-;3100:153;;;;3231:6;3220:3;:7;;;3199:38;;;;:::i;:::-;3100:153;;;3082:4;3087:9;3082:15;;;;;;;;:::i;:::-;;;;;;;;;;:171;3268:14;3281:1;3268:14;;:::i;:::-;;-1:-1:-1;3306:23:63;3319:10;3306;:23;:::i;:::-;3296:33;;;;:::i;:::-;;;2687:653;;2659:681;;;-1:-1:-1;3440:23:63;;-1:-1:-1;3447:4:63;;1805:1674;-1:-1:-1;;;1805:1674:63:o;3892:393::-;3954:17;3984:18;4004;4024:20;4048:18;4062:3;4048:13;:18::i;:::-;3983:83;;-1:-1:-1;3983:83:63;-1:-1:-1;3983:83:63;-1:-1:-1;4093:21:63;4081:8;:33;;;;;;;;:::i;:::-;;4077:62;;4123:16;;-1:-1:-1;;;4123:16:63;;;;;;;;;;;4077:62;4168:23;4181:10;4168;:23;:::i;:::-;4154:10;;:37;4150:72;;4200:22;;-1:-1:-1;;;4200:22:63;;;;;;;;;;;4150:72;4240:38;4246:3;:7;;;4255:10;4267;4240:5;:38::i;:::-;4233:45;3892:393;-1:-1:-1;;;;;3892:393:63:o;5074:3092::-;5163:15;5180;5197:17;5516:3;:10;;;5530:1;5516:15;5512:39;;5540:11;;-1:-1:-1;;;5540:11:63;;;;;;;;;;;5512:39;5582:7;;;;5664:10;;5562:17;5656:19;5709:4;5699:14;;5695:2465;;5765:1;5768;5771:21;5757:36;;;;;;;;;;5695:2465;5824:4;5814:6;:14;5810:2350;;5930:14;5947:13;5956:4;5947:6;:13;:::i;:::-;5930:30;;5993:6;5979:3;:10;;;:20;5975:56;;6008:23;;-1:-1:-1;;;6008:23:63;;;;;;;;;;;5975:56;6153:1;6144:11;;;6138:18;-1:-1:-1;;;;;;6134:39:63;;6205:11;;:40;;;;-1:-1:-1;;;;;;;;;;6220:25:63;;;6205:40;6201:68;;;6254:15;;-1:-1:-1;;;6254:15:63;;;;;;;;;;;6201:68;-1:-1:-1;6292:1:63;;-1:-1:-1;6295:6:63;-1:-1:-1;6303:21:63;;-1:-1:-1;6284:41:63;;-1:-1:-1;;6284:41:63;5810:2350;6356:4;6346:6;:14;6342:1818;;6404:19;6426:13;6435:4;6426:6;:13;:::i;:::-;6404:35;;6472:11;6458:3;:10;;;:25;6454:61;;6492:23;;-1:-1:-1;;;6492:23:63;;;;;;;;;;;6454:61;6637:1;6628:11;;6622:18;-1:-1:-1;;;;;;6618:39:63;6530:25;6689:26;;;6685:54;;6724:15;;-1:-1:-1;;;6724:15:63;;;;;;;;;;;6685:54;6869:1;6860:11;;6854:18;6836:1;6832:19;;6827:3;6823:29;6819:54;6915:2;6905:12;;6901:40;;6926:15;;-1:-1:-1;;;6926:15:63;;;;;;;;;;;6901:40;6974:20;6988:6;6974:11;:20;:::i;:::-;6960:10;;:34;6956:70;;7003:23;;-1:-1:-1;;;7003:23:63;;;;;;;;;;;6956:70;7049:15;7053:11;7049:1;:15;:::i;:::-;7041:55;-1:-1:-1;7066:6:63;-1:-1:-1;7074:21:63;;-1:-1:-1;7041:55:63;;-1:-1:-1;;;;7041:55:63;6342:1818;7127:4;7117:6;:14;7113:1047;;7230:15;7248:13;7257:4;7248:6;:13;:::i;:::-;7230:31;;7294:7;7280:3;:10;;;:21;7276:57;;7310:23;;-1:-1:-1;;;7310:23:63;;;;;;;;;;;7276:57;7356:1;;-1:-1:-1;7359:7:63;-1:-1:-1;7356:1:63;;-1:-1:-1;7348:42:63;;-1:-1:-1;;7348:42:63;7113:1047;7447:20;7470:13;7479:4;7470:6;:13;:::i;:::-;7447:36;;7516:12;7502:3;:10;;;:26;7498:62;;7537:23;;-1:-1:-1;;;7537:23:63;;;;;;;;;;;7498:62;7682:1;7673:11;;7667:18;-1:-1:-1;;;;;;7663:39:63;7575:25;7734:26;;;7730:54;;7769:15;;-1:-1:-1;;;7769:15:63;;;;;;;;;;;7730:54;7917:1;7908:11;;7902:18;7883:1;7879:20;;7874:3;7870:30;7866:55;7964:2;7953:13;;7949:41;;7975:15;;-1:-1:-1;;;7975:15:63;;;;;;;;;;;7949:41;8023:22;8038:7;8023:12;:22;:::i;:::-;8009:10;;:36;8005:72;;8054:23;;-1:-1:-1;;;8054:23:63;;;;;;;;;;;8005:72;8100:16;8104:12;8100:1;:16;:::i;:::-;8092:57;-1:-1:-1;8118:7:63;-1:-1:-1;8127:21:63;;-1:-1:-1;8092:57:63;;-1:-1:-1;;;;8092:57:63;5074:3092;;;;;;:::o;8426:737::-;8517:17;8563:7;-1:-1:-1;;;;;8553:18:63;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8553:18:63;-1:-1:-1;8546:25:63;-1:-1:-1;8581:54:63;;8613:11;8581:54;8851:11;8865:36;8894:7;8886:4;8865:36;:::i;:::-;8851:50;;8956:2;8950:4;8946:13;8981:1;8995:87;9009:7;9006:1;9003:14;8995:87;;;9067:11;;;9061:18;9047:12;;;9040:40;9032:2;9025:10;8995:87;;;9105:7;9102:1;9099:14;9096:51;;;9143:1;9133:7;9127:4;9123:18;9116:29;9096:51;;;8920:237;8426:737;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;14:127:65:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:253;218:2;212:9;260:4;248:17;;-1:-1:-1;;;;;280:34:65;;316:22;;;277:62;274:88;;;342:18;;:::i;:::-;378:2;371:22;146:253;:::o;404:::-;476:2;470:9;518:4;506:17;;-1:-1:-1;;;;;538:34:65;;574:22;;;535:62;532:88;;;600:18;;:::i;662:251::-;734:2;728:9;;;764:15;;-1:-1:-1;;;;;794:34:65;;830:22;;;791:62;788:88;;;856:18;;:::i;918:275::-;989:2;983:9;1054:2;1035:13;;-1:-1:-1;;1031:27:65;1019:40;;-1:-1:-1;;;;;1074:34:65;;1110:22;;;1071:62;1068:88;;;1136:18;;:::i;:::-;1172:2;1165:22;918:275;;-1:-1:-1;918:275:65:o;1198:186::-;1246:4;-1:-1:-1;;;;;1268:30:65;;1265:56;;;1301:18;;:::i;:::-;-1:-1:-1;1367:2:65;1346:15;-1:-1:-1;;1342:29:65;1373:4;1338:40;;1198:186::o;1389:462::-;1431:5;1484:3;1477:4;1469:6;1465:17;1461:27;1451:55;;1502:1;1499;1492:12;1451:55;1538:6;1525:20;1569:48;1585:31;1613:2;1585:31;:::i;:::-;1569:48;:::i;:::-;1642:2;1633:7;1626:19;1688:3;1681:4;1676:2;1668:6;1664:15;1660:26;1657:35;1654:55;;;1705:1;1702;1695:12;1654:55;1770:2;1763:4;1755:6;1751:17;1744:4;1735:7;1731:18;1718:55;1818:1;1793:16;;;1811:4;1789:27;1782:38;;;;1797:7;1389:462;-1:-1:-1;;;1389:462:65:o;1856:129::-;-1:-1:-1;;;;;1930:30:65;;1920:41;;1910:69;;1975:1;1972;1965:12;1910:69;1856:129;:::o;1990:557::-;2039:5;2092:3;2085:4;2077:6;2073:17;2069:27;2059:55;;2110:1;2107;2100:12;2059:55;2134:22;;:::i;:::-;2178:3;2216:2;2208:6;2204:15;2242:3;2234:6;2231:15;2228:35;;;2259:1;2256;2249:12;2228:35;2283:6;2298:220;2314:6;2309:3;2306:15;2298:220;;;2396:3;2383:17;2413:30;2437:5;2413:30;:::i;:::-;2456:18;;2503:4;2494:14;;;;2331;2298:220;;;-1:-1:-1;2536:5:65;;1990:557;-1:-1:-1;;;;;1990:557:65:o;2552:112::-;2638:1;2631:5;2628:12;2618:40;;2654:1;2651;2644:12;2669:156;2748:20;;2777:42;2748:20;2777:42;:::i;:::-;2669:156;;;:::o;2830:1882::-;2927:6;2935;2988:2;2976:9;2967:7;2963:23;2959:32;2956:52;;;3004:1;3001;2994:12;2956:52;3031:23;;-1:-1:-1;;;;;3103:14:65;;;3100:34;;;3130:1;3127;3120:12;3100:34;3153:22;;;;3194:16;;;3230:6;3222:15;;3219:35;;;3250:1;3247;3240:12;3219:35;3276:22;;:::i;:::-;3334:2;3321:16;3314:5;3307:31;3357:2;3405;3401;3397:11;3384:25;3434:2;3424:8;3421:16;3418:36;;;3450:1;3447;3440:12;3418:36;3486:44;3522:7;3511:8;3507:2;3503:17;3486:44;:::i;:::-;3481:2;3474:5;3470:14;3463:68;;3562:2;3558:7;3554:2;3550:16;3540:26;;3586:4;3582:2;3578:13;3575:33;;;3604:1;3601;3594:12;3575:33;3632:22;;:::i;:::-;3674:4;3670:2;3666:13;3663:33;;;3692:1;3689;3682:12;3663:33;3720:22;;:::i;:::-;3705:37;;3778:7;3773:2;3769;3765:11;3761:25;3751:53;;3800:1;3797;3790:12;3751:53;3824:22;;:::i;:::-;3868:3;3902:4;3898:2;3894:13;3930:7;3922:6;3919:19;3916:39;;;3951:1;3948;3941:12;3916:39;3983:2;3979;3975:11;3995:142;4011:6;4006:3;4003:15;3995:142;;;4077:17;;4065:30;;4115:12;;;;4028;;3995:142;;;3999:3;4162:5;4153:7;4146:22;4202:40;4234:7;4226:6;4202:40;:::i;:::-;4197:2;4188:7;4184:16;4177:66;;;;4268:7;4259;4252:24;4310:44;4348:4;4344:2;4340:13;4310:44;:::i;:::-;4305:2;4296:7;4292:16;4285:70;4410:3;4406:2;4402:12;4389:26;4384:2;4375:7;4371:16;4364:52;4448:7;4443:2;4436:5;4432:14;4425:31;;4502:3;4498:2;4494:12;4481:26;4465:42;;4532:2;4522:8;4519:16;4516:36;;;4548:1;4545;4538:12;4516:36;4586:44;4622:7;4611:8;4607:2;4603:17;4586:44;:::i;:::-;4579:4;4568:16;;4561:70;4572:5;;4687:18;;4674:32;;-1:-1:-1;;;;;;2830:1882:65:o;4907:173::-;4975:20;;-1:-1:-1;;;;;5024:31:65;;5014:42;;5004:70;;5070:1;5067;5060:12;5085:254;5153:6;5161;5214:2;5202:9;5193:7;5189:23;5185:32;5182:52;;;5230:1;5227;5220:12;5182:52;5253:29;5272:9;5253:29;:::i;:::-;5243:39;5329:2;5314:18;;;;5301:32;;-1:-1:-1;;;5085:254:65:o;5534:462::-;5620:6;5628;5636;5689:2;5677:9;5668:7;5664:23;5660:32;5657:52;;;5705:1;5702;5695:12;5657:52;5728:29;5747:9;5728:29;:::i;:::-;5718:39;-1:-1:-1;5804:2:65;5789:18;;5776:32;;-1:-1:-1;5859:2:65;5844:18;;5831:32;-1:-1:-1;;;;;5875:30:65;;5872:50;;;5918:1;5915;5908:12;5872:50;5941:49;5982:7;5973:6;5962:9;5958:22;5941:49;:::i;:::-;5931:59;;;5534:462;;;;;:::o;6606:127::-;6667:10;6662:3;6658:20;6655:1;6648:31;6698:4;6695:1;6688:15;6722:4;6719:1;6712:15;6738:184;6808:6;6861:2;6849:9;6840:7;6836:23;6832:32;6829:52;;;6877:1;6874;6867:12;6829:52;-1:-1:-1;6900:16:65;;6738:184;-1:-1:-1;6738:184:65:o;7109:162::-;7201:13;;7223:42;7201:13;7223:42;:::i;7276:1100::-;7377:6;7430:3;7418:9;7409:7;7405:23;7401:33;7398:53;;;7447:1;7444;7437:12;7398:53;7480:2;7474:9;7522:3;7510:16;;-1:-1:-1;;;;;7541:34:65;;7577:22;;;7538:62;7535:88;;;7603:18;;:::i;:::-;7639:2;7632:22;7676:16;;7701:30;7676:16;7701:30;:::i;:::-;7740:21;;7806:2;7791:18;;7785:25;7819:32;7785:25;7819:32;:::i;:::-;7879:2;7867:15;;7860:32;7937:2;7922:18;;7916:25;7950:32;7916:25;7950:32;:::i;:::-;8010:2;7998:15;;7991:32;8068:2;8053:18;;8047:25;8110:15;;8103:23;8091:36;;8081:64;;8141:1;8138;8131:12;8081:64;8173:2;8161:15;;8154:32;8220:63;8278:3;8263:19;;8220:63;:::i;:::-;8214:3;8206:6;8202:16;8195:89;8339:3;8328:9;8324:19;8318:26;8312:3;8304:6;8300:16;8293:52;8364:6;8354:16;;;7276:1100;;;;:::o;8381:127::-;8442:10;8437:3;8433:20;8430:1;8423:31;8473:4;8470:1;8463:15;8497:4;8494:1;8487:15;8513:128;8580:9;;;8601:11;;;8598:37;;;8615:18;;:::i;8646:459::-;8699:5;8752:3;8745:4;8737:6;8733:17;8729:27;8719:55;;8770:1;8767;8760:12;8719:55;8799:6;8793:13;8830:48;8846:31;8874:2;8846:31;:::i;8830:48::-;8903:2;8894:7;8887:19;8949:3;8942:4;8937:2;8929:6;8925:15;8921:26;8918:35;8915:55;;;8966:1;8963;8956:12;8915:55;9024:2;9017:4;9009:6;9005:17;8998:4;8989:7;8985:18;8979:48;9072:1;9047:16;;;9065:4;9043:27;9036:38;;;;9051:7;8646:459;-1:-1:-1;;;8646:459:65:o;9110:561::-;9170:5;9223:3;9216:4;9208:6;9204:17;9200:27;9190:55;;9241:1;9238;9231:12;9190:55;9265:22;;:::i;:::-;9309:3;9347:2;9339:6;9335:15;9373:3;9365:6;9362:15;9359:35;;;9390:1;9387;9380:12;9359:35;9414:6;9429:213;9445:6;9440:3;9437:15;9429:213;;;9520:3;9514:10;9537:30;9561:5;9537:30;:::i;:::-;9580:18;;9627:4;9618:14;;;;9462;9429:213;;9676:1829;9775:6;9806:2;9849;9837:9;9828:7;9824:23;9820:32;9817:52;;;9865:1;9862;9855:12;9817:52;9892:16;;-1:-1:-1;;;;;9957:14:65;;;9954:34;;;9984:1;9981;9974:12;9954:34;10007:22;;;;10048:16;;;10084:6;10076:15;;10073:35;;;10104:1;10101;10094:12;10073:35;10130:22;;:::i;:::-;10181:2;10175:9;10168:5;10161:24;10224:2;10220;10216:11;10210:18;10253:2;10243:8;10240:16;10237:36;;;10269:1;10266;10259:12;10237:36;10305:55;10352:7;10341:8;10337:2;10333:17;10305:55;:::i;:::-;10300:2;10293:5;10289:14;10282:79;;10392:2;10388:7;10384:2;10380:16;10370:26;;10416:4;10412:2;10408:13;10405:33;;;10434:1;10431;10424:12;10405:33;10462:22;;:::i;:::-;10504:4;10500:2;10496:13;10493:33;;;10522:1;10519;10512:12;10493:33;10550:22;;:::i;:::-;10535:37;;10608:7;10603:2;10599;10595:11;10591:25;10581:53;;10630:1;10627;10620:12;10581:53;10654:22;;:::i;:::-;10698:3;10732:4;10728:2;10724:13;10760:7;10752:6;10749:19;10746:39;;;10781:1;10778;10771:12;10746:39;10813:2;10809;10805:11;10825:135;10841:6;10836:3;10833:15;10825:135;;;10907:10;;10895:23;;10938:12;;;;10858;;10825:135;;;10829:3;10985:5;10976:7;10969:22;11025:51;11068:7;11060:6;11025:51;:::i;:::-;11020:2;11011:7;11007:16;11000:77;;;;11102:7;11093;11086:24;11144:57;11195:4;11191:2;11187:13;11144:57;:::i;:::-;11139:2;11130:7;11126:16;11119:83;11250:3;11246:2;11242:12;11236:19;11231:2;11222:7;11218:16;11211:45;11288:7;11283:2;11276:5;11272:14;11265:31;;11335:3;11331:2;11327:12;11321:19;11305:35;;11365:2;11355:8;11352:16;11349:36;;;11381:1;11378;11371:12;11349:36;11419:55;11466:7;11455:8;11451:2;11447:17;11419:55;:::i;:::-;11412:4;11401:16;;11394:81;11405:5;9676:1829;-1:-1:-1;;;;;;;9676:1829:65:o;11510:127::-;11571:10;11566:3;11562:20;11559:1;11552:31;11602:4;11599:1;11592:15;11626:4;11623:1;11616:15;11642:241;11727:1;11720:5;11717:12;11707:143;;11772:10;11767:3;11763:20;11760:1;11753:31;11807:4;11804:1;11797:15;11835:4;11832:1;11825:15;11707:143;11859:18;;11642:241::o;11888:1177::-;12109:13;;12141:9;;12086:3;12071:19;;;12109:13;12075:9;12044:4;12257:194;12271:4;12268:1;12265:11;12257:194;;;12330:13;;12318:26;;12367:4;12426:15;;;;12391:12;;;;12291:1;12284:9;12257:194;;;-1:-1:-1;;;12470:4:65;12509:13;;;12503:20;;12560:4;12545:20;;12645:1;12655:210;12671:4;12666:3;12663:13;12655:210;;;12740:15;;-1:-1:-1;;;;;12736:40:65;12722:55;;12838:17;;;;12799:14;;;;12773:1;12686:11;12655:210;;;12659:3;;;;12914:4;12906:6;12902:17;12896:24;12929:67;12990:4;12979:9;12975:20;12959:14;12929:67;:::i;:::-;;13052:4;13044:6;13040:17;13034:24;13027:4;13016:9;13012:20;13005:54;11888:1177;;;;:::o;13763:297::-;13881:12;;13928:4;13917:16;;;13911:23;;13881:12;13946:16;;13943:111;;;14040:1;14036:6;14026;14020:4;14016:17;14013:1;14009:25;14005:38;13998:5;13994:50;13985:59;;13943:111;;13763:297;;;:::o;16117:125::-;16182:9;;;16203:10;;;16200:36;;;16216:18;;:::i","linkReferences":{}},"methodIdentifiers":{"latestIndex(address,uint256)":"6d035dec","verifyRollup(address,uint256,bytes)":"ad66af5a","verifyStateRoot(BoLDVerifierLib.RollupProof,bytes32)":"1213912c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ContentLengthMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EmptyItem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidDataRemainder\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidHeader\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnexpectedList\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnexpectedString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rollup\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minAgeBlocks\",\"type\":\"uint256\"}],\"name\":\"latestIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rollup\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minAgeBlocks\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"}],\"name\":\"verifyRollup\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"stateRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"got\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"assertionHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"encodedAssertionChain\",\"type\":\"bytes\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes32[2]\",\"name\":\"bytes32Vals\",\"type\":\"bytes32[2]\"},{\"internalType\":\"uint64[2]\",\"name\":\"u64Vals\",\"type\":\"uint64[2]\"}],\"internalType\":\"struct GlobalState\",\"name\":\"globalState\",\"type\":\"tuple\"},{\"internalType\":\"enum MachineStatus\",\"name\":\"machineStatus\",\"type\":\"MachineStatus\"},{\"internalType\":\"bytes32\",\"name\":\"endHistoryRoot\",\"type\":\"bytes32\"}],\"internalType\":\"struct AssertionState\",\"name\":\"afterState\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"rlpEncodedBlock\",\"type\":\"bytes\"}],\"internalType\":\"struct BoLDVerifierLib.RollupProof\",\"name\":\"proof\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"name\":\"verifyStateRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"stateRoot\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"ContentLengthMismatch()\":[{\"notice\":\"The length of the content must be greater than the RLP item length\"}],\"EmptyItem()\":[{\"notice\":\"The length of an RLP item must be greater than zero to be decodable\"}],\"InvalidDataRemainder()\":[{\"notice\":\"The RLP item has an invalid data remainder\"}],\"InvalidHeader()\":[{\"notice\":\"Invalid RLP header for RLP item\"}],\"UnexpectedList()\":[{\"notice\":\"Decoded item type for bytes is not a string item\"}],\"UnexpectedString()\":[{\"notice\":\"The decoded item type for list is not a list item\"}]},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/arbitrum/BoLDVerifierLib.sol\":\"BoLDVerifierLib\"},\"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/RLPReaderExt.sol\":{\"keccak256\":\"0x89fa1a59502d1cbbecade099ca0bdb9f6f4225502f68d58c630cc7b381280c56\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83938ee716ea97aefeeaf4bb6f8b164aa75e88553216746260f5f2ec6d8324f\",\"dweb:/ipfs/QmRMUaAeVsLzmMsB4yGmVoYdU2u2RZJpBdESuCR4VjZbiv\"]},\"contracts/arbitrum/BoLDVerifierLib.sol\":{\"keccak256\":\"0xa7958e63910fd2a1c9f500eb4863f4e6e15ef47f5f1422af2438515401052815\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://315d8277f4654b94bac56f21ba5eec7ebf85338f43f0d7d48954b5cf39f69164\",\"dweb:/ipfs/QmcNazfDuqbJL9GVuLcbWZEssbkmTUW9zbFAV3gEn21gHV\"]},\"lib/optimism/packages/contracts-bedrock/src/libraries/rlp/RLPErrors.sol\":{\"keccak256\":\"0x2b7fa174e6c62962f7c3ce1960298d325ed0e5ff4ee3fd426848e88b4500eb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5528dd355691e6e2dffa3ecf11388f51e3bd29f27693c5dcd11be182559ba47\",\"dweb:/ipfs/QmTqZ5ZzBPwLYg3JNZttHZYaXv5zyzQfakSz4B8sYkAz42\"]},\"lib/optimism/packages/contracts-bedrock/src/libraries/rlp/RLPReader.sol\":{\"keccak256\":\"0x27cbbc74d603b301e0e4bc4d33bbbeb88e369f1a91191a33d89ea52360e003db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba58dfd78089a51f06638fa6c0d2287c6254907ad89c4ad58b6fbb331d5d5a96\",\"dweb:/ipfs/QmUjC5Pm2MxPgYm9DfW1MasHj5jz7xXvej88778QuUoNgp\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ContentLengthMismatch"},{"inputs":[],"type":"error","name":"EmptyItem"},{"inputs":[],"type":"error","name":"InvalidDataRemainder"},{"inputs":[],"type":"error","name":"InvalidHeader"},{"inputs":[],"type":"error","name":"UnexpectedList"},{"inputs":[],"type":"error","name":"UnexpectedString"},{"inputs":[{"internalType":"address","name":"rollup","type":"address"},{"internalType":"uint256","name":"minAgeBlocks","type":"uint256"}],"stateMutability":"view","type":"function","name":"latestIndex","outputs":[{"internalType":"uint256","name":"index","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"rollup","type":"address"},{"internalType":"uint256","name":"minAgeBlocks","type":"uint256"},{"internalType":"bytes","name":"proof","type":"bytes"}],"stateMutability":"view","type":"function","name":"verifyRollup","outputs":[{"internalType":"bytes32","name":"stateRoot","type":"bytes32"},{"internalType":"uint256","name":"got","type":"uint256"}]},{"inputs":[{"internalType":"struct BoLDVerifierLib.RollupProof","name":"proof","type":"tuple","components":[{"internalType":"bytes32","name":"assertionHash","type":"bytes32"},{"internalType":"bytes","name":"encodedAssertionChain","type":"bytes"},{"internalType":"struct AssertionState","name":"afterState","type":"tuple","components":[{"internalType":"struct GlobalState","name":"globalState","type":"tuple","components":[{"internalType":"bytes32[2]","name":"bytes32Vals","type":"bytes32[2]"},{"internalType":"uint64[2]","name":"u64Vals","type":"uint64[2]"}]},{"internalType":"enum MachineStatus","name":"machineStatus","type":"MachineStatus"},{"internalType":"bytes32","name":"endHistoryRoot","type":"bytes32"}]},{"internalType":"bytes","name":"rlpEncodedBlock","type":"bytes"}]},{"internalType":"bytes32","name":"blockHash","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"verifyStateRoot","outputs":[{"internalType":"bytes32","name":"stateRoot","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"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/"],"optimizer":{"enabled":true,"runs":1},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/arbitrum/BoLDVerifierLib.sol":"BoLDVerifierLib"},"evmVersion":"cancun","libraries":{}},"sources":{"contracts/RLPReaderExt.sol":{"keccak256":"0x89fa1a59502d1cbbecade099ca0bdb9f6f4225502f68d58c630cc7b381280c56","urls":["bzz-raw://f83938ee716ea97aefeeaf4bb6f8b164aa75e88553216746260f5f2ec6d8324f","dweb:/ipfs/QmRMUaAeVsLzmMsB4yGmVoYdU2u2RZJpBdESuCR4VjZbiv"],"license":"MIT"},"contracts/arbitrum/BoLDVerifierLib.sol":{"keccak256":"0xa7958e63910fd2a1c9f500eb4863f4e6e15ef47f5f1422af2438515401052815","urls":["bzz-raw://315d8277f4654b94bac56f21ba5eec7ebf85338f43f0d7d48954b5cf39f69164","dweb:/ipfs/QmcNazfDuqbJL9GVuLcbWZEssbkmTUW9zbFAV3gEn21gHV"],"license":"MIT"},"lib/optimism/packages/contracts-bedrock/src/libraries/rlp/RLPErrors.sol":{"keccak256":"0x2b7fa174e6c62962f7c3ce1960298d325ed0e5ff4ee3fd426848e88b4500eb26","urls":["bzz-raw://f5528dd355691e6e2dffa3ecf11388f51e3bd29f27693c5dcd11be182559ba47","dweb:/ipfs/QmTqZ5ZzBPwLYg3JNZttHZYaXv5zyzQfakSz4B8sYkAz42"],"license":"MIT"},"lib/optimism/packages/contracts-bedrock/src/libraries/rlp/RLPReader.sol":{"keccak256":"0x27cbbc74d603b301e0e4bc4d33bbbeb88e369f1a91191a33d89ea52360e003db","urls":["bzz-raw://ba58dfd78089a51f06638fa6c0d2287c6254907ad89c4ad58b6fbb331d5d5a96","dweb:/ipfs/QmUjC5Pm2MxPgYm9DfW1MasHj5jz7xXvej88778QuUoNgp"],"license":"MIT"}},"version":1},"id":13}