boundless_market/contracts/
bytecode.rs1alloy::sol! {
4 #[sol(rpc, bytecode = "610160346103ba57601f61637c38819003918201601f19168301916001600160401b038311848410176103be5780849260c0946040528339810103126103ba57610048816103d2565b610054602083016103d2565b90604083015160608401519260808501519463ffffffff86168096036103ba5760a00151926001600160a01b0384168085036103ba57306080526001600160a01b03821615610382576001600160a01b0383161561033d5783156102f857156102b3578561025f575b60a0526101405260c05260e052610100526001600160401b034281169190910190811161024b57610120527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c1661023c576002600160401b03196001600160401b038216016101d3575b604051615f9590816103e782396080518181816118a10152611934015260a05181818161226b015261310f015260c051818181610d4a0152818161116d0152613165015260e051818181610ae70152818161162a015281816117b101528181611cc20152614410015261010051818181611e6001526131ff015261012051818181610fbd01526131a9015261014051818181610b2c015281816135a801526136530152f35b6001600160401b0319166001600160401b039081177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f61012e565b63f92ee8a960e01b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b846100bd5760405162461bcd60e51b815260206004820152602160248201527f496e76616c69642064657072656361746564206173736573736f7220696d61676044820152606560f81b6064820152608490fd5b60405162461bcd60e51b815260206004820152601860248201527f496e76616c696420636f6c6c61746572616c20746f6b656e00000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206173736573736f7220696d616765000000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601c60248201527f496e76616c6964206170706c69636174696f6e207665726966696572000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b2103b32b934b334b2b960811b6044820152606490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036103ba5756fe6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a71461229a5750806308c84e70146122565780630b7ae1a7146121c957806315d7a240146121ae5780631ce0302414612190578063248a9ca3146121715780632abff1f2146120665780632e107a9014611fe45780632e1a7d4d14611fc65780632f2ff15d14611f9457806336568abe14611f4f57806341451f9414611e9e57806341d3ab6914611e83578063444161da14611e4857806345bc4d1014611ada5780634f1ef286146118f557806352d1902d1461188e578063553c0248146118725780635b07fdd81461184f5780635d704b331461178b57806360dfd4a9146116f35780636112fe2e14611592578063612bee0c1461157157806370a082311461152e5780637136a7f31461151657806375b238fc146111505780637870d481146114f557806381bf6c24146114ac57806384b0196e1461122057806391d14854146111ca578063956b0960146111ad5780639f04f420146111905780639fe9428c14611155578063a217fddf14611150578063ad2fa6c8146110c8578063ad3cb1cc1461107f578063ae7330f114610fe1578063afe171fd14610f9d578063b09c980b14610f57578063b760faf914610ed1578063bad4a01f14610eb3578063c515c15f14610e2e578063c64067a214610e16578063cb74db1114610ded578063cdc9712314610cf7578063d0e30db014610ce3578063d4bd257b14610c46578063d547741f14610c0b578063df2e670614610b99578063eba2ecc814610b5b578063ece510a514610b16578063ef1ae1c814610ad1578063f2800f1a14610a7a578063f399e22e146104a7578063ff1214a5146102a45763ffa1ad7414610286575f80fd5b346102a157806003193601126102a157602060405160018152f35b80fd5b50346102a15760603660031901126102a1576004356001600160401b0381116104a357610160816004019160031990360301126104a3576024356001600160401b03811161049f576102fa903690600401612342565b916044356001600160401b03811161049b5761031a903690600401612342565b61032483356142b8565b91610331878784886145f7565b604051919591610342606082612659565b60218152602081017f4c6f636b526571756573742850726f6f66526571756573742072657175657374815260408201602960f81b9052610380615171565b906103896151bb565b8d610392615200565b61039a6152be565b6103a261530b565b916103ab615392565b94604051978897602089019a5180918c5e880160208101918783528051926020849201905e0160200185815281516020819301825e0184815281516020819301825e0183815281516020819301825e0182815281516020819301825e0190815281516020819301825e018d815203601f198101825261042a9082612659565b51902090604051906020820192835260408201526040815261044d606082612659565b519020610458615940565b90610462916159f5565b91369061046e92612695565b61047791615a12565b61048391959295615a4c565b61048c85614c05565b96610498989196614da5565b80f35b8480fd5b8280fd5b5080fd5b50346102a15760403660031901126102a1576104c1612318565b906024356001600160401b0381116104a3576104e1903690600401612342565b5f80516020615f09833981519152939193549060ff8260401c1615916001600160401b03811680159081610a72575b6001149081610a68575b159081610a5f575b50610a505767ffffffffffffffff1981166001175f80516020615f098339815191525582610a24575b506001600160a01b038316156109e7576105636159ca565b61056b6159ca565b604092835161057a8582612659565b601081526f12509bdd5b991b195cdcd3585c9ad95d60821b60208201528451906105a48683612659565b60018252603160f81b60208301526105ba6159ca565b6105c26159ca565b8051906001600160401b0382116109d3576105ea5f80516020615e29833981519152546128ad565b601f8111610977575b50602090601f83116001146108fb576106239291899183610800575b50508160011b915f199060031b1c19161790565b5f80516020615e29833981519152555b8051906001600160401b0382116108e75761065b5f80516020615e49833981519152546128ad565b601f811161088b575b50602090601f831160011461080b579180610698926106cd95948a926108005750508160011b915f199060031b1c19161790565b5f80516020615e49833981519152555b855f80516020615e6983398151915255855f80516020615f2983398151915255613d46565b506001600160401b0381116107ec576106f0816106eb6002546128ad565b6128e5565b83601f821160011461077d578190859661071f949596926107725750508160011b915f199060031b1c19161790565b6002555b61072b575080f35b5f80516020615f09833981519152805460ff60401b1916905551600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a180f35b013590505f8061060f565b60028552601f198216955f80516020615e0983398151915291865b8881106107d4575083600195969798106107bb575b505050811b01600255610723565b01355f19600384901b60f8161c191690555f80806107ad565b90926020600181928686013581550194019101610798565b634e487b7160e01b84526041600452602484fd5b015190505f8061060f565b5f80516020615e4983398151915288528188209190601f198416895b81811061087357509160019391856106cd9796941061085b575b505050811b015f80516020615e49833981519152556106a8565b01515f1960f88460031b161c191690555f8080610841565b92936020600181928786015181550195019301610827565b5f80516020615e4983398151915288525f80516020615f69833981519152601f840160051c810191602085106108dd575b601f0160051c01905b8181106108d25750610664565b8881556001016108c5565b90915081906108bc565b634e487b7160e01b87526041600452602487fd5b5f80516020615e2983398151915289528189209190601f1984168a5b81811061095f5750908460019594939210610947575b505050811b015f80516020615e2983398151915255610633565b01515f1960f88460031b161c191690555f808061092d565b92936020600181928786015181550195019301610917565b5f80516020615e2983398151915289525f80516020615ea9833981519152601f840160051c810191602085106109c9575b601f0160051c01905b8181106109be57506105f3565b8981556001016109b1565b90915081906109a8565b634e487b7160e01b88526041600452602488fd5b60405162461bcd60e51b815260206004820152601560248201527424b73b30b634b21034b734ba34b0b61037bbb732b960591b6044820152606490fd5b68ffffffffffffffffff191668010000000000000001175f80516020615f09833981519152555f61054b565b63f92ee8a960e01b8552600485fd5b9050155f610522565b303b15915061051a565b849150610510565b50346102a15760203660031901126102a15760043590610a9982613922565b15610abf576040816020936001600160401b039352808452205460a01c16604051908152f35b60249163d2be005d60e01b8252600452fd5b50346102a157806003193601126102a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346102a157806003193601126102a1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346102a157610498610b6d3661279c565b91610b7881356142b8565b90610b85858583866145f7565b50610b8f84614c05565b9690953395614da5565b507fc354af001adff0e8c35481c5ce3df3edee370c71572514d281e884c8cb552203610bc43661279c565b9291909234610bfe575b610bf860405192839260408452610be86040850183613a09565b91848303602086015235966127ef565b0390a280f35b610c0661394f565b610bce565b50346102a15760403660031901126102a157610c42600435610c2b612302565b90610c3d610c388261288f565b613d00565b613e73565b5080f35b50346102a157610c553661254a565b969095919490936001600160a01b039092169190823b1561049b5791610c96939185809460405196879586948593636691f64760e01b85526004850161280f565b03925af18015610cd857610cc3575b610cbf610cb386868661283a565b60405191829182612496565b0390f35b610cce828092612659565b6102a15780610ca5565b6040513d84823e3d90fd5b50806003193601126102a15761049861394f565b50346102a157806003193601126102a157604051908060025490610d1a826128ad565b8085529160018116908115610dc65750600114610d7c575b610cbf84610d4281860382612659565b6040519182917f00000000000000000000000000000000000000000000000000000000000000008352604060208401526040830190612472565b600281525f80516020615e09833981519152939250905b808210610dac57509091508101602001610d4282610d32565b919260018160209254838588010152019101909291610d93565b60ff191660208087019190915292151560051b85019092019250610d429150839050610d32565b50346102a15760203660031901126102a1576020610e0c600435613922565b6040519015158152f35b50346102a157610498610e283661279c565b91613888565b50346102a15760203660031901126102a157604060e091600435815280602052208054906001600160601b0360026001830154920154916040519360018060a01b03811685526001600160401b038160a01c16602086015262ffffff81871c16604086015260f81c6060850152818116608085015260601c1660a083015260c0820152f35b50346102a15760203660031901126102a157610498600435336143e0565b5060203660031901126102a157610ee6612318565b610eef346143af565b9060018060a01b03169081835260016020526001600160601b03610f1a604085209282845416612d61565b166001600160601b03198254161790557fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c6020604051348152a280f35b50346102a15760203660031901126102a1576020906001600160601b03906040906001600160a01b03610f88612318565b16815260018452205460601c16604051908152f35b50346102a157806003193601126102a15760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346102a15760603660031901126102a15780610ffc612318565b6044356001600160401b03811161107b5761101b903690600401612342565b6001600160a01b0390921691823b156110765761105492849283604051809681958294636691f64760e01b84526024356004850161280f565b03925af18015610cd8576110655750f35b8161106f91612659565b6102a15780f35b505050fd5b5050fd5b50346102a157806003193601126102a15750610cbf6040516110a2604082612659565b60058152640352e302e360dc1b6020820152604051918291602083526020830190612472565b50346102a1576110d73661239f565b9a93969297909960018060a09b949b9897981b031691823b1561049b579161111a939185809460405196879586948593636691f64760e01b85526004850161280f565b03925af18015610cd85761113b575b610cbf610cb38a8a8a8a8a8a8a6137b1565b611146828092612659565b6102a15780611129565b612782565b50346102a157806003193601126102a15760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b50346102a157806003193601126102a157602060405161c3508152f35b50346102a157806003193601126102a15760206040516113888152f35b50346102a15760403660031901126102a15760406111e6612302565b9160043581525f80516020615ee9833981519152602052209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b50346102a157806003193601126102a1575f80516020615e69833981519152541580611496575b15611459576040519080825f80516020615e29833981519152549161126b836128ad565b808352926001811690811561143a57506001146113e3575b61128f92500383612659565b6040519080825f80516020615e4983398151915254916112ae836128ad565b80835292600181169081156113c4575060011461136d575b6112da919392509361131195940383612659565b602061131f604051936112ed8386612659565b8385525f368137604051968796600f60f81b885260e08589015260e0880190612472565b908682036040880152612472565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b82811061135657505050500390f35b835185528695509381019392810192600101611347565b505f80516020615e4983398151915283529082905f80516020615f698339815191525b8183106113a85750509060206112da928201016112c6565b6020919350806001915483858901015201910190918492611390565b602092506112da94915060ff191682840152151560051b8201016112c6565b505f80516020615e2983398151915283529082905f80516020615ea98339815191525b81831061141e57505090602061128f92820101611283565b6020919350806001915483858901015201910190918492611406565b6020925061128f94915060ff191682840152151560051b820101611283565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b505f80516020615f298339815191525415611247565b50346102a15760203660031901126102a1576114e960209160406114d16004356142b8565b6001600160a01b039091168352600185529120614301565b90506040519015158152f35b50346102a157610cbf610cb361150a366126e9565b959490949391936137b1565b50346102a157610498611528366124f5565b91612ef9565b50346102a15760203660031901126102a1576020906001600160601b03906040906001600160a01b0361155f612318565b16815260018452205416604051908152f35b50346102a157610cbf610cb3611586366126e9565b95949094939193612e06565b50346102a15760203660031901126102a15760043533825260016020526001600160601b03604083205460601c166001600160601b036115d1836143af565b16116116e0576116076115e3826143af565b33845260016020526001600160601b03604085209181835460601c16031690612d81565b60405163a9059cbb60e01b815233600482015260248101829052602081604481867f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19081156116d55783916116a6575b5015611697576040519081527fa315121c7f539fd811176ad2735d5d3981237b261889ec13ae4d617ad06e39bc60203392a280f35b6312171d8360e31b8252600482fd5b6116c8915060203d6020116116ce575b6116c08183612659565b810190612db4565b5f611662565b503d6116b6565b6040513d85823e3d90fd5b63112fed8b60e31b825233600452602482fd5b50346102a15760203660031901126102a1576004606060406020938335815280855220600260405191611725836125d9565b805460018060a01b03811684526001600160401b038160a01c168785015262ffffff8160e01c16604085015260f81c848401526001600160601b0360018201548181166080860152851c1660a0840152015460c082015201511615156040519015158152f35b50346102a15760a03660031901126102a1576004358160443560ff81168091036104a3577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690813b1561049f57829160e48392604051948593849263d505accf60e01b84523360048501523060248501528960448501526024356064850152608484015260643560a484015260843560c48401525af161183a575b5061049882336143e0565b8161184491612659565b6104a357815f61182f565b50346102a157806003193601126102a157602061186a615940565b604051908152f35b50346102a157806003193601126102a157602090604051908152f35b50346102a157806003193601126102a1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036118e65760206040515f80516020615ec98339815191528152f35b63703e46dd60e11b8152600490fd5b5060403660031901126102a15761190a612318565b906024356001600160401b0381116104a35761192a9036906004016126cb565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016308114908115611ab8575b50611aa95761196c613cc4565b6040516352d1902d60e01b8152926001600160a01b0381169190602085600481865afa80958596611a75575b506119b157634c9c8ce360e01b84526004839052602484fd5b9091845f80516020615ec98339815191528103611a635750813b15611a51575f80516020615ec983398151915280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28151839015611a375780836020610c4295519101845af4611a31613bc3565b91615daa565b50505034611a425780f35b63b398979f60e01b8152600490fd5b634c9c8ce360e01b8452600452602483fd5b632a87526960e21b8552600452602484fd5b9095506020813d602011611aa1575b81611a9160209383612659565b8101031261049b5751945f611998565b3d9150611a84565b63703e46dd60e11b8252600482fd5b5f80516020615ec9833981519152546001600160a01b0316141590505f61195f565b50346102a15760203660031901126102a157600435611b1b611afb826142b8565b6001600160a01b0390911680855260016020526040852090929190614301565b5015611e3457818352826020526040832060405190611b39826125d9565b805460018060a01b03811683526001600160401b038160a01c16602084015262ffffff8160e01c16604084015260f81c60608301526001810154600260808401926001600160601b03831684526001600160601b0360a086019360601c168352015460c08401526004606084015116611e20576001606084015116611e0c576001600160401b03611bc984613f2f565b16421115611de35784865260208690526040862080546001600160f81b03811660f891821c60041790911b6001600160f81b0319161781558690600101556001600160601b038151166113888102908082046113881490151715611dcf57611c466001600160601b039392612710611c4b93049485915116612a6a565b6143af565b936002606060018060a01b038651169501511615155f14611d6b57505060018060a01b03821685526001602052611c9c60408620611c96856001600160601b03835460601c16612d61565b90612d81565b60405163a9059cbb60e01b815261dead60048201526024810182905291602083604481897f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af18015611d60577f79ca7c80cf57b513ffdf8aa37ec70e40757f5e0d35219241860bb4b4c2fa7616946060946001600160601b0392611d43575b5060405193845216602083015260018060a01b03166040820152a280f35b611d5b9060203d6020116116ce576116c08183612659565b611d25565b6040513d88823e3d90fd5b9092506001600160601b0330933088526001602052611d9760408920611c968885835460601c16612d61565b511690865260016020526001600160601b03611dba604088209282845416612d61565b166001600160601b0319825416179055611c9c565b634e487b7160e01b87526011600452602487fd5b6044866001600160401b0387611df887613f2f565b9063079c66ab60e41b845260045216602452fd5b631cfdeebb60e01b86526004859052602486fd5b633231064d60e11b86526004859052602486fd5b63d2be005d60e01b83526004829052602483fd5b50346102a157806003193601126102a15760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b50346102a157610cbf610cb3611e98366124f5565b91612a77565b50346102a15760203660031901126102a15760043590611ebd82613922565b15610abf57604081602093611f3e935280845220600260405191611ee0836125d9565b805460018060a01b03811684526001600160401b038160a01c168685015262ffffff8160e01c16604085015260f81c60608401526001600160601b036001820154818116608086015260601c1660a0840152015460c0820152613f2f565b6001600160401b0360405191168152f35b50346102a15760403660031901126102a157611f69612302565b336001600160a01b03821603611f8557610c4290600435613e73565b63334bd91960e11b8252600482fd5b50346102a15760403660031901126102a157610c42600435611fb4612302565b90611fc1610c388261288f565b613dcf565b50346102a15760203660031901126102a15761049860043533613bf2565b50346102a157611ff33661254a565b969095919490936001600160a01b039092169190823b1561049b5791612034939185809460405196879586948593636691f64760e01b85526004850161280f565b03925af18015610cd857612051575b610cbf610cb3868686612a77565b61205c828092612659565b6102a15780612043565b50346102a15760203660031901126102a1576004356001600160401b0381116104a357612097903690600401612342565b6120a2929192613cc4565b6001600160401b03811161215d576120bf816106eb6002546128ad565b81601f82116001146120f257819083946120ec94926107725750508160011b915f199060031b1c19161790565b60025580f35b60028352601f198216935f80516020615e0983398151915291845b868110612145575083600195961061212c575b505050811b0160025580f35b01355f19600384901b60f8161c191690555f8080612120565b9092602060018192868601358155019401910161210d565b634e487b7160e01b82526041600452602482fd5b50346102a15760203660031901126102a157602061186a60043561288f565b50346102a157806003193601126102a1576020604051620186a08152f35b50346102a157610cbf610cb36121c3366124f5565b9161283a565b34612252576121d73661239f565b97999598909691959294929091906001600160a01b0316803b15612252576122199a5f80946040519d8e9586948593636691f64760e01b85526004850161280f565b03925af196871561224757610cbf98610cb398612237575b50612e06565b5f61224191612659565b5f612231565b6040513d5f823e3d90fd5b5f80fd5b34612252575f366003190112612252576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34612252576020366003190112612252576004359063ffffffff60e01b821680920361225257602091637965db0b60e01b81149081156122dc575b5015158152f35b6301ffc9a760e01b149050836122d5565b35906001600160e01b03198216820361225257565b602435906001600160a01b038216820361225257565b600435906001600160a01b038216820361225257565b35906001600160a01b038216820361225257565b9181601f84011215612252578235916001600160401b038311612252576020838186019501011161225257565b9181601f84011215612252578235916001600160401b038311612252576020808501948460051b01011161225257565b60e0600319820112612252576004356001600160a01b03811681036122525791602435916044356001600160401b03811161225257816123e191600401612342565b929092916064356001600160401b03811161225257816124039160040161236f565b929092916084356001600160401b03811161225257816124259160040161236f565b9290929160a4356001600160401b03811161225257816124479160040161236f565b9290929160c435906001600160401b0382116122525760809082900360031901126122525760040190565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106124c857505050505090565b90919293946020806124e6600193603f198682030187528951612472565b970193019301919392906124b9565b6040600319820112612252576004356001600160401b038111612252578161251f9160040161236f565b92909291602435906001600160401b0382116122525760809082900360031901126122525760040190565b60a0600319820112612252576004356001600160a01b03811681036122525791602435916044356001600160401b038111612252578161258c91600401612342565b929092916064356001600160401b03811161225257816125ae9160040161236f565b92909291608435906001600160401b0382116122525760809082900360031901126122525760040190565b60e081019081106001600160401b038211176125f457604052565b634e487b7160e01b5f52604160045260245ffd5b60a081019081106001600160401b038211176125f457604052565b604081019081106001600160401b038211176125f457604052565b606081019081106001600160401b038211176125f457604052565b90601f801991011681019081106001600160401b038211176125f457604052565b6001600160401b0381116125f457601f01601f191660200190565b9291926126a18261267a565b916126af6040519384612659565b829481845281830111612252578281602093845f960137010152565b9080601f83011215612252578160206126e693359101612695565b90565b6080600319820112612252576004356001600160401b03811161225257816127139160040161236f565b929092916024356001600160401b03811161225257816127359160040161236f565b929092916044356001600160401b03811161225257816127579160040161236f565b92909291606435906001600160401b0382116122525760809082900360031901126122525760040190565b34612252575f3660031901126122525760206040515f8152f35b906040600319830112612252576004356001600160401b0381116122525761016081840360031901126122525760040191602435906001600160401b038211612252576127eb91600401612342565b9091565b908060209392818452848401375f828201840152601f01601f1916010190565b6040906126e69492815281602082015201916127ef565b356001600160a01b03811681036122525790565b8260609261284a92959495612a77565b92016001600160a01b0361285d82612826565b165f5260016020526001600160601b0360405f2054168061287c575050565b61288861288d92612826565b613bf2565b565b5f525f80516020615ee9833981519152602052600160405f20015490565b90600182811c921680156128db575b60208310146128c757565b634e487b7160e01b5f52602260045260245ffd5b91607f16916128bc565b601f81116128f1575050565b60025f5260205f20906020601f840160051c8301931061292b575b601f0160051c01905b818110612920575050565b5f8155600101612915565b909150819061290c565b6001600160401b0381116125f45760051b60200190565b903590601e198136030182121561225257018035906001600160401b0382116122525760200191606082023603831361225257565b9190811015612991576060020190565b634e487b7160e01b5f52603260045260245ffd5b3561ffff811681036122525790565b8051156129915760200190565b80518210156129915760209160051b010190565b91908110156129915760051b8101359060be1981360301821215612252570190565b60021115612a0157565b634e487b7160e01b5f52602160045260245ffd5b903590601e198136030182121561225257018035906001600160401b0382116122525760200191813603831361225257565b601f19810191908211612a5657565b634e487b7160e01b5f52601160045260245ffd5b91908203918211612a5657565b929192612a85848383612ef9565b612a8e82612935565b93612a9c6040519586612659565b828552601f19612aab84612935565b015f5b818110612d5057505084612ac184612935565b612ace6040519182612659565b848152601f19612add86612935565b013660208301376020830194612af3868561294c565b90505f5b818110612d115750505f5b818110612b125750505050505050565b612b1d8183886129d5565b90612b33612b2d60608801612826565b83613f51565b90612b3e83886129c1565b52612d0857612b4d81856129c1565b5180612b60575b50600191505b01612b02565b6060830135600281101561225257600190612b7a816129f7565b03612cf957612b8c6080840184612a15565b50926040840135840191612ba08b8a61294c565b90915f19810191908211612a5657612bb792612981565b916040612bc660208501612826565b930135926001600160601b03841680940361225257612be860a0840184612a15565b9290915a603f810290808204603f1490151715612a5657869060061c10612cea576001600160a01b031694853b156122525760205f8760019a612c718397612c5f996040519a8b998a98899663a12da43f60e01b8852013560048701526060602487015260648601906040602082013591016127ef565b848103600319016044860152916127ef565b0393f19081612cda575b50612cd3577f5c5960582bfc7a494183b4e9a66bfe8ecffc07a83a48d136e732400f7b98bf5090612caa613bc3565b92612cc960405192839283526040602084015235946040830190612472565b0390a25b5f612b54565b5050612ccd565b5f612ce491612659565b5f612c7b565b6307099c5360e21b5f5260045ffd5b63b90a25b160e01b5f5260045ffd5b60019150612b5a565b612d2581612d1f8a8961294c565b90612981565b9060018101808211612a5657612d4961ffff612d426001956129a5565b16876129c1565b5201612af7565b806060602080938a01015201612aae565b906001600160601b03809116911601906001600160601b038211612a5657565b80546bffffffffffffffffffffffff60601b191660609290921b6bffffffffffffffffffffffff60601b16919091179055565b90816020910312612252575180151581036122525790565b91908110156129915760051b8101359061015e1981360301821215612252570190565b90821015612991576127eb9160051b810190612a15565b919695949392905f5b818110612e2557505050506126e693945061283a565b80612e428a610e288387612e3c600197898c612dcc565b93612def565b01612e0f565b903590601e198136030182121561225257018035906001600160401b03821161225257602001918160061b3603831361225257565b91908110156129915760061b0190565b6020815260406020612ea9845183838601526060850190612472565b93015191015290565b359061ffff8216820361225257565b35906001600160601b038216820361225257565b90612eef90604093969594966060845260608401916127ef565b9460208201520152565b61ffff821161379857612f0b82612935565b90612f196040519283612659565b828252601f19612f2884612935565b01366020840137612f3883612935565b90612f466040519283612659565b838252601f19612f5585612935565b013660208401376040850193612f6b8587612e48565b90505f5b8181106136de5750505f5b81811061336c5750505050612f8e906144fa565b612fa7612f9e602085018561294c565b91909385612e48565b612fb660608796939601612826565b9160405193608085018581106001600160401b038211176125f457604052612fdd81612935565b91612feb6040519384612659565b818352606060208401920281019036821161225257915b81831061331b57505050835261301781612935565b946130256040519687612659565b818652602086019160061b81019036821161225257915b8183106132dc575050506020820193845260408201928352606082019060018060a01b031681526040519260208401946020865260c08501935193608060408701528451809152602060e087019501905f5b818110613297575050505192603f19858203016060860152602080855192838152019401905f5b8181106132675750509051608085015250516001600160a01b031660a0830152819003601f19810182526020925f9290916130f09082612659565b604051918291518091835e8101838152039060025afa15612247575f517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916131428180612a15565b843b156122525760405163ab750e7560e01b8152915f918391829161318e9188917f00000000000000000000000000000000000000000000000000000000000000009160048601612ed5565b0381875afa9081613257575b50613252576001600160401b037f000000000000000000000000000000000000000000000000000000000000000016421161324357806131d991612a15565b919092803b1561225257613228935f936040519586948593849363ab750e7560e01b85527f00000000000000000000000000000000000000000000000000000000000000009160048601612ed5565b03915afa8015612247576132395750565b5f61288d91612659565b63439cc0cd60e01b5f5260045ffd5b505050565b5f61326191612659565b5f61319a565b8251805161ffff1687526020908101516001600160e01b03191681880152604090960195909201916001016130b5565b8251805161ffff1688526020818101516001600160a01b0316818a01526040918201516001600160601b0316918901919091526060909701969092019160010161308e565b60408336031261225257602060409182516132f681612623565b6132ff86612eb2565b815261330c8387016122ed565b8382015281520192019161303c565b6060833603126122525760206060916040516133368161263e565b61333f86612eb2565b815261334c83870161232e565b8382015261335c60408701612ec1565b6040820152815201920191613002565b6133778183856129d5565b9060c082360312612252576040519160c083018381106001600160401b038211176125f4576040528035808452602082013580602086015260408301359182604087015260608401356002811015612252576060870190815260808501356001600160401b038111612252576133f090369087016126cb565b906080880191825260a086019788356001600160401b038111612252576020926134739260a061342560219436908d016126cb565b9101525193613433856129f7565b61343c856129f7565b516040519384918183019660ff60f81b9060f81b1687528051918291018484015e81015f838201520301601f198101835282612659565b519020916040519261348484612608565b8684526020840192835260408401918252606084018581526080850191825260a09060746040516134b58482612659565b818152736c66696c6c6d656e74446174614469676573742960601b608060208301927f4173736573736f72436f6d6d69746d656e742875696e7432353620696e64657884527f2c75696e743235362069642c627974657333322072657175657374446967657360408201527f742c6279746573333220636c61696d4469676573742c6279746573333220667560608201520152209551945193519051925193604051956020870197885260408701526060860152608085015283015260c082015260c0815261358560e082612659565b519020613592848a6129c1565b5261359d83886129c1565b5161364d576135f1937f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316926135db9190612a15565b9490604051956135ea87612623565b3691612695565b84526020840152803b1561225257613620925f916040518080968194631599ead560e01b835260048301612e8d565b039161c350fa9182156122475760019261363d575b505b01612f7a565b5f61364791612659565b5f613635565b613686937f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316926135db9190612a15565b84526020840152803b15612252576136b5925f916040518080968194631599ead560e01b835260048301612e8d565b03915afa918215612247576001926136ce575b50613637565b5f6136d891612659565b5f6136c8565b60206136f4826136ee8a8c612e48565b90612e7d565b013563ffffffff60e01b81168091036122525761373961372f61ffff613727613722866136ee8f8f90612e48565b6129a5565b1686886129d5565b60a0810190612a15565b60049291921161225257600161377161ffff61376a613722878f978f6136ee9163ffffffff60e01b90351699612e48565b16896129c1565b52818103613783575050600101612f6f565b632e2ce35360e21b5f5260045260245260445ffd5b506377e4aa5360e11b5f5260045261ffff60245260445ffd5b919695949392905f5b8181106137d057505050506126e6939450612a77565b806137e78a610e288387612e3c600197898c612dcc565b016137ba565b35906001600160401b038216820361225257565b359063ffffffff8216820361225257565b91908260e09103126122525760405161382a816125d9565b60c08082948035845260208101356020850152613849604082016137ed565b604085015261385a60608201613801565b606085015261386b60808201613801565b608085015261387c60a08201613801565b60a08501520135910152565b916138a191833560201c6001600160a01b0316846145f7565b509060406138e0611c466138d06138b785614c05565b90506001600160401b0342911610946080369101613812565b6001600160401b03421690614ca1565b6001600160601b038251916138f48361263e565b60018352602083018590521691018190526001607f1b911561391c576001607e1b5b1717905d565b5f613916565b61392e61394b916142b8565b6001600160a01b039091165f908152600160205260409020614301565b5090565b613958346143af565b335f5260016020526001600160601b0361397960405f209282845416612d61565b166001600160601b03198254161790556040513481527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c60203392a2565b9035603e1982360301811215612252570190565b906003821015612a015752565b9035601e19823603018112156122525701602081359101916001600160401b03821161225257813603831361225257565b90813581526020820135607e198336030181121561225257610160602083015282016001600160a01b03613a3c8261232e565b166101608301526001600160601b03613a5760208301612ec1565b16610180830152613a6b60408201826139b7565b9060806101a0840152813591600383101561225257613aa3613ab691613a99613aef956101e08801906139cb565b60208101906139d8565b60406102008701526102208601916127ef565b906001600160e01b031990613acd906060016122ed565b166101c0840152613ae160408501856139d8565b9084830360408601526127ef565b613afc60608401846139b7565b82820360608401528035600281101561225257610140926040613b33859484613b27613b43966129f7565b845260208101906139d8565b91909281602082015201916127ef565b936080810135608085015260a081013560a08501526001600160401b03613b6c60c083016137ed565b1660c085015263ffffffff613b8360e08301613801565b1660e085015263ffffffff613b9b6101008301613801565b1661010085015263ffffffff613bb46101208301613801565b16610120850152013591015290565b3d15613bed573d90613bd48261267a565b91613be26040519384612659565b82523d5f602084013e565b606090565b9060018060a01b03821691825f5260016020526001600160601b0360405f2054166001600160601b03613c24846143af565b1611613cb1575f8080848194613c39826143af565b88845260016020526001600160601b03806040862092818454160316166001600160601b03198254161790555af1613c6f613bc3565b5015613ca25760207f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b6591604051908152a2565b6312171d8360e31b5f5260045ffd5b8263112fed8b60e31b5f5260045260245ffd5b335f9081525f80516020615e89833981519152602052604090205460ff1615613ce957565b63e2517d3f60e01b5f52336004525f60245260445ffd5b5f8181525f80516020615ee98339815191526020908152604080832033845290915290205460ff1615613d305750565b63e2517d3f60e01b5f523360045260245260445ffd5b6001600160a01b0381165f9081525f80516020615e89833981519152602052604090205460ff16613dca576001600160a01b03165f8181525f80516020615e8983398151915260205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f90565b5f8181525f80516020615ee9833981519152602090815260408083206001600160a01b038616845290915290205460ff16613e6d575f8181525f80516020615ee9833981519152602090815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f8181525f80516020615ee9833981519152602090815260408083206001600160a01b038616845290915290205460ff1615613e6d575f8181525f80516020615ee9833981519152602090815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b906001600160401b03809116911601906001600160401b038211612a5657565b6126e69062ffffff60406001600160401b036020840151169201511690613f0f565b90916060925f92803590613f64826142b8565b969060018060a01b0381165f526001602052613f838860405f20614301565b9181999193604051613f94816125d9565b5f81525f60208201525f60408201525f828201525f60808201525f60a08201525f60c08201529a61423c575b50602085013599613fcf6153ff565b508a5c94613fdb6153ff565b506040516001607f1b87161515613ff18261263e565b8082526001600160601b03604060208401936001607e1b8b161515855201981688525f146141e957516141795791878995949288945b156141615760208101516001600160401b031642116141445761404a97506157b3565b955b8651614106575b60405190602082528360208301526040820152604082013560608201526060820135916002831015612252576141018291846140af7faf1db8f86d3f32029a484ff54c7ac1d7ef8f038ab050fc065af9e82eb9b850ca966129f7565b60808401526140e36140d86140c760808401846139d8565b60c060a088015260e08701916127ef565b9160a08101906139d8565b848303601f190160c08601526001600160a01b0390981697906127ef565b0390a3565b7f210e4fd706e561df48472433bcc50b4589f2c13e784e9992f4c3e6de26eb3564604051602081528061413c602082018b612472565b0390a1614053565b9291906001600160601b0361415b98511693615559565b9561404c565b5050906001600160601b0361415b965116918861541d565b5050505050505092505091506040519063873fd26b60e01b60208301526024820152602481526141aa604482612659565b7f210e4fd706e561df48472433bcc50b4589f2c13e784e9992f4c3e6de26eb356460405160208152806141e06020820185612472565b0390a190600190565b50808061422f575b1561421c576141ff82613f2f565b6001600160401b0342911610614179579187899594928894614027565b8763c274d3e360e01b5f5260045260245ffd5b508b60c0830151146141f1565b909950855f525f602052600260405f206001600160601b0360405193614261856125d9565b825460018060a01b03811686526001600160401b038160a01c16602087015262ffffff8160e01c16604087015260f81c8186015260018301549082821660808701521c1660a0840152015460c0820152985f613fc0565b906001600160c11b031982166142e057602082901c6001600160a01b03169163ffffffff1690565b6341abc80160e01b5f5260045ffd5b63020000008210156129915701905f90565b63ffffffff821691906020831015614353576401fffffffe905460c01c9160011b169180830460021490151715612a56576001600160401b03906003831b1616901c9060026001831615159216151590565b9161435e9150612a47565b908160011b9180830460021481151715612a565760ff9161438e9160071c6001600160f81b0316906001016142ef565b90549060031b1c9116906003821b16901c9060026001831615159216151590565b6001600160601b0381116143c9576001600160601b031690565b6306dfcc6560e41b5f52606060045260245260445ffd5b6040516323b872dd60e01b81526001600160a01b03918216600482018190523060248301526044820184905292917f000000000000000000000000000000000000000000000000000000000000000016906020905f9060649082855af19081601f3d1160015f51141615166144ed575b50156144b1576020816144a86144867ff645c19720906ca336d36d26058a9489c6c757fe35843b75a74e3b8aa972ecf5946143af565b855f5260018452611c9660405f20916001600160601b03835460601c16612d61565b604051908152a2565b60405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b6044820152606490fd5b3b153d171590505f614450565b8051156142e05760018151146145ee5780515b60018111614523575061451f906129b4565b5190565b60018101808211612a565760011c905f5b8160011c81106145825750600180821614614550575b5061450d565b5f198101908111612a565761456590836129c1565b515f198201828111612a565761457b90846129c1565b525f61454a565b600181901b906001600160ff1b0381168103612a56576145a282866129c1565b5160018301809311612a56576145ba600193876129c1565b5190818110156145df575f5260205260405f205b6145d882876129c1565b5201614534565b905f5260205260405f206145ce565b61451f906129b4565b91939290610160833603126122525760405161461281612608565b83359384825260208101356001600160401b0381116122525781019081360391608083126122525760408051936146488561263e565b126122525760405161465981612623565b6146628261232e565b815261467060208301612ec1565b6020820152835260408101356001600160401b03811161225257810160408136031261225257604051916146a383612623565b813560038110156122525783526020820135926001600160401b038411612252576146d66060936146e6953691016126cb565b60208201526020860152016122ed565b60408301526020830191825260408101356001600160401b03811161225257810136601f8201121561225257614723903690602081359101612695565b906040840191825260608101356001600160401b03811161225257810190604082360312612252576040519161475883612623565b8035600281101561225257835260208101356001600160401b03811161225257614784913691016126cb565b60208301526060850191825261479e903690608001613812565b90608085019182526147ae61530b565b6147b6615171565b6147be6151bb565b906147c7615200565b6147cf6152be565b6147d7615392565b916040519485946020860197805160208192018a5e860160208101915f83528051926020849201905e016020015f815281516020819301825e015f815281516020819301825e015f815281516020819301825e015f815281516020819301825e015f815203601f198101825261484d9082612659565b5190209451935161485c615392565b614864615171565b61486c6152be565b90604051918291602083019480516020819201875e830160208101915f83528051926020849201905e016020015f815281516020819301825e015f815203601f19810182526148bb9082612659565b5190209080516148c9615171565b8051906020012090600160a01b6001900381511690602001516001600160601b03166040519160208301938452604083015260608201526060815261490f608082612659565b5190209060208101516149206152be565b80519060200120908051906003821015612a01576020015160208151910120614957604051926020840194855260408401906139cb565b60608201526060815261496b608082612659565b51902090604063ffffffff60e01b91015116906040519260208401948552604084015260608301526080820152608081526149a760a082612659565b51902092516020815191012090516149bd6151bb565b602081519101209060208151916149d3836129f7565b01516020815191012060405191602083019384526149f0816129f7565b6040830152606082015260608152614a09608082612659565b5190209151614a16615200565b604051614a426020828180820195805191829101875e81015f838201520301601f198101835282612659565b519020908051906020810151906001600160401b0360408201511663ffffffff60608301511663ffffffff6080840151169160c063ffffffff60a08601511694015194604051966020880198895260408801526060870152608086015260a085015260c084015260e08301526101008201526101008152614ac561012082612659565b51902092604051946020860196875260408601526060850152608084015260a083015260c082015260c08152614afc60e082612659565b51902094614b1186614b0c615940565b6159f5565b93600160c01b1615614bce5791602091614b4293604051809581948293630b135d3f60e11b8452896004850161280f565b03916001600160a01b0316620186a0fa908115612247575f91614b8b575b506001600160e01b0319166374eca2c160e11b01614b7c579190565b638baa579f60e01b5f5260045ffd5b90506020813d602011614bc6575b81614ba660209383612659565b8101031261225257516001600160e01b031981168103612252575f614b60565b3d9150614b99565b614be0614be691614bef943691612695565b84615a12565b90939193615a4c565b6001600160a01b03908116911603614b7c579190565b614c13906080369101613812565b9081516020830151106142e05763ffffffff606083015116608083019063ffffffff825116106142e05763ffffffff90511660a083019063ffffffff825116106142e057614c809063ffffffff6001600160401b036040614c73876159a7565b9601511691511690613f0f565b9162ffffff6001600160401b03614c978386614d85565b16116142e0579190565b9060408201906001600160401b0380835116911690811115614d7f576001600160401b03614cce846159a7565b168111614d78576001600160401b03825116906001600160401b03614cff606086019363ffffffff85511690613f0f565b16811115614d11575050506020015190565b614d3e906001600160401b0363ffffffff614d326020880151885190612a6a565b94511694511690612a6a565b925192818102918183041490151715612a56578115614d6457048101809111612a565790565b634e487b7160e01b5f52601260045260245ffd5b5050505f90565b50505190565b906001600160401b03809116911603906001600160401b038211612a5657565b9590929796949360018060a01b031697885f526001602052614dca8560405f20614301565b9061515d57615149576001600160401b0386169889421161513157614df8611c466138d03660808c01613812565b96815f52600160205260405f20996001600160601b038b5416946001600160601b038a169384871061511f575060018060a01b031698895f52600160205260405f20906001600160601b03825460601c16966101408d013580981061510c57918d6001600160601b0380614e9e94614ea39897960316166001600160601b03198254161790556001600160601b03614e8f896143af565b81835460601c16031690612d81565b614d85565b926001600160401b03841662ffffff81116150f55750614ec2906143af565b60405193614ecf856125d9565b88855260208086019c8d5262ffffff90911660408087019182525f60608801818152608089019687526001600160601b0390951660a0808a0191825260c08a019889528e35808452958390529290912097519e51925194519290911b67ffffffffffffffff60a01b166001600160a01b039e909e169d909d1760e09390931b62ffffff60e01b169290921760f89290921b6001600160f81b031916919091178455996001840191516001600160601b03166001600160601b03166001600160601b0319835416178255516001600160601b0316614fab91612d81565b51906002015563ffffffff831692602084105f14615066576401fffffffe9060011b169280840460021490151715612a565785546001600160c01b038116600190941b6001600160401b031660c091821c17901b6001600160c01b031916929092179094557fe5e43c93dc0ec595ed3b122bdc6d39a480e9d17fb6812e0f90cfc4ba33b0969e93615061915b6150536040519586958652606060208701526060860190613a09565b9184830360408601526127ef565b0390a2565b509161507190612a47565b918260011b9583870460021484151715612a56577fe5e43c93dc0ec595ed3b122bdc6d39a480e9d17fb6812e0f90cfc4ba33b0969e96615061946150f09260ff916001916150cd9160071c6001600160f81b03169083016142ef565b929093161b82548260031b1c179082549060031b91821b915f19901b1916179055565b615037565b6306dfcc6560e41b5f52601860045260245260445ffd5b8b63112fed8b60e31b5f5260045260245ffd5b63112fed8b60e31b5f5260045260245ffd5b898863cfe6a8fd60e01b5f523560045260245260445ffd5b86631cfdeebb60e01b5f523560045260245ffd5b8763a905765160e01b5f523560045260245ffd5b60405190615180606083612659565b60268252654c696d69742960d01b6040837f43616c6c6261636b286164647265737320616464722c75696e7439362067617360208201520152565b604051906151ca606083612659565b60218252602960f81b6040837f496e7075742875696e743820696e707574547970652c6279746573206461746160208201520152565b6040519061520f60c083612659565b60888252676c61746572616c2960c01b60a0837f4f666665722875696e74323536206d696e50726963652c75696e74323536206d60208201527f617850726963652c75696e7436342072616d70557053746172742c75696e743360408201527f322072616d705570506572696f642c75696e743332206c6f636b54696d656f7560608201527f742c75696e7433322074696d656f75742c75696e74323536206c6f636b436f6c60808201520152565b604051906152cd606083612659565b602982526874657320646174612960b81b6040837f5072656469636174652875696e743820707265646963617465547970652c627960208201520152565b6040519061531a608083612659565b605a82527f6c2c496e70757420696e7075742c4f66666572206f66666572290000000000006060837f50726f6f66526571756573742875696e743235362069642c526571756972656d60208201527f656e747320726571756972656d656e74732c737472696e6720696d616765557260408201520152565b604051906153a1608083612659565b60438252626f722960e81b6060837f526571756972656d656e74732843616c6c6261636b2063616c6c6261636b2c5060208201527f7265646963617465207072656469636174652c6279746573342073656c65637460408201520152565b6040519061540c8261263e565b5f6040838281528260208201520152565b969495919293909660609661550c575f80516020615f4983398151915260209596979860018060a01b031693845f526001875261545e60405f209687615c95565b6040519387013584526001600160a01b0316958693a36001600160601b03825416906001600160601b03851682106154e057506001600160601b038481920316166001600160601b03198254161790555f5260016020526001600160601b036154ce60405f209282845416612d61565b166001600160601b0319825416179055565b949550505050506040519063112fed8b60e31b60208301526024820152602481526126e6604482612659565b955050505050915060405190631cfdeebb60e01b60208301526024820152602481526126e6604482612659565b906001600160601b03809116911603906001600160601b038211612a5657565b93959796929490946060986001606087015116151580156157a3575b6157745715615723575b50506001600160a01b03165f908152600160205260408120608093909301516001600160601b0386811696959294911685818811156156f057816155c291615539565b906001600160601b03835416906001600160601b03831682106156cb575b5082546bffffffffffffffffffffffff19169190036001600160601b03161790555b5f90815260208190526040902080546affffffffffffffffffffff60a01b81166001600160a01b0384169081176001600160a01b0319929092161760f890811c600217901b6001600160f81b03191617905560018060a01b03165f52600160205260405f206001600160601b0361567c8482845416612d61565b166001600160601b0319825416179055615694575050565b6001600160601b039192935060405192636008fdcb60e01b60208501526024840152166044820152604481526126e6606482612659565b96509450506001600160601b03806156e4868098612d61565b966001969150916155e0565b61570561570e916001600160601b0393615539565b82845416612d61565b166001600160601b0319825416179055615602565b6001600160a01b0383165f9081526001602052604090206157449190615c95565b60405160209182013581526001600160a01b0384169186915f80516020615f498339815191529190a35f8061557f565b5050505050509192505060405190631cfdeebb60e01b60208301526024820152602481526126e6604482612659565b5060026060870151161515615575565b9391909296959496606097600160608701511615158015615930575b61590257156158b7575b505082516001600160a01b0394851694168414801591906158a3575b506158795760a061288d93926001600160601b03925f525f6020525f6001604082208160f81b828060f81b03825416178155015582608082015116845f5260016020528361584a60405f209282845416612d61565b168419825416179055015116905f526001602052611c9660405f20916001600160601b03835460601c16612d61565b92935050506040519063a905765160e01b60208301526024820152602481526126e6604482612659565b9050602060c084015191013514155f6157f5565b6158d39160018060a01b03165f52600160205260405f20615c95565b60405160208281013582526001600160a01b0386169184915f80516020615f4983398151915291a35f806157d9565b50505050929350505060405190631cfdeebb60e01b60208301526024820152602481526126e6604482612659565b50600260608701511615156157cf565b615948615aac565b615950615bb3565b6040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526159a160c082612659565b51902090565b6126e69063ffffffff60806001600160401b036040840151169201511690613f0f565b60ff5f80516020615f098339815191525460401c16156159e657565b631afcd79f60e31b5f5260045ffd5b6042916040519161190160f01b8352600283015260228201522090565b8151919060418303615a4257615a3b9250602082015190606060408401519301515f1a90615d32565b9192909190565b50505f9160029190565b6004811015612a015780615a5e575050565b60018103615a755763f645eedf60e01b5f5260045ffd5b60028103615a90575063fce698f760e01b5f5260045260245ffd5b600314615a9a5750565b6335e2f38360e21b5f5260045260245ffd5b6040515f80516020615e2983398151915254905f81615aca846128ad565b9182825260208201946001811690815f14615b975750600114615b3f575b615af492500382612659565b51908115615b00572090565b50505f80516020615e69833981519152548015615b1a5790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b505f80516020615e298339815191525f90815290915f80516020615ea98339815191525b818310615b7b575050906020615af492820101615ae8565b6020919350806001915483858801015201910190918392615b63565b60ff1916865250615af492151560051b82016020019050615ae8565b6040515f80516020615e4983398151915254905f81615bd1846128ad565b9182825260208201946001811690815f14615c795750600114615c21575b615bfb92500382612659565b51908115615c07572090565b50505f80516020615f29833981519152548015615b1a5790565b505f80516020615e498339815191525f90815290915f80516020615f698339815191525b818310615c5d575050906020615bfb92820101615bef565b6020919350806001915483858801015201910190918392615c45565b60ff1916865250615bfb92151560051b82016020019050615bef565b9063ffffffff8116906020821015615cf2576401fffffffe9060011b169080820460021490151715612a565781546001600160c01b038116600290921b6001600160401b031660c091821c17901b6001600160c01b031916179055565b50615cfc90612a47565b8060011b9080820460021481151715612a565761288d9260ff916002916150cd9160071c6001600160f81b0316906001016142ef565b91906fa2a8918ca85bafe22016d0b997e4df60600160ff1b038411615d9f579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15612247575f516001600160a01b03811615615d9557905f905f90565b505f906001905f90565b5050505f9160039190565b90615dce5750805115615dbf57602081519101fd5b63d6bda27560e01b5f5260045ffd5b81511580615dff575b615ddf575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b15615dd756fe405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acea16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100b7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d101120ea8d7610aa46e4a31b254c5d07489ebe8f1a93dc7bbbe60eaf3db2c62c0cc5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75a164736f6c634300081a000a")]
5 contract BoundlessMarket {
6 constructor(address verifier, address applicationVerifier, bytes32 assessorId, bytes32 deprecatedAssessorId, uint32 deprecatedAssessorDuration, address stakeTokenContract) {}
7 function initialize(address initialOwner, string calldata imageUrl) {}
8 }
9}
10
11alloy::sol! {
12 #[sol(rpc, bytecode = "61016080604052346104cb576020816120af803803809161002082856104cf565b8339810103126104cb57516001600160a01b038116908181036104cb5760405161004b6040826104cf565b600981526020810168486974506f696e747360b81b8152604051906100716040836104cf565b6009825268486974506f696e747360b81b6020830152604051926100966040856104cf565b6002845261048560f41b6020850152604051936100b46040866104cf565b60018552603160f81b60208601908152845190946001600160401b0382116103ce5760035490600182811c921680156104c1575b60208310146103b05781601f849311610453575b50602090601f83116001146103ed575f926103e2575b50508160011b915f199060031b1c1916176003555b8051906001600160401b0382116103ce5760045490600182811c921680156103c4575b60208310146103b05781601f849311610342575b50602090601f83116001146102dc575f926102d1575b50508160011b915f199060031b1c1916176004555b61019281610623565b6101205261019f846107aa565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815261020860c0826104cf565b5190206080523060c05281156102be57600980546001600160a01b03198116841790915561026392906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a36104f2565b5061026c610568565b5060405161176c90816108e38239608051816111cc015260a05181611289015260c05181611196015260e0518161121b01526101005181611241015261012051816105f60152610140518161061f0152f35b631e4fbdf760e01b5f525f60045260245ffd5b015190505f80610174565b60045f9081528281209350601f198516905b81811061032a5750908460019594939210610312575b505050811b01600455610189565b01515f1960f88460031b161c191690555f8080610304565b929360206001819287860151815501950193016102ee565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c810191602085106103a6575b90601f859493920160051c01905b818110610398575061015e565b5f815584935060010161038b565b909150819061037d565b634e487b7160e01b5f52602260045260245ffd5b91607f169161014a565b634e487b7160e01b5f52604160045260245ffd5b015190505f80610112565b60035f9081528281209350601f198516905b81811061043b5750908460019594939210610423575b505050811b01600355610127565b01515f1960f88460031b161c191690555f8080610415565b929360206001819287860151815501950193016103ff565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c810191602085106104b7575b90601f859493920160051c01905b8181106104a957506100fc565b5f815584935060010161049c565b909150819061048e565b91607f16916100e8565b5f80fd5b601f909101601f19168101906001600160401b038211908210176103ce57604052565b6001600160a01b0381165f9081525f8051602061208f833981519152602052604090205460ff16610563576001600160a01b03165f8181525f8051602061208f83398151915260205260408120805460ff191660011790553391905f8051602061204f8339815191528180a4600190565b505f90565b5f80525f8051602061206f8339815191526020527f01be3e6f97001cf116ea8f5cec42d044a10e897cbd383685b72e0237d0cef4bf5460ff1661061f575f8080525f8051602061206f8339815191526020527f01be3e6f97001cf116ea8f5cec42d044a10e897cbd383685b72e0237d0cef4bf805460ff1916600117905533907f1c64e5e5a710fb0608449c7cd933acf9cf88b08f7bfa074e5c97e006d88247125f8051602061204f8339815191528280a4600190565b5f90565b908151602081105f1461069d575090601f81511161065d57602081519101516020821061064e571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116103ce57600554600181811c911680156107a0575b60208210146103b057601f811161076d575b50602092601f821160011461070c57928192935f92610701575b50508160011b915f199060031b1c19161760055560ff90565b015190505f806106e8565b601f1982169360055f52805f20915f5b868110610755575083600195961061073d575b505050811b0160055560ff90565b01515f1960f88460031b161c191690555f808061072f565b9192602060018192868501518155019401920161071c565b60055f52601f60205f20910160051c810190601f830160051c015b81811061079557506106ce565b5f8155600101610788565b90607f16906106bc565b908151602081105f146107d5575090601f81511161065d57602081519101516020821061064e571790565b6001600160401b0381116103ce57600654600181811c911680156108d8575b60208210146103b057601f81116108a5575b50602092601f821160011461084457928192935f92610839575b50508160011b915f199060031b1c19161760065560ff90565b015190505f80610820565b601f1982169360065f52805f20915f5b86811061088d5750836001959610610875575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610867565b91926020600181928685015181550194019201610854565b60065f52601f60205f20910160051c810190601f830160051c015b8181106108cd5750610806565b5f81556001016108c0565b90607f16906107f456fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a714610c9c5750806306fdde0314610bf7578063095ea7b314610bd157806318160ddd14610bb457806323b872dd14610ad5578063248a9ca314610aaa5780632738cf0814610a815780632f2ff15d14610a43578063313ce56714610a285780633644e51514610a0657806336568abe146109c25780633dd1eb611461099957806340c10f19146107f057806369e2f0fb146107c757806370a0823114610790578063715018a614610735578063732076d31461070e5780637ecebe00146106d657806384b0196e146105de5780638da5cb5b146105b657806391d148541461056d57806395d89b411461048b578063a217fddf14610471578063a9059cbb14610440578063b8f3c30714610417578063d505accf146102d4578063d547741f1461028f578063dd62ed3e1461023f578063f2fde38b146101915763fe6d812414610166575f80fd5b3461018d575f36600319011261018d5760206040515f805160206116c08339815191528152f35b5f80fd5b3461018d57602036600319011261018d576101aa610d13565b6101b2610f43565b6009546101c7906001600160a01b03166113ab565b506101d18161106f565b506101da610f43565b6001600160a01b0316801561022c57600980546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b631e4fbdf760e01b5f525f60045260245ffd5b3461018d57604036600319011261018d57610258610d13565b610260610d29565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b3461018d57604036600319011261018d576102d26004356102ae610d29565b906102cd6102c8825f526008602052600160405f20015490565b611159565b61141a565b005b3461018d5760e036600319011261018d576102ed610d13565b6102f5610d29565b604435906064359260843560ff8116810361018d57844211610404576103c96103d29160018060a01b03841696875f52600760205260405f20908154916001830190556040519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528a604084015260018060a01b038916606084015289608084015260a083015260c082015260c0815261039760e082610df8565b5190206103a2611193565b906040519161190160f01b83526002830152602282015260c43591604260a4359220611588565b9092919261160b565b6001600160a01b03168481036103ed57506102d2935061148b565b84906325c0072360e11b5f5260045260245260445ffd5b8463313c898160e11b5f5260045260245ffd5b3461018d57602036600319011261018d576102d2610433610d13565b61043b610f43565b61132d565b3461018d57604036600319011261018d5761046661045c610d13565b6024359033610e2e565b602060405160018152f35b3461018d575f36600319011261018d5760206040515f8152f35b3461018d575f36600319011261018d576040515f6004546104ab81610d3f565b808452906001811690811561054957506001146104eb575b6104e7836104d381850382610df8565b604051918291602083526020830190610cef565b0390f35b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b80821061052f575090915081016020016104d36104c3565b919260018160209254838588010152019101909291610517565b60ff191660208086019190915291151560051b840190910191506104d390506104c3565b3461018d57604036600319011261018d57610586610d29565b6004355f52600860205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b3461018d575f36600319011261018d576009546040516001600160a01b039091168152602090f35b3461018d575f36600319011261018d5761067a61061a7f00000000000000000000000000000000000000000000000000000000000000006114ee565b6106437f0000000000000000000000000000000000000000000000000000000000000000611551565b6020610688604051926106568385610df8565b5f84525f368137604051958695600f60f81b875260e08588015260e0870190610cef565b908582036040870152610cef565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b8281106106bf57505050500390f35b8351855286955093810193928101926001016106b0565b3461018d57602036600319011261018d576001600160a01b036106f7610d13565b165f526007602052602060405f2054604051908152f35b3461018d575f36600319011261018d5760206040515f805160206117408339815191528152f35b3461018d575f36600319011261018d5761074d610f43565b600980546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461018d57602036600319011261018d576001600160a01b036107b1610d13565b165f525f602052602060405f2054604051908152f35b3461018d57602036600319011261018d576102d26107e3610d13565b6107eb610f43565b6112af565b3461018d57604036600319011261018d57610809610d13565b335f9081525f805160206116a08339815191526020526040902054602435919060ff1615610975576001600160a01b03168015610962575f80525f805160206116e08339815191526020527f01be3e6f97001cf116ea8f5cec42d044a10e897cbd383685b72e0237d0cef4bf5460ff16158061093e575b61092f5760025482810180911161091b57600255805f525f60205260405f20828154019055805f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020604051868152a3805f525f6020526001600160601b0360405f2054116108ec57005b805f525f60205260405f20549082820391821161091b5763538fd55b60e11b5f5260045260245260445260645ffd5b634e487b7160e01b5f52601160045260245ffd5b6325cdf54f60e21b5f5260045ffd5b505f8181525f805160206116e0833981519152602052604090205460ff1615610880565b63ec442f0560e01b5f525f60045260245ffd5b63e2517d3f60e01b5f52336004525f805160206116c083398151915260245260445ffd5b3461018d57602036600319011261018d576102d26109b5610d13565b6109bd610f43565b610fef565b3461018d57604036600319011261018d576109db610d29565b336001600160a01b038216036109f7576102d29060043561141a565b63334bd91960e11b5f5260045ffd5b3461018d575f36600319011261018d576020610a20611193565b604051908152f35b3461018d575f36600319011261018d57602060405160128152f35b3461018d57604036600319011261018d576102d2600435610a62610d29565b90610a7c6102c8825f526008602052600160405f20015490565b6110e0565b3461018d57602036600319011261018d576102d2610a9d610d13565b610aa5610f43565b610f6a565b3461018d57602036600319011261018d576020610a206004355f526008602052600160405f20015490565b3461018d57606036600319011261018d57610aee610d13565b610af6610d29565b6001600160a01b0382165f818152600160209081526040808320338452909152902054909260443592915f198110610b34575b506104669350610e2e565b838110610b99578415610b86573315610b7357610466945f52600160205260405f2060018060a01b0333165f526020528360405f209103905584610b29565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b3461018d575f36600319011261018d576020600254604051908152f35b3461018d57604036600319011261018d57610466610bed610d13565b602435903361148b565b3461018d575f36600319011261018d576040515f600354610c1781610d3f565b80845290600181169081156105495750600114610c3e576104e7836104d381850382610df8565b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b808210610c82575090915081016020016104d36104c3565b919260018160209254838588010152019101909291610c6a565b3461018d57602036600319011261018d576004359063ffffffff60e01b821680920361018d57602091637965db0b60e01b8114908115610cde575b5015158152f35b6301ffc9a760e01b14905083610cd7565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361018d57565b602435906001600160a01b038216820361018d57565b90600182811c92168015610d6d575b6020831014610d5957565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610d4e565b5f9291815491610d8683610d3f565b8083529260018116908115610ddb5750600114610da257505050565b5f9081526020812093945091925b838310610dc1575060209250010190565b600181602092949394548385870101520191019190610db0565b915050602093945060ff929192191683830152151560051b010190565b90601f8019910116810190811067ffffffffffffffff821117610e1a57604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0316908115610f30576001600160a01b0316908115610962575f8181525f805160206116e0833981519152602052604090205460ff161580610f0c575b61092f57805f525f60205260405f2054838110610ef25790838392825f525f6020520360405f2055815f525f60205260405f208481540190557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020604051868152a3805f525f6020526001600160601b0360405f2054116108ec575050565b915063391434e360e21b5f5260045260245260445260645ffd5b505f8281525f805160206116e0833981519152602052604090205460ff1615610e72565b634b637e8f60e11b5f525f60045260245ffd5b6009546001600160a01b03163303610f5757565b63118cdaa760e01b5f523360045260245ffd5b6001600160a01b0381165f9081525f805160206116e0833981519152602052604090205460ff16610fea576001600160a01b03165f8181525f805160206116e083398151915260205260408120805460ff191660011790553391905f80516020611740833981519152905f805160206116808339815191529080a4600190565b505f90565b6001600160a01b0381165f9081525f805160206116a0833981519152602052604090205460ff16610fea576001600160a01b03165f8181525f805160206116a083398151915260205260408120805460ff191660011790553391905f805160206116c0833981519152905f805160206116808339815191529080a4600190565b6001600160a01b0381165f9081525f80516020611700833981519152602052604090205460ff16610fea576001600160a01b03165f8181525f8051602061170083398151915260205260408120805460ff191660011790553391905f805160206116808339815191528180a4600190565b5f8181526008602090815260408083206001600160a01b038616845290915290205460ff16611153575f8181526008602090815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291905f805160206116808339815191529080a4600190565b50505f90565b5f81815260086020908152604080832033845290915290205460ff161561117d5750565b63e2517d3f60e01b5f523360045260245260445ffd5b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480611286575b156111ee577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261128060c082610df8565b51902090565b507f000000000000000000000000000000000000000000000000000000000000000046146111c5565b6001600160a01b0381165f9081525f805160206116a0833981519152602052604090205460ff1615610fea576001600160a01b03165f8181525f805160206116a083398151915260205260408120805460ff191690553391905f805160206116c0833981519152905f805160206117208339815191529080a4600190565b6001600160a01b0381165f9081525f805160206116e0833981519152602052604090205460ff1615610fea576001600160a01b03165f8181525f805160206116e083398151915260205260408120805460ff191690553391905f80516020611740833981519152905f805160206117208339815191529080a4600190565b6001600160a01b0381165f9081525f80516020611700833981519152602052604090205460ff1615610fea576001600160a01b03165f8181525f8051602061170083398151915260205260408120805460ff191690553391905f805160206117208339815191528180a4600190565b5f8181526008602090815260408083206001600160a01b038616845290915290205460ff1615611153575f8181526008602090815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291905f805160206117208339815191529080a4600190565b6001600160a01b0316908115610b86576001600160a01b0316918215610b735760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60ff81146115345760ff811690601f82116115255760405191611512604084610df8565b6020808452838101919036833783525290565b632cd44ac360e21b5f5260045ffd5b5060405161154e81611547816005610d77565b0382610df8565b90565b60ff81146115755760ff811690601f82116115255760405191611512604084610df8565b5060405161154e81611547816006610d77565b91906fa2a8918ca85bafe22016d0b997e4df60600160ff1b038411611600579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156115f5575f516001600160a01b038116156115eb57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b600481101561166b578061161d575050565b600181036116345763f645eedf60e01b5f5260045ffd5b6002810361164f575063fce698f760e01b5f5260045260245ffd5b6003146116595750565b6335e2f38360e21b5f5260045260245ffd5b634e487b7160e01b5f52602160045260245ffdfe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0dba682078eba37bca8662ade60eacd8e3fb6b879f4ad882618e7fd467572c020af0887ba65ee2024ea881d91b74c2450ef19e1557f03bed3ea9f16b037cbe2dc99f27e1ced449d0391672dfd8b33c5ac9642366ee4163605233bae574eb26e48c5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c7f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b1c64e5e5a710fb0608449c7cd933acf9cf88b08f7bfa074e5c97e006d8824712a164736f6c634300081a000a2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9f27e1ced449d0391672dfd8b33c5ac9642366ee4163605233bae574eb26e48c5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c7")]
13 contract HitPoints {
14 constructor(address initialOwner) payable {}
15 }
16}
17
18alloy::sol! {
19 #[sol(rpc, bytecode = "60a034607557601f6106a438819003918201601f19168301916001600160401b03831184841017607957808492602094604052833981010312607557516001600160e01b031981168103607557608052604051610616908161008e82396080518181816101b2015281816102af015261031e0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f3560e01c908163053c238d146101a0575080631599ead51461012d5780633a115bb11461010e57806366cf0e4b146100c85763ab750e7514610053575f80fd5b346100c45760603660031901126100c4576004356001600160401b0381116100c457366023820112156100c4578060040135906001600160401b0382116100c45736602483830101116100c4576100c29160246100bb6100b660443583356103e5565b610518565b920161030a565b005b5f80fd5b346100c45760403660031901126100c4576100e1610288565b5061010a6100fe6100f96100b66024356004356103e5565b6102a1565b604051918291826101e2565b0390f35b346100c45760203660031901126100c45761010a6100fe6004356102a1565b346100c45760203660031901126100c4576004356001600160401b0381116100c45780360360406003198201126100c457600482013590602219018112156100c45781016004810135906001600160401b0382116100c4576024019080360382136100c45760246100c29301359161030a565b346100c4575f3660031901126100c4577f00000000000000000000000000000000000000000000000000000000000000006001600160e01b0319168152602090f35b60208060809381845280516040838601528051938491826060880152018686015e5f84840186015201516040830152601f01601f1916010190565b604081019081106001600160401b0382111761023857604052565b634e487b7160e01b5f52604160045260245ffd5b60a081019081106001600160401b0382111761023857604052565b90601f801991011681019081106001600160401b0382111761023857604052565b604051906102958261021d565b5f602083606081520152565b6102a9610288565b506040517f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916602082015260248082018390528152906102f3604483610267565b604051916103008361021d565b8252602082015290565b81600411806100c4576001600160e01b03197f00000000000000000000000000000000000000000000000000000000000000008116908335168082036103d05750506100c45760031982016001600160401b038111610238576040519161037b601b8501601f191660200184610267565b818352602083019336818301116100c4575f926004601c93018637830101525190209060405160208101918252602081526103b7604082610267565b519020036103c157565b63439cc0cd60e01b5f5260045ffd5b632e2ce35360e21b5f5260045260245260445ffd5b905f60806040516103f58161024c565b82815282602082015260405161040a8161021d565b838152836020820152604082015282606082015201526040519061042d8261021d565b5f82525f6020830152604051906104438261021d565b8152602081015f815260205f600c6040516b1c9a5cd8cc0b93dd5d1c1d5d60a21b815260025afa1561050d576020915f918251915190516040519185830193845260408301526060820152600160f91b6080820152606281526104a7608282610267565b604051918291518091835e8101838152039060025afa1561050d575f5190604051926104d28461024c565b83527fa3acc27117418996340b84e5a90f3ef4c49d22c79e44aad822ec9c313e1eb8e2602084015260408301525f6060830152608082015290565b6040513d5f823e3d90fd5b60205f60126040517172697363302e52656365697074436c61696d60701b815260025afa1561050d575f5190606081015191815192602083015193604060808501519401938451519060038210156105f557945160209081015160408051808401978852908101959095526060850193909352608084019690965260a08301949094526001600160f81b031960f894851b811660c0840152931b90921660c4830152600160fa1b60c883015260aa82525f916105d560ca82610267565b604051918291518091835e8101838152039060025afa1561050d575f5190565b634e487b7160e01b5f52602160045260245ffdfea164736f6c634300081a000a")]
20 contract RiscZeroMockVerifier {
21 constructor(bytes4 selector) {}
22 }
23}
24
25alloy::sol! {
26 #[sol(rpc, bytecode = "60e0806040523461032457610ed7803803809161001c8285610328565b83398101906060818303126103245780516001600160a01b038116808203610324576020830151604084015190936001600160401b038211610324570184601f82011215610324578051906001600160401b038211610301576040519561008d601f8401601f191660200188610328565b8287526020838301011161032457815f9260208093018389015e86010152156103155760805260c081905281516001600160401b038111610301575f54600181811c911680156102f7575b60208210146102e357601f8111610281575b50602092601f821160011461022257928192935f92610217575b50508160011b915f199060031b1c1916175f555b60205f602b6040517f72697363302e536574496e636c7573696f6e526563656970745665726966696581526a72506172616d657465727360a81b8482015260025afa1561020c575f602091815190604051908482019283526040820152600160f81b60608201526042815261018e606282610328565b604051918291518091835e8101838152039060025afa1561020c575f516001600160e01b03191660a052604051610b8b908161034c823960805181818161048f015281816106a701526108f4015260a0518181816106e80152610823015260c05181818161012301528181610517015281816109710152610b390152f35b6040513d5f823e3d90fd5b015190505f80610104565b601f198216935f8052805f20915f5b8681106102695750836001959610610251575b505050811b015f55610118565b01515f1960f88460031b161c191690555f8080610244565b91926020600181928685015181550194019201610231565b5f80527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563601f830160051c810191602084106102d9575b601f0160051c01905b8181106102ce57506100ea565b5f81556001016102c1565b90915081906102b8565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100d8565b634e487b7160e01b5f52604160045260245ffd5b63217b186d60e21b5f5260045ffd5b5f80fd5b601f909101601f19168101906001600160401b038211908210176103015760405256fe6080806040526004361015610012575f80fd5b5f905f3560e01c908163053c238d146106d65750806308c84e70146106925780631599ead51461061d57806348cbdfca146105ee5780636691f64714610459578063ab750e75146101d9578063cdc97123146100c55763ffa1ad7414610076575f80fd5b346100c257806003193601126100c257506100be6040516100986040826107b3565b60058152640302e392e360dc1b6020820152604051918291602083526020830190610745565b0390f35b80fd5b50346100c257806003193601126100c25760405190808054908160011c916001811680156101cf575b6020841081146101bb578386529081156101945750600114610155575b6100be8461011b818603826107b3565b6040519182917f00000000000000000000000000000000000000000000000000000000000000008352604060208401526040830190610745565b80805260208120939250905b80821061017a5750909150810160200161011b8261010b565b919260018160209254838588010152019101909291610161565b60ff191660208087019190915292151560051b8501909201925061011b915083905061010b565b634e487b7160e01b83526022600452602483fd5b92607f16926100ee565b50346100c25760603660031901126100c2576004356001600160401b0381116104555761020a903690600401610718565b9082608060405161021a81610769565b82815282602082015260405161022f81610798565b8381528360208201526040820152826060820152015260405161025181610798565b83815283602082015260405161026681610798565b6044358152846020820191818352602082600c6040516b1c9a5cd8cc0b93dd5d1c1d5d60a21b815260025afa15610448576020928251915190516040519185830193845260408301526060820152600160f91b6080820152606281526102cd6082826107b3565b604051918291518091835e8101838152039060025afa1561043d57835190604051906102f882610769565b602435825260208201907fa3acc27117418996340b84e5a90f3ef4c49d22c79e44aad822ec9c313e1eb8e282526040830190815260608301938785526080840190815260208860126040517172697363302e52656365697074436c61696d60701b815260025afa1561043257875194519351925190519082515192600384101561041e575160209081015160408051808401998a52908101979097526060870195909552608086019190915260a08501919091526001600160f81b031960f892831b811660c08601529290911b90911660c4830152600160fa1b60c883015260aa82529185916103e960ca826107b3565b604051918291518091835e8101838152039060025afa1561041357610410918351916107f4565b80f35b6040513d84823e3d90fd5b634e487b7160e01b8a52602160045260248afd5b6040513d89823e3d90fd5b6040513d85823e3d90fd5b50604051903d90823e3d90fd5b5080fd5b50346105ea5760403660031901126105ea576004356024356001600160401b0381116105ea5761048d903690600401610718565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660205f816104c487610b33565b604051918183925191829101835e8101838152039060025afa156105df575f51813b156105ea575f90604051928380809363ab750e7560e01b82526060600483015261051460648301898b6107d4565b907f00000000000000000000000000000000000000000000000000000000000000006024840152604483015203915afa80156105df576105a7575b50907fcb874ca5a04ca17d10924a9784b666fb412b518f2394912f61f4ddf614c5de1691838552600160205260408520600160ff198254161790556105a16040519283926020845260208401916107d4565b0390a280f35b7fcb874ca5a04ca17d10924a9784b666fb412b518f2394912f61f4ddf614c5de16929194505f6105d6916107b3565b5f93909161054f565b6040513d5f823e3d90fd5b5f80fd5b346105ea5760203660031901126105ea576004355f526001602052602060ff60405f2054166040519015158152f35b346105ea5760203660031901126105ea576004356001600160401b0381116105ea5780360360406003198201126105ea57600482013590602219018112156105ea5781016004810135906001600160401b0382116105ea576024019080360382136105ea576024610690930135916107f4565b005b346105ea575f3660031901126105ea576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ea575f3660031901126105ea577f00000000000000000000000000000000000000000000000000000000000000006001600160e01b0319168152602090f35b9181601f840112156105ea578235916001600160401b0383116105ea57602083818601950101116105ea57565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b0382111761078457604052565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761078457604052565b90601f801991011681019081106001600160401b0382111761078457604052565b908060209392818452848401375f828201840152601f01601f1916010190565b91909160405161080381610798565b60608152606060208201529280600411806105ea576001600160e01b03197f0000000000000000000000000000000000000000000000000000000000000000811690843516808203610b1e575050600482116109dd575b5050506040516020810191674c4541465f54414760c01b83526028820152602881526108876048826107b3565b5190208151925f915b84518310156108d25760208360051b86010151908181105f146108c1575f52602052600160405f205b920191610890565b905f52602052600160405f206108b9565b60209093018051519194509150156109b75760205f8161091c60018060a01b037f000000000000000000000000000000000000000000000000000000000000000016945195610b33565b604051918183925191829101835e8101838152039060025afa156105df575f5191813b156105ea575f9161096e9160405180958194829363ab750e7560e01b8452606060048501526064840190610745565b907f00000000000000000000000000000000000000000000000000000000000000006024840152604483015203915afa80156105df576109ab5750565b5f6109b5916107b3565b565b505f52600160205260ff60405f205416156109ce57565b63439cc0cd60e01b5f5260045ffd5b90919293506105ea57810190602081830360031901126105ea576004810135906001600160401b0382116105ea570190604082820360031901126105ea5760405191610a2883610798565b60048101356001600160401b0381116105ea5760049082010182601f820112156105ea578035906001600160401b038211610784578160051b60405192610a7260208301856107b3565b8352602080840191830101918583116105ea57602001905b828210610b0e57505050835260248101356001600160401b0381116105ea57600491010181601f820112156105ea578035906001600160401b0382116107845760405192610ae2601f8401601f1916602001856107b3565b828452602083830101116105ea57815f92602080930183860137830101526020820152905f808061085a565b8135815260209182019101610a8a565b632e2ce35360e21b5f5260045260245260445ffd5b604051907f00000000000000000000000000000000000000000000000000000000000000006020830152600160ff1b6040830152606082015260608152610b7b6080826107b3565b9056fea164736f6c634300081a000a")]
27 contract RiscZeroSetVerifier {
28 constructor(address verifier, bytes32 imageId, string memory imageUrl) {}
29 }
30}
31
32alloy::sol! {
33 #[sol(rpc, bytecode = "60806040526102748038038061001481610168565b92833981016040828203126101645781516001600160a01b03811692909190838303610164576020810151906001600160401b03821161016457019281601f8501121561016457835161006e610069826101a1565b610168565b9481865260208601936020838301011161016457815f926020809301865e86010152823b15610152577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a282511561013a575f8091610122945190845af43d15610132573d91610113610069846101a1565b9283523d5f602085013e6101bc565b505b6040516059908161021b8239f35b6060916101bc565b50505034156101245763b398979f60e01b5f5260045ffd5b634c9c8ce360e01b5f5260045260245ffd5b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761018d57604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b03811161018d57601f01601f191660200190565b906101e057508051156101d157602081519101fd5b63d6bda27560e01b5f5260045ffd5b81511580610211575b6101f1575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b156101e956fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545f9081906001600160a01b0316368280378136915af43d5f803e156048573d5ff35b3d5ffdfea164736f6c634300081a000a")]
34 contract ERC1967Proxy {
35 constructor(address implementation, bytes memory data) payable {}
36 }
37}
38
39alloy::sol! {
40 #[sol(rpc, bytecode = "60803460c157601f61083b38819003918201601f19168301916001600160401b0383118484101760c55780849260209460405283398101031260c157516001600160a01b0381169081900360c157801560ae57600180546001600160a01b03199081169091555f80549182168317815560405192916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a361076190816100da8239f35b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f803560e01c80631599ead51461050f5780633cadf449146104eb578063715018a61461048657806379ba5097146104015780638da5cb5b146103da57806393d237f614610362578063ab750e75146102a5578063c17e7ba814610257578063d0a6af3014610182578063e30c397814610159578063f2fde38b146100e25763fa9381d31461009e575f80fd5b346100df5760203660031901126100df576020906001600160e01b03196100c361061e565b16815260028252604060018060a01b0391205416604051908152f35b80fd5b50346100df5760203660031901126100df576004356001600160a01b038116908190036101555761011161072e565b600180546001600160a01b0319168217905581546001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b5080fd5b50346100df57806003193601126100df576001546040516001600160a01b039091168152602090f35b50346100df5760403660031901126100df5761019c61061e565b6024356001600160a01b0381169190829003610253576101ba61072e565b6001600160e01b031916808352600260205260408320546001600160a01b031660011461024157808352600260205260408320546001600160a01b031661022f57811561022057825260026020526040822080546001600160a01b031916909117905580f35b63217b186d60e21b8352600483fd5b6350a41efb60e01b8352600452602482fd5b633780eb1360e21b8352600452602482fd5b8280fd5b50346100df5760203660031901126100df57600435906001600160401b0382116100df57602061029361028d3660048601610635565b9061070f565b6040516001600160a01b039091168152f35b50346100df5760603660031901126100df57806004356001600160401b03811161035f576102d7903690600401610635565b6001600160a01b036102e9828461070f565b1691823b1561035a5760405163ab750e7560e01b81526060600482015292849284928391829161031d916064840191610697565b6024356024830152604435604483015203915afa801561034f5761033e5750f35b8161034891610662565b6100df5780f35b6040513d84823e3d90fd5b505050fd5b50fd5b50346100df5760203660031901126100df5761037c61061e565b61038461072e565b6001600160e01b031916808252600260205260408220546001600160a01b0316156103c857815260026020526040812080546001600160a01b031916600117905580f35b63727532a160e11b8252600452602490fd5b50346100df57806003193601126100df57546040516001600160a01b039091168152602090f35b50346100df57806003193601126100df57600154336001600160a01b039091160361047357600180546001600160a01b0319908116909155815433918116821783556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b63118cdaa760e01b815233600452602490fd5b50346100df57806003193601126100df5761049f61072e565b600180546001600160a01b03199081169091558154908116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50346100df5760203660031901126100df57602061029361050a61061e565b6106b7565b503461061a57602036600319011261061a576004356001600160401b03811161061a5780360390604060031983011261061a576004810135916022190182121561061a578181016004810135906001600160401b03821161061a5760240190803603821361061a576001600160a01b039161058a919061070f565b1690813b1561061a578060405193631599ead560e01b85526020600486015201916024600484013593016001600160401b03841161061a57833603811361061a5784809360246105e783945f986040848701526064860191610697565b910135604483015203915afa801561060f57610601575080f35b61060d91505f90610662565b005b6040513d5f823e3d90fd5b5f80fd5b600435906001600160e01b03198216820361061a57565b9181601f8401121561061a578235916001600160401b03831161061a576020838186019501011161061a57565b90601f801991011681019081106001600160401b0382111761068357604052565b634e487b7160e01b5f52604160045260245ffd5b908060209392818452848401375f828201840152601f01601f1916010190565b6001600160e01b0319165f818152600260205260409020546001600160a01b03169081156106fd57600182146106eb575090565b633780eb1360e21b5f5260045260245ffd5b63727532a160e11b5f5260045260245ffd5b9060041161061a5761072b90356001600160e01b0319166106b7565b90565b5f546001600160a01b0316330361074157565b63118cdaa760e01b5f523360045260245ffdfea164736f6c634300081a000a")]
41 contract RiscZeroVerifierRouter {
42 constructor(address owner) {}
43 function addVerifier(bytes4 selector, address verifier) {}
44 }
45}
46
47alloy::sol! {
48 #[sol(rpc, bytecode = "6101808060405234610c9257604081611efd80380380916100208285610c96565b833981010312610c925780516020918201519091600883811c7eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff169084901b7fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff001617601081811c7dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff1691901b7fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000161780821c7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16911b7fffffffff00000000ffffffff00000000ffffffff00000000ffffffff000000001617604081811c77ffffffffffffffff0000000000000000ffffffffffffffff1691901b7fffffffffffffffff0000000000000000ffffffffffffffff00000000000000001617608081811c91901b176001600160801b031981811660a052608091821b16905260c08190526040517f72697363302e47726f74683136526563656970745665726966696572506172618152656d657465727360d01b602082810191909152905f9060269060025afa15610b11575f5190600881811c7eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff1691901b7fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff001617601081811c7dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff1691901b7fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00001617602081811c7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff1691901b7fffffffff00000000ffffffff00000000ffffffff00000000ffffffff000000001617604081811c77ffffffffffffffff0000000000000000ffffffffffffffff1691901b7fffffffffffffffff0000000000000000ffffffffffffffff00000000000000001617608081811c91901b179160e0604051916103068284610c96565b60068352601f19820136602085013760205f604051828101907f12ac9a25dcd5e1a832a9061a082c15dd1d61aa9c4d553505739d0f5d65dc3be482527f025aa744581ebe7ad91731911c898569106ff5a2d30f3eee2b23c60ee980acd4604082015260408152610377606082610c96565b604051918291518091835e8101838152039060025afa15610b11575f5161039d84610ccd565b5260205f604051828101907f0707b920bc978c02f292fae2036e057be54294114ccc3c8769d883f688a1423f82527f2e32a094b7589554f7bc357bf63481acd2d55555c203383782a4650787ff6642604082015260408152610400606082610c96565b604051918291518091835e8101838152039060025afa15610b11575f5161042684610cda565b5260205f604051828101907f0bca36e2cbe6394b3e249751853f961511011c7148e336f4fd974644850fc34782527f2ede7c9acf48cf3a3729fa3d68714e2a8435d4fa6db8f7f409c153b1fcdf9b8b604082015260408152610489606082610c96565b604051918291518091835e8101838152039060025afa15610b11575f51835160021015610b5257606084015260205f604051828101907f1b8af999dbfbb3927c091cc2aaf201e488cbacc3e2c6b6fb5a25f9112e04f2a782527f2b91a26aa92e1b6f5722949f192a81c850d586d81a60157f3e9cf04f679cccd6604082015260408152610517606082610c96565b604051918291518091835e8101838152039060025afa15610b11575f51835160031015610b5257608084015260205f604051828101907f2b5f494ed674235b8ac1750bdfd5a7615f002d4a1dcefeddd06eda5a076ccd0d82527f2fe520ad2020aab9cbba817fcbb9a863b8a76ff88f14f912c5e71665b2ad5e826040820152604081526105a5606082610c96565b604051918291518091835e8101838152039060025afa15610b11575f51835160041015610b525760a084015260205f604051828101907f0f1c3c0d5d9da0fa03666843cde4e82e869ba5252fce3c25d5940320b1c4d49382527f214bfcff74f425f6fe8c0d07b307482d8bc8bb2f3608f68287aa01bd0b69e809604082015260408152610633606082610c96565b604051918291518091835e8101838152039060025afa15610b11575f51835160051015610b525760c084015260205f601a6040517f72697363305f67726f746831362e566572696679696e674b6579000000000000815260025afa15610b11575f519460205f604051828101907f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e282527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d19266040820152604081526106f8606082610c96565b604051918291518091835e8101838152039060025afa15610b11575f519460205f604051828101907f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c82527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab60408201527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a760608201527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec86080820152608081526107c460a082610c96565b604051918291518091835e8101838152039060025afa15610b11575f519560205f604051828101907f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c282527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60408201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60608201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60808201526080815261089060a082610c96565b604051918291518091835e8101838152039060025afa15610b11575f519760205f604051828101907f03b03cd5effa95ac9bee94f1f5ef907157bda4812ccf0b4c91f42bb629f83a1c82527f1aa085ff28179a12d922dba0547057ccaae94b9d69cfaa4e60401fea7f3e033360408201527f110c10134f200b19f6490846d518c9aea868366efb7228ca5c91d2940d03076260608201527f1e60f31fcbf757e837e867178318832d0b2d74d59e2fea1c7142df187d3fc6d360808201526080815261095c60a082610c96565b604051918291518091835e8101838152039060025afa15610b11575f5160205f601d6040517f72697363305f67726f746831362e566572696679696e674b65792e4943000000815260025afa15610b11575f8051610140526101008190526060610120526020610160525b885180610100511015610b7a575f19810190808211610b66576101005190035f1901908111610b66578951811015610b5257610160519060051b8a0101519060405191610a176101205184610c96565b60028352610160516040903690850137610a3083610ccd565b52610a3a82610cda565b52604051610a4b6101605182610c96565b5f8152601f196101605101366101605183013781519061ffff8211610b3a5791604051928391610140516101605184015260408301815190916101605101905f905b808210610b1c575050509281610ad994600294935180926101605101825e019061ffff60f01b9061ff0060ff8260081c169160081b161760f01b16815203601d19810184520182610c96565b5f60405191805180916101605101845e820191818352806101605193039060025afa15610b11575f51610100805160010190526109c7565b6040513d5f823e3d90fd5b82518452610160518896509384019390920191600190910190610a8d565b506306dfcc6560e41b5f52601060045260245260445ffd5b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b505f92918b8b6040519661016051880195865260408801526060870152608086015260a085015260c0840152600560f81b8784015260c28352610bbe60e284610c96565b60405192518091845e820191818352806101605193039060025afa15610b11575f9182519060405194610160518601938452604086015260608501526080840152600360f81b60a084015260828352610c1860a284610c96565b60405192518091845e820191818352806101605193039060025afa15610b11575f516001600160e01b03191681526040516112129182610ceb83396080518281816105b90152610dc1015260a0518281816105740152610de7015260c0518281816101670152610e1f01525181818160ae0152610d2d0152f35b5f80fd5b601f909101601f19168101906001600160401b03821190821017610cb957604052565b634e487b7160e01b5f52604160045260245ffd5b805115610b525760200190565b805160011015610b52576040019056fe60806040526004361015610011575f80fd5b5f3560e01c8063053c238d146100945780631599ead51461008f578063258038e21461008a57806334baeab9146100855780638989fa2e146100805780639181e4b11461007b578063ab750e75146100765763ffa1ad7414610071575f80fd5b610703565b6105e9565b6105a4565b61055f565b6101a5565b610150565b6100db565b346100d7575f3660031901126100d75763ffffffff60e01b7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b5f80fd5b346100d75760203660031901126100d7576004356001600160401b0381116100d75780360360406003198201126100d757600482013590602219018112156100d75781016004810135906001600160401b0382116100d7576024019080360382136100d757602461014e93013591610d29565b005b346100d7575f3660031901126100d75760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b906004916044116100d757565b9060c491610104116100d757565b346100d7576101a03660031901126100d7576101c03661018a565b3660c4116100d7576101d136610197565b366101a4116100d757604051906103808201604052610104356101f381610760565b610124359361020185610760565b6101443561020e81610760565b6101643561021b81610760565b610184359161022983610760565b60808701977f12ac9a25dcd5e1a832a9061a082c15dd1d61aa9c4d553505739d0f5d65dc3be4885260208801957f025aa744581ebe7ad91731911c898569106ff5a2d30f3eee2b23c60ee980acd487526102839089610791565b61028d908861081d565b61029790876108a9565b6102a19086610935565b6102ab90856109c1565b803585527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760209182013581030660a085015260443560c085015260643560e085015260843561010085015260a4356101208501527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e26101408501527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d19266101608501527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101808501527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101a08501527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101c08501527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec86101e0850152835161020085015290516102208401527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102408401527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102608401527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102808401527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102a084015281356102c084015201356102e08201527f03b03cd5effa95ac9bee94f1f5ef907157bda4812ccf0b4c91f42bb629f83a1c6103008201527f1aa085ff28179a12d922dba0547057ccaae94b9d69cfaa4e60401fea7f3e03336103208201527f110c10134f200b19f6490846d518c9aea868366efb7228ca5c91d2940d0307626103408201527f1e60f31fcbf757e837e867178318832d0b2d74d59e2fea1c7142df187d3fc6d36103609091015280806107cf195a01602092600861030092fa9051165f5260205ff35b346100d7575f3660031901126100d7576040517f00000000000000000000000000000000000000000000000000000000000000006001600160801b0319168152602090f35b346100d7575f3660031901126100d7576040517f00000000000000000000000000000000000000000000000000000000000000006001600160801b0319168152602090f35b346100d75760603660031901126100d7576004356001600160401b0381116100d757366023820112156100d7578060040135906001600160401b0382116100d75736602483830101116100d75761014e916024359060246044359301610a4d565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761067957604052565b61064a565b60a081019081106001600160401b0382111761067957604052565b606081019081106001600160401b0382111761067957604052565b90601f801991011681019081106001600160401b0382111761067957604052565b604051906106e46040836106b4565b565b604051906106e460a0836106b4565b906106e460405192836106b4565b346100d7575f3660031901126100d75760405161071f8161065e565b6005815260406020820191640332e302e360dc1b83528151928391602083525180918160208501528484015e5f828201840152601f01601f19168101030190f35b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001111561078957565b5f805260205ff35b604051917f0707b920bc978c02f292fae2036e057be54294114ccc3c8769d883f688a1423f83527f2e32a094b7589554f7bc357bf63481acd2d55555c203383782a4650787ff664260208401526040830190815260408360608160076107cf195a01fa1561078957815190526020810151606083015260409160809060066107cf195a01fa1561078957565b604051917f0bca36e2cbe6394b3e249751853f961511011c7148e336f4fd974644850fc34783527f2ede7c9acf48cf3a3729fa3d68714e2a8435d4fa6db8f7f409c153b1fcdf9b8b60208401526040830190815260408360608160076107cf195a01fa1561078957815190526020810151606083015260409160809060066107cf195a01fa1561078957565b604051917f1b8af999dbfbb3927c091cc2aaf201e488cbacc3e2c6b6fb5a25f9112e04f2a783527f2b91a26aa92e1b6f5722949f192a81c850d586d81a60157f3e9cf04f679cccd660208401526040830190815260408360608160076107cf195a01fa1561078957815190526020810151606083015260409160809060066107cf195a01fa1561078957565b604051917f2b5f494ed674235b8ac1750bdfd5a7615f002d4a1dcefeddd06eda5a076ccd0d83527f2fe520ad2020aab9cbba817fcbb9a863b8a76ff88f14f912c5e71665b2ad5e8260208401526040830190815260408360608160076107cf195a01fa1561078957815190526020810151606083015260409160809060066107cf195a01fa1561078957565b604051917f0f1c3c0d5d9da0fa03666843cde4e82e869ba5252fce3c25d5940320b1c4d49383527f214bfcff74f425f6fe8c0d07b307482d8bc8bb2f3608f68287aa01bd0b69e80960208401526040830190815260408360608160076107cf195a01fa1561078957815190526020810151606083015260409160809060066107cf195a01fa1561078957565b91610b02906106e4945f6080604051610a658161067e565b828152826020820152604051610a7a8161065e565b83815283602082015260408201528260608201520152610abb610a9b6106d5565b915f83525f6020840152610aad6106d5565b9081525f60208201526111a4565b90610ac46106e6565b9283527fa3acc27117418996340b84e5a90f3ef4c49d22c79e44aad822ec9c313e1eb8e2602084015260408301525f60608301526080820152610f5d565b91610d29565b906004116100d75790600490565b90929192836004116100d75783116100d757600401916003190190565b356001600160e01b0319811692919060048210610b4e575050565b6001600160e01b031960049290920360031b82901b16169150565b9080601f830112156100d75760405191610b846040846106b4565b8290604081019283116100d757905b828210610ba05750505090565b8135815260209182019101610b93565b610100818303126100d75760405191610bc883610699565b610bd28183610b69565b835280605f830112156100d7576040918251610bee84826106b4565b8060c08301928484116100d75785809101915b848310610c21575050506020850152610c1a9190610b69565b9082015290565b602090610c2e8785610b69565b8152019101908590610c01565b908160209103126100d7575180151581036100d75790565b905f905b60028210610c6457505050565b6020806001928551815201930191019091610c57565b905f905b60058210610c8b57505050565b6020806001928551815201930191019091610c7e565b919493929094610cb6836101a0810197610c53565b5f604084015b60028210610ce45750505081610cdd6101009260c06106e496950190610c53565b0190610c7a565b82515f90825b60028310610d08575050506020604060019201930191019091610cbc565b6020806001928451815201920192019190610cea565b6040513d5f823e3d90fd5b90917f0000000000000000000000000000000000000000000000000000000000000000610d6f610d62610d5c8686610b08565b90610b33565b6001600160e01b03191690565b6001600160e01b0319821603610ebc575090610da3610d9b84610d93602095611048565b969094610b16565b810190610bb0565b90610e5e82519160408585015194015195610dbe60a06106f5565b917f000000000000000000000000000000000000000000000000000000000000000060801c83527f000000000000000000000000000000000000000000000000000000000000000060801c8784015260801c604083015260801c60608201527f0000000000000000000000000000000000000000000000000000000000000000608082015260405195869485946334baeab960e01b865260048601610ca1565b0381305afa908115610eb7575f91610e88575b5015610e7957565b63439cc0cd60e01b5f5260045ffd5b610eaa915060203d602011610eb0575b610ea281836106b4565b810190610c3b565b5f610e71565b503d610e98565b610d1e565b610eef90610ecd610d5c8686610b08565b632e2ce35360e21b5f526001600160e01b031990811660045216602452604490565b5ffd5b60031115610efc57565b634e487b7160e01b5f52602160045260245ffd5b60205f60126040517172697363302e52656365697074436c61696d60701b815260025afa15610eb7575f5190565b516003811015610efc5790565b805191908290602001825e015f815290565b5f61103860209261102c610f6f610f10565b61101e606084015193805190888101519060406080820151910190610fc6610faa610fc08d610fb6610fa18751610f3e565b610faa81610ef2565b60181b63ff0000001690565b9551015160ff1690565b60ff1690565b604080518d8101988952602089019a909a52870194909452606086019290925260808501919091526001600160e01b031960e091821b811660a086015291901b1660a4830152600160fa1b60a8830152839160aa0190565b03601f1981018352826106b4565b60405191828092610f4b565b039060025afa15610eb7575f5190565b8060081c9060081b907cff000000ff000000ff000000ff000000ff000000ff000000ff000000ff7dff000000ff000000ff000000ff000000ff000000ff000000ff000000ff007fff000000ff000000ff000000ff000000ff000000ff000000ff000000ff00000084167eff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000084161760101c931691161760101b1761110f7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff8019831660201c921660201b90565b17604081811c77ffffffffffffffff0000000000000000ffffffffffffffff169177ffffffffffffffff0000000000000000ffffffffffffffff19911b161761116261115b8260801c90565b9160801b90565b17906111906111806111748460801c90565b6001600160801b031690565b60801b6001600160801b03191690565b60809290921b6001600160801b0319169190565b60205f600c6040516b1c9a5cd8cc0b93dd5d1c1d5d60a21b815260025afa15610eb7575f8051825160209384015160408051808701949094528301919091526060820152600160f91b6080820152606281526110389061102c6082826106b456fea164736f6c634300081a000a")]
49 contract RiscZeroGroth16Verifier {
50 constructor(bytes32 control_root, bytes32 bn254_control_id) {}
51 }
52}
53
54alloy::sol! {
55 #[sol(rpc, bytecode = "6101808060405234610a525760408161159380380380916100208285610a56565b833981010312610a5257805160209182015191600882811c7eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff169083901b7fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff001617601081811c7dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff1691901b7fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000161780821c7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16911b7fffffffff00000000ffffffff00000000ffffffff00000000ffffffff000000001617604081811c77ffffffffffffffff0000000000000000ffffffffffffffff1691901b7fffffffffffffffff0000000000000000ffffffffffffffff00000000000000001617608081811c91901b176001600160801b031981811660a052608091821b16905260c08290526040517f72697363302e47726f74683136526563656970745665726966696572506172618152656d657465727360d01b602082810191909152905f9060269060025afa156108de575f5191600881811c7eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff1691901b7fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff001617601081811c7dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff1691901b7fffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00001617602081811c7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff1691901b7fffffffff00000000ffffffff00000000ffffffff00000000ffffffff000000001617604081811c77ffffffffffffffff0000000000000000ffffffffffffffff1691901b7fffffffffffffffff0000000000000000ffffffffffffffff00000000000000001617608081811c91901b17915f610120526060610120526040516103106101205182610a56565b6002815261012051601f190161010081905236602083013760205f604051828101907f0316ab0ff634feed16a5261bda1f20694714b67d7d0c3fcf418b672c00e9459382527f2c5f01f3e99fbf359c38f24b9dc5762e32936a7ec54c5b9870168d1016ac71b160408201526040815261038c6101205182610a56565b604051918291518091835e8101838152039060025afa156108de575f516103b282610a8d565b5260205f604051828101907f2aa1911949d7e230c84f544300a5353a3c106d5f0c8deb452ace6fe7c3fbf3a282527f1a74a93686754fe6cc357bbdb43aa63587ddb811b64cf1cf1d76a2c12531c1a16040820152604081526104176101205182610a56565b604051918291518091835e8101838152039060025afa156108de575f5161043d82610a9a565b5260205f601a6040517f72697363305f67726f746831362e566572696679696e674b6579000000000000815260025afa156108de575f519260205f604051828101907f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c782527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a1823026040820152604081526104d96101205182610a56565b604051918291518091835e8101838152039060025afa156108de575f519460205f604051828101907f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db82527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d24460408201527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a610120518201527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc818296080820152608081526105a760a082610a56565b604051918291518091835e8101838152039060025afa156108de575f519360205f604051828101907f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c282527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60408201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b610120518201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60808201526080815261067560a082610a56565b604051918291518091835e8101838152039060025afa156108de575f519660205f604051828101907f2988e03616b72e0bb3e8f884fe55ec966c49beeb9e5abbdb17b015d8cfadcfca82527f263da10954454edd5cc89535bcbc26c9ab06ba5cfc65026f0316d37a1fa5070d60408201527f2fa31ab375f6b90e4a9938b0664db57a2c21e15a22099295659571fdb0e8e86b610120518201527f0ff355a5875037619a0318451398c44bc42f79fb95f1b1adc3561b9b6df6247f60808201526080815261074360a082610a56565b604051918291518091835e8101838152039060025afa156108de575f519660205f601d6040517f72697363305f67726f746831362e566572696679696e674b65792e4943000000815260025afa156108de575f80516101405260206101605297885b8751808b1015610947575f19810190808211610933578b90035f190190811161093357885181101561091f57610160519060051b89010151604051916107ee6101205184610a56565b60028352610160518301916101005136843761080984610a8d565b5261081383610a9a565b526040516108246101605182610a56565b5f8152601f196101605101366101605183013782519161ffff831161090757604080516101405161016051820152945185939291840191905f905b8082106108e95750505092816108ab94600294935180926101605101825e019061ffff60f01b9061ff0060ff8260081c169160081b161760f01b16815203601d19810184520182610a56565b5f60405191805180916101605101845e820191818352806101605193039060025afa156108de5760015f519901986107a5565b6040513d5f823e3d90fd5b8251845261016051889650938401939092019160019091019061085f565b826306dfcc6560e41b5f52601060045260245260445ffd5b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b505f92918b8a60405196610160518801958652604088015261012051870152608086015260a085015260c0840152600560f81b60e084015260c2835261098e60e284610a56565b60405192518091845e820191818352806101605193039060025afa156108de575f91825190604051946101605186019384526040860152610120518501526080840152600360f81b60a0840152608283526109ea60a284610a56565b60405192518091845e820191818352806101605193039060025afa156108de575f516001600160e01b03191660e052604051610ae89081610aab8239608051816106a6015260a05181610661015260c05181610290015260e05181818160ae01526101410152f35b5f80fd5b601f909101601f19168101906001600160401b03821190821017610a7957604052565b634e487b7160e01b5f52604160045260245ffd5b80511561091f5760200190565b80516001101561091f576040019056fe60806040526004361015610011575f80fd5b5f3560e01c8063053c238d146100945780631599ead51461008f578063258038e21461008a57806343753b4d146100855780638989fa2e146100805780639181e4b11461007b578063ab750e75146100765763ffa1ad7414610071575f80fd5b6107c1565b6106d6565b610691565b61064c565b6102ce565b610279565b6100db565b346100d7575f3660031901126100d75763ffffffff60e01b7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b5f80fd5b346100d75760203660031901126100d7576004356001600160401b0381116100d75780360360406003198201126100d757600482013590602219018112156100d75781016004810135906001600160401b0382116100d75760240181360381136100d7577f000000000000000000000000000000000000000000000000000000000000000061018361017661017085856108ba565b906108e5565b6001600160e01b03191690565b6001600160e01b031982160361024457506101a4826020936101ac936108c8565b810190610962565b80516101e66040848401519301519460246101c6866107b1565b91013581526040516343753b4d60e01b8152958694859460048601610a53565b0381305afa90811561023f575f91610210575b501561020157005b63439cc0cd60e01b5f5260045ffd5b610232915060203d602011610238575b61022a8183610790565b8101906109ed565b5f6101f9565b503d610220565b610ad0565b61025461017084610276946108ba565b632e2ce35360e21b5f526001600160e01b031990811660045216602452604490565b5ffd5b346100d7575f3660031901126100d75760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b906004916044116100d757565b9060c491610104116100d757565b346100d7576101203660031901126100d7576102e9366102b3565b3660c4116100d7576102fa366102c0565b36610124116100d75760405190610380820160405261010435917f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001831015610644576020610360927f0ff355a5875037619a0318451398c44bc42f79fb95f1b1adc3561b9b6df6247f947f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478360808601987f0316ab0ff634feed16a5261bda1f20694714b67d7d0c3fcf418b672c00e9459387526103de828801947f2c5f01f3e99fbf359c38f24b9dc5762e32936a7ec54c5b9870168d1016ac71b186528861082e565b80358a52013581030660a085015260443560c085015260643560e085015260843561010085015260a4356101208501527f245229d9b076b3c0e8a4d70bde8c1cccffa08a9fae7557b165b3b0dbd653e2c76101408501527f253ec85988dbb84e46e94b5efa3373b47a000b4ac6c86b2d4b798d274a1823026101608501527f07090a82e8fabbd39299be24705b92cf208ee8b3487f6f2b39ff27978a29a1db6101808501527f2424bcc1f60a5472685fd50705b2809626e170120acaf441e133a2bd5e61d2446101a08501527f0ae1135cffdaf227c5dc266740607aa930bc3bd92ddc2b135086d9da2dfd3e2a6101c08501527f2b86859fd3d55c9d150fb3f0aeba798826493dd73d357ab0f9fdaced9fc818296101e08501528351610200850152516102208401527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102408401527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102608401527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102808401527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa6102a084015280356102c084015201356102e08201527f2988e03616b72e0bb3e8f884fe55ec966c49beeb9e5abbdb17b015d8cfadcfca6103008201527f263da10954454edd5cc89535bcbc26c9ab06ba5cfc65026f0316d37a1fa5070d6103208201527f2fa31ab375f6b90e4a9938b0664db57a2c21e15a22099295659571fdb0e8e86b61034082015201526020816103008160086107cf195a01fa9051165f5260205ff35b5f805260205ff35b346100d7575f3660031901126100d7576040517f00000000000000000000000000000000000000000000000000000000000000006001600160801b0319168152602090f35b346100d7575f3660031901126100d7576040517f00000000000000000000000000000000000000000000000000000000000000006001600160801b0319168152602090f35b346100d75760603660031901126100d7576004356001600160401b0381116100d757366023820112156100d75780600401356001600160401b0381116100d757369101602401116100d75760405162461bcd60e51b815260206004820152601360248201527255736520766572696679496e7465677269747960681b6044820152606490fd5b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761078b57604052565b61075c565b90601f801991011681019081106001600160401b0382111761078b57604052565b906107bf6040519283610790565b565b346100d7575f3660031901126100d757604051604081018181106001600160401b0382111761078b57604052600581526040602082019164302e302e3160d81b83528151928391602083525180918160208501528484015e5f828201840152601f01601f19168101030190f35b604051917f2aa1911949d7e230c84f544300a5353a3c106d5f0c8deb452ace6fe7c3fbf3a283527f1a74a93686754fe6cc357bbdb43aa63587ddb811b64cf1cf1d76a2c12531c1a160208401526040830190815260408360608160076107cf195a01fa1561064457815190526020810151606083015260409160809060066107cf195a01fa1561064457565b906004116100d75790600490565b90929192836004116100d75783116100d757600401916003190190565b356001600160e01b0319811692919060048210610900575050565b6001600160e01b031960049290920360031b82901b16169150565b9080601f830112156100d75760405191610936604084610790565b8290604081019283116100d757905b8282106109525750505090565b8135815260209182019101610945565b610100818303126100d7576040519161097a83610770565b610984818361091b565b835280605f830112156100d75760409182516109a08482610790565b8060c08301928484116100d75785809101915b8483106109d35750505060208501526109cc919061091b565b9082015290565b6020906109e0878561091b565b81520191019085906109b3565b908160209103126100d7575180151581036100d75790565b905f905b60028210610a1657505050565b6020806001928551815201930191019091610a09565b905f905b60018210610a3d57505050565b6020806001928551815201930191019091610a30565b919493929094610a6883610120810197610a05565b5f604084015b60028210610a965750505081610a8f6101009260c06107bf96950190610a05565b0190610a2c565b82515f90825b60028310610aba575050506020604060019201930191019091610a6e565b6020806001928451815201920192019190610a9c565b6040513d5f823e3d90fdfea164736f6c634300081a000a")]
56 contract Blake3Groth16Verifier {
57 constructor(bytes32 control_root, bytes32 bn254_control_id) {}
58 }
59}
60
61alloy::sol! {
62 #[sol(rpc, bytecode = "60e0346100bb57601f61087938819003918201601f19168301916001600160401b038311848410176100bf578084926080946040528339810103126100bb578051906001600160a01b03821682036100bb5760208101516001600160a01b03811681036100bb57606060408301519201519260805260a05260c0526001556040516107a590816100d4823960805181818161039301526106a3015260a05181818160800152610127015260c05181818161015701526106520152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f905f3560e01c90816308c84e7014610691575080634b28f9a214610675578063549206ed1461063b5780636330d59d1461061e578063a12da43f146100cf578063a96b2dc0146100b25763c65c72911461006b575f80fd5b346100af57806003193601126100af576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b80fd5b50346100af57806003193601126100af5760209054604051908152f35b503461058457606036600319011261058457600435906024356001600160401b038111610584576101049036906004016106d2565b6044356001600160401b038111610584576101239036906004016106d2565b94907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036105e8577f000000000000000000000000000000000000000000000000000000000000000082036105b05760205f6040518587823780868101838152039060025afa15610579575f515f60806040516101a9816106ff565b8281528260208201526040516101be8161071a565b83815283602082015260408201528260608201520152604051906101e18261071a565b5f82525f6020830152604051906101f78261071a565b8152602081015f815260205f600c6040516b1c9a5cd8cc0b93dd5d1c1d5d60a21b815260025afa15610579576020915f918251915190516040519185830193845260408301526060820152600160f91b60808201526062815261025b608282610735565b604051918291518091835e8101838152039060025afa15610579575f5190604051610285816106ff565b84815260208101907fa3acc27117418996340b84e5a90f3ef4c49d22c79e44aad822ec9c313e1eb8e282526040810192835260608101915f83526080820194855260205f60126040517172697363302e52656365697074436c61696d60701b815260025afa15610579575f51925191519051945184515190600382101561059c57945160209081015160408051808401978852908101959095526060850193909352608084019690965260a08301949094526001600160f81b031960f894851b811660c0840152931b90921660c4830152600160fa1b60c883015260aa82525f9161037160ca82610735565b604051918291518091835e8101838152039060025afa15610579575f516040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916103c58261071a565b6001600160401b038911610588576040516103ea601f8b01601f191660200182610735565b898152368a86011161058457898560208301375f60208b83010152825260208201908152823b15610584576020925f926084604051809681958294631599ead560e01b845282600485015251604060248501528051928391826064870152018585015e8282018401889052516044830152601f01601f191681010301915afa80156105795761053d575b506104c9907f47ed3f58af358c0ab2b6b2bf11812f81b240613fa30c7d845e1e4f41ce3a0f4e9495966104bb5a976040519687968752606060208801526060870191610756565b918483036040860152610756565b0390a16104d68254610776565b8255815b5a8203828111610529576001541115610525576105209060405160208101908282526020815261050b604082610735565b51902084526002602052806040852055610776565b6104da565b8280f35b634e487b7160e01b84526011600452602484fd5b7f47ed3f58af358c0ab2b6b2bf11812f81b240613fa30c7d845e1e4f41ce3a0f4e9495509061056f5f6104c993610735565b5f95945090610474565b6040513d5f823e3d90fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b60405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908125b5859d948125160821b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21039b2b73232b960911b6044820152606490fd5b34610584575f366003190112610584576020600154604051908152f35b34610584575f3660031901126105845760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b34610584575f3660031901126105845760205f54604051908152f35b34610584575f366003190112610584577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f84011215610584578235916001600160401b038311610584576020838186019501011161058457565b60a081019081106001600160401b0382111761058857604052565b604081019081106001600160401b0382111761058857604052565b90601f801991011681019081106001600160401b0382111761058857604052565b908060209392818452848401375f828201840152601f01601f1916010190565b5f1981146107845760010190565b634e487b7160e01b5f52601160045260245ffdfea164736f6c634300081a000a")]
63 contract MockCallback {
64 constructor(address verifier, address boundlessMarket, bytes32 imageId, uint256 _targetGas) {}
65 function getCallCount() external view returns (uint256) {}
66 }
67}