!p      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !None"#%27>HMSVX_Mhevm{This is an easy way to force full evaluation of a value inside of the IO monad, being essentially just the composition of evaluate and force.None"#%27>HMSVX_N8/.-,+*)('&%$#"!  0123456788/.-,+*)('&%$#"!  012345678None"#%27>HMSVX_c:hevm: renders a  as a multi-line A complete with addressing, hex digits, and ASCII representation. Sample output .Length: 100 (0x64) bytes 0000: 4b c1 ad 8a 5b 47 d7 57 48 64 e7 cc 5e b5 2f 6e K...[G.WHd..^./n 0010: c5 b3 a4 73 44 3b 97 53 99 2d 54 e7 1b 2f 91 12 ...sD;.S.-T../.. 0020: c8 1a ff c4 3b 2b 72 ea 97 e2 9f e2 93 ad 23 79 ....;+r.......#y 0030: e8 0f 08 54 02 14 fa 09 f0 2d 34 c9 08 6b e1 64 ...T.....-4..k.d 0040: d1 c5 98 7e d6 a1 98 e2 97 da 46 68 4e 60 11 15 ...~......FhN`.. 0050: d8 32 c6 0b 70 f5 2e 76 7f 8d f2 3b ed de 90 c6 .2..p..v...;.... 0060: 93 12 9c e1 ....hevma displays a number in hexidecimal and pads the number with 0 so that it has a minimum length of w.;hevm; converts a  to a - showing the octets grouped in 32-bit words. Sample output 4b c1 ad 8a 5b 47 d7 57hevm returns f for non-control ascii characters. These characters will all fit in a single character when rendered.hevm( breaks up a list into sublists of size n&. The last group may be smaller than n elements. When n8 less not positive the list is returned as one sublist.:;:;None"#%27>HMSVX_h_hevm8Opaque representation of the C library's context struct.<hevm5Run a given precompiled contract using the C library.<hevm&The number of the precompiled contracthevmThe input bufferhevmThe desired output sizehevmHopefully, the output buffer<<None"#%27>HMSVX_l=hevmFTurn a list state value into a widget given an item drawing function.=hevm1Rendering function, True for the selected elementhevmWhether the list has focushevmThe List to be renderedhevmrendered widget=>=>None"#%.278=>?HMSVX_t\Ihevm7Conversion from a sized BV to a fixed-sized bit-vector.JhevmdConvert a sized bit-vector to the corresponding fixed-sized bit-vector, for instance 'SWord 16' to  . See also .Khevm<Capture the correspondence between sized and fixed-sized BVsLhevm7Conversion from a fixed-sized BV to a sized bit-vector.MhevmGConvert a fixed-sized bit-vector to the corresponding sized bit-vector,Nhevm'convert between (WordN 256) and Word2561?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno1STQROPNLMKIJFGHCDEUABVWXYZ[\]^_`abcdefghij?@klmnoNone"#%27>HMSVX_vNone"#%27>HMSVX_wO      !"#$O      !"#$ None"#%27>HMSVX_z'('( None"#%247=>?HMSVX_};hevmThe  function for our desired monadhevmThe  function for the same monadhevmThe puts and gets to execute&)*+,./-0123456789:;<=>?@ABCDEFGHIJKLMN&678459:;3012,./-<=>+?@ABCDEFGHIJ*K)LMN None"#%27=>?HMSVX_mZhevm8This type can give insight into the provenance of a termXYZ^\`_[]abcdefghijklmnopqabcZ^\`_[]dXYefghijklmnopq None"#%27>HMSVX_7~~ None"#$%.27>HMSVX_khevm.Operations over buffers (concrete or symbolic)DA buffer is a list of bytes. For concrete execution, this is simply G. In symbolic settings, it is a list of symbolic bitvectors of size 8.hevmZSymbolic words of 256 bits, possibly annotated with additional "insightful" informationhevmJConvenience functions transporting between the concrete and symbolic realmhevmLNote: these forms are crude and in general, the continuation passing style  forceConcrete[ alternatives should be prefered for better error handling when used during EVM executionhevm Arithmetic operations on SymWordhevm8Operations over symbolic memory (list of symbolic bytes)hevmlCustom instances for SymWord, many of which have direct analogues for concrete words defined in Concrete.hs++None"#%27>HMSVX_m hevmPretty-print some .--None"#%279>HMSVX_mh}hevmEvery node in the AST has an ID, and other nodes reference those IDs. This function recurses through the tree looking for objects with the "id" key and makes a big map from ID to value.O !"#$%&'()*+,-./0123456789:;<=>?@AB`abcdefghijklmnopqrstuvwxyz{|}~Ovw -./0123456789:>?@AB!"#$%&'()*+,;<=proq`gcadxsuyhkiejfbmnl|z{t}~None"#%&',.127=>?HMSUVX_mͧ+hevmData about the blockhevmVarious environmental datahevmWhen doing symbolic execution, we have three different ways to model the storage of contracts. This determines not only the initial contract storage model but also how RPC or state fetched contracts will be modeled.hevmUses o Storage. Reading / Writing from abstract locations causes a runtime failure. Can be nicely combined with RPC.hevmUses i Storage. Reading / Writing never reaches RPC, but always done using an SMT array with no default value.hevmUses o Storage. Reading / Writing never reaches RPC, but always done using an SMT array with 0 as the default value.hevmThe state of a contracthevmiA contract can either have concrete or symbolic storage depending on what type of execution we are doinghevmA contract is either in creation (running its "constructor") or post-creation, and code in these two modes is treated differently by instructions like  EXTCODEHASH*, so we distinguish these two code types.hevm Constructor code, during contract creationhevmInstance code, after contract creationhevm+The "accrued substate" across a transactionhevm(The state that spans a whole transactionhevm:The "registers" of the VM along with memory and data stackhevmCall/create infohevm(An entry in the VM's "call/create stack"hevm A log entryhevm$A way to specify an initial VM statehevmvThe cache is data that can be persisted for efficiency: any expensive query that is constant at least within a block.hevm9The possible return values of a SMT query regarding JUMPIhevmAlias for the type of e.g. exec1.hevmFQueries halt execution until resolved through RPC calls or SMT querieshevm%The state of a stepwise EVM executionhevm"The possible result states of a VMhevmAn operation failedhevm$Reached STOP, RETURN, or end-of-codehevmEVM failure modesqhevm*A stack frame can be popped in three ways.rhevmSTOP, RETURN, or no more codeshevmREVERTthevmAny other errorhevmCAn "external" view of a contract's bytecode, appropriate for e.g.  EXTCODEHASH.hevm)Initialize empty contract with given codehevmUpdate program counterhevmExecutes the EVM one stephevmHChecks a *CALL for failure; OOG, too many callframes, memory access etc.hevm5Construct SMT Query and halt execution until resolvedhevm5Construct RPC Query and halt execution until resolvedhevm>Loads the selected contract as the current contract to executehevm2Burn gas, failing if insufficient gas is availablehevmOReplace a contract's code, like when CREATE returns from the constructor code.hevm]This function defines how to pop the current stack frame in either of the ways specified by q.gIt also handles the case when the current stack frame is the only one; in this case, we set the final  of the VM execution.hevmXAlthough we'd like to define this directly as an uninterpreted function, we cannot because [a] is not a symbolic type. We must convert the list into a suitable symbolic type first. The only important property of this conversion is that it is injective. We embedd the bytestring as a pair of symbolic integers, this is a fairly easy solution.hevmContract addresshevmStorage slot keyhevm ContinuationQ     +*)('&%"! $#,=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqstruvwxyz{|}~Q+*)('&%"! $#     ,IHGFEDCBA@?>=KJRQPONMLZYXWVUTS]\[fedcba`_^kjihgmlpon~}|{zyxwvuqstrNone"#%&'127>HMSVX_hevm/Abstract representation of an RPC fetch requestNone "#%27=>?HMSVX_ghہ          None"#%27>HMSVX_%&'('(%&None"#%27>HMSVX_,-./0,-./0None"#%&'.27>HMSVX_m 1hevm'Type alias for an operational monad of Action2hevm-The instruction type of the operational monad3hevm6Keep executing until an intermediate result is reached4hevm5Keep executing until an intermediate state is reached5hevmWait for a query to be resolved6hevmMultiple things can happen7hevmEmbed a VM state transformation<hevm4Run the VM until final result, resolving all queries=hevm Run the VM until its final state124735689:;<=>?@24735618<=9:;>?@None"#%.27>HMSVX_kp Chevm@Convenience functions for generating large symbolic byte stringsEhevm@Convenience functions for generating large symbolic byte stringsFhevm@Convenience functions for generating large symbolic byte stringsGhevm@Convenience functions for generating large symbolic byte stringsHhevmAbstract calldata argument generation We don't assume input types are restricted to their proper range here; such assumptions should instead be given as preconditions. This could catch some interesting calldata mismanagement errors.Ihevm{Generates calldata matching given type signature, optionally specialized with concrete arguments. Any argument given as " symbolic8" or omitted at the tail of the list are kept symbolic.LhevmkInterpreter which explores all paths at | branching points. | returns a list of possible final evm statesRhevmSymbolically execute the VM and check all endstates against the postcondition, if available. Returns `Right VM` if the postcondition can be violated, where @ is a prestate counterexample, or `Left (VM, [VM])`, a pair of prestate and post vm states.ShevmeCompares two contract runtimes for trace equivalence by running two VMs and comparing the end states.ABCDEFGHIJKLMNOPQRSTUCEFGDHIJKLMBANOPQRSTUNone"#%27>HMSVX_VXWYZ[\]VXWYZ[\]None"#%27>HMSVX_`aihgfedcbjklmnopqrstuvwx`aihgfedcbqponmlkjrstuvwxNone"#%27>HMSVX_R yz{|}~ yz{|}~None"#%.27>HMSVX_XNone"#%27>HMSVX_None"#%27>HMSVX_hevm*This is like an unresolved source mapping.hevmAssuming a constructor is loaded, this stepper will run the constructor to create the test contract, give it an initial balance, and run `setUp()'.hevmAssuming a test contract is loaded and initialized, this stepper will run the specified test method and return whether it succeeded.hevm;Randomly generates the calldata arguments and runs the test>>None"#%27>HMSVX_ !None"#%27>HMSVX_ None"#%.27>HMSVX_d+hevmXEach step command in the terminal should finish immediately with one of these outcomes.,hevmProgram finished-hevmTook one step; more steps to go/hevmRun a specific number of steps0hevm Finish when a VM predicate holds7hevm This turns a StepperB into a state action usable from within the TTY loop, yielding a  StepOutcome depending on the StepMode.l      !"#$%&'()*+,-.0/123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_l     %$#"! ('&*)543261.0/+,-789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_None"#%.27=>?HMSVX_ lhevmAllow blocking and returningmhevmForbid blocking and returningwhevmProgram finishedxhevmTook one step; more steps to goyhevmCame across blocking request{hevmFinish after one opcode step|hevmRun a specific number of steps}hevmFinish before the next opcode~hevm Finish when a VM predicate holdshevmSpecifies whether to do I/O blocking or VM halting while stepping. When we step backwards, we don't want to allow those things.A`ajihgfedcbkmlnorqpstuvxwyz}|{~A`ajihgfedcbz}|{~vxwyustorqpnkml None"#%27>HMSVX_X"#$$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_``aabbcddefghijkllmmnnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ A B C D E F G H I J K L M N N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                             {                           !"#$%&'()*+,-./011234566789:;;<=>?@ABCDEFGHIJKKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~MM      !"#$%&'()*+,-%./0123456789:;<=>?@5ABCDEFGHIJK+LMNOPQRSSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~7      5!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi529jklmn&opqrstuv3w'xyz{|}~       !!!!!!!!hevm-0.41.0-inplace EVM.DemandEVM.FeeSchedule EVM.HexdumpEVM.PrecompiledEVM.TTYCenteredList EVM.TypesEVM.RLPEVM.Op EVM.Keccak EVM.Patricia EVM.ConcreteEVM.Transaction EVM.SymbolicEVM.ABI EVM.SolidityEVM EVM.Fetch EVM.Facts EVM.Facts.GitEVM.Exec EVM.Stepper EVM.SymExec EVM.DebugEVM.DappEVM.StorageLayout EVM.Format EVM.Flatten EVM.UnitTest EVM.VMTestEVM.TTY EVM.EmacsEVM.Dev Paths_hevmdemandEIP FeeScheduleg_zerog_base g_verylowg_lowg_midg_high g_extcode g_balanceg_sload g_jumpdestg_ssetg_sresetr_sclearg_selfdestructg_selfdestruct_newaccountr_selfdestructg_create g_codedepositg_call g_callvalue g_callstipend g_newaccountg_exp g_expbyteg_memory g_txcreate g_txdatazerog_txdatanonzero g_transactiong_log g_logdata g_logtopicg_sha3 g_sha3wordg_copy g_blockhash g_extcodehash g_quaddivisorg_ecaddg_ecmulg_pairing_pointg_pairing_baseg_froundr_blockeip150eip160 homestead metropoliseip1108eip1884eip2028eip2200istanbul$fShowFeeSchedule prettyHex simpleHexexecute renderListdrawListElementsNibble ByteStringSSAddrsaddressWord160AddraddressWord160 FromSizzleBV fromSizzle FromSizzle ToSizzleBVtoSizzleToSizzleW256Int512Word512strip0x hexByteStringhexTextreadNreadNull wordField addrFieldaddrFieldMaybe dataField toWord512 fromWord512numpadLeftpadRighttruncpadword256wordbyteAtfromBEasBE word256Bytes word160ByteshilotoByte unpackNibbles packNibbles$fFiniteBitsWord512 $fBitsWord512 $fIxWord512$fHashableWord512 $fReadWord512 $fShowWord512$fIntegralWord512 $fRealWord512 $fNumWord512 $fEnumWord512$fBoundedWord512 $fOrdWord512 $fEqWord512$fDoubleWordWord512$fBinaryWordInt512$fFiniteBitsInt512 $fBitsInt512 $fIxInt512$fHashableInt512 $fReadInt512 $fShowInt512$fIntegralInt512 $fRealInt512 $fNumInt512 $fEnumInt512$fBoundedInt512 $fOrdInt512 $fEqInt512$fDoubleWordInt512$fBinaryWordWord512$fParseRecordW256$fParseFieldsW256$fParseFieldW256$fFromJSONKeyW256$fFromJSONW256 $fShowW256 $fReadW256$fParseRecordAddr$fParseFieldsAddr$fParseFieldAddr$fFromJSONKeyAddr$fFromJSONAddr $fShowAddr $fReadAddr$fFromSizzleBVWordN$fFromSizzleBVWordN0$fToSizzleBVAddr$fToSizzleBVW256 $fShowSAddr$fReadByteStringS$fShowByteStringS $fShowNibble $fDataWord512$fGenericWord512 $fDataInt512$fGenericInt512 $fNumW256$fIntegralW256 $fRealW256 $fOrdW256 $fEnumW256$fEqW256 $fBitsW256$fFiniteBitsW256 $fBoundedW256 $fGenericW256 $fNumAddr$fIntegralAddr $fRealAddr $fOrdAddr $fEnumAddr$fEqAddr $fBitsAddr $fGenericAddr $fNumSAddr$fEqByteStringS $fNumNibble$fIntegralNibble $fRealNibble $fOrdNibble $fEnumNibble $fEqNibble $fBitsNibble$fFiniteBitsNibble$fBoundedNibble$fGenericNibbleRLPBSListsliceitemInfo rlpdecode rlplengths rlpencode encodeLenrlpListoctets octets160 rlpWord256 rlpWord160 $fShowRLP$fEqRLPOpOpStopOpAddOpMulOpSubOpDivOpSdivOpModOpSmodOpAddmodOpMulmodOpExp OpSignextendOpLtOpGtOpSltOpSgtOpEqOpIszeroOpAndOpOrOpXorOpNotOpByteOpShlOpShrOpSarOpSha3 OpAddress OpBalanceOpOriginOpCaller OpCallvalueOpCalldataloadOpCalldatasizeOpCalldatacopy OpCodesize OpCodecopy OpGasprice OpExtcodesize OpExtcodecopyOpReturndatasizeOpReturndatacopy OpExtcodehash OpBlockhash OpCoinbase OpTimestampOpNumber OpDifficulty OpGaslimit OpChainid OpSelfbalanceOpPopOpMloadOpMstore OpMstore8OpSloadOpSstoreOpJumpOpJumpiOpPcOpMsizeOpGas OpJumpdestOpCreateOpCall OpStaticcall OpCallcodeOpReturnOpDelegatecall OpCreate2OpRevertOpSelfdestructOpDupOpSwapOpLogOpPush OpUnknownopString$fShowOp$fEqOpkeccak abiKeccakMapDBTrieNodeDBNodeEmptyShortcutFullRefHashLiteralPathDBKVPutGetinsertDBlookupDBrunDB encodePathrlpRefrlpNodeputNodegetNode lookupPathgetValemptyRef emptyRefs addPrefix insertRefupdatedeleteinsertlookupInrunTrierunMapDB insertValuescalcRoot $fShowRef$fShowDB $fFunctorKV $fFunctorDB$fApplicativeDB $fMonadDB $fShowNode$fEqNode$fEqRefWordCWhiffDull FromKeccakVar InfixBinOpBinOpUnOpwordAtreadByteOrZero byteStringSliceWithDefaultZeroesw256 wordValue sliceMemory writeMemoryreadMemoryWordreadMemoryWord32 setMemoryWord setMemoryByte readBlobWordblobSize keccakBlob^ createAddresscreate2Address $fOrdWord $fRealWord $fNumWord$fIntegralWord $fEnumWord$fEqWord $fBoundedWord$fFiniteBitsWord $fBitsWord $fReadWord $fShowWord $fShowWhiff TransactiontxData txGasLimit txGasPricetxNoncetxRtxStxToAddrtxVtxValueecrecsender signingData txGasCost$fFromJSONTransaction$fShowTransactionBufferConcreteBufferSymbolicBufferSymWordSsw256litWordw256litlitAddrlitBytes maybeLitWord maybeLitAddr maybeLitBytesforceLit forceLitBytessdivsmodaddmodmulmodsltsgtswordAtreadByteOrZero'sliceWithZero' writeMemory'readMemoryWord'readMemoryWord32'setMemoryWord'setMemoryByte' readSWord'select'readSWordWithBoundlengrabditch sliceWithZero readSWord$fOrdSymbolicSymWord $fEnumSymWord $fEqSymWord$fBoundedSymWord$fMergeableSymWord$fSDivisibleSymWord $fBitsSymWord $fNumSymWord$fEqSymbolicSymWord $fShowSymWord$fEqSymbolicBuffer$fMonoidBuffer$fSemigroupBuffer $fShowBufferEventIndexed NotIndexed Anonymity Anonymous NotAnonymousAbiType AbiUIntType AbiIntTypeAbiAddressType AbiBoolType AbiBytesTypeAbiBytesDynamicType AbiStringTypeAbiArrayDynamicType AbiArrayType AbiTupleTypeAbiValueAbiUIntAbiInt AbiAddressAbiBoolAbiBytesAbiBytesDynamic AbiStringAbiArrayDynamicAbiArrayAbiTuple abiValueTypeabiTypeSoliditygetAbiputAbi getAbiSeqencodeAbiValuedecodeAbiValueselector abiMethod abiCalldata parseTypeNameemptyAbi genAbiValue makeAbiValue parseAbiValue$fArbitraryAbiType $fShowAbiType$fArbitraryAbiValue$fShowAbiValue $fReadBoolz $fReadAbiType $fEqAbiType $fOrdAbiType$fGenericAbiType$fReadAbiValue $fEqAbiValue $fOrdAbiValue$fGenericAbiValue $fShowAbiKind $fReadAbiKind $fEqAbiKind $fOrdAbiKind$fGenericAbiKind$fShowAnonymity$fOrdAnonymity $fEqAnonymity$fGenericAnonymity $fShowIndexed $fOrdIndexed $fEqIndexed$fGenericIndexed $fShowEvent $fOrdEvent $fEqEvent$fGenericEventCodeTypeCreationRuntimeSrcMapSM srcMapOffset srcMapLength srcMapFile srcMapJumpsrcMapModifierDepthJumpTypeJumpIntoJumpFrom JumpRegular SourceCache _snippetCache _sourceFiles _sourceLines _sourceAstsMethod _methodOutput _methodInputs _methodName_methodSignature SolcContract_runtimeCodehash_creationCodehash _runtimeCode _creationCode _contractName_constructorInputs_abiMap _eventMap_storageLayout_runtimeSrcmap_creationSrcmap _contractAstSlotTypeStorageMapping StorageValue StorageItem_type_offset_slot$fReadSlotType$fShowSlotType$fMonoidSourceCache$fSemigroupSourceCache $fEqSlotType$fShowStorageItem$fEqStorageItem $fShowMethod $fEqMethod $fOrdMethod$fGenericMethod$fShowSourceCache$fEqSourceCache$fGenericSourceCache$fShowJumpType $fEqJumpType $fOrdJumpType$fGenericJumpType $fShowSrcMap $fEqSrcMap $fOrdSrcMap$fGenericSrcMap$fShowSolcContract$fEqSolcContract$fGenericSolcContract$fShowSrcMapParseState$fShowCodeType $fEqCodeType $fOrdCodeTypeabiMapconstructorInputs contractAst contractName creationCodecreationCodehashcreationSrcmapeventMap runtimeCoderuntimeCodehash runtimeSrcmap snippetCache sourceAsts sourceFiles sourceLines methodInputs methodName methodOutputmethodSignature makeSrcMaps lineSubrangereadSolcsolidity solcRuntime functionAbireadJSON signatureparseMethodInputstripBytecodeMetadataastIdMap astSrcMapBlock _coinbase _timestamp_number _difficulty _gaslimit _maxCodeSize _scheduleEnv _contracts_chainId _storageModel _sha3Crack _keccakUsed StorageModel ConcreteS SymbolicSInitialSContract _contractcode_storage_balance_nonce _codehash_opIxMap_codeOps _external _origStorageStorageConcreteSymbolic ContractCodeInitCode RuntimeCodeSubState_selfdestructs_touchedAccounts_refundsTxState _gasprice _txgaslimit_origin_toAddr_value _substate _isCreate _txReversion FrameState _contract _codeContract_code_pc_stack_memory _memorySize _calldata _callvalue_caller_gas _returndata_static FrameContextCreationContext CallContextcreationContextCodehashcreationContextReversioncreationContextSubstatecallContextOffsetcallContextSizecallContextCodehashcallContextAbicallContextDatacallContextReversioncallContextSubStateFrame _frameContext _frameStateLogVMOpts vmoptContract vmoptCalldata vmoptValue vmoptAddress vmoptCaller vmoptOriginvmoptGas vmoptGaslimit vmoptNumbervmoptTimestamp vmoptCoinbasevmoptDifficultyvmoptMaxCodeSizevmoptBlockGaslimit vmoptGasprice vmoptSchedule vmoptChainId vmoptCreatevmoptStorageModelCache_fetched_path JumpConditionIszeroUnknown Inconsistent CodeLocationChoosePleaseChoosePathQueryPleaseFetchContractPleaseFetchSlot PleaseAskSMT TraceData EventTrace FrameTrace QueryTrace ErrorTrace EntryTrace ReturnTraceTrace_traceCodehash _traceOpIx _traceDataVM_result_state_frames_env_block_tx_logs_traces_cache_burned_pathConditions _iterationsVMResult VMFailure VMSuccessError BalanceTooLowUnrecognizedOpcodeSelfDestruction StackUnderrunBadJumpDestinationRevertNoSuchContractOutOfGas BadCheatCodeStackLimitExceededIllegalOverflowStateChangeWhileStaticInvalidMemoryAccessCallDepthLimitReachedMaxCodeSizeExceededPrecompileFailureUnexpectedSymbolicArgDeadPath blankState $fEqStorage$fParseFieldStorageModel $fShowChoose $fShowQuery$fShowJumpCondition$fShowContractCode$fEqContractCode $fShowStorage $fShowCache$fReadStorageModel$fShowStorageModel $fShowVMOpts $fEqContract$fShowContract$fShowVMResult $fShowErrorcalldatacaller callvaluecode codeContractcontractgasmemory memorySizepc returndatastackstatic frameContext frameStatecoinbase difficultygaslimit maxCodeSizenumberschedule timestampgaspriceisCreateoriginsubstatetoAddr txReversion txgaslimitvaluerefunds selfdestructstouchedAccountsbalancecodeOpscodehash contractcodeexternalnonceopIxMap origStoragestoragechainId contracts keccakUsed sha3Crack storageModelfetchedpath traceCodehash traceData traceOpIx FrameResult FrameReturned FrameReverted FrameErrored CheatActionblockburnedcacheenvframes iterationslogspathConditionsresultstatetracestxbytecodecurrentContractmakeVminitialContractcontractWithStorenextexec1 callChecksprecompiledContractexecutePrecompile truncpadlit lazySliceparseModexpLengthisZero asIntegernooppushTopushToSequencegetCodeLocationaskSMT fetchAccount readStorage writeStorage accessStorage accountExists accountEmptyfinalize loadContract limitStack notStaticburnforceConcreteAddr forceConcreteforceConcrete2forceConcrete3forceConcrete4forceConcrete5forceConcrete6forceConcreteBufferrefundunRefund touchAccount selfdestruct cheatCodecheat cheatActions delegateCall collisioncreate replaceCodereplaceCodeOfSelf resetStatevmErrorunderrun finishFrameaccessUnboundedMemoryRangeaccessMemoryRangeaccessMemoryWordcopyBytesToMemorycopyCallBytesToMemory readMemory word256AtwithTraceLocation pushTrace insertTracepopTracezipperRootForest traceForesttraceLogpushpushSymstackOp1stackOp2stackOp3 checkJumpopSize mkOpIxMapvmOpvmOpIxopParamsreadOp mkCodeOps costOfCall costOfCreatecostOfPrecompile memoryCost symSHA256N symkeccakNtoSInt symkeccak' symSHA256ceilDiv allButOne64thlog2 $fMonoidCache$fSemigroupCache$fShowFrameResultFetcherToRPCtoRPC BlockNumberLatestRpcQuery QueryCode QueryBalance QueryNonce QuerySlot QueryChainIdrpcreadText fetchQueryfetchWithSessionfetchContractWithSessionfetchSlotWithSessionfetchContractFrom fetchSlotFromhttpzerooraclechecksat$fToRPCBlockNumber $fToRPCW256 $fToRPCAddr$fShowRpcQueryFilefilePathfileDataData dataASCIIFact BalanceFact NonceFact StorageFactCodeFactaddrwhatwhichblob contractFactsvmFactsapply factToFile fileToFact $fOrdFact$fAsASCIIByteString $fAsASCIIWord $fAsASCIIAddr$fEqFact $fShowFact$fEqPath $fOrdPath $fShowPath$fEqData $fOrdData $fShowData$fEqFile $fOrdFile $fShowFileRepoAt saveFacts loadFacts $fEqRepoAt $fOrdRepoAt $fShowRepoAt ethrunAddressvmForEthrunCreationexecrun execWhileStepperActionExecRunWaitAskwaitaskevm execFullyrunFullyenteringenter interpret Postcondition Preconditionsbytes32 sbytes128 sbytes256 sbytes512 sbytes1024 symAbiArg symCalldata abstractVM loadSymVMmaxIterationsReached checkAssertcheckAssertionsverifyContractpruneDeadPathsverifyequivalenceCheckboth'showCounterexampleModeDebugobjectprettyContractprettyContracts srcMapCodePos srcMapCode$fEqMode $fShowModeDappInfo _dappRoot_dappSolcByName_dappSolcByHash _dappSources_dappUnitTests _dappEventMap _dappAstIdMap_dappAstSrcMap dappAstIdMap dappAstSrcMap dappEventMapdappRootdappSolcByHashdappSolcByName dappSources dappUnitTestsdappInfounitTestMarkerAbi findUnitTestsunitTestMethodsFilteredunitTestMethods traceSrcMapshowTraceLocationfindContractDefinition storageLayoutstorageVariablesForContractnodeIsisStorageVariableDeclarationslotTypeForDeclarationgrokDeclarationTypegrokMappingType grokValueType SignednessSignedUnsignedshowDec showWordExacthumanizeInteger showAbiValues showAbiArray showAbiValue isPrintable formatBytes formatSBytes formatQString formatString formatSString formatBinary formatSBinary showTraceTree showTracegetAbiMethodOutput getAbiTypesshowCall showError showValues showValuemaybeContractName maybeAbiNamecontractNamePartcontractPathPart$fShowSignednessflatten CoverageState OpLocation srcCodehashsrcOpIx ABIMethod TestVMParams testAddress testCaller testOrigin testGasCreate testGasCalltestBalanceCreatetestBalanceCall testCoinbase testNumber testTimestamp testGaslimit testGaspricetestMaxCodeSizetestDifficulty testChainIdUnitTestOptionsverbosemaxItermatchfuzzRunsreplay vmModifierdapp testParamsdefaultGasForCreatingdefaultGasForInvokingdefaultBalanceForCreatordefaultBalanceForCreateddefaultMaxCodeSizeinitializeUnitTest runUnitTestexecTest checkFailuresfuzzTestticksrcMapForOpLocationcurrentOpLocationexecWithCoveragerunWithCoverageinterpretWithCoveragecoverageReportcoverageForUnitTestContractrunUnitTestContract indentLines passOutput failOutputformatTestLogs formatTestLog word32Bytes setupCallinitialUnitTestVm%getParametersFromEnvironmentVariables$fEqOpLocation$fOrdOpLocation$fShowOpLocationCase $fShowBlock$fShowBlockchainCase$fShowExpectation $fShowCasecheckExpectation parseSuite parseBCSuite vmForCase$fFromJSONBlock$fFromJSONBlockchainCase$fFromJSONCase$fFromJSONContract$fShowBlockchainErrorUiStateViewVm ViewContracts ViewPickerViewHelpUiBrowserState_browserContractList _browserVmUiTestPickerState_testPickerList_testPickerDapp _testOpts UiVmState_uiVm_uiStep _uiSnapshots _uiStepper _uiStackList_uiBytecodeList _uiTraceList_uiSolidityList _uiMessage _uiShowMemory_uiSolc _uiTestOptsUiWidgetNameAbiPane StackPane BytecodePane TracePane SolidityPaneTestPickerPane BrowserPanePager$fEqName $fShowName $fOrdNameuiBytecodeList uiMessage uiShowMemory uiSnapshotsuiSolcuiSolidityList uiStackListuiStep uiStepper uiTestOpts uiTraceListuiVmtestOptstestPickerDapptestPickerListbrowserContractList browserVm ContinuationStoppedContinueStepModeStep StepUntilPred_ViewVm_ViewContracts _ViewPicker _ViewHelpsnapshotIntervalisUnitTestContractmkVty runFromVM initUiVmState concreteTestsmaintakeStepappEventappinitialUiVmStateForTestmyThemedrawUi drawHelpViewdrawTestPicker drawVmBrowserdrawVm drawHelpBar stepOneOpcodeisNextSourcePosition#isNextSourcePositionWithoutEnteringisExecutionHalted currentSrcMap currentSolcrenderVmupdateUiVmState drawStackPaneshowWordExplanationdrawBytecodePanedim withHighlightprettyIfConcrete drawTracePanedrawSolidityPane ifTallEnoughopWidget selectedAttrdimAttrwordAttrboldAttr activeAttr _uiVmNextStep _uiVmSolc _uiVmDapp_uiVmStepCount_uiVmFirstState _uiVmFetcher _uiVmMessage_uiVmSentHashes StepPolicy StepNormally StepTimidlyConsole UiStarted UiDappLoadedUiVmSDisplaysexpSexp StepOutcomeReturnedSteppedBlockedStepOneStepManyStepNoneuiVmDapp uiVmFetcheruiVmFirstState uiVmMessage uiVmNextStepuiVmSentHashesuiVmSolc uiVmStepCountupdateSentHashespromptdisplaytxtoutputloophandle handleCmd atFileLine codeByHash allHashes prettifyCodeoutputVm parseStepModequoted sexpMemorydefaultUnitTestOptionsinitialStateForTest$fSDisplayByteString$fSDisplayWord $fSDisplay[] $fSDisplay[]0$fSDisplayFrameState$fSDisplayFrameContext$fSDisplayFrame$fSDisplayVMResult$fSDisplayMaybe $fSDisplayMap$fSDisplayBuffer $fSDisplaySBV$fSDisplaySymWord$fSDisplaySBV0$fSDisplayW256$fSDisplayContract$fSDisplayAddr $fSDisplayVM$fSDisplayStorage$fSDisplaySExpr$fSDisplayDappInfo loadDappInfoghciTest runBCTest ghciBCTestghciTty ghciEmacsfoobytestring-0.10.8.2Data.ByteString.Internal ByteStringbaseGHC.BaseString paddedShowHexisWorthPrintingghc-prim GHC.TypesTruegroup EthjetContext sbv-8.7.5-Hx1l16G8TD03lpjb6omUPnData.SBV.Core.DataSWord16Data.SBV.Client.BaseIOtoSized mtl-2.2.2Control.Monad.State.Classputgetversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName