{
"contractName": "OnChainSVG",
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "uid",
"type": "uint256"
}
],
"name": "getSvgImage",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"uid\",\"type\":\"uint256\"}],\"name\":\"getSvgImage\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/OnChainSVG.sol\":\"OnChainSVG\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"project:/contracts/OnChainSVG.sol\":{\"keccak256\":\"0xce893c5e5b2e607e91da0fecddc58e8416d517a204766f8baf69151422775c13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e59f2aae0b1885f08d5ce2a2b9ee6696bbf9101e8a58ea89fd417ccc14ff9f4\",\"dweb:/ipfs/Qmd4MHGxR4TCrFZhtQpuaT3PUnQXDoR4VCFwZm7nNXLWm5\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b506126e5806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80636796b7dd14610030575b600080fd5b61004a60048036038101906100459190610339565b610060565b60405161005791906103f6565b60405180910390f35b6060600061006d836100dd565b905060006040518061096001604052806109318152602001611d7f610931913990506000604051806118c0016040528061189b81526020016104e461189b913990508183826040516020016100c493929190610454565b6040516020818303038152906040529350505050919050565b6060600060016100ec846101ab565b01905060008167ffffffffffffffff81111561010b5761010a610485565b5b6040519080825280601f01601f19166020018201604052801561013d5781602001600182028036833780820191505090505b509050600082602001820190505b6001156101a0578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581610194576101936104b4565b5b0494506000850361014b575b819350505050919050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610209577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816101ff576101fe6104b4565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310610246576d04ee2d6d415b85acef8100000000838161023c5761023b6104b4565b5b0492506020810190505b662386f26fc10000831061027557662386f26fc10000838161026b5761026a6104b4565b5b0492506010810190505b6305f5e100831061029e576305f5e1008381610294576102936104b4565b5b0492506008810190505b61271083106102c35761271083816102b9576102b86104b4565b5b0492506004810190505b606483106102e657606483816102dc576102db6104b4565b5b0492506002810190505b600a83106102f5576001810190505b80915050919050565b600080fd5b6000819050919050565b61031681610303565b811461032157600080fd5b50565b6000813590506103338161030d565b92915050565b60006020828403121561034f5761034e6102fe565b5b600061035d84828501610324565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156103a0578082015181840152602081019050610385565b60008484015250505050565b6000601f19601f8301169050919050565b60006103c882610366565b6103d28185610371565b93506103e2818560208601610382565b6103eb816103ac565b840191505092915050565b6000602082019050818103600083015261041081846103bd565b905092915050565b600081905092915050565b600061042e82610366565b6104388185610418565b9350610448818560208601610382565b80840191505092915050565b60006104608286610423565b915061046c8285610423565b91506104788284610423565b9150819050949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfe5d5d3e3c2f747370616e3e3c2f746578743e3c7374796c653e3c215b43444154415b40666f6e742d66616365207b666f6e742d66616d696c793a2027655932476a50376b355374313a3a3a536f757263652053616e732050726f273b666f6e742d7374796c653a206e6f726d616c3b666f6e742d7765696768743a203730303b7372633a2075726c28646174613a666f6e742f7474663b636861727365743d7574662d383b6261736536342c414145414141414e41494141417742515230524652674153414251414141446341414141466b645154314e53446b4733414141486141414141787848553156435a6e553268774141417951414141484954314d764d6c7842647134414141484d4141414159474e745958414345414d35414141436f4141414149526e62486c6d6e68456676514141436f514141416451614756685a42742f4874514141414659414141414e6d686f5a57454b66775863414141424e4141414143526f625852344d5230464167414141697741414142306247396a5952326748395941414147514141414150473168654841414e5144334141414139414141414342755957316c55755a7533674141424f774141414a386347397a64502f524144494141414555414141414941414241414141444141414141414141414143414145414167415441414541414141424141414148514351414177415977414841414541414141414141414141414141414141414241414441414d41414141414141442f7a674179414141414141414141414141414141414141414141414141414141414151414141396a2b37774141434a6a2b4e2f343343473041415141414141414141414141414141414141414141423041415141414141494c68645a7438343566447a7a314141454436414141414144595861434541414141414e316d4c7a622b4e2f3745434730443851414241414d41416741414141414141414141414377414c414267414977417a414464415134425141467a415838426c77477a416555434277497a416c4d436a674b7a4174554442414d5141796f4452414e4d4132594467414f4a413549447141414441696f43764141464141414369674a594141414153774b4b416c674141414665414449424b5141414167734841774d454177494342414141414363414141414441414141414141414141424252454a50414341414950372f4175372f426741414139674245534141415a384141414141416641436c4141414143414141774b794146414179414141416c304154514a47414334434c41416a4169774147514939414545435051416e416759414a414555414463434a4142424152344151514e5a4145454350414242416973414a41474f41454542757741564158384145514934414477434351414d41525141515146594145674257414177415251414e77454d414438424441416a415177415077454d41434d4141502b74414141414167414141414d414141415541414d41415141414142514142414277414141414741415141414d414341416741436b4151774255414749415a5142704147384164514235414b442f2f774141414341414b41424341464d415967426b41476b416177427941486b416f502f2f2f2b482f37662f412f37482f70502b6a2f36442f6e2f2b642f35722f595141424141414141414141414141414141414141414141414141414141414141414141414145414141414b414b41425441414552455a4d5641434759336c79624142325a334a6c6177426d62474630626741614145414141304661525341414d6b4e53564341414a46525353794141466741412f2f38414241414741413041454141584141442f2f77414541415541444141504142594141502f2f414151414241414c41413441465141412f2f38414177414441416f41464141454141414141502f2f41414d414167414a41424d41424141414141442f2f774144414145414341415341415141414141412f2f38414177414141416341455141595a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743656247396a624143596247396a624143596247396a62414359626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e56746367435341414141415141424141414141514141414141414167414241414d4141414142414149414251426f4146494152414161414177414151414141414541434141424143442f2f674147414141414151414941414d4141514161414145414567414141414541414141454141454141674161414273414151414341426741475141424141414141514149414145414641414441414541414141424141674141514147414155414151414341425541466741424141414141514149414145414267414f414145414151414a414141414341426d41414d414151514a414141417867465141414d414151514a414145414867457941414d414151514a414149414341457141414d414151514a41414d415267446b41414d414151514a414151414b41433841414d414151514a414155415a41425941414d414151514a414159414a41413041414d414151514a414134414e4141414147674164414230414841414f674176414338416377426a4148494161514277414851416377417541484d41615142734143344162774279414763414c7742504145594154414254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a414257414755416367427a41476b4162774275414341414d674175414441414e414131414473416141427641485141597742764147344164674167414445414c674177414334414d51417741446b414f774274414745416177426c414738416441426d414755416541426c414341414d674175414455414c674132414455414e5141354144594155774276414855416367426a4147554149414254414745416267427a41434141554142794147384149414243414738416241426b414449414c674177414451414e5141374145454152414243414538414f774254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a41413741454541524142504145494152514243414738416241426b41464d4162774231414849415977426c414341415577426841473441637741674146414163674276414b6b4149414179414441414d514177414341414c514167414449414d41417841446741494142424147514162774269414755414941425441486b4163774230414755416251427a414341415351427541474d41627742794148414162774279414745416441426c414751414941416f4147674164414230414841414f6741764143384164774233414863414c6742684147514162774269414755414c67426a414738416251417641436b414c41416741486341615142304147674149414253414755416377426c414849416467426c414751414941424741473841626742304143414154674268414730415a5141674942674155774276414855416367426a4147556747514175414145414141414b414651416441414552455a4d5641412b59336c79624141795a334a6c6177416d624746306267416141415141414141412f2f38414151414441415141414141412f2f38414151414341415141414141412f2f38414151414241415141414141412f2f384141514141414152725a584a75414270725a584a75414270725a584a75414270725a584a7541426f4141414142414141414151414541416b414141414341624941436741424141494141414149414149424d414145414141426467464741417741444141412f2b542f33662f4c2f2b3441414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141502f6b4141414141414141414141414141414141414141414141414141442f35762f4641414141414141412f2f674141502f3741414141414141412f2f59414141414141414141414141414141634141502f3441414141414141414141442f37502f6b4141414141414141414141414141414141414141414141414141442f35502f734141414141502f75414141414141414141414141414141412f2b372f37502f7541414141414141414141414141502f3241414141414141412f37542f394141412f39622f35502f6e2f2b674141502f452f395941414141414141414141502f734141414141414141414141414141414141414141414141412f2f674141502f73414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414341414d4142414147414141414367415441414d41465141564141304141514144414255414251414741414d41414141424141454143774141414141414367414b414145414367414a414149414241414841414141414141494141734141514145414249414267414941414d414141414141414141414141424141494141674144414151414251414841416b4143674141414173414151414341414141434141434149674142414141414d67416d41414641417741414141412f2f622f354141414141442f37762f75414141414141414141414141414141412f397a2f39502f624141442f37762f6b4141442f39674141414141414141414141414141414141414141414141414141414141414141414141414141414141412f2f622f354141414141442f2b762f734141414141414141414141414141414141414141414141414141414141414141414141414141414141414141415141474141494141774148414167414351415841414541417741564141514142774144414141414341414941416f41414141414141734143774149414173414251414341416b4142674141414141414151414b414149414251414441414d41415141484141634141674149414167414177414a41416b414241415841426341424141464146414141414a69417051414177414a41413841456741564141417a455345524a544d6e4a794d484e7a4d334e794d58417a636e41524548554149532f71576b4a796b454b536b454b694359483370665877464e58674b552f57786254574a69396c38374f2f36657562722b6a51467a756741414177424e4141414350414b4d41424541476741694141417a45544d794668595646415948465259574652514742694d444d7a49324e54516d49794d524d7a49314e43596a49303366524778414c53677951305279523139464e6a45794e455a546554773955774b4d4855592f4b314d504241314c51554e554b5147484b694d6d495035595743736c414141424143372f3941497741706741477741414253496d4a6a55304e6a597a4d6859584279596d4979494742685555466a4d794e6a635842674664556f7054565931535032516854686b334979784a4b315a494b443859546c494d544a5674624a6c524d794a6546783079586b4a6b6343515a584741414151416a2f2f514343674b5941436f41414155694a6963334668597a4d6a59314e43596e4a7934434e5451324e6a4d79466863484a69596a49675956464259584678595746525147426745555148387956434e574b4334744d7974564954776d4f326c454f484171537942414a7959744f5370554f305936626777774c6d55654a694964487830534a41347652693832574451734b6c305a47783863486834524968685552545a634f41414241426b4141414954416f7741427741414d78456a4e5345564978484d737748367377495166487a3938414141416742422f2f514346674b3941425141487741414253496d4a794d484978457a465163324e6a4d7946685956464159474a7a49324e54516a4967635646685942525346444851514d63354d454855516950466776504639594a6a5a574c436b554b417768494455437661784d4768302b6355785665543934526b79474c637353446741434143662f39414838417230414577416741414158496959314e4459324d7a4957467963314d78456a4a794d47426a63794e6a63314a69596a496759564642627958473837587a51704f426b476b33674b424270474168676e45684d7246434d324c77794c6556463150687759544b6e39517a45614933675547637353446b4e48535555414167416b2f2f51423451483841426741487741414253496d4a6a55304e6a597a4d6859574652514742794557466a4d794e78634742674d7a4e43596a4967594248306479516b4e734f3064644c7751432f74634b526a45314e6a456d5870717a4a7977694e67772b64464a526444382f613051544a516b324d79465a476834424f696b314c77442f2f7741334141414133514c544169594146414141414163414841434b41414141415142424141414348674b394141774141444d524d78457a4e7a4d4845794d6e427856426a7753646f4b36376e33412f4172332b6273584d2f747a4252336f41415142422f2f514245674b3941413841414263694a6a55524d784555466a4d794e6a6358426762495444755445516b46427759534443554d57307343492f33584678494241573046427741424145454141414d6441667741495141414d78457a467a4d324e6a4d79466863324e6a4d7946685552497845304a694d694278456a4554516d497949484555463443675166526a453151524d68536a465153354d64494355776b7830674a533842384541664c53736f496a46725866374d415345324b44442b735145684e6967772f7245414151424241414143414148384142514141444d524d78637a4e6a597a4d68595645534d524e43596a49675948455546344367516754544a52535a4d644942776f47414877507834746131332b7a4145684e69675a462f3678414141434143542f394149484166774144774162414141464969596d4e5451324e6a4d7946685956464159474a7a49324e54516d49794947465251574152592f62305245627a382f626b5245626a38744c6934744c69307444443131556c4e305054313055314a315058644e5145464d544546415451414141514242414141426a7748384142494141444d524d78637a4e6a597a4d6859584279596d497949474278464265416f454730776d4652774b4741305a4542773946414877567a49784251562f424151704d7637674141454146662f30415a38422f41416e414141584969596e4e7859574d7a49324e54516d4a696375416a55304e6a4d79466863484a69596a49685555466863654168555542744d785a795a43496a3866495234644c686f654f79687056546c58483049614e426f354f53596750536c6f4443596658426b6246784d5246684d4b444351354b5556574a7868594642596e47426b4f43794d354c6b4e64414141424142482f39414675416e5141467741414253496d4e54556a4e5463334d78557a46534d564642597a4d6a593346775947415142635430524d4558703364794d6444426b4b46784d3344477057795730476849527a78796f6c42675272426777414141454150502f304166674238414155414141584969593145544d524642597a4d6a593345544d524979636a4267625755556d54486941634a6861546541734448306f4d613130424e5037664e536b61485146492f6842464a5377414151414d2f7a34422f51487741427341414263694a6963334668597a4d6a59334e774d7a46785957467a4d324e6a63334d774d4f416e675749513861427849494a53674b42372b55527773534367514945516b386a6177584f452f43426752774151556b48526f42343955695269556a527950562f67732b56536f414141454151514141414e5142384141444141417a45544d52515a4d4238503451414145415350394e415367433377414e414141584a6959314e44593346775947465251574638772f5255552f584463794d6a657a5a393645684e356e4a6d485861327258596741424144442f545145514174384144514141467963324e6a55304a696333466859564641614d584467794d6a68635030564673795a69313270723132456d5a393645684e372f2f7741334141414133514c54416759414351414141414541502f2b6d414f6b423451414e414141584a6959314e445933467759474652515746356f724d4441725479496949694a61516f4a6157594a434944313951304e39506741424143502f7067444e4165454144514141467963324e6a55304a6963334668595646415a7a5543496949694a514b7938765769412b66554e4466543067516f4a5a576f4c2f2f77412f414b774136514c6e41676341474141414151622f2f77416a414b77417a514c6e41676341475141414151594141662b74416a6b4155774c5441417341414245694a6a55304e6a4d7946685555426955754c69556c4c6934434f536f6a49796f7149794d7141413d3d2920666f726d61742827747275657479706527293b7d5d5d3e3c2f7374796c653e3c2f7376673e3c7376672069643d22655932476a50376b355374312220786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f7376672220786d6c6e733a786c696e6b3d22687474703a2f2f7777772e77332e6f72672f313939392f786c696e6b222076696577426f783d22302030203531312e393939203531312e393939222073686170652d72656e646572696e673d2267656f6d6574726963507265636973696f6e2220746578742d72656e646572696e673d2267656f6d6574726963507265636973696f6e222077696474683d223531312e39393922206865696768743d223531312e393939223e3c7061746820643d224d3436302e3830332c3434362e373339682d3430392e3630364332322e3936372c3434362e3733392c302c3432332e3737322c302c3339352e353432762d3237392e30383543302c38382e3232372c32322e3936372c36352e32362c35312e3139372c36352e3236683430392e3630356332382e32332c302c35312e3139372c32322e3936372c35312e3139372c35312e313937763237392e303834632e3030312c32382e3233312d32322e3936362c35312e3139382d35312e3139362c35312e3139385a222066696c6c3d2223333961336462222f3e3c7061746820643d224d3436302e3830332c36352e3236682d3230342e383034763338312e343739683230342e3830326332382e32332c302c35312e3139372d32322e3936372c35312e3139372d35312e313937762d3237392e303835433531322c38382e3232372c3438392e3033332c36352e32362c3436302e3830332c36352e32365a222066696c6c3d2223333739376433222f3e3c7061746820643d224d3233372e3431332c3338312e313434682d3135362e313232632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d3231332e31313963302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683135362e3132326331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e353836763231332e31313963302c31302e3236362d382e33322c31382e3538362d31382e3538362c31382e3538365a222066696c6c3d2223383064306531222f3e3c673e3c636972636c6520723d2232372e32303422207472616e73666f726d3d227472616e736c617465283135392e333536203233372e33353529222066696c6c3d2223653866326662222f3e3c7061746820643d224d3136302e3431342c3238352e353539632d34302e3236312c302d37332e3330362c33302e392d37362e37312c37302e3237392d2e3331322c332e3631342c322e3535362c362e3732312c362e3138342c362e373231683134312e30353363332e3632382c302c362e3439362d332e3130362c362e3138342d362e3732312d332e3430352d33392e3337382d33362e3434392d37302e3237392d37362e3731312d37302e3237395a222066696c6c3d2223653866326662222f3e3c2f673e3c7061746820643d224d3433392e3030342c3233342e353836682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d36362e35363163302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e3538367636362e35363163302c31302e3236352d382e3332312c31382e3538362d31382e3538362c31382e3538365a22207472616e73666f726d3d226d617472697828312e30363537352030203020312e31353431362d32332e3134323833332d31342e37353032373829222066696c6c3d2223353162336461222f3e3c7061746820643d224d3433392e3030342c3238342e343937682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e35383673382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e35383663302c31302e3236362d382e3332312c31382e3538362d31382e3538362c31382e3538365a22207472616e73666f726d3d226d617472697828312e3037353333312030203020312e3532363339352d32352e3736303732362d38312e38323632323129222066696c6c3d2223353162336461222f3e3c746578742064783d2230222064793d22302220666f6e742d66616d696c793d222671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2220666f6e742d73697a653d2232352e35393939352220666f6e742d7765696768743d2237303022207472616e73666f726d3d227472616e736c617465283237302e363036393738203138302e303431353529222066696c6c3d222366666622207374726f6b652d77696474683d2230223e3c747370616e20793d22302220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b4372656469742053797374656d5d5d3e3c2f747370616e3e3c747370616e20783d22302220793d2232352e35393939352220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b536f756c626f756e6420546f6b656e5d5d3e3c2f747370616e3e3c747370616e20783d22302220793d2235312e313939392220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b284353534254295d5d3e3c2f747370616e3e3c2f746578743e3c746578742064783d2230222064793d22302220666f6e742d66616d696c793d222671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2220666f6e742d73697a653d2232352e35393939352220666f6e742d7765696768743d2237303022207472616e73666f726d3d227472616e736c617465283239352e363933363739203333322e34343530393429222066696c6c3d222366666622207374726f6b652d77696474683d2230223e3c747370616e20793d22302220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415ba26469706673582212202768012326fcab6fbb4815525c6bdb65726e6d6ec66ef5be846e0bbb18197ae564736f6c63430008130033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80636796b7dd14610030575b600080fd5b61004a60048036038101906100459190610339565b610060565b60405161005791906103f6565b60405180910390f35b6060600061006d836100dd565b905060006040518061096001604052806109318152602001611d7f610931913990506000604051806118c0016040528061189b81526020016104e461189b913990508183826040516020016100c493929190610454565b6040516020818303038152906040529350505050919050565b6060600060016100ec846101ab565b01905060008167ffffffffffffffff81111561010b5761010a610485565b5b6040519080825280601f01601f19166020018201604052801561013d5781602001600182028036833780820191505090505b509050600082602001820190505b6001156101a0578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581610194576101936104b4565b5b0494506000850361014b575b819350505050919050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610209577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816101ff576101fe6104b4565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310610246576d04ee2d6d415b85acef8100000000838161023c5761023b6104b4565b5b0492506020810190505b662386f26fc10000831061027557662386f26fc10000838161026b5761026a6104b4565b5b0492506010810190505b6305f5e100831061029e576305f5e1008381610294576102936104b4565b5b0492506008810190505b61271083106102c35761271083816102b9576102b86104b4565b5b0492506004810190505b606483106102e657606483816102dc576102db6104b4565b5b0492506002810190505b600a83106102f5576001810190505b80915050919050565b600080fd5b6000819050919050565b61031681610303565b811461032157600080fd5b50565b6000813590506103338161030d565b92915050565b60006020828403121561034f5761034e6102fe565b5b600061035d84828501610324565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156103a0578082015181840152602081019050610385565b60008484015250505050565b6000601f19601f8301169050919050565b60006103c882610366565b6103d28185610371565b93506103e2818560208601610382565b6103eb816103ac565b840191505092915050565b6000602082019050818103600083015261041081846103bd565b905092915050565b600081905092915050565b600061042e82610366565b6104388185610418565b9350610448818560208601610382565b80840191505092915050565b60006104608286610423565b915061046c8285610423565b91506104788284610423565b9150819050949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfe5d5d3e3c2f747370616e3e3c2f746578743e3c7374796c653e3c215b43444154415b40666f6e742d66616365207b666f6e742d66616d696c793a2027655932476a50376b355374313a3a3a536f757263652053616e732050726f273b666f6e742d7374796c653a206e6f726d616c3b666f6e742d7765696768743a203730303b7372633a2075726c28646174613a666f6e742f7474663b636861727365743d7574662d383b6261736536342c414145414141414e41494141417742515230524652674153414251414141446341414141466b645154314e53446b4733414141486141414141787848553156435a6e553268774141417951414141484954314d764d6c7842647134414141484d4141414159474e745958414345414d35414141436f4141414149526e62486c6d6e68456676514141436f514141416451614756685a42742f4874514141414659414141414e6d686f5a57454b66775863414141424e4141414143526f625852344d5230464167414141697741414142306247396a5952326748395941414147514141414150473168654841414e5144334141414139414141414342755957316c55755a7533674141424f774141414a386347397a64502f524144494141414555414141414941414241414141444141414141414141414143414145414167415441414541414141424141414148514351414177415977414841414541414141414141414141414141414141414241414441414d41414141414141442f7a674179414141414141414141414141414141414141414141414141414141414151414141396a2b37774141434a6a2b4e2f343343473041415141414141414141414141414141414141414141423041415141414141494c68645a7438343566447a7a314141454436414141414144595861434541414141414e316d4c7a622b4e2f3745434730443851414241414d41416741414141414141414141414377414c414267414977417a414464415134425141467a415838426c77477a416555434277497a416c4d436a674b7a4174554442414d5141796f4452414e4d4132594467414f4a413549447141414441696f43764141464141414369674a594141414153774b4b416c674141414665414449424b5141414167734841774d454177494342414141414363414141414441414141414141414141424252454a50414341414950372f4175372f426741414139674245534141415a384141414141416641436c4141414143414141774b794146414179414141416c304154514a47414334434c41416a4169774147514939414545435051416e416759414a414555414463434a4142424152344151514e5a4145454350414242416973414a41474f41454542757741564158384145514934414477434351414d41525141515146594145674257414177415251414e77454d414438424441416a415177415077454d41434d4141502b74414141414167414141414d414141415541414d41415141414142514142414277414141414741415141414d414341416741436b4151774255414749415a5142704147384164514235414b442f2f774141414341414b41424341464d415967426b41476b416177427941486b416f502f2f2f2b482f37662f412f37482f70502b6a2f36442f6e2f2b642f35722f595141424141414141414141414141414141414141414141414141414141414141414141414145414141414b414b41425441414552455a4d5641434759336c79624142325a334a6c6177426d62474630626741614145414141304661525341414d6b4e53564341414a46525353794141466741412f2f38414241414741413041454141584141442f2f77414541415541444141504142594141502f2f414151414241414c41413441465141412f2f38414177414441416f41464141454141414141502f2f41414d414167414a41424d41424141414141442f2f774144414145414341415341415141414141412f2f38414177414141416341455141595a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a4735766251436d5a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743655a6e4a68597743656247396a624143596247396a624143596247396a62414359626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e567463674353626e56746367435341414141415141424141414141514141414141414167414241414d4141414142414149414251426f4146494152414161414177414151414141414541434141424143442f2f674147414141414151414941414d4141514161414145414567414141414541414141454141454141674161414273414151414341426741475141424141414141514149414145414641414441414541414141424141674141514147414155414151414341425541466741424141414141514149414145414267414f414145414151414a414141414341426d41414d414151514a414141417867465141414d414151514a414145414867457941414d414151514a414149414341457141414d414151514a41414d415267446b41414d414151514a414151414b41433841414d414151514a414155415a41425941414d414151514a414159414a41413041414d414151514a414134414e4141414147674164414230414841414f674176414338416377426a4148494161514277414851416377417541484d41615142734143344162774279414763414c7742504145594154414254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a414257414755416367427a41476b4162774275414341414d674175414441414e414131414473416141427641485141597742764147344164674167414445414c674177414334414d51417741446b414f774274414745416177426c414738416441426d414755416541426c414341414d674175414455414c674132414455414e5141354144594155774276414855416367426a4147554149414254414745416267427a41434141554142794147384149414243414738416241426b414449414c674177414451414e5141374145454152414243414538414f774254414738416451427941474d415a514254414745416267427a41464141636742764143304151674276414777415a41413741454541524142504145494152514243414738416241426b41464d4162774231414849415977426c414341415577426841473441637741674146414163674276414b6b4149414179414441414d514177414341414c514167414449414d41417841446741494142424147514162774269414755414941425441486b4163774230414755416251427a414341415351427541474d41627742794148414162774279414745416441426c414751414941416f4147674164414230414841414f6741764143384164774233414863414c6742684147514162774269414755414c67426a414738416251417641436b414c41416741486341615142304147674149414253414755416377426c414849416467426c414751414941424741473841626742304143414154674268414730415a5141674942674155774276414855416367426a4147556747514175414145414141414b414651416441414552455a4d5641412b59336c79624141795a334a6c6177416d624746306267416141415141414141412f2f38414151414441415141414141412f2f38414151414341415141414141412f2f38414151414241415141414141412f2f384141514141414152725a584a75414270725a584a75414270725a584a75414270725a584a7541426f4141414142414141414151414541416b414141414341624941436741424141494141414149414149424d414145414141426467464741417741444141412f2b542f33662f4c2f2b3441414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141502f6b4141414141414141414141414141414141414141414141414141442f35762f4641414141414141412f2f674141502f3741414141414141412f2f59414141414141414141414141414141634141502f3441414141414141414141442f37502f6b4141414141414141414141414141414141414141414141414141442f35502f734141414141502f75414141414141414141414141414141412f2b372f37502f7541414141414141414141414141502f3241414141414141412f37542f394141412f39622f35502f6e2f2b674141502f452f395941414141414141414141502f734141414141414141414141414141414141414141414141412f2f674141502f73414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414341414d4142414147414141414367415441414d41465141564141304141514144414255414251414741414d41414141424141454143774141414141414367414b414145414367414a414149414241414841414141414141494141734141514145414249414267414941414d414141414141414141414141424141494141674144414151414251414841416b4143674141414173414151414341414141434141434149674142414141414d67416d41414641417741414141412f2f622f354141414141442f37762f75414141414141414141414141414141412f397a2f39502f624141442f37762f6b4141442f39674141414141414141414141414141414141414141414141414141414141414141414141414141414141412f2f622f354141414141442f2b762f734141414141414141414141414141414141414141414141414141414141414141414141414141414141414141415141474141494141774148414167414351415841414541417741564141514142774144414141414341414941416f41414141414141734143774149414173414251414341416b4142674141414141414151414b414149414251414441414d41415141484141634141674149414167414177414a41416b414241415841426341424141464146414141414a69417051414177414a41413841456741564141417a455345524a544d6e4a794d484e7a4d334e794d58417a636e41524548554149532f71576b4a796b454b536b454b694359483370665877464e58674b552f57786254574a69396c38374f2f36657562722b6a51467a756741414177424e4141414350414b4d41424541476741694141417a45544d794668595646415948465259574652514742694d444d7a49324e54516d49794d524d7a49314e43596a49303366524778414c53677951305279523139464e6a45794e455a546554773955774b4d4855592f4b314d504241314c51554e554b5147484b694d6d495035595743736c414141424143372f3941497741706741477741414253496d4a6a55304e6a597a4d6859584279596d4979494742685555466a4d794e6a635842674664556f7054565931535032516854686b334979784a4b315a494b443859546c494d544a5674624a6c524d794a6546783079586b4a6b6343515a584741414151416a2f2f514343674b5941436f41414155694a6963334668597a4d6a59314e43596e4a7934434e5451324e6a4d79466863484a69596a49675956464259584678595746525147426745555148387956434e574b4334744d7974564954776d4f326c454f484171537942414a7959744f5370554f305936626777774c6d55654a694964487830534a41347652693832574451734b6c305a47783863486834524968685552545a634f41414241426b4141414954416f7741427741414d78456a4e5345564978484d737748367377495166487a3938414141416742422f2f514346674b3941425141487741414253496d4a794d484978457a465163324e6a4d7946685956464159474a7a49324e54516a4967635646685942525346444851514d63354d454855516950466776504639594a6a5a574c436b554b417768494455437661784d4768302b6355785665543934526b79474c637353446741434143662f39414838417230414577416741414158496959314e4459324d7a4957467963314d78456a4a794d47426a63794e6a63314a69596a496759564642627958473837587a51704f426b476b33674b424270474168676e45684d7246434d324c77794c6556463150687759544b6e39517a45614933675547637353446b4e48535555414167416b2f2f51423451483841426741487741414253496d4a6a55304e6a597a4d6859574652514742794557466a4d794e78634742674d7a4e43596a4967594248306479516b4e734f3064644c7751432f74634b526a45314e6a456d5870717a4a7977694e67772b64464a526444382f613051544a516b324d79465a476834424f696b314c77442f2f7741334141414133514c544169594146414141414163414841434b41414141415142424141414348674b394141774141444d524d78457a4e7a4d4845794d6e427856426a7753646f4b36376e33412f4172332b6273584d2f747a4252336f41415142422f2f514245674b3941413841414263694a6a55524d784555466a4d794e6a6358426762495444755445516b46427759534443554d57307343492f33584678494241573046427741424145454141414d6441667741495141414d78457a467a4d324e6a4d79466863324e6a4d7946685552497845304a694d694278456a4554516d497949484555463443675166526a453151524d68536a465153354d64494355776b7830674a533842384541664c53736f496a46725866374d415345324b44442b735145684e6967772f7245414151424241414143414148384142514141444d524d78637a4e6a597a4d68595645534d524e43596a49675948455546344367516754544a52535a4d644942776f47414877507834746131332b7a4145684e69675a462f3678414141434143542f394149484166774144774162414141464969596d4e5451324e6a4d7946685956464159474a7a49324e54516d49794947465251574152592f62305245627a382f626b5245626a38744c6934744c69307444443131556c4e305054313055314a315058644e5145464d544546415451414141514242414141426a7748384142494141444d524d78637a4e6a597a4d6859584279596d497949474278464265416f454730776d4652774b4741305a4542773946414877567a49784251562f424151704d7637674141454146662f30415a38422f41416e414141584969596e4e7859574d7a49324e54516d4a696375416a55304e6a4d79466863484a69596a49685555466863654168555542744d785a795a43496a3866495234644c686f654f79687056546c58483049614e426f354f53596750536c6f4443596658426b6246784d5246684d4b444351354b5556574a7868594642596e47426b4f43794d354c6b4e64414141424142482f39414675416e5141467741414253496d4e54556a4e5463334d78557a46534d564642597a4d6a593346775947415142635430524d4558703364794d6444426b4b46784d3344477057795730476849527a78796f6c42675272426777414141454150502f304166674238414155414141584969593145544d524642597a4d6a593345544d524979636a4267625755556d54486941634a6861546541734448306f4d613130424e5037664e536b61485146492f6842464a5377414151414d2f7a34422f51487741427341414263694a6963334668597a4d6a59334e774d7a46785957467a4d324e6a63334d774d4f416e675749513861427849494a53674b42372b55527773534367514945516b386a6177584f452f43426752774151556b48526f42343955695269556a527950562f67732b56536f414141454151514141414e5142384141444141417a45544d52515a4d4238503451414145415350394e415367433377414e414141584a6959314e44593346775947465251574638772f5255552f584463794d6a657a5a393645684e356e4a6d485861327258596741424144442f545145514174384144514141467963324e6a55304a696333466859564641614d584467794d6a68635030564673795a69313270723132456d5a393645684e372f2f7741334141414133514c54416759414351414141414541502f2b6d414f6b423451414e414141584a6959314e445933467759474652515746356f724d4441725479496949694a61516f4a6157594a434944313951304e39506741424143502f7067444e4165454144514141467963324e6a55304a6963334668595646415a7a5543496949694a514b7938765769412b66554e4466543067516f4a5a576f4c2f2f77412f414b774136514c6e41676341474141414151622f2f77416a414b77417a514c6e41676341475141414151594141662b74416a6b4155774c5441417341414245694a6a55304e6a4d7946685555426955754c69556c4c6934434f536f6a49796f7149794d7141413d3d2920666f726d61742827747275657479706527293b7d5d5d3e3c2f7374796c653e3c2f7376673e3c7376672069643d22655932476a50376b355374312220786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f7376672220786d6c6e733a786c696e6b3d22687474703a2f2f7777772e77332e6f72672f313939392f786c696e6b222076696577426f783d22302030203531312e393939203531312e393939222073686170652d72656e646572696e673d2267656f6d6574726963507265636973696f6e2220746578742d72656e646572696e673d2267656f6d6574726963507265636973696f6e222077696474683d223531312e39393922206865696768743d223531312e393939223e3c7061746820643d224d3436302e3830332c3434362e373339682d3430392e3630364332322e3936372c3434362e3733392c302c3432332e3737322c302c3339352e353432762d3237392e30383543302c38382e3232372c32322e3936372c36352e32362c35312e3139372c36352e3236683430392e3630356332382e32332c302c35312e3139372c32322e3936372c35312e3139372c35312e313937763237392e303834632e3030312c32382e3233312d32322e3936362c35312e3139382d35312e3139362c35312e3139385a222066696c6c3d2223333961336462222f3e3c7061746820643d224d3436302e3830332c36352e3236682d3230342e383034763338312e343739683230342e3830326332382e32332c302c35312e3139372d32322e3936372c35312e3139372d35312e313937762d3237392e303835433531322c38382e3232372c3438392e3033332c36352e32362c3436302e3830332c36352e32365a222066696c6c3d2223333739376433222f3e3c7061746820643d224d3233372e3431332c3338312e313434682d3135362e313232632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d3231332e31313963302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683135362e3132326331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e353836763231332e31313963302c31302e3236362d382e33322c31382e3538362d31382e3538362c31382e3538365a222066696c6c3d2223383064306531222f3e3c673e3c636972636c6520723d2232372e32303422207472616e73666f726d3d227472616e736c617465283135392e333536203233372e33353529222066696c6c3d2223653866326662222f3e3c7061746820643d224d3136302e3431342c3238352e353539632d34302e3236312c302d37332e3330362c33302e392d37362e37312c37302e3237392d2e3331322c332e3631342c322e3535362c362e3732312c362e3138342c362e373231683134312e30353363332e3632382c302c362e3439362d332e3130362c362e3138342d362e3732312d332e3430352d33392e3337382d33362e3434392d37302e3237392d37362e3731312d37302e3237395a222066696c6c3d2223653866326662222f3e3c2f673e3c7061746820643d224d3433392e3030342c3233342e353836682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d36362e35363163302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e3538367636362e35363163302c31302e3236352d382e3332312c31382e3538362d31382e3538362c31382e3538365a22207472616e73666f726d3d226d617472697828312e30363537352030203020312e31353431362d32332e3134323833332d31342e37353032373829222066696c6c3d2223353162336461222f3e3c7061746820643d224d3433392e3030342c3238342e343937682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e35383673382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e35383663302c31302e3236362d382e3332312c31382e3538362d31382e3538362c31382e3538365a22207472616e73666f726d3d226d617472697828312e3037353333312030203020312e3532363339352d32352e3736303732362d38312e38323632323129222066696c6c3d2223353162336461222f3e3c746578742064783d2230222064793d22302220666f6e742d66616d696c793d222671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2220666f6e742d73697a653d2232352e35393939352220666f6e742d7765696768743d2237303022207472616e73666f726d3d227472616e736c617465283237302e363036393738203138302e303431353529222066696c6c3d222366666622207374726f6b652d77696474683d2230223e3c747370616e20793d22302220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b4372656469742053797374656d5d5d3e3c2f747370616e3e3c747370616e20783d22302220793d2232352e35393939352220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b536f756c626f756e6420546f6b656e5d5d3e3c2f747370616e3e3c747370616e20783d22302220793d2235312e313939392220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b284353534254295d5d3e3c2f747370616e3e3c2f746578743e3c746578742064783d2230222064793d22302220666f6e742d66616d696c793d222671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2220666f6e742d73697a653d2232352e35393939352220666f6e742d7765696768743d2237303022207472616e73666f726d3d227472616e736c617465283239352e363933363739203333322e34343530393429222066696c6c3d222366666622207374726f6b652d77696474683d2230223e3c747370616e20793d22302220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415ba26469706673582212202768012326fcab6fbb4815525c6bdb65726e6d6ec66ef5be846e0bbb18197ae564736f6c63430008130033",
"immutableReferences": {},
"generatedSources": [],
"deployedGeneratedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:3887:15",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:15",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:15",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:15",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:15"
},
"nodeType": "YulFunctionCall",
"src": "67:9:15"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:15"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:15",
"type": ""
}
],
"src": "7:75:15"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:15",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:15",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:15",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:15"
},
"nodeType": "YulFunctionCall",
"src": "187:12:15"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:15"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:15"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:15",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:15",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:15",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:15"
},
"nodeType": "YulFunctionCall",
"src": "310:12:15"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:15"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:15"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:32:15",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:15",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:15"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:15"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:15",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:15",
"type": ""
}
],
"src": "334:77:15"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:15",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:15",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:15",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:15",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:15"
},
"nodeType": "YulFunctionCall",
"src": "519:12:15"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:15"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:15"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:15"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:15"
},
"nodeType": "YulFunctionCall",
"src": "490:24:15"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:15"
},
"nodeType": "YulFunctionCall",
"src": "480:35:15"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:15"
},
"nodeType": "YulFunctionCall",
"src": "473:43:15"
},
"nodeType": "YulIf",
"src": "470:63:15"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:15",
"type": ""
}
],
"src": "417:122:15"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:87:15",
"statements": [
{
"nodeType": "YulAssignment",
"src": "607:29:15",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "629:6:15"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "616:12:15"
},
"nodeType": "YulFunctionCall",
"src": "616:20:15"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "607:5:15"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "672:5:15"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "645:26:15"
},
"nodeType": "YulFunctionCall",
"src": "645:33:15"
},
"nodeType": "YulExpressionStatement",
"src": "645:33:15"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "575:6:15",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "583:3:15",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "591:5:15",
"type": ""
}
],
"src": "545:139:15"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:263:15",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "802:83:15",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "804:77:15"
},
"nodeType": "YulFunctionCall",
"src": "804:79:15"
},
"nodeType": "YulExpressionStatement",
"src": "804:79:15"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "777:7:15"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "786:9:15"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "773:3:15"
},
"nodeType": "YulFunctionCall",
"src": "773:23:15"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "798:2:15",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "769:3:15"
},
"nodeType": "YulFunctionCall",
"src": "769:32:15"
},
"nodeType": "YulIf",
"src": "766:119:15"
},
{
"nodeType": "YulBlock",
"src": "895:117:15",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "910:15:15",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "924:1:15",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "914:6:15",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "939:63:15",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "974:9:15"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "985:6:15"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "970:3:15"
},
"nodeType": "YulFunctionCall",
"src": "970:22:15"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "994:7:15"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "949:20:15"
},
"nodeType": "YulFunctionCall",
"src": "949:53:15"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "939:6:15"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "726:9:15",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "737:7:15",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "749:6:15",
"type": ""
}
],
"src": "690:329:15"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1084:40:15",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1095:22:15",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1111:5:15"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1105:5:15"
},
"nodeType": "YulFunctionCall",
"src": "1105:12:15"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1095:6:15"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1067:5:15",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1077:6:15",
"type": ""
}
],
"src": "1025:99:15"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1226:73:15",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1243:3:15"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1248:6:15"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1236:6:15"
},
"nodeType": "YulFunctionCall",
"src": "1236:19:15"
},
"nodeType": "YulExpressionStatement",
"src": "1236:19:15"
},
{
"nodeType": "YulAssignment",
"src": "1264:29:15",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1283:3:15"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1288:4:15",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1279:3:15"
},
"nodeType": "YulFunctionCall",
"src": "1279:14:15"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "1264:11:15"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1198:3:15",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1203:6:15",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "1214:11:15",
"type": ""
}
],
"src": "1130:169:15"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1367:184:15",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1377:10:15",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1386:1:15",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1381:1:15",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1446:63:15",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1471:3:15"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1476:1:15"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1467:3:15"
},
"nodeType": "YulFunctionCall",
"src": "1467:11:15"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1490:3:15"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1495:1:15"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1486:3:15"
},
"nodeType": "YulFunctionCall",
"src": "1486:11:15"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1480:5:15"
},
"nodeType": "YulFunctionCall",
"src": "1480:18:15"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1460:6:15"
},
"nodeType": "YulFunctionCall",
"src": "1460:39:15"
},
"nodeType": "YulExpressionStatement",
"src": "1460:39:15"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1407:1:15"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1410:6:15"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1404:2:15"
},
"nodeType": "YulFunctionCall",
"src": "1404:13:15"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1418:19:15",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1420:15:15",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1429:1:15"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1432:2:15",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1425:3:15"
},
"nodeType": "YulFunctionCall",
"src": "1425:10:15"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1420:1:15"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1400:3:15",
"statements": []
},
"src": "1396:113:15"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1529:3:15"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1534:6:15"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1525:3:15"
},
"nodeType": "YulFunctionCall",
"src": "1525:16:15"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1543:1:15",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1518:6:15"
},
"nodeType": "YulFunctionCall",
"src": "1518:27:15"
},
"nodeType": "YulExpressionStatement",
"src": "1518:27:15"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "1349:3:15",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "1354:3:15",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1359:6:15",
"type": ""
}
],
"src": "1305:246:15"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1605:54:15",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1615:38:15",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1633:5:15"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1640:2:15",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1629:3:15"
},
"nodeType": "YulFunctionCall",
"src": "1629:14:15"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1649:2:15",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1645:3:15"
},
"nodeType": "YulFunctionCall",
"src": "1645:7:15"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1625:3:15"
},
"nodeType": "YulFunctionCall",
"src": "1625:28:15"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1615:6:15"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1588:5:15",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1598:6:15",
"type": ""
}
],
"src": "1557:102:15"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1757:285:15",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1767:53:15",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1814:5:15"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1781:32:15"
},
"nodeType": "YulFunctionCall",
"src": "1781:39:15"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1771:6:15",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1829:78:15",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1895:3:15"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1900:6:15"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1836:58:15"
},
"nodeType": "YulFunctionCall",
"src": "1836:71:15"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1829:3:15"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1955:5:15"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1962:4:15",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1951:3:15"
},
"nodeType": "YulFunctionCall",
"src": "1951:16:15"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1969:3:15"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1974:6:15"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "1916:34:15"
},
"nodeType": "YulFunctionCall",
"src": "1916:65:15"
},
"nodeType": "YulExpressionStatement",
"src": "1916:65:15"
},
{
"nodeType": "YulAssignment",
"src": "1990:46:15",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2001:3:15"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2028:6:15"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2006:21:15"
},
"nodeType": "YulFunctionCall",
"src": "2006:29:15"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1997:3:15"
},
"nodeType": "YulFunctionCall",
"src": "1997:39:15"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1990:3:15"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1738:5:15",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1745:3:15",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1753:3:15",
"type": ""
}
],
"src": "1665:377:15"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2166:195:15",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2176:26:15",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2188:9:15"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2199:2:15",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2184:3:15"
},
"nodeType": "YulFunctionCall",
"src": "2184:18:15"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2176:4:15"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2223:9:15"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2234:1:15",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2219:3:15"
},
"nodeType": "YulFunctionCall",
"src": "2219:17:15"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2242:4:15"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2248:9:15"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2238:3:15"
},
"nodeType": "YulFunctionCall",
"src": "2238:20:15"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2212:6:15"
},
"nodeType": "YulFunctionCall",
"src": "2212:47:15"
},
"nodeType": "YulExpressionStatement",
"src": "2212:47:15"
},
{
"nodeType": "YulAssignment",
"src": "2268:86:15",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2340:6:15"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2349:4:15"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2276:63:15"
},
"nodeType": "YulFunctionCall",
"src": "2276:78:15"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2268:4:15"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2138:9:15",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2150:6:15",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2161:4:15",
"type": ""
}
],
"src": "2048:313:15"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2481:34:15",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2491:18:15",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2506:3:15"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "2491:11:15"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2453:3:15",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2458:6:15",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "2469:11:15",
"type": ""
}
],
"src": "2367:148:15"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2631:280:15",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2641:53:15",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2688:5:15"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2655:32:15"
},
"nodeType": "YulFunctionCall",
"src": "2655:39:15"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2645:6:15",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2703:96:15",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2787:3:15"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2792:6:15"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "2710:76:15"
},
"nodeType": "YulFunctionCall",
"src": "2710:89:15"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2703:3:15"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2847:5:15"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2854:4:15",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2843:3:15"
},
"nodeType": "YulFunctionCall",
"src": "2843:16:15"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2861:3:15"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2866:6:15"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "2808:34:15"
},
"nodeType": "YulFunctionCall",
"src": "2808:65:15"
},
"nodeType": "YulExpressionStatement",
"src": "2808:65:15"
},
{
"nodeType": "YulAssignment",
"src": "2882:23:15",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2893:3:15"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2898:6:15"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2889:3:15"
},
"nodeType": "YulFunctionCall",
"src": "2889:16:15"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2882:3:15"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2612:5:15",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2619:3:15",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2627:3:15",
"type": ""
}
],
"src": "2521:390:15"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3149:363:15",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3160:102:15",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3249:6:15"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3258:3:15"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "3167:81:15"
},
"nodeType": "YulFunctionCall",
"src": "3167:95:15"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3160:3:15"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3272:102:15",
"value": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "3361:6:15"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3370:3:15"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "3279:81:15"
},
"nodeType": "YulFunctionCall",
"src": "3279:95:15"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3272:3:15"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3384:102:15",
"value": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "3473:6:15"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3482:3:15"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "3391:81:15"
},
"nodeType": "YulFunctionCall",
"src": "3391:95:15"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3384:3:15"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3496:10:15",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3503:3:15"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3496:3:15"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3112:3:15",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "3118:6:15",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "3126:6:15",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3134:6:15",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3145:3:15",
"type": ""
}
],
"src": "2917:595:15"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3546:152:15",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3563:1:15",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3566:77:15",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3556:6:15"
},
"nodeType": "YulFunctionCall",
"src": "3556:88:15"
},
"nodeType": "YulExpressionStatement",
"src": "3556:88:15"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3660:1:15",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3663:4:15",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3653:6:15"
},
"nodeType": "YulFunctionCall",
"src": "3653:15:15"
},
"nodeType": "YulExpressionStatement",
"src": "3653:15:15"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3684:1:15",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3687:4:15",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3677:6:15"
},
"nodeType": "YulFunctionCall",
"src": "3677:15:15"
},
"nodeType": "YulExpressionStatement",
"src": "3677:15:15"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "3518:180:15"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3732:152:15",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3749:1:15",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3752:77:15",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3742:6:15"
},
"nodeType": "YulFunctionCall",
"src": "3742:88:15"
},
"nodeType": "YulExpressionStatement",
"src": "3742:88:15"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3846:1:15",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3849:4:15",
"type": "",
"value": "0x12"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3839:6:15"
},
"nodeType": "YulFunctionCall",
"src": "3839:15:15"
},
"nodeType": "YulExpressionStatement",
"src": "3839:15:15"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3870:1:15",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3873:4:15",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3863:6:15"
},
"nodeType": "YulFunctionCall",
"src": "3863:15:15"
},
"nodeType": "YulExpressionStatement",
"src": "3863:15:15"
}
]
},
"name": "panic_error_0x12",
"nodeType": "YulFunctionDefinition",
"src": "3704:180:15"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value2, value1, value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value2, pos)\n\n end := pos\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n}\n",
"id": 15,
"language": "Yul",
"name": "#utility.yul"
}
],
"sourceMap": "118:8916:13:-:0;;;141:16;;;;;;;;;;118:8916;;;;;;",
"deployedSourceMap": "118:8916:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;160:8872;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;214:13;232:21;256;273:3;256:16;:21::i;:::-;232:45;;281:15;:2373;;;;;;;;;;;;;;;;;;;2658:15;:6320;;;;;;;;;;;;;;;;;;;9013:1;9016:7;9025:1;8996:31;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8982:46;;;;;160:8872;;;:::o;447:696:8:-;503:13;552:14;589:1;569:17;580:5;569:10;:17::i;:::-;:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;604:41;;659:11;785:6;781:2;777:15;769:6;765:28;758:35;;820:280;827:4;820:280;;;851:5;;;;;;;;990:8;985:2;978:5;974:14;969:30;964:3;956:44;1044:2;1035:11;;;;;;:::i;:::-;;;;;1077:1;1068:5;:10;820:280;1064:21;820:280;1120:6;1113:13;;;;;447:696;;;:::o;10139:916:11:-;10192:7;10211:14;10228:1;10211:18;;10276:8;10267:5;:17;10263:103;;10313:8;10304:17;;;;;;:::i;:::-;;;;;10349:2;10339:12;;;;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;;;;:::i;:::-;;;;;10465:2;10455:12;;;;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;;;;:::i;:::-;;;;;10581:2;10571:12;;;;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;;;;:::i;:::-;;;;;10695:1;10685:11;;;;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;;;;:::i;:::-;;;;;10808:1;10798:11;;;;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;;;;:::i;:::-;;;;;10921:1;10911:11;;;;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;;;;10950:66;11042:6;11035:13;;;10139:916;;;:::o;88:117:15:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:246::-;1386:1;1396:113;1410:6;1407:1;1404:13;1396:113;;;1495:1;1490:3;1486:11;1480:18;1476:1;1471:3;1467:11;1460:39;1432:2;1429:1;1425:10;1420:15;;1396:113;;;1543:1;1534:6;1529:3;1525:16;1518:27;1367:184;1305:246;;;:::o;1557:102::-;1598:6;1649:2;1645:7;1640:2;1633:5;1629:14;1625:28;1615:38;;1557:102;;;:::o;1665:377::-;1753:3;1781:39;1814:5;1781:39;:::i;:::-;1836:71;1900:6;1895:3;1836:71;:::i;:::-;1829:78;;1916:65;1974:6;1969:3;1962:4;1955:5;1951:16;1916:65;:::i;:::-;2006:29;2028:6;2006:29;:::i;:::-;2001:3;1997:39;1990:46;;1757:285;1665:377;;;;:::o;2048:313::-;2161:4;2199:2;2188:9;2184:18;2176:26;;2248:9;2242:4;2238:20;2234:1;2223:9;2219:17;2212:47;2276:78;2349:4;2340:6;2276:78;:::i;:::-;2268:86;;2048:313;;;;:::o;2367:148::-;2469:11;2506:3;2491:18;;2367:148;;;;:::o;2521:390::-;2627:3;2655:39;2688:5;2655:39;:::i;:::-;2710:89;2792:6;2787:3;2710:89;:::i;:::-;2703:96;;2808:65;2866:6;2861:3;2854:4;2847:5;2843:16;2808:65;:::i;:::-;2898:6;2893:3;2889:16;2882:23;;2631:280;2521:390;;;;:::o;2917:595::-;3145:3;3167:95;3258:3;3249:6;3167:95;:::i;:::-;3160:102;;3279:95;3370:3;3361:6;3279:95;:::i;:::-;3272:102;;3391:95;3482:3;3473:6;3391:95;:::i;:::-;3384:102;;3503:3;3496:10;;2917:595;;;;;;:::o;3518:180::-;3566:77;3563:1;3556:88;3663:4;3660:1;3653:15;3687:4;3684:1;3677:15;3704:180;3752:77;3749:1;3742:88;3849:4;3846:1;3839:15;3873:4;3870:1;3863:15",
"source": "// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\nimport \"@openzeppelin/contracts/utils/Strings.sol\";\n\ncontract OnChainSVG {\n\tconstructor() {}\n\n\tfunction getSvgImage(uint uid) external pure returns (string memory){\n\t\tstring memory uid_str = Strings.toString(uid);\n\t\tstring memory a = '\";\n\t\treturn string(abi.encodePacked(a, uid_str, b));\n\t}\n}\n",
"sourcePath": "/home/snsd0805/code/1112_blockchain/Final/contracts/OnChainSVG.sol",
"ast": {
"absolutePath": "project:/contracts/OnChainSVG.sol",
"exportedSymbols": {
"Math": [
2691
],
"OnChainSVG": [
2837
],
"SignedMath": [
2796
],
"Strings": [
1789
]
},
"id": 2838,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2798,
"literals": [
"solidity",
">=",
"0.4",
".22",
"<",
"0.9",
".0"
],
"nodeType": "PragmaDirective",
"src": "32:32:13"
},
{
"absolutePath": "@openzeppelin/contracts/utils/Strings.sol",
"file": "@openzeppelin/contracts/utils/Strings.sol",
"id": 2799,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2838,
"sourceUnit": 1790,
"src": "65:51:13",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "OnChainSVG",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 2837,
"linearizedBaseContracts": [
2837
],
"name": "OnChainSVG",
"nameLocation": "127:10:13",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 2802,
"nodeType": "Block",
"src": "155:2:13",
"statements": []
},
"id": 2803,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2800,
"nodeType": "ParameterList",
"parameters": [],
"src": "152:2:13"
},
"returnParameters": {
"id": 2801,
"nodeType": "ParameterList",
"parameters": [],
"src": "155:0:13"
},
"scope": 2837,
"src": "141:16:13",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 2835,
"nodeType": "Block",
"src": "228:8804:13",
"statements": [
{
"assignments": [
2811
],
"declarations": [
{
"constant": false,
"id": 2811,
"mutability": "mutable",
"name": "uid_str",
"nameLocation": "246:7:13",
"nodeType": "VariableDeclaration",
"scope": 2835,
"src": "232:21:13",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 2810,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "232:6:13",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"id": 2816,
"initialValue": {
"arguments": [
{
"id": 2814,
"name": "uid",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2805,
"src": "273:3:13",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"id": 2812,
"name": "Strings",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1789,
"src": "256:7:13",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Strings_$1789_$",
"typeString": "type(library Strings)"
}
},
"id": 2813,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "264:8:13",
"memberName": "toString",
"nodeType": "MemberAccess",
"referencedDeclaration": 1619,
"src": "256:16:13",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$",
"typeString": "function (uint256) pure returns (string memory)"
}
},
"id": 2815,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "256:21:13",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "232:45:13"
},
{
"assignments": [
2818
],
"declarations": [
{
"constant": false,
"id": 2818,
"mutability": "mutable",
"name": "a",
"nameLocation": "295:1:13",
"nodeType": "VariableDeclaration",
"scope": 2835,
"src": "281:15:13",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 2817,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "281:6:13",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"id": 2820,
"initialValue": {
"hexValue": "3c7376672069643d22655932476a50376b355374312220786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f7376672220786d6c6e733a786c696e6b3d22687474703a2f2f7777772e77332e6f72672f313939392f786c696e6b222076696577426f783d22302030203531312e393939203531312e393939222073686170652d72656e646572696e673d2267656f6d6574726963507265636973696f6e2220746578742d72656e646572696e673d2267656f6d6574726963507265636973696f6e222077696474683d223531312e39393922206865696768743d223531312e393939223e3c7061746820643d224d3436302e3830332c3434362e373339682d3430392e3630364332322e3936372c3434362e3733392c302c3432332e3737322c302c3339352e353432762d3237392e30383543302c38382e3232372c32322e3936372c36352e32362c35312e3139372c36352e3236683430392e3630356332382e32332c302c35312e3139372c32322e3936372c35312e3139372c35312e313937763237392e303834632e3030312c32382e3233312d32322e3936362c35312e3139382d35312e3139362c35312e3139385a222066696c6c3d2223333961336462222f3e3c7061746820643d224d3436302e3830332c36352e3236682d3230342e383034763338312e343739683230342e3830326332382e32332c302c35312e3139372d32322e3936372c35312e3139372d35312e313937762d3237392e303835433531322c38382e3232372c3438392e3033332c36352e32362c3436302e3830332c36352e32365a222066696c6c3d2223333739376433222f3e3c7061746820643d224d3233372e3431332c3338312e313434682d3135362e313232632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d3231332e31313963302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683135362e3132326331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e353836763231332e31313963302c31302e3236362d382e33322c31382e3538362d31382e3538362c31382e3538365a222066696c6c3d2223383064306531222f3e3c673e3c636972636c6520723d2232372e32303422207472616e73666f726d3d227472616e736c617465283135392e333536203233372e33353529222066696c6c3d2223653866326662222f3e3c7061746820643d224d3136302e3431342c3238352e353539632d34302e3236312c302d37332e3330362c33302e392d37362e37312c37302e3237392d2e3331322c332e3631342c322e3535362c362e3732312c362e3138342c362e373231683134312e30353363332e3632382c302c362e3439362d332e3130362c362e3138342d362e3732312d332e3430352d33392e3337382d33362e3434392d37302e3237392d37362e3731312d37302e3237395a222066696c6c3d2223653866326662222f3e3c2f673e3c7061746820643d224d3433392e3030342c3233342e353836682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e353836762d36362e35363163302d31302e3236342c382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e3538367636362e35363163302c31302e3236352d382e3332312c31382e3538362d31382e3538362c31382e3538365a22207472616e73666f726d3d226d617472697828312e30363537352030203020312e31353431362d32332e3134323833332d31342e37353032373829222066696c6c3d2223353162336461222f3e3c7061746820643d224d3433392e3030342c3238342e343937682d3134372e3138632d31302e3236342c302d31382e3538362d382e3332322d31382e3538362d31382e35383673382e3332322d31382e3538362c31382e3538362d31382e353836683134372e31386331302e3236342c302c31382e3538362c382e3332322c31382e3538362c31382e35383663302c31302e3236362d382e3332312c31382e3538362d31382e3538362c31382e3538365a22207472616e73666f726d3d226d617472697828312e3037353333312030203020312e3532363339352d32352e3736303732362d38312e38323632323129222066696c6c3d2223353162336461222f3e3c746578742064783d2230222064793d22302220666f6e742d66616d696c793d222671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2220666f6e742d73697a653d2232352e35393939352220666f6e742d7765696768743d2237303022207472616e73666f726d3d227472616e736c617465283237302e363036393738203138302e303431353529222066696c6c3d222366666622207374726f6b652d77696474683d2230223e3c747370616e20793d22302220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b4372656469742053797374656d5d5d3e3c2f747370616e3e3c747370616e20783d22302220793d2232352e35393939352220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b536f756c626f756e6420546f6b656e5d5d3e3c2f747370616e3e3c747370616e20783d22302220793d2235312e313939392220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b284353534254295d5d3e3c2f747370616e3e3c2f746578743e3c746578742064783d2230222064793d22302220666f6e742d66616d696c793d222671756f743b655932476a50376b355374313a3a3a536f757263652053616e732050726f2671756f743b2220666f6e742d73697a653d2232352e35393939352220666f6e742d7765696768743d2237303022207472616e73666f726d3d227472616e736c617465283239352e363933363739203333322e34343530393429222066696c6c3d222366666622207374726f6b652d77696474683d2230223e3c747370616e20793d22302220666f6e742d7765696768743d2237303022207374726f6b652d77696474683d2230223e3c215b43444154415b",
"id": 2819,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "299:2355:13",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_a20e4716261edec8361c36422842c58d1d5fc8b652496c3ad653882c41a61361",
"typeString": "literal_string \"\""
},
"value": "]]>"
},
"nodeType": "VariableDeclarationStatement",
"src": "2658:6320:13"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 2829,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2818,
"src": "9013:1:13",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 2830,
"name": "uid_str",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2811,
"src": "9016:7:13",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 2831,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2822,
"src": "9025:1:13",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 2827,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967295,
"src": "8996:3:13",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 2828,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "9000:12:13",
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "8996:16:13",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 2832,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "8996:31:13",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 2826,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "8989:6:13",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_string_storage_ptr_$",
"typeString": "type(string storage pointer)"
},
"typeName": {
"id": 2825,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "8989:6:13",
"typeDescriptions": {}
}
},
"id": 2833,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "8989:39:13",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 2809,
"id": 2834,
"nodeType": "Return",
"src": "8982:46:13"
}
]
},
"functionSelector": "6796b7dd",
"id": 2836,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getSvgImage",
"nameLocation": "169:11:13",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2806,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2805,
"mutability": "mutable",
"name": "uid",
"nameLocation": "186:3:13",
"nodeType": "VariableDeclaration",
"scope": 2836,
"src": "181:8:13",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2804,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "181:4:13",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "180:10:13"
},
"returnParameters": {
"id": 2809,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2808,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 2836,
"src": "214:13:13",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 2807,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "214:6:13",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "213:15:13"
},
"scope": 2837,
"src": "160:8872:13",
"stateMutability": "pure",
"virtual": false,
"visibility": "external"
}
],
"scope": 2838,
"src": "118:8916:13",
"usedErrors": []
}
],
"src": "32:9003:13"
},
"compiler": {
"name": "solc",
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.13",
"updatedAt": "2023-06-04T09:28:33.990Z",
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}