{
  "contractName": "WitnetErrorsLib",
  "abi": [
    {
      "inputs": [],
      "name": "EmptyBuffer",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "range",
          "type": "uint256"
        }
      ],
      "name": "IndexOutOfBounds",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "length",
          "type": "uint256"
        }
      ],
      "name": "InvalidLengthEncoding",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "read",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "expected",
          "type": "uint256"
        }
      ],
      "name": "UnexpectedMajorType",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "unexpected",
          "type": "uint256"
        }
      ],
      "name": "UnsupportedMajorType",
      "type": "error"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "bool",
              "name": "success",
              "type": "bool"
            },
            {
              "components": [
                {
                  "components": [
                    {
                      "internalType": "bytes",
                      "name": "data",
                      "type": "bytes"
                    },
                    {
                      "internalType": "uint256",
                      "name": "cursor",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct WitnetBuffer.Buffer",
                  "name": "buffer",
                  "type": "tuple"
                },
                {
                  "internalType": "uint8",
                  "name": "initialByte",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "majorType",
                  "type": "uint8"
                },
                {
                  "internalType": "uint8",
                  "name": "additionalInformation",
                  "type": "uint8"
                },
                {
                  "internalType": "uint64",
                  "name": "len",
                  "type": "uint64"
                },
                {
                  "internalType": "uint64",
                  "name": "tag",
                  "type": "uint64"
                }
              ],
              "internalType": "struct WitnetCBOR.CBOR",
              "name": "value",
              "type": "tuple"
            }
          ],
          "internalType": "struct Witnet.Result",
          "name": "result",
          "type": "tuple"
        }
      ],
      "name": "asError",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.ResultErrorCodes",
              "name": "code",
              "type": "Witnet.ResultErrorCodes"
            },
            {
              "internalType": "string",
              "name": "reason",
              "type": "string"
            }
          ],
          "internalType": "struct Witnet.ResultError",
          "name": "_error",
          "type": "tuple"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "enum WitnetV2.ResponseStatus",
          "name": "_status",
          "type": "WitnetV2.ResponseStatus"
        },
        {
          "internalType": "bytes",
          "name": "_cborBytes",
          "type": "bytes"
        }
      ],
      "name": "asResultError",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.ResultErrorCodes",
              "name": "code",
              "type": "Witnet.ResultErrorCodes"
            },
            {
              "internalType": "string",
              "name": "reason",
              "type": "string"
            }
          ],
          "internalType": "struct Witnet.ResultError",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "cborBytes",
          "type": "bytes"
        }
      ],
      "name": "resultErrorCodesFromCborBytes",
      "outputs": [
        {
          "internalType": "enum Witnet.ResultErrorCodes",
          "name": "_code",
          "type": "Witnet.ResultErrorCodes"
        },
        {
          "internalType": "enum Witnet.ResultErrorCodes",
          "name": "_subcode",
          "type": "Witnet.ResultErrorCodes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "cborBytes",
          "type": "bytes"
        }
      ],
      "name": "resultErrorFromCborBytes",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.ResultErrorCodes",
              "name": "code",
              "type": "Witnet.ResultErrorCodes"
            },
            {
              "internalType": "string",
              "name": "reason",
              "type": "string"
            }
          ],
          "internalType": "struct Witnet.ResultError",
          "name": "_error",
          "type": "tuple"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"EmptyBuffer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"range\",\"type\":\"uint256\"}],\"name\":\"IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"InvalidLengthEncoding\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"read\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"}],\"name\":\"UnexpectedMajorType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"unexpected\",\"type\":\"uint256\"}],\"name\":\"UnsupportedMajorType\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"cursor\",\"type\":\"uint256\"}],\"internalType\":\"struct WitnetBuffer.Buffer\",\"name\":\"buffer\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"initialByte\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"majorType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"additionalInformation\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"len\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tag\",\"type\":\"uint64\"}],\"internalType\":\"struct WitnetCBOR.CBOR\",\"name\":\"value\",\"type\":\"tuple\"}],\"internalType\":\"struct Witnet.Result\",\"name\":\"result\",\"type\":\"tuple\"}],\"name\":\"asError\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Witnet.ResultErrorCodes\",\"name\":\"code\",\"type\":\"Witnet.ResultErrorCodes\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct Witnet.ResultError\",\"name\":\"_error\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum WitnetV2.ResponseStatus\",\"name\":\"_status\",\"type\":\"WitnetV2.ResponseStatus\"},{\"internalType\":\"bytes\",\"name\":\"_cborBytes\",\"type\":\"bytes\"}],\"name\":\"asResultError\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Witnet.ResultErrorCodes\",\"name\":\"code\",\"type\":\"Witnet.ResultErrorCodes\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct Witnet.ResultError\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"name\":\"resultErrorCodesFromCborBytes\",\"outputs\":[{\"internalType\":\"enum Witnet.ResultErrorCodes\",\"name\":\"_code\",\"type\":\"Witnet.ResultErrorCodes\"},{\"internalType\":\"enum Witnet.ResultErrorCodes\",\"name\":\"_subcode\",\"type\":\"Witnet.ResultErrorCodes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"cborBytes\",\"type\":\"bytes\"}],\"name\":\"resultErrorFromCborBytes\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Witnet.ResultErrorCodes\",\"name\":\"code\",\"type\":\"Witnet.ResultErrorCodes\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct Witnet.ResultError\",\"name\":\"_error\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{\"asError(Witnet.Result)\":{\"details\":\"Client contracts should wrap this function into a try-catch foreseeing potential parsing errors.\",\"returns\":{\"_error\":\"Witnet.ResultError data struct containing error code and description.\"}},\"resultErrorFromCborBytes(bytes)\":{\"details\":\"Client contracts should wrap this function into a try-catch foreseeing potential parsing errors.\",\"returns\":{\"_error\":\"Witnet.ResultError data struct containing error code and description.\"}}},\"title\":\"A library for interpreting Witnet resolution errors\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"asError(Witnet.Result)\":{\"notice\":\"Extract error code and description string from given Witnet.Result.\"},\"resultErrorFromCborBytes(bytes)\":{\"notice\":\"Extract error code and description string from given CBOR-encoded value.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/libs/WitnetErrorsLib.sol\":\"WitnetErrorsLib\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/libs/Witnet.sol\":{\"keccak256\":\"0x65a87375dd79d63a83fb454b7199b6c999bd59c50b3b59d521c5c4d45a7d3cc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca865b681d810c2fc5c3672ea6343c3bdf6fd71764ab824d25994744dc85866b\",\"dweb:/ipfs/QmPGcP3xGTNZfsQ9GSKdujNLRVs8dWDdubyUko1rbQqJNv\"]},\"project:/contracts/libs/WitnetBuffer.sol\":{\"keccak256\":\"0xa14570492eb5a313ddbacae0185c850ec99c67211eb33989a5e21d31bf06a150\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e83c11edb49cab6a767c0b685825bc22ece0d3d2897e0d54fe1923df5cc76ba5\",\"dweb:/ipfs/QmdLDgCc3tnKbgRrXwfNzsg6uUDirNmjvBB8V3iMmnD69a\"]},\"project:/contracts/libs/WitnetCBOR.sol\":{\"keccak256\":\"0xb346547ff731163beea2c657c52675cdf7936691d566a76a045577cf9c34ade0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d4b5b6424a033584b41f1204d635db98fda9ca9bd2a614c9d82539a3e4e6529\",\"dweb:/ipfs/QmW6Qy3wWpzHSECYaCPaf9LWGfPqWDKVoP2kPSNNQu7LMQ\"]},\"project:/contracts/libs/WitnetErrorsLib.sol\":{\"keccak256\":\"0x6cc28a70034f65099ec7e69d03a6c9cb643a77032c0e6d76532b77b036ef8436\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://44eff62b48c4daf5606fae9b04dca6201af4336909d5966c2a2503c866b9efb0\",\"dweb:/ipfs/QmSc4qNo2ymtCevvgDKESYuVi1JD7PCWbMKfDoEhNwj4aS\"]},\"project:/contracts/libs/WitnetV2.sol\":{\"keccak256\":\"0xb276a6da373bfbe9cd942dd7e59979cda898215d1e36ab3df95a6d6cc6ff770f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc4890876b9bc64f501ccdd48408bb63724865cb2ce8d2057f6b318540adce7c\",\"dweb:/ipfs/QmPMHPdbCsKBavhiLcaDgQ9EjNSvwwzv8TKffotcCv1ctP\"]}},\"version\":1}",
  "bytecode": "0x6125f6610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c8063059c737f1461005b5780637e1a92b714610084578063916493fa14610097578063a62b8462146100b8575b600080fd5b61006e610069366004611eb7565b6100cb565b60405161007b919061204e565b60405180910390f35b61006e61009236600461209b565b6100f7565b6100aa6100a536600461209b565b610129565b60405161007b9291906120d7565b61006e6100c63660046120f2565b6101bb565b6040805180820190915260008152606060208201526100f16100ec83610303565b610353565b92915050565b60408051808201909152600081526060602082015260006101178361053e565b905061012281610353565b9392505050565b600080600061013f61013a85610548565b610303565b90506001815111156101b55761016e8160008151811061016157610161612145565b6020026020010151610566565b60fe81111561017f5761017f611ff2565b92506002815111156101b5576101a18160018151811061016157610161612145565b60fe8111156101b2576101b2611ff2565b91505b50915091565b60408051808201909152600081526060602082015260038360058111156101e4576101e4611ff2565b1480610201575060028360058111156101ff576101ff611ff2565b145b156102165761020f826100f7565b90506100f1565b600483600581111561022a5761022a611ff2565b036102635760408051808201909152806000815260200160405180606001604052806022815260200161257d60229139905290506100f1565b600183600581111561027757610277611ff2565b036102b05760408051808201909152806000815260200160405180606001604052806021815260200161255c60219139905290506100f1565b6040805180820190915280600081526020016040518060400160405280601e81526020017f5769746e65744572726f72734c69623a20756e6b6e6f776e2071756572790000815250815250905092915050565b8051606090156103465760405162461bcd60e51b81526020600482015260096024820152686e6f206572726f727360b81b60448201526064015b60405180910390fd5b6100f182602001516105cb565b6040805180820190915260008152606060208201526002825110156103a55760408051808201909152806000815260200160405180606001604052806022815260200161259f60229139905292915050565b6103bb8260008151811061016157610161612145565b60fe8111156103cc576103cc611ff2565b819060fe8111156103df576103df611ff2565b908160fe8111156103f2576103f2611ff2565b9052506060610415826000015160fe81111561041057610410611ff2565b61077b565b15610447575060408051808201909152601081526f021b4b931bab6b9ba30b73a34b0b61d160851b6020820152610503565b81516104639060fe81111561045e5761045e611ff2565b610799565b15610496575060408051808201909152601181527002837b7b91034b731b2b73a34bb32b99d1607d1b6020820152610503565b81516104b29060fe8111156104ad576104ad611ff2565b6107f5565b156104e0575060408051808201909152600c81526b021b7b739b2b739bab0b61d160a51b6020820152610503565b5060408051808201909152600a815269021b934ba34b1b0b61d160b51b60208201525b80610512836000015185610835565b60405160200161052392919061215b565b60408051601f19818403018152919052602083015250919050565b60606100f161013a835b610550611d3b565b600061055b83610c04565b905061012281610c29565b60008160008060ff16826040015160ff16146105a657604080830151905161800560e51b815260ff9182166004820152908216602482015260440161033d565b6105b884600001518560600151610c5d565b6001600160401b031692505b5050919050565b60608160048060ff16826040015160ff161461060b57604080830151905161800560e51b815260ff9182166004820152908216602482015260440161033d565b600061061f85600001518660600151610c5d565b905061062c8160016121a0565b6001600160401b03166001600160401b0381111561064c5761064c611da3565b60405190808252806020026020018201604052801561068557816020015b610672611d5c565b81526020019060019003908161066a5790505b50935060005b816001600160401b031681101561074b576106a586610d1e565b95506106b086610d4b565b8582815181106106c2576106c2612145565b6020026020010181905250600460ff16866040015160ff160361071b5760006106ea876105cb565b905080600182516106fb91906121c0565b8151811061070b5761070b612145565b6020026020010151965050610743565b600560ff16866040015160ff16036107385760006106ea87610de3565b61074186610fcd565b505b60010161068b565b508484826001600160401b03168151811061076857610768612145565b6020026020010181905250505050919050565b600060535b8260fe81111561079257610792611ff2565b1492915050565b6000605e8260fe8111156107af576107af611ff2565b14806107cc575060518260fe8111156107ca576107ca611ff2565b145b806107e8575060e08260fe8111156107e6576107e6611ff2565b145b806100f1575060e1610780565b600060518260fe81111561080b5761080b611ff2565b1480610828575060508260fe81111561082657610826611ff2565b145b806100f15750604f610780565b606060518360fe81111561084b5761084b611ff2565b03610882575060408051808201909152601581527434b739bab33334b1b4b2b73a1031b7b6b6b4ba399760591b60208201526100f1565b60538360fe81111561089657610896611ff2565b1480156108a4575060028251115b156108c85761020f6108c28360018151811061016157610161612145565b83611192565b60508360fe8111156108dc576108dc611ff2565b03610914575060408051808201909152601681527534b739bab33334b1b4b2b73a1036b0b537b934ba3c9760511b60208201526100f1565b604f8360fe81111561092857610928611ff2565b0361095f575060408051808201909152601581527434b739bab33334b1b4b2b73a103932bb32b0b6399760591b60208201526100f1565b60e08360fe81111561097357610973611ff2565b036109a7575060408051808201909152601281527130b9903337b9103a343290313934b233b29760711b60208201526100f1565b605e8360fe8111156109bb576109bb611ff2565b14806109d8575060e18360fe8111156109d6576109d6611ff2565b145b15610a0b575060408051808201909152601181527037bb32b939b4bd32b2103932b9bab63a1760791b60208201526100f1565b60548360fe811115610a1f57610a1f611ff2565b03610a56575060408051808201909152601581527434b731b7b739b4b9ba32b73a1039b7bab931b2b99760591b60208201526100f1565b60568360fe811115610a6a57610a6a611ff2565b148015610a78575060028251115b15610abc57610a966108c28360018151811061016157610161612145565b604051602001610aa691906121d3565b60405160208183030381529060405290506100f1565b60558360fe811115610ad057610ad0611ff2565b1480610aed575060df8360fe811115610aeb57610aeb611ff2565b145b15610b5457600282511115610b2557610b156108c28360018151811061016157610161612145565b604051602001610aa6919061220f565b5060408051808201909152601281527136b0b63337b936b2b2103932b8bab2b9ba1760711b60208201526100f1565b60fe8360fe811115610b6857610b68611ff2565b03610bd757600282511115610b9d57610b8d60028351610b8891906121c0565b6114a2565b604051602001610aa6919061224a565b5060408051808201909152601d81527f756e68616e646c656420696e74657263657074206f6e2074616c6c792e00000060208201526100f1565b610bf48360fe811115610bec57610bec611ff2565b60ff166115fd565b604051602001610aa691906122a0565b610c0c611d5c565b6040805180820190915282815260006020820152610122816116ef565b610c31611d3b565b5060a0810151604080518082019091526001600160401b03909116602714158152602081019190915290565b600060188260ff161015610c75575060ff81166100f1565b8160ff16601803610c9357610c898361180f565b60ff1690506100f1565b8160ff16601903610cb257610ca783611871565b61ffff1690506100f1565b8160ff16601a03610cd357610cc6836118dd565b63ffffffff1690506100f1565b8160ff16601b03610ce75761020f8361193c565b8160ff16601f03610d0057506001600160401b036100f1565b604051636d785b1360e01b815260ff8316600482015260240161033d565b610d26611d5c565b81518051516020909101511015610d425781516100f1906116ef565b5090565b919050565b610d53611d5c565b6040805160c081018083528451610100830184526060909152600060e0830152825180840190935280518352602090810151908301529081908152602001836020015160ff168152602001836040015160ff168152602001836060015160ff16815260200183608001516001600160401b031681526020018360a001516001600160401b03168152509050919050565b60608160058060ff16826040015160ff1614610e2357604080830151905161800560e51b815260ff9182166004820152908216602482015260440161033d565b6000610e3785600001518660600151610c5d565b610e429060026122ca565b9050610e4f8160016121a0565b6001600160401b03166001600160401b03811115610e6f57610e6f611da3565b604051908082528060200260200182016040528015610ea857816020015b610e95611d5c565b815260200190600190039081610e8d5790505b50935060005b816001600160401b031681101561074b57610ec886610d1e565b9550610ed386610d4b565b858281518110610ee557610ee5612145565b6020908102919091010152610efb60028261230b565b158015610f105750604086015160ff16600314155b15610f3e57604080870151905161800560e51b815260ff90911660048201526003602482015260440161033d565b604086015160ff1660041480610f5b5750604086015160ff166005145b15610fba57604086015160009060ff16600414610f8057610f7b87610de3565b610f89565b610f89876105cb565b90508060018251610f9a91906121c0565b81518110610faa57610faa612145565b6020026020010151965050610fc5565b610fc386610fcd565b505b600101610eae565b610fd5611d5c565b604082015160ff161580610ff05750604082015160ff166001145b806110295750604082015160ff16600714801561101557506019826060015160ff1610155b80156110295750601b826060015160ff1611155b1561105c576110378261199b565b6001600160401b03168260000151602001818151611055919061231f565b9052505090565b604082015160ff16600314806110795750604082015160ff166002145b156110bd57600061109283600001518460600151610c5d565b9050806001600160401b031683600001516020018181516110b3919061231f565b905250610d429050565b604082015160ff16600414806110da5750604082015160ff166005145b15611103576110f182600001518360600151610c5d565b6001600160401b031660808301525090565b604082015160ff1660071415806111355750816060015160ff166014141580156111355750816060015160ff16601514155b15610d425760405162461bcd60e51b815260206004820152602760248201527f5769746e657443424f522e736b69703a20756e737570706f72746564206d616a6044820152666f72207479706560c81b606482015260840161033d565b606060008360fe8111156111a8576111a8611ff2565b905060308160fe8111156111be576111be611ff2565b036112485760038351111561120d576111e6610b888460028151811061016157610161612145565b6040516020016111f69190612332565b6040516020818303038152906040529150506100f1565b505060408051808201909152601c81527f756e737065636966696320687474702073746174757320636f64652e0000000060208201526100f1565b60318160fe81111561125c5761125c611ff2565b036112905750506040805180820190915260118152703932b9b837b739b2903a34b6b2b7baba1760791b60208201526100f1565b606f8160fe8111156112a4576112a4611ff2565b03611317576003835111156112dc576112cc610b888460028151811061016157610161612145565b6040516020016111f6919061235f565b505060408051808201909152601a81527f617272617920696e646578206f7574206f6620626f756e64732e00000000000060208201526100f1565b60708160fe81111561132b5761132b611ff2565b0361139d5760038351111561136d5761135d8360028151811061135057611350612145565b6020026020010151611a08565b6040516020016111f691906123a4565b505060408051808201909152601281527136b0b81035b2bc903737ba103337bab7321760711b60208201526100f1565b60718160fe8111156113b1576113b1611ff2565b03611421576003835111156113e6576113d68360028151811061135057611350612145565b6040516020016111f691906123d2565b505060408051808201909152601d81527f6a736f6e20706174682072657475726e6564206e6f2076616c7565732e00000060208201526100f1565b61143b8160fe81111561143657611436611ff2565b6115fd565b6003845111611459576040518060200160405280600081525061148a565b61146a60038551610b8891906121c0565b60405160200161147a9190612417565b6040516020818303038152906040525b6040516020016111f6929190612452565b5092915050565b60408051606480825260a08201909252606091906000908260208201818036833701905050905060005b60006114d9600a8761230b565b90506114e6600a87612492565b95506114f38160306124a6565b60f81b8383611501816124bf565b94508151811061151357611513612145565b60200101906001600160f81b031916908160001a90535050846000036114cc576000816001600160401b0381111561154d5761154d611da3565b6040519080825280601f01601f191660200182016040528015611577576020820181803683370190505b50905060015b8281116115f3578361158f82856121c0565b8151811061159f5761159f612145565b01602001516001600160f81b031916826115ba6001846121c0565b815181106115ca576115ca612145565b60200101906001600160f81b031916908160001a905350806115eb816124bf565b91505061157d565b5095945050505050565b60408051600280825281830190925260609160009190602082018180368337019050509050600061162f6010856124d8565b61163a9060306124a6565b905060006116496010866124fa565b6116549060306124a6565b905060398260ff1611156116705761166d6007836124a6565b91505b60398160ff16111561168a576116876007826124a6565b90505b8160f81b836000815181106116a1576116a1612145565b60200101906001600160f81b031916908160001a9053508060f81b836001815181106116cf576116cf612145565b60200101906001600160f81b031916908160001a90535091949350505050565b6116f7611d5c565b815151829060000361171c576040516309036d4760e21b815260040160405180910390fd5b600060ff816001600160401b038160015b801561179f5761173c8961180f565b955081611748816124bf565b6007600589901c169650601f8816955092505060051985016117975760208901516117738a86610c5d565b9350808a6020015161178591906121c0565b61178f908461231f565b92505061172d565b50600061172d565b600760ff861611156117c95760405163bd2ac87960e01b815260ff8616600482015260240161033d565b506040805160c08101825298895260ff95861660208a015293851693880193909352921660608601526001600160401b0390811660808601521660a08401525090919050565b6000816020015182600001515180821115611847576040516363a056dd60e01b8152600481018390526024810182905260440161033d565b8351602085018051808301600101519550908190611864826124bf565b8152505050505050919050565b600081602001516002611884919061231f565b825151808211156118b2576040516363a056dd60e01b8152600481018390526024810182905260440161033d565b83516020850180516002818401810151965090916118d0828461231f565b9052509395945050505050565b6000816020015160046118f0919061231f565b8251518082111561191e576040516363a056dd60e01b8152600481018390526024810182905260440161033d565b83516020850180516004818401810151965090916118d0828461231f565b60008160200151600861194f919061231f565b8251518082111561197d576040516363a056dd60e01b8152600481018390526024810182905260440161033d565b83516020850180516008818401810151965090916118d0828461231f565b60006018826060015160ff1610156119b557506000919050565b601c826060015160ff1610156119e457601882606001516119d6919061251c565b60ff166001901b9050919050565b6060820151604051636d785b1360e01b815260ff909116600482015260240161033d565b60608160038060ff16826040015160ff1614611a4857604080830151905161800560e51b815260ff9182166004820152908216602482015260440161033d565b611a5a84600001518560600151610c5d565b6001600160401b03166080850181905267fffffffffffffffe1901611af75760005b80611af1576000611a9586600001518760400151611b0e565b90506001600160401b038082161015611ae65784611abf611ab7600484612535565b885190611bb4565b604051602001611ad092919061215b565b6040516020818303038152906040529450611aeb565b600191505b50611a7c565b506105c4565b60808401518451611b0791611bb4565b92506105c4565b600080611b1a8461180f565b90508060ff1660ff03611b37576001600160401b039150506100f1565b611b448482601f16610c5d565b91506001600160401b0380831610611b7a57604051636d785b1360e01b81526001600160401b038316600482015260240161033d565b60ff83166007600583901c161461149b5760405161800560e51b81526007600583901c16600482015260ff8416602482015260440161033d565b6060816001600160401b03166001600160401b03811115611bd757611bd7611da3565b6040519080825280601f01601f191660200182016040528015611c01576020820181803683370190505b50905060005b826001600160401b0316816001600160401b03161015611d32576000611c2c8561180f565b90506080811615611cf35760e08160ff161015611c6857611c4c8561180f565b603f16600682601f1660ff16901b179050600184039350611cf3565b60f08160ff161015611cad57611c7d8561180f565b603f166006611c8b8761180f565b603f1660ff16901b600c83600f1660ff16901b17179050600284039350611cf3565b611cb68561180f565b603f166006611cc48761180f565b603f16901b600c611cd48861180f565b603f1660ff16901b601284600f1660ff16901b17171790506003840393505b8060f81b83836001600160401b031681518110611d1257611d12612145565b60200101906001600160f81b031916908160001a90535050600101611c07565b50908152919050565b6040518060400160405280600015158152602001611d57611d5c565b905290565b604080516101008101909152606060c08201908152600060e08301528190815260006020820181905260408201819052606082018190526080820181905260a09091015290565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715611ddb57611ddb611da3565b60405290565b60405160c081016001600160401b0381118282101715611ddb57611ddb611da3565b600082601f830112611e1457600080fd5b81356001600160401b0380821115611e2e57611e2e611da3565b604051601f8301601f19908116603f01168101908282118183101715611e5657611e56611da3565b81604052838152866020858801011115611e6f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff81168114610d4657600080fd5b80356001600160401b0381168114610d4657600080fd5b60006020808385031215611eca57600080fd5b82356001600160401b0380821115611ee157600080fd5b9084019060408287031215611ef557600080fd5b611efd611db9565b82358015158114611f0d57600080fd5b81528284013582811115611f2057600080fd5b929092019160c08388031215611f3557600080fd5b611f3d611de1565b833583811115611f4c57600080fd5b84016040818a031215611f5e57600080fd5b611f66611db9565b813585811115611f7557600080fd5b611f818b828501611e03565b82525090860135868201528152611f99848601611e8f565b85820152611fa960408501611e8f565b6040820152611fba60608501611e8f565b6060820152611fcb60808501611ea0565b6080820152611fdc60a08501611ea0565b60a0820152938101939093525090949350505050565b634e487b7160e01b600052602160045260246000fd5b60ff811061202657634e487b7160e01b600052602160045260246000fd5b9052565b60005b8381101561204557818101518382015260200161202d565b50506000910152565b60208152612060602082018351612008565b60006020830151604080840152805180606085015261208681608086016020850161202a565b601f01601f1916929092016080019392505050565b6000602082840312156120ad57600080fd5b81356001600160401b038111156120c357600080fd5b6120cf84828501611e03565b949350505050565b604081016120e58285612008565b6101226020830184612008565b6000806040838503121561210557600080fd5b82356006811061211457600080fd5b915060208301356001600160401b0381111561212f57600080fd5b61213b85828601611e03565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b6000835161216d81846020880161202a565b83519083019061218181836020880161202a565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b6001600160401b0381811683821601908082111561149b5761149b61218a565b818103818111156100f1576100f161218a565b73036b0b63337b936b2b2103932b9b837b739b29d160651b81526000825161220281601485016020870161202a565b9190910160140192915050565b72036b0b63337b936b2b2103932b8bab2b9ba1d1606d1b81526000825161223d81601385016020870161202a565b9190910160130192915050565b7f756e68616e646c656420696e74657263657074206f6e2074616c6c7920282b0081526000825161228281601f85016020870161202a565b661030b933b9949760c91b601f939091019283015250602601919050565b61060f60f31b8152600082516122bd81600285016020870161202a565b9190910160020192915050565b6001600160401b038181168382160280821691908281146122ed576122ed61218a565b505092915050565b634e487b7160e01b600052601260045260246000fd5b60008261231a5761231a6122f5565b500690565b808201808211156100f1576100f161218a565b64687474702f60d81b81526000825161235281600585016020870161202a565b9190910160050192915050565b7f617272617920696e646578206f7574206f6620626f756e64733a20000000000081526000825161239781601b85016020870161202a565b91909101601b0192915050565b72036b0b81035b2bc903737ba103337bab7321d1606d1b81526000825161223d81601385016020870161202a565b7f6a736f6e20706174682072657475726e6564206e6f2076616c7565733a20000081526000825161240a81601e85016020870161202a565b91909101601e0192915050565b6220282b60e81b81526000825161243581600385016020870161202a565b6520617267732960d01b6003939091019283015250600901919050565b61060f60f31b81526000835161246f81600285016020880161202a565b83519083019061248681600284016020880161202a565b01600201949350505050565b6000826124a1576124a16122f5565b500490565b60ff81811683821601908111156100f1576100f161218a565b6000600182016124d1576124d161218a565b5060010190565b600060ff8316806124eb576124eb6122f5565b8060ff84160491505092915050565b600060ff83168061250d5761250d6122f5565b8060ff84160691505092915050565b60ff82811682821603908111156100f1576100f161218a565b60006001600160401b038084168061254f5761254f6122f5565b9216919091049291505056fe5769746e65744572726f72734c69623a206e6f7420796574207265706f727465645769746e65744572726f72734c69623a206e6f74207965742066696e616c697a6564437269746963616c3a206e6f206572726f7220636f64652077617320666f756e642ea26469706673582212202c1fa9b8a1e4ae293d63c03d1d0058229d78840583c7618a3958dfffd2839ba164736f6c63430008190033",
  "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c8063059c737f1461005b5780637e1a92b714610084578063916493fa14610097578063a62b8462146100b8575b600080fd5b61006e610069366004611eb7565b6100cb565b60405161007b919061204e565b60405180910390f35b61006e61009236600461209b565b6100f7565b6100aa6100a536600461209b565b610129565b60405161007b9291906120d7565b61006e6100c63660046120f2565b6101bb565b6040805180820190915260008152606060208201526100f16100ec83610303565b610353565b92915050565b60408051808201909152600081526060602082015260006101178361053e565b905061012281610353565b9392505050565b600080600061013f61013a85610548565b610303565b90506001815111156101b55761016e8160008151811061016157610161612145565b6020026020010151610566565b60fe81111561017f5761017f611ff2565b92506002815111156101b5576101a18160018151811061016157610161612145565b60fe8111156101b2576101b2611ff2565b91505b50915091565b60408051808201909152600081526060602082015260038360058111156101e4576101e4611ff2565b1480610201575060028360058111156101ff576101ff611ff2565b145b156102165761020f826100f7565b90506100f1565b600483600581111561022a5761022a611ff2565b036102635760408051808201909152806000815260200160405180606001604052806022815260200161257d60229139905290506100f1565b600183600581111561027757610277611ff2565b036102b05760408051808201909152806000815260200160405180606001604052806021815260200161255c60219139905290506100f1565b6040805180820190915280600081526020016040518060400160405280601e81526020017f5769746e65744572726f72734c69623a20756e6b6e6f776e2071756572790000815250815250905092915050565b8051606090156103465760405162461bcd60e51b81526020600482015260096024820152686e6f206572726f727360b81b60448201526064015b60405180910390fd5b6100f182602001516105cb565b6040805180820190915260008152606060208201526002825110156103a55760408051808201909152806000815260200160405180606001604052806022815260200161259f60229139905292915050565b6103bb8260008151811061016157610161612145565b60fe8111156103cc576103cc611ff2565b819060fe8111156103df576103df611ff2565b908160fe8111156103f2576103f2611ff2565b9052506060610415826000015160fe81111561041057610410611ff2565b61077b565b15610447575060408051808201909152601081526f021b4b931bab6b9ba30b73a34b0b61d160851b6020820152610503565b81516104639060fe81111561045e5761045e611ff2565b610799565b15610496575060408051808201909152601181527002837b7b91034b731b2b73a34bb32b99d1607d1b6020820152610503565b81516104b29060fe8111156104ad576104ad611ff2565b6107f5565b156104e0575060408051808201909152600c81526b021b7b739b2b739bab0b61d160a51b6020820152610503565b5060408051808201909152600a815269021b934ba34b1b0b61d160b51b60208201525b80610512836000015185610835565b60405160200161052392919061215b565b60408051601f19818403018152919052602083015250919050565b60606100f161013a835b610550611d3b565b600061055b83610c04565b905061012281610c29565b60008160008060ff16826040015160ff16146105a657604080830151905161800560e51b815260ff9182166004820152908216602482015260440161033d565b6105b884600001518560600151610c5d565b6001600160401b031692505b5050919050565b60608160048060ff16826040015160ff161461060b57604080830151905161800560e51b815260ff9182166004820152908216602482015260440161033d565b600061061f85600001518660600151610c5d565b905061062c8160016121a0565b6001600160401b03166001600160401b0381111561064c5761064c611da3565b60405190808252806020026020018201604052801561068557816020015b610672611d5c565b81526020019060019003908161066a5790505b50935060005b816001600160401b031681101561074b576106a586610d1e565b95506106b086610d4b565b8582815181106106c2576106c2612145565b6020026020010181905250600460ff16866040015160ff160361071b5760006106ea876105cb565b905080600182516106fb91906121c0565b8151811061070b5761070b612145565b6020026020010151965050610743565b600560ff16866040015160ff16036107385760006106ea87610de3565b61074186610fcd565b505b60010161068b565b508484826001600160401b03168151811061076857610768612145565b6020026020010181905250505050919050565b600060535b8260fe81111561079257610792611ff2565b1492915050565b6000605e8260fe8111156107af576107af611ff2565b14806107cc575060518260fe8111156107ca576107ca611ff2565b145b806107e8575060e08260fe8111156107e6576107e6611ff2565b145b806100f1575060e1610780565b600060518260fe81111561080b5761080b611ff2565b1480610828575060508260fe81111561082657610826611ff2565b145b806100f15750604f610780565b606060518360fe81111561084b5761084b611ff2565b03610882575060408051808201909152601581527434b739bab33334b1b4b2b73a1031b7b6b6b4ba399760591b60208201526100f1565b60538360fe81111561089657610896611ff2565b1480156108a4575060028251115b156108c85761020f6108c28360018151811061016157610161612145565b83611192565b60508360fe8111156108dc576108dc611ff2565b03610914575060408051808201909152601681527534b739bab33334b1b4b2b73a1036b0b537b934ba3c9760511b60208201526100f1565b604f8360fe81111561092857610928611ff2565b0361095f575060408051808201909152601581527434b739bab33334b1b4b2b73a103932bb32b0b6399760591b60208201526100f1565b60e08360fe81111561097357610973611ff2565b036109a7575060408051808201909152601281527130b9903337b9103a343290313934b233b29760711b60208201526100f1565b605e8360fe8111156109bb576109bb611ff2565b14806109d8575060e18360fe8111156109d6576109d6611ff2565b145b15610a0b575060408051808201909152601181527037bb32b939b4bd32b2103932b9bab63a1760791b60208201526100f1565b60548360fe811115610a1f57610a1f611ff2565b03610a56575060408051808201909152601581527434b731b7b739b4b9ba32b73a1039b7bab931b2b99760591b60208201526100f1565b60568360fe811115610a6a57610a6a611ff2565b148015610a78575060028251115b15610abc57610a966108c28360018151811061016157610161612145565b604051602001610aa691906121d3565b60405160208183030381529060405290506100f1565b60558360fe811115610ad057610ad0611ff2565b1480610aed575060df8360fe811115610aeb57610aeb611ff2565b145b15610b5457600282511115610b2557610b156108c28360018151811061016157610161612145565b604051602001610aa6919061220f565b5060408051808201909152601281527136b0b63337b936b2b2103932b8bab2b9ba1760711b60208201526100f1565b60fe8360fe811115610b6857610b68611ff2565b03610bd757600282511115610b9d57610b8d60028351610b8891906121c0565b6114a2565b604051602001610aa6919061224a565b5060408051808201909152601d81527f756e68616e646c656420696e74657263657074206f6e2074616c6c792e00000060208201526100f1565b610bf48360fe811115610bec57610bec611ff2565b60ff166115fd565b604051602001610aa691906122a0565b610c0c611d5c565b6040805180820190915282815260006020820152610122816116ef565b610c31611d3b565b5060a0810151604080518082019091526001600160401b03909116602714158152602081019190915290565b600060188260ff161015610c75575060ff81166100f1565b8160ff16601803610c9357610c898361180f565b60ff1690506100f1565b8160ff16601903610cb257610ca783611871565b61ffff1690506100f1565b8160ff16601a03610cd357610cc6836118dd565b63ffffffff1690506100f1565b8160ff16601b03610ce75761020f8361193c565b8160ff16601f03610d0057506001600160401b036100f1565b604051636d785b1360e01b815260ff8316600482015260240161033d565b610d26611d5c565b81518051516020909101511015610d425781516100f1906116ef565b5090565b919050565b610d53611d5c565b6040805160c081018083528451610100830184526060909152600060e0830152825180840190935280518352602090810151908301529081908152602001836020015160ff168152602001836040015160ff168152602001836060015160ff16815260200183608001516001600160401b031681526020018360a001516001600160401b03168152509050919050565b60608160058060ff16826040015160ff1614610e2357604080830151905161800560e51b815260ff9182166004820152908216602482015260440161033d565b6000610e3785600001518660600151610c5d565b610e429060026122ca565b9050610e4f8160016121a0565b6001600160401b03166001600160401b03811115610e6f57610e6f611da3565b604051908082528060200260200182016040528015610ea857816020015b610e95611d5c565b815260200190600190039081610e8d5790505b50935060005b816001600160401b031681101561074b57610ec886610d1e565b9550610ed386610d4b565b858281518110610ee557610ee5612145565b6020908102919091010152610efb60028261230b565b158015610f105750604086015160ff16600314155b15610f3e57604080870151905161800560e51b815260ff90911660048201526003602482015260440161033d565b604086015160ff1660041480610f5b5750604086015160ff166005145b15610fba57604086015160009060ff16600414610f8057610f7b87610de3565b610f89565b610f89876105cb565b90508060018251610f9a91906121c0565b81518110610faa57610faa612145565b6020026020010151965050610fc5565b610fc386610fcd565b505b600101610eae565b610fd5611d5c565b604082015160ff161580610ff05750604082015160ff166001145b806110295750604082015160ff16600714801561101557506019826060015160ff1610155b80156110295750601b826060015160ff1611155b1561105c576110378261199b565b6001600160401b03168260000151602001818151611055919061231f565b9052505090565b604082015160ff16600314806110795750604082015160ff166002145b156110bd57600061109283600001518460600151610c5d565b9050806001600160401b031683600001516020018181516110b3919061231f565b905250610d429050565b604082015160ff16600414806110da5750604082015160ff166005145b15611103576110f182600001518360600151610c5d565b6001600160401b031660808301525090565b604082015160ff1660071415806111355750816060015160ff166014141580156111355750816060015160ff16601514155b15610d425760405162461bcd60e51b815260206004820152602760248201527f5769746e657443424f522e736b69703a20756e737570706f72746564206d616a6044820152666f72207479706560c81b606482015260840161033d565b606060008360fe8111156111a8576111a8611ff2565b905060308160fe8111156111be576111be611ff2565b036112485760038351111561120d576111e6610b888460028151811061016157610161612145565b6040516020016111f69190612332565b6040516020818303038152906040529150506100f1565b505060408051808201909152601c81527f756e737065636966696320687474702073746174757320636f64652e0000000060208201526100f1565b60318160fe81111561125c5761125c611ff2565b036112905750506040805180820190915260118152703932b9b837b739b2903a34b6b2b7baba1760791b60208201526100f1565b606f8160fe8111156112a4576112a4611ff2565b03611317576003835111156112dc576112cc610b888460028151811061016157610161612145565b6040516020016111f6919061235f565b505060408051808201909152601a81527f617272617920696e646578206f7574206f6620626f756e64732e00000000000060208201526100f1565b60708160fe81111561132b5761132b611ff2565b0361139d5760038351111561136d5761135d8360028151811061135057611350612145565b6020026020010151611a08565b6040516020016111f691906123a4565b505060408051808201909152601281527136b0b81035b2bc903737ba103337bab7321760711b60208201526100f1565b60718160fe8111156113b1576113b1611ff2565b03611421576003835111156113e6576113d68360028151811061135057611350612145565b6040516020016111f691906123d2565b505060408051808201909152601d81527f6a736f6e20706174682072657475726e6564206e6f2076616c7565732e00000060208201526100f1565b61143b8160fe81111561143657611436611ff2565b6115fd565b6003845111611459576040518060200160405280600081525061148a565b61146a60038551610b8891906121c0565b60405160200161147a9190612417565b6040516020818303038152906040525b6040516020016111f6929190612452565b5092915050565b60408051606480825260a08201909252606091906000908260208201818036833701905050905060005b60006114d9600a8761230b565b90506114e6600a87612492565b95506114f38160306124a6565b60f81b8383611501816124bf565b94508151811061151357611513612145565b60200101906001600160f81b031916908160001a90535050846000036114cc576000816001600160401b0381111561154d5761154d611da3565b6040519080825280601f01601f191660200182016040528015611577576020820181803683370190505b50905060015b8281116115f3578361158f82856121c0565b8151811061159f5761159f612145565b01602001516001600160f81b031916826115ba6001846121c0565b815181106115ca576115ca612145565b60200101906001600160f81b031916908160001a905350806115eb816124bf565b91505061157d565b5095945050505050565b60408051600280825281830190925260609160009190602082018180368337019050509050600061162f6010856124d8565b61163a9060306124a6565b905060006116496010866124fa565b6116549060306124a6565b905060398260ff1611156116705761166d6007836124a6565b91505b60398160ff16111561168a576116876007826124a6565b90505b8160f81b836000815181106116a1576116a1612145565b60200101906001600160f81b031916908160001a9053508060f81b836001815181106116cf576116cf612145565b60200101906001600160f81b031916908160001a90535091949350505050565b6116f7611d5c565b815151829060000361171c576040516309036d4760e21b815260040160405180910390fd5b600060ff816001600160401b038160015b801561179f5761173c8961180f565b955081611748816124bf565b6007600589901c169650601f8816955092505060051985016117975760208901516117738a86610c5d565b9350808a6020015161178591906121c0565b61178f908461231f565b92505061172d565b50600061172d565b600760ff861611156117c95760405163bd2ac87960e01b815260ff8616600482015260240161033d565b506040805160c08101825298895260ff95861660208a015293851693880193909352921660608601526001600160401b0390811660808601521660a08401525090919050565b6000816020015182600001515180821115611847576040516363a056dd60e01b8152600481018390526024810182905260440161033d565b8351602085018051808301600101519550908190611864826124bf565b8152505050505050919050565b600081602001516002611884919061231f565b825151808211156118b2576040516363a056dd60e01b8152600481018390526024810182905260440161033d565b83516020850180516002818401810151965090916118d0828461231f565b9052509395945050505050565b6000816020015160046118f0919061231f565b8251518082111561191e576040516363a056dd60e01b8152600481018390526024810182905260440161033d565b83516020850180516004818401810151965090916118d0828461231f565b60008160200151600861194f919061231f565b8251518082111561197d576040516363a056dd60e01b8152600481018390526024810182905260440161033d565b83516020850180516008818401810151965090916118d0828461231f565b60006018826060015160ff1610156119b557506000919050565b601c826060015160ff1610156119e457601882606001516119d6919061251c565b60ff166001901b9050919050565b6060820151604051636d785b1360e01b815260ff909116600482015260240161033d565b60608160038060ff16826040015160ff1614611a4857604080830151905161800560e51b815260ff9182166004820152908216602482015260440161033d565b611a5a84600001518560600151610c5d565b6001600160401b03166080850181905267fffffffffffffffe1901611af75760005b80611af1576000611a9586600001518760400151611b0e565b90506001600160401b038082161015611ae65784611abf611ab7600484612535565b885190611bb4565b604051602001611ad092919061215b565b6040516020818303038152906040529450611aeb565b600191505b50611a7c565b506105c4565b60808401518451611b0791611bb4565b92506105c4565b600080611b1a8461180f565b90508060ff1660ff03611b37576001600160401b039150506100f1565b611b448482601f16610c5d565b91506001600160401b0380831610611b7a57604051636d785b1360e01b81526001600160401b038316600482015260240161033d565b60ff83166007600583901c161461149b5760405161800560e51b81526007600583901c16600482015260ff8416602482015260440161033d565b6060816001600160401b03166001600160401b03811115611bd757611bd7611da3565b6040519080825280601f01601f191660200182016040528015611c01576020820181803683370190505b50905060005b826001600160401b0316816001600160401b03161015611d32576000611c2c8561180f565b90506080811615611cf35760e08160ff161015611c6857611c4c8561180f565b603f16600682601f1660ff16901b179050600184039350611cf3565b60f08160ff161015611cad57611c7d8561180f565b603f166006611c8b8761180f565b603f1660ff16901b600c83600f1660ff16901b17179050600284039350611cf3565b611cb68561180f565b603f166006611cc48761180f565b603f16901b600c611cd48861180f565b603f1660ff16901b601284600f1660ff16901b17171790506003840393505b8060f81b83836001600160401b031681518110611d1257611d12612145565b60200101906001600160f81b031916908160001a90535050600101611c07565b50908152919050565b6040518060400160405280600015158152602001611d57611d5c565b905290565b604080516101008101909152606060c08201908152600060e08301528190815260006020820181905260408201819052606082018190526080820181905260a09091015290565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715611ddb57611ddb611da3565b60405290565b60405160c081016001600160401b0381118282101715611ddb57611ddb611da3565b600082601f830112611e1457600080fd5b81356001600160401b0380821115611e2e57611e2e611da3565b604051601f8301601f19908116603f01168101908282118183101715611e5657611e56611da3565b81604052838152866020858801011115611e6f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff81168114610d4657600080fd5b80356001600160401b0381168114610d4657600080fd5b60006020808385031215611eca57600080fd5b82356001600160401b0380821115611ee157600080fd5b9084019060408287031215611ef557600080fd5b611efd611db9565b82358015158114611f0d57600080fd5b81528284013582811115611f2057600080fd5b929092019160c08388031215611f3557600080fd5b611f3d611de1565b833583811115611f4c57600080fd5b84016040818a031215611f5e57600080fd5b611f66611db9565b813585811115611f7557600080fd5b611f818b828501611e03565b82525090860135868201528152611f99848601611e8f565b85820152611fa960408501611e8f565b6040820152611fba60608501611e8f565b6060820152611fcb60808501611ea0565b6080820152611fdc60a08501611ea0565b60a0820152938101939093525090949350505050565b634e487b7160e01b600052602160045260246000fd5b60ff811061202657634e487b7160e01b600052602160045260246000fd5b9052565b60005b8381101561204557818101518382015260200161202d565b50506000910152565b60208152612060602082018351612008565b60006020830151604080840152805180606085015261208681608086016020850161202a565b601f01601f1916929092016080019392505050565b6000602082840312156120ad57600080fd5b81356001600160401b038111156120c357600080fd5b6120cf84828501611e03565b949350505050565b604081016120e58285612008565b6101226020830184612008565b6000806040838503121561210557600080fd5b82356006811061211457600080fd5b915060208301356001600160401b0381111561212f57600080fd5b61213b85828601611e03565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b6000835161216d81846020880161202a565b83519083019061218181836020880161202a565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b6001600160401b0381811683821601908082111561149b5761149b61218a565b818103818111156100f1576100f161218a565b73036b0b63337b936b2b2103932b9b837b739b29d160651b81526000825161220281601485016020870161202a565b9190910160140192915050565b72036b0b63337b936b2b2103932b8bab2b9ba1d1606d1b81526000825161223d81601385016020870161202a565b9190910160130192915050565b7f756e68616e646c656420696e74657263657074206f6e2074616c6c7920282b0081526000825161228281601f85016020870161202a565b661030b933b9949760c91b601f939091019283015250602601919050565b61060f60f31b8152600082516122bd81600285016020870161202a565b9190910160020192915050565b6001600160401b038181168382160280821691908281146122ed576122ed61218a565b505092915050565b634e487b7160e01b600052601260045260246000fd5b60008261231a5761231a6122f5565b500690565b808201808211156100f1576100f161218a565b64687474702f60d81b81526000825161235281600585016020870161202a565b9190910160050192915050565b7f617272617920696e646578206f7574206f6620626f756e64733a20000000000081526000825161239781601b85016020870161202a565b91909101601b0192915050565b72036b0b81035b2bc903737ba103337bab7321d1606d1b81526000825161223d81601385016020870161202a565b7f6a736f6e20706174682072657475726e6564206e6f2076616c7565733a20000081526000825161240a81601e85016020870161202a565b91909101601e0192915050565b6220282b60e81b81526000825161243581600385016020870161202a565b6520617267732960d01b6003939091019283015250600901919050565b61060f60f31b81526000835161246f81600285016020880161202a565b83519083019061248681600284016020880161202a565b01600201949350505050565b6000826124a1576124a16122f5565b500490565b60ff81811683821601908111156100f1576100f161218a565b6000600182016124d1576124d161218a565b5060010190565b600060ff8316806124eb576124eb6122f5565b8060ff84160491505092915050565b600060ff83168061250d5761250d6122f5565b8060ff84160691505092915050565b60ff82811682821603908111156100f1576100f161218a565b60006001600160401b038084168061254f5761254f6122f5565b9216919091049291505056fe5769746e65744572726f72734c69623a206e6f7420796574207265706f727465645769746e65744572726f72734c69623a206e6f74207965742066696e616c697a6564437269746963616c3a206e6f206572726f7220636f64652077617320666f756e642ea26469706673582212202c1fa9b8a1e4ae293d63c03d1d0058229d78840583c7618a3958dfffd2839ba164736f6c63430008190033",
  "immutableReferences": {},
  "generatedSources": [],
  "deployedGeneratedSources": [
    {
      "ast": {
        "nativeSrc": "0:15896:84",
        "nodeType": "YulBlock",
        "src": "0:15896:84",
        "statements": [
          {
            "nativeSrc": "6:3:84",
            "nodeType": "YulBlock",
            "src": "6:3:84",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "46:95:84",
              "nodeType": "YulBlock",
              "src": "46:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "63:1:84",
                        "nodeType": "YulLiteral",
                        "src": "63:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "70:3:84",
                            "nodeType": "YulLiteral",
                            "src": "70:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "75:10:84",
                            "nodeType": "YulLiteral",
                            "src": "75:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "66:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "66:3:84"
                        },
                        "nativeSrc": "66:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "66:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "56:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "56:6:84"
                    },
                    "nativeSrc": "56:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "56:31:84"
                  },
                  "nativeSrc": "56:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "56:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "103:1:84",
                        "nodeType": "YulLiteral",
                        "src": "103:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "106:4:84",
                        "nodeType": "YulLiteral",
                        "src": "106:4:84",
                        "type": "",
                        "value": "0x41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "96:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "96:6:84"
                    },
                    "nativeSrc": "96:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "96:15:84"
                  },
                  "nativeSrc": "96:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "96:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "127:1:84",
                        "nodeType": "YulLiteral",
                        "src": "127:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "130:4:84",
                        "nodeType": "YulLiteral",
                        "src": "130:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "120:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "120:6:84"
                    },
                    "nativeSrc": "120:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "120:15:84"
                  },
                  "nativeSrc": "120:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "120:15:84"
                }
              ]
            },
            "name": "panic_error_0x41",
            "nativeSrc": "14:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "14:127:84"
          },
          {
            "body": {
              "nativeSrc": "192:211:84",
              "nodeType": "YulBlock",
              "src": "192:211:84",
              "statements": [
                {
                  "nativeSrc": "202:21:84",
                  "nodeType": "YulAssignment",
                  "src": "202:21:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "218:4:84",
                        "nodeType": "YulLiteral",
                        "src": "218:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "212:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "212:5:84"
                    },
                    "nativeSrc": "212:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "212:11:84"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "202:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "202:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "232:35:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "232:35:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "254:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "254:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "262:4:84",
                        "nodeType": "YulLiteral",
                        "src": "262:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "250:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "250:3:84"
                    },
                    "nativeSrc": "250:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "250:17:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "236:10:84",
                      "nodeType": "YulTypedName",
                      "src": "236:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "342:22:84",
                    "nodeType": "YulBlock",
                    "src": "342:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "344:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "344:16:84"
                          },
                          "nativeSrc": "344:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "344:18:84"
                        },
                        "nativeSrc": "344:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "344:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "285:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "285:10:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "297:18:84",
                            "nodeType": "YulLiteral",
                            "src": "297:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "282:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "282:2:84"
                        },
                        "nativeSrc": "282:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "282:34:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "321:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "321:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "333:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "333:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "318:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "318:2:84"
                        },
                        "nativeSrc": "318:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "318:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "279:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "279:2:84"
                    },
                    "nativeSrc": "279:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "279:62:84"
                  },
                  "nativeSrc": "276:88:84",
                  "nodeType": "YulIf",
                  "src": "276:88:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "380:4:84",
                        "nodeType": "YulLiteral",
                        "src": "380:4:84",
                        "type": "",
                        "value": "0x40"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "386:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "386:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "373:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "373:6:84"
                    },
                    "nativeSrc": "373:24:84",
                    "nodeType": "YulFunctionCall",
                    "src": "373:24:84"
                  },
                  "nativeSrc": "373:24:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "373:24:84"
                }
              ]
            },
            "name": "allocate_memory_1988",
            "nativeSrc": "146:257:84",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "memPtr",
                "nativeSrc": "181:6:84",
                "nodeType": "YulTypedName",
                "src": "181:6:84",
                "type": ""
              }
            ],
            "src": "146:257:84"
          },
          {
            "body": {
              "nativeSrc": "449:207:84",
              "nodeType": "YulBlock",
              "src": "449:207:84",
              "statements": [
                {
                  "nativeSrc": "459:19:84",
                  "nodeType": "YulAssignment",
                  "src": "459:19:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "475:2:84",
                        "nodeType": "YulLiteral",
                        "src": "475:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "469:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "469:5:84"
                    },
                    "nativeSrc": "469:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "469:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "459:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "459:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "487:35:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "487:35:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "509:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "509:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "517:4:84",
                        "nodeType": "YulLiteral",
                        "src": "517:4:84",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "505:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "505:3:84"
                    },
                    "nativeSrc": "505:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "505:17:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "491:10:84",
                      "nodeType": "YulTypedName",
                      "src": "491:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "597:22:84",
                    "nodeType": "YulBlock",
                    "src": "597:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "599:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "599:16:84"
                          },
                          "nativeSrc": "599:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "599:18:84"
                        },
                        "nativeSrc": "599:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "599:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "540:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "540:10:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "552:18:84",
                            "nodeType": "YulLiteral",
                            "src": "552:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "537:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "537:2:84"
                        },
                        "nativeSrc": "537:34:84",
                        "nodeType": "YulFunctionCall",
                        "src": "537:34:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "576:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "576:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "588:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "588:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "573:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "573:2:84"
                        },
                        "nativeSrc": "573:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "573:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "534:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "534:2:84"
                    },
                    "nativeSrc": "534:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "534:62:84"
                  },
                  "nativeSrc": "531:88:84",
                  "nodeType": "YulIf",
                  "src": "531:88:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "635:2:84",
                        "nodeType": "YulLiteral",
                        "src": "635:2:84",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "639:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "639:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "628:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "628:6:84"
                    },
                    "nativeSrc": "628:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "628:22:84"
                  },
                  "nativeSrc": "628:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "628:22:84"
                }
              ]
            },
            "name": "allocate_memory",
            "nativeSrc": "408:248:84",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "memPtr",
                "nativeSrc": "438:6:84",
                "nodeType": "YulTypedName",
                "src": "438:6:84",
                "type": ""
              }
            ],
            "src": "408:248:84"
          },
          {
            "body": {
              "nativeSrc": "713:666:84",
              "nodeType": "YulBlock",
              "src": "713:666:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "762:16:84",
                    "nodeType": "YulBlock",
                    "src": "762:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "771:1:84",
                              "nodeType": "YulLiteral",
                              "src": "771:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "774:1:84",
                              "nodeType": "YulLiteral",
                              "src": "774:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "764:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "764:6:84"
                          },
                          "nativeSrc": "764:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "764:12:84"
                        },
                        "nativeSrc": "764:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "764:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "741:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "741:6:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "749:4:84",
                                "nodeType": "YulLiteral",
                                "src": "749:4:84",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "737:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "737:3:84"
                            },
                            "nativeSrc": "737:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "737:17:84"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "756:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "756:3:84"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "733:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "733:3:84"
                        },
                        "nativeSrc": "733:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "733:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "726:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "726:6:84"
                    },
                    "nativeSrc": "726:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "726:35:84"
                  },
                  "nativeSrc": "723:55:84",
                  "nodeType": "YulIf",
                  "src": "723:55:84"
                },
                {
                  "nativeSrc": "787:30:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "787:30:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "810:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "810:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "797:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "797:12:84"
                    },
                    "nativeSrc": "797:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "797:20:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "791:2:84",
                      "nodeType": "YulTypedName",
                      "src": "791:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "826:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "826:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "836:18:84",
                    "nodeType": "YulLiteral",
                    "src": "836:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "830:2:84",
                      "nodeType": "YulTypedName",
                      "src": "830:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "877:22:84",
                    "nodeType": "YulBlock",
                    "src": "877:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "879:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "879:16:84"
                          },
                          "nativeSrc": "879:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "879:18:84"
                        },
                        "nativeSrc": "879:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "879:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "869:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "869:2:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "873:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "873:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "866:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "866:2:84"
                    },
                    "nativeSrc": "866:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "866:10:84"
                  },
                  "nativeSrc": "863:36:84",
                  "nodeType": "YulIf",
                  "src": "863:36:84"
                },
                {
                  "nativeSrc": "908:17:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "908:17:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "922:2:84",
                        "nodeType": "YulLiteral",
                        "src": "922:2:84",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "not",
                      "nativeSrc": "918:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "918:3:84"
                    },
                    "nativeSrc": "918:7:84",
                    "nodeType": "YulFunctionCall",
                    "src": "918:7:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "912:2:84",
                      "nodeType": "YulTypedName",
                      "src": "912:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "934:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "934:23:84",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "954:2:84",
                        "nodeType": "YulLiteral",
                        "src": "954:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "948:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "948:5:84"
                    },
                    "nativeSrc": "948:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "948:9:84"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "938:6:84",
                      "nodeType": "YulTypedName",
                      "src": "938:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "966:71:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "966:71:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "988:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "988:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "name": "_1",
                                        "nativeSrc": "1012:2:84",
                                        "nodeType": "YulIdentifier",
                                        "src": "1012:2:84"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "1016:4:84",
                                        "nodeType": "YulLiteral",
                                        "src": "1016:4:84",
                                        "type": "",
                                        "value": "0x1f"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "1008:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "1008:3:84"
                                    },
                                    "nativeSrc": "1008:13:84",
                                    "nodeType": "YulFunctionCall",
                                    "src": "1008:13:84"
                                  },
                                  {
                                    "name": "_3",
                                    "nativeSrc": "1023:2:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "1023:2:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "and",
                                  "nativeSrc": "1004:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "1004:3:84"
                                },
                                "nativeSrc": "1004:22:84",
                                "nodeType": "YulFunctionCall",
                                "src": "1004:22:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "1028:2:84",
                                "nodeType": "YulLiteral",
                                "src": "1028:2:84",
                                "type": "",
                                "value": "63"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "1000:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1000:3:84"
                            },
                            "nativeSrc": "1000:31:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1000:31:84"
                          },
                          {
                            "name": "_3",
                            "nativeSrc": "1033:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "1033:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "996:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "996:3:84"
                        },
                        "nativeSrc": "996:40:84",
                        "nodeType": "YulFunctionCall",
                        "src": "996:40:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "984:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "984:3:84"
                    },
                    "nativeSrc": "984:53:84",
                    "nodeType": "YulFunctionCall",
                    "src": "984:53:84"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "970:10:84",
                      "nodeType": "YulTypedName",
                      "src": "970:10:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "1096:22:84",
                    "nodeType": "YulBlock",
                    "src": "1096:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "1098:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "1098:16:84"
                          },
                          "nativeSrc": "1098:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1098:18:84"
                        },
                        "nativeSrc": "1098:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1098:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "1055:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "1055:10:84"
                          },
                          {
                            "name": "_2",
                            "nativeSrc": "1067:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "1067:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "1052:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "1052:2:84"
                        },
                        "nativeSrc": "1052:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1052:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "1075:10:84",
                            "nodeType": "YulIdentifier",
                            "src": "1075:10:84"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "1087:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1087:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "1072:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "1072:2:84"
                        },
                        "nativeSrc": "1072:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1072:22:84"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "1049:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "1049:2:84"
                    },
                    "nativeSrc": "1049:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1049:46:84"
                  },
                  "nativeSrc": "1046:72:84",
                  "nodeType": "YulIf",
                  "src": "1046:72:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "1134:2:84",
                        "nodeType": "YulLiteral",
                        "src": "1134:2:84",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "1138:10:84",
                        "nodeType": "YulIdentifier",
                        "src": "1138:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1127:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1127:6:84"
                    },
                    "nativeSrc": "1127:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1127:22:84"
                  },
                  "nativeSrc": "1127:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1127:22:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "1165:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1165:6:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "1173:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "1173:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1158:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1158:6:84"
                    },
                    "nativeSrc": "1158:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1158:18:84"
                  },
                  "nativeSrc": "1158:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1158:18:84"
                },
                {
                  "body": {
                    "nativeSrc": "1224:16:84",
                    "nodeType": "YulBlock",
                    "src": "1224:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1233:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1233:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1236:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1236:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1226:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1226:6:84"
                          },
                          "nativeSrc": "1226:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1226:12:84"
                        },
                        "nativeSrc": "1226:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1226:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "1199:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "1199:6:84"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "1207:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "1207:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "1195:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1195:3:84"
                            },
                            "nativeSrc": "1195:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1195:15:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1212:4:84",
                            "nodeType": "YulLiteral",
                            "src": "1212:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1191:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1191:3:84"
                        },
                        "nativeSrc": "1191:26:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1191:26:84"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "1219:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "1219:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "1188:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "1188:2:84"
                    },
                    "nativeSrc": "1188:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1188:35:84"
                  },
                  "nativeSrc": "1185:55:84",
                  "nodeType": "YulIf",
                  "src": "1185:55:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "1266:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1266:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1274:4:84",
                            "nodeType": "YulLiteral",
                            "src": "1274:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1262:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1262:3:84"
                        },
                        "nativeSrc": "1262:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1262:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "1285:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1285:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1293:4:84",
                            "nodeType": "YulLiteral",
                            "src": "1293:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1281:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1281:3:84"
                        },
                        "nativeSrc": "1281:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1281:17:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "1300:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "1300:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "1249:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "1249:12:84"
                    },
                    "nativeSrc": "1249:54:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1249:54:84"
                  },
                  "nativeSrc": "1249:54:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1249:54:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memPtr",
                                "nativeSrc": "1327:6:84",
                                "nodeType": "YulIdentifier",
                                "src": "1327:6:84"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "1335:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "1335:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "1323:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1323:3:84"
                            },
                            "nativeSrc": "1323:15:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1323:15:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1340:4:84",
                            "nodeType": "YulLiteral",
                            "src": "1340:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1319:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1319:3:84"
                        },
                        "nativeSrc": "1319:26:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1319:26:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1347:1:84",
                        "nodeType": "YulLiteral",
                        "src": "1347:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1312:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1312:6:84"
                    },
                    "nativeSrc": "1312:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1312:37:84"
                  },
                  "nativeSrc": "1312:37:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "1312:37:84"
                },
                {
                  "nativeSrc": "1358:15:84",
                  "nodeType": "YulAssignment",
                  "src": "1358:15:84",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "1367:6:84",
                    "nodeType": "YulIdentifier",
                    "src": "1367:6:84"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "1358:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1358:5:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_bytes",
            "nativeSrc": "661:718:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "687:6:84",
                "nodeType": "YulTypedName",
                "src": "687:6:84",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "695:3:84",
                "nodeType": "YulTypedName",
                "src": "695:3:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "703:5:84",
                "nodeType": "YulTypedName",
                "src": "703:5:84",
                "type": ""
              }
            ],
            "src": "661:718:84"
          },
          {
            "body": {
              "nativeSrc": "1431:109:84",
              "nodeType": "YulBlock",
              "src": "1431:109:84",
              "statements": [
                {
                  "nativeSrc": "1441:29:84",
                  "nodeType": "YulAssignment",
                  "src": "1441:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "1463:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1463:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "1450:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "1450:12:84"
                    },
                    "nativeSrc": "1450:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1450:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "1441:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1441:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "1518:16:84",
                    "nodeType": "YulBlock",
                    "src": "1518:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1527:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1527:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1530:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1530:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1520:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1520:6:84"
                          },
                          "nativeSrc": "1520:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1520:12:84"
                        },
                        "nativeSrc": "1520:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1520:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1492:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "1492:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "1503:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "1503:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "1510:4:84",
                                "nodeType": "YulLiteral",
                                "src": "1510:4:84",
                                "type": "",
                                "value": "0xff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "1499:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1499:3:84"
                            },
                            "nativeSrc": "1499:16:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1499:16:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "1489:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "1489:2:84"
                        },
                        "nativeSrc": "1489:27:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1489:27:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "1482:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1482:6:84"
                    },
                    "nativeSrc": "1482:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1482:35:84"
                  },
                  "nativeSrc": "1479:55:84",
                  "nodeType": "YulIf",
                  "src": "1479:55:84"
                }
              ]
            },
            "name": "abi_decode_uint8",
            "nativeSrc": "1384:156:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "1410:6:84",
                "nodeType": "YulTypedName",
                "src": "1410:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "1421:5:84",
                "nodeType": "YulTypedName",
                "src": "1421:5:84",
                "type": ""
              }
            ],
            "src": "1384:156:84"
          },
          {
            "body": {
              "nativeSrc": "1593:123:84",
              "nodeType": "YulBlock",
              "src": "1593:123:84",
              "statements": [
                {
                  "nativeSrc": "1603:29:84",
                  "nodeType": "YulAssignment",
                  "src": "1603:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "1625:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1625:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "1612:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "1612:12:84"
                    },
                    "nativeSrc": "1612:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1612:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "1603:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "1603:5:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "1694:16:84",
                    "nodeType": "YulBlock",
                    "src": "1694:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1703:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1703:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1706:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1706:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1696:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1696:6:84"
                          },
                          "nativeSrc": "1696:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1696:12:84"
                        },
                        "nativeSrc": "1696:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1696:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1654:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "1654:5:84"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "1665:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "1665:5:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "1672:18:84",
                                "nodeType": "YulLiteral",
                                "src": "1672:18:84",
                                "type": "",
                                "value": "0xffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "1661:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "1661:3:84"
                            },
                            "nativeSrc": "1661:30:84",
                            "nodeType": "YulFunctionCall",
                            "src": "1661:30:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "1651:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "1651:2:84"
                        },
                        "nativeSrc": "1651:41:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1651:41:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "1644:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "1644:6:84"
                    },
                    "nativeSrc": "1644:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1644:49:84"
                  },
                  "nativeSrc": "1641:69:84",
                  "nodeType": "YulIf",
                  "src": "1641:69:84"
                }
              ]
            },
            "name": "abi_decode_uint64",
            "nativeSrc": "1545:171:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "1572:6:84",
                "nodeType": "YulTypedName",
                "src": "1572:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "1583:5:84",
                "nodeType": "YulTypedName",
                "src": "1583:5:84",
                "type": ""
              }
            ],
            "src": "1545:171:84"
          },
          {
            "body": {
              "nativeSrc": "1816:1595:84",
              "nodeType": "YulBlock",
              "src": "1816:1595:84",
              "statements": [
                {
                  "nativeSrc": "1826:12:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1826:12:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "1836:2:84",
                    "nodeType": "YulLiteral",
                    "src": "1836:2:84",
                    "type": "",
                    "value": "32"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "1830:2:84",
                      "nodeType": "YulTypedName",
                      "src": "1830:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "1883:16:84",
                    "nodeType": "YulBlock",
                    "src": "1883:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1892:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1892:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1895:1:84",
                              "nodeType": "YulLiteral",
                              "src": "1895:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1885:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "1885:6:84"
                          },
                          "nativeSrc": "1885:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "1885:12:84"
                        },
                        "nativeSrc": "1885:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "1885:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "1858:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "1858:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "1867:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "1867:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "1854:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "1854:3:84"
                        },
                        "nativeSrc": "1854:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "1854:23:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "1879:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "1879:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "1850:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "1850:3:84"
                    },
                    "nativeSrc": "1850:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1850:32:84"
                  },
                  "nativeSrc": "1847:52:84",
                  "nodeType": "YulIf",
                  "src": "1847:52:84"
                },
                {
                  "nativeSrc": "1908:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1908:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1935:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "1935:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "1922:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "1922:12:84"
                    },
                    "nativeSrc": "1922:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1922:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "1912:6:84",
                      "nodeType": "YulTypedName",
                      "src": "1912:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1954:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1954:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "1964:18:84",
                    "nodeType": "YulLiteral",
                    "src": "1964:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "1958:2:84",
                      "nodeType": "YulTypedName",
                      "src": "1958:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2009:16:84",
                    "nodeType": "YulBlock",
                    "src": "2009:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2018:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2018:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2021:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2021:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2011:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2011:6:84"
                          },
                          "nativeSrc": "2011:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2011:12:84"
                        },
                        "nativeSrc": "2011:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2011:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "1997:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "1997:6:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "2005:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "2005:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "1994:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "1994:2:84"
                    },
                    "nativeSrc": "1994:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "1994:14:84"
                  },
                  "nativeSrc": "1991:34:84",
                  "nodeType": "YulIf",
                  "src": "1991:34:84"
                },
                {
                  "nativeSrc": "2034:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2034:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "2048:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "2048:9:84"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "2059:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "2059:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2044:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2044:3:84"
                    },
                    "nativeSrc": "2044:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2044:22:84"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "2038:2:84",
                      "nodeType": "YulTypedName",
                      "src": "2038:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2106:16:84",
                    "nodeType": "YulBlock",
                    "src": "2106:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2115:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2115:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2118:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2118:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2108:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2108:6:84"
                          },
                          "nativeSrc": "2108:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2108:12:84"
                        },
                        "nativeSrc": "2108:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2108:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "2086:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "2086:7:84"
                          },
                          {
                            "name": "_3",
                            "nativeSrc": "2095:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "2095:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "2082:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2082:3:84"
                        },
                        "nativeSrc": "2082:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2082:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2100:4:84",
                        "nodeType": "YulLiteral",
                        "src": "2100:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "2078:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2078:3:84"
                    },
                    "nativeSrc": "2078:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2078:27:84"
                  },
                  "nativeSrc": "2075:47:84",
                  "nodeType": "YulIf",
                  "src": "2075:47:84"
                },
                {
                  "nativeSrc": "2131:35:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2131:35:84",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "allocate_memory_1988",
                      "nativeSrc": "2144:20:84",
                      "nodeType": "YulIdentifier",
                      "src": "2144:20:84"
                    },
                    "nativeSrc": "2144:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2144:22:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "2135:5:84",
                      "nodeType": "YulTypedName",
                      "src": "2135:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "2175:31:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2175:31:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "2203:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "2203:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "2190:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "2190:12:84"
                    },
                    "nativeSrc": "2190:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2190:16:84"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "2179:7:84",
                      "nodeType": "YulTypedName",
                      "src": "2179:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2263:16:84",
                    "nodeType": "YulBlock",
                    "src": "2263:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2272:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2272:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2275:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2275:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2265:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2265:6:84"
                          },
                          "nativeSrc": "2265:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2265:12:84"
                        },
                        "nativeSrc": "2265:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2265:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "2228:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "2228:7:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value_1",
                                    "nativeSrc": "2251:7:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "2251:7:84"
                                  }
                                ],
                                "functionName": {
                                  "name": "iszero",
                                  "nativeSrc": "2244:6:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "2244:6:84"
                                },
                                "nativeSrc": "2244:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "2244:15:84"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "2237:6:84",
                              "nodeType": "YulIdentifier",
                              "src": "2237:6:84"
                            },
                            "nativeSrc": "2237:23:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2237:23:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "2225:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "2225:2:84"
                        },
                        "nativeSrc": "2225:36:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2225:36:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "2218:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2218:6:84"
                    },
                    "nativeSrc": "2218:44:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2218:44:84"
                  },
                  "nativeSrc": "2215:64:84",
                  "nodeType": "YulIf",
                  "src": "2215:64:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "2295:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "2295:5:84"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "2302:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "2302:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2288:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2288:6:84"
                    },
                    "nativeSrc": "2288:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2288:22:84"
                  },
                  "nativeSrc": "2288:22:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2288:22:84"
                },
                {
                  "nativeSrc": "2319:41:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2319:41:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_3",
                            "nativeSrc": "2352:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "2352:2:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "2356:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "2356:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2348:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2348:3:84"
                        },
                        "nativeSrc": "2348:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2348:11:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "2335:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "2335:12:84"
                    },
                    "nativeSrc": "2335:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2335:25:84"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "2323:8:84",
                      "nodeType": "YulTypedName",
                      "src": "2323:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2389:16:84",
                    "nodeType": "YulBlock",
                    "src": "2389:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2398:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2398:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2401:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2401:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2391:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2391:6:84"
                          },
                          "nativeSrc": "2391:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2391:12:84"
                        },
                        "nativeSrc": "2391:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2391:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "2375:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "2375:8:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "2385:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "2385:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "2372:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "2372:2:84"
                    },
                    "nativeSrc": "2372:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2372:16:84"
                  },
                  "nativeSrc": "2369:36:84",
                  "nodeType": "YulIf",
                  "src": "2369:36:84"
                },
                {
                  "nativeSrc": "2414:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2414:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_3",
                        "nativeSrc": "2428:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "2428:2:84"
                      },
                      {
                        "name": "offset_1",
                        "nativeSrc": "2432:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "2432:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2424:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2424:3:84"
                    },
                    "nativeSrc": "2424:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2424:17:84"
                  },
                  "variables": [
                    {
                      "name": "_4",
                      "nativeSrc": "2418:2:84",
                      "nodeType": "YulTypedName",
                      "src": "2418:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2481:16:84",
                    "nodeType": "YulBlock",
                    "src": "2481:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2490:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2490:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2493:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2493:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2483:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2483:6:84"
                          },
                          "nativeSrc": "2483:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2483:12:84"
                        },
                        "nativeSrc": "2483:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2483:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "2461:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "2461:7:84"
                          },
                          {
                            "name": "_4",
                            "nativeSrc": "2470:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "2470:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "2457:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2457:3:84"
                        },
                        "nativeSrc": "2457:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2457:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2475:4:84",
                        "nodeType": "YulLiteral",
                        "src": "2475:4:84",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "2453:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2453:3:84"
                    },
                    "nativeSrc": "2453:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2453:27:84"
                  },
                  "nativeSrc": "2450:47:84",
                  "nodeType": "YulIf",
                  "src": "2450:47:84"
                },
                {
                  "nativeSrc": "2506:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2506:32:84",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "allocate_memory",
                      "nativeSrc": "2521:15:84",
                      "nodeType": "YulIdentifier",
                      "src": "2521:15:84"
                    },
                    "nativeSrc": "2521:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2521:17:84"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "2510:7:84",
                      "nodeType": "YulTypedName",
                      "src": "2510:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "2547:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2547:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_4",
                        "nativeSrc": "2576:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "2576:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "2563:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "2563:12:84"
                    },
                    "nativeSrc": "2563:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2563:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset_2",
                      "nativeSrc": "2551:8:84",
                      "nodeType": "YulTypedName",
                      "src": "2551:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2608:16:84",
                    "nodeType": "YulBlock",
                    "src": "2608:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2617:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2617:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2620:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2620:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2610:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2610:6:84"
                          },
                          "nativeSrc": "2610:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2610:12:84"
                        },
                        "nativeSrc": "2610:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2610:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_2",
                        "nativeSrc": "2594:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "2594:8:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "2604:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "2604:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "2591:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "2591:2:84"
                    },
                    "nativeSrc": "2591:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2591:16:84"
                  },
                  "nativeSrc": "2588:36:84",
                  "nodeType": "YulIf",
                  "src": "2588:36:84"
                },
                {
                  "nativeSrc": "2633:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2633:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_4",
                        "nativeSrc": "2647:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "2647:2:84"
                      },
                      {
                        "name": "offset_2",
                        "nativeSrc": "2651:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "2651:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2643:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2643:3:84"
                    },
                    "nativeSrc": "2643:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2643:17:84"
                  },
                  "variables": [
                    {
                      "name": "_5",
                      "nativeSrc": "2637:2:84",
                      "nodeType": "YulTypedName",
                      "src": "2637:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2700:16:84",
                    "nodeType": "YulBlock",
                    "src": "2700:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2709:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2709:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2712:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2712:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2702:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2702:6:84"
                          },
                          "nativeSrc": "2702:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2702:12:84"
                        },
                        "nativeSrc": "2702:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2702:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "2680:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "2680:7:84"
                          },
                          {
                            "name": "_5",
                            "nativeSrc": "2689:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "2689:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "2676:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2676:3:84"
                        },
                        "nativeSrc": "2676:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2676:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2694:4:84",
                        "nodeType": "YulLiteral",
                        "src": "2694:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "2672:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "2672:3:84"
                    },
                    "nativeSrc": "2672:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2672:27:84"
                  },
                  "nativeSrc": "2669:47:84",
                  "nodeType": "YulIf",
                  "src": "2669:47:84"
                },
                {
                  "nativeSrc": "2725:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2725:37:84",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "allocate_memory_1988",
                      "nativeSrc": "2740:20:84",
                      "nodeType": "YulIdentifier",
                      "src": "2740:20:84"
                    },
                    "nativeSrc": "2740:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2740:22:84"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "2729:7:84",
                      "nodeType": "YulTypedName",
                      "src": "2729:7:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "2771:32:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2771:32:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_5",
                        "nativeSrc": "2800:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "2800:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "2787:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "2787:12:84"
                    },
                    "nativeSrc": "2787:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2787:16:84"
                  },
                  "variables": [
                    {
                      "name": "offset_3",
                      "nativeSrc": "2775:8:84",
                      "nodeType": "YulTypedName",
                      "src": "2775:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2832:16:84",
                    "nodeType": "YulBlock",
                    "src": "2832:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2841:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2841:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2844:1:84",
                              "nodeType": "YulLiteral",
                              "src": "2844:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2834:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "2834:6:84"
                          },
                          "nativeSrc": "2834:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "2834:12:84"
                        },
                        "nativeSrc": "2834:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "2834:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_3",
                        "nativeSrc": "2818:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "2818:8:84"
                      },
                      {
                        "name": "_2",
                        "nativeSrc": "2828:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "2828:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "2815:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "2815:2:84"
                    },
                    "nativeSrc": "2815:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2815:16:84"
                  },
                  "nativeSrc": "2812:36:84",
                  "nodeType": "YulIf",
                  "src": "2812:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_3",
                        "nativeSrc": "2864:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "2864:7:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_5",
                                "nativeSrc": "2894:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "2894:2:84"
                              },
                              {
                                "name": "offset_3",
                                "nativeSrc": "2898:8:84",
                                "nodeType": "YulIdentifier",
                                "src": "2898:8:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "2890:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2890:3:84"
                            },
                            "nativeSrc": "2890:17:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2890:17:84"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "2909:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "2909:7:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_bytes",
                          "nativeSrc": "2873:16:84",
                          "nodeType": "YulIdentifier",
                          "src": "2873:16:84"
                        },
                        "nativeSrc": "2873:44:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2873:44:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2857:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2857:6:84"
                    },
                    "nativeSrc": "2857:61:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2857:61:84"
                  },
                  "nativeSrc": "2857:61:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2857:61:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_3",
                            "nativeSrc": "2938:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "2938:7:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "2947:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "2947:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2934:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "2934:3:84"
                        },
                        "nativeSrc": "2934:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2934:16:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_5",
                                "nativeSrc": "2969:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "2969:2:84"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "2973:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "2973:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "2965:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "2965:3:84"
                            },
                            "nativeSrc": "2965:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "2965:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "calldataload",
                          "nativeSrc": "2952:12:84",
                          "nodeType": "YulIdentifier",
                          "src": "2952:12:84"
                        },
                        "nativeSrc": "2952:25:84",
                        "nodeType": "YulFunctionCall",
                        "src": "2952:25:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2927:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2927:6:84"
                    },
                    "nativeSrc": "2927:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2927:51:84"
                  },
                  "nativeSrc": "2927:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2927:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "2994:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "2994:7:84"
                      },
                      {
                        "name": "value_3",
                        "nativeSrc": "3003:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "3003:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2987:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "2987:6:84"
                    },
                    "nativeSrc": "2987:24:84",
                    "nodeType": "YulFunctionCall",
                    "src": "2987:24:84"
                  },
                  "nativeSrc": "2987:24:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "2987:24:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_2",
                            "nativeSrc": "3031:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "3031:7:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "3040:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "3040:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3027:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3027:3:84"
                        },
                        "nativeSrc": "3027:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3027:16:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_4",
                                "nativeSrc": "3066:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "3066:2:84"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "3070:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "3070:2:84"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "3062:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "3062:3:84"
                            },
                            "nativeSrc": "3062:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3062:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint8",
                          "nativeSrc": "3045:16:84",
                          "nodeType": "YulIdentifier",
                          "src": "3045:16:84"
                        },
                        "nativeSrc": "3045:29:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3045:29:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3020:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3020:6:84"
                    },
                    "nativeSrc": "3020:55:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3020:55:84"
                  },
                  "nativeSrc": "3020:55:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3020:55:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_2",
                            "nativeSrc": "3095:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "3095:7:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3104:4:84",
                            "nodeType": "YulLiteral",
                            "src": "3104:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3091:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3091:3:84"
                        },
                        "nativeSrc": "3091:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3091:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_4",
                                "nativeSrc": "3132:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "3132:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "3136:4:84",
                                "nodeType": "YulLiteral",
                                "src": "3136:4:84",
                                "type": "",
                                "value": "0x40"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "3128:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "3128:3:84"
                            },
                            "nativeSrc": "3128:13:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3128:13:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint8",
                          "nativeSrc": "3111:16:84",
                          "nodeType": "YulIdentifier",
                          "src": "3111:16:84"
                        },
                        "nativeSrc": "3111:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3111:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3084:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3084:6:84"
                    },
                    "nativeSrc": "3084:59:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3084:59:84"
                  },
                  "nativeSrc": "3084:59:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3084:59:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_2",
                            "nativeSrc": "3163:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "3163:7:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3172:2:84",
                            "nodeType": "YulLiteral",
                            "src": "3172:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3159:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3159:3:84"
                        },
                        "nativeSrc": "3159:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3159:16:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_4",
                                "nativeSrc": "3198:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "3198:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "3202:2:84",
                                "nodeType": "YulLiteral",
                                "src": "3202:2:84",
                                "type": "",
                                "value": "96"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "3194:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "3194:3:84"
                            },
                            "nativeSrc": "3194:11:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3194:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint8",
                          "nativeSrc": "3177:16:84",
                          "nodeType": "YulIdentifier",
                          "src": "3177:16:84"
                        },
                        "nativeSrc": "3177:29:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3177:29:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3152:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3152:6:84"
                    },
                    "nativeSrc": "3152:55:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3152:55:84"
                  },
                  "nativeSrc": "3152:55:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3152:55:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_2",
                            "nativeSrc": "3227:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "3227:7:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3236:3:84",
                            "nodeType": "YulLiteral",
                            "src": "3236:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3223:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3223:3:84"
                        },
                        "nativeSrc": "3223:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3223:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_4",
                                "nativeSrc": "3264:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "3264:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "3268:3:84",
                                "nodeType": "YulLiteral",
                                "src": "3268:3:84",
                                "type": "",
                                "value": "128"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "3260:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "3260:3:84"
                            },
                            "nativeSrc": "3260:12:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3260:12:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint64",
                          "nativeSrc": "3242:17:84",
                          "nodeType": "YulIdentifier",
                          "src": "3242:17:84"
                        },
                        "nativeSrc": "3242:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3242:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3216:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3216:6:84"
                    },
                    "nativeSrc": "3216:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3216:58:84"
                  },
                  "nativeSrc": "3216:58:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3216:58:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_2",
                            "nativeSrc": "3294:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "3294:7:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3303:3:84",
                            "nodeType": "YulLiteral",
                            "src": "3303:3:84",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3290:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3290:3:84"
                        },
                        "nativeSrc": "3290:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3290:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_4",
                                "nativeSrc": "3331:2:84",
                                "nodeType": "YulIdentifier",
                                "src": "3331:2:84"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "3335:3:84",
                                "nodeType": "YulLiteral",
                                "src": "3335:3:84",
                                "type": "",
                                "value": "160"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "3327:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "3327:3:84"
                            },
                            "nativeSrc": "3327:12:84",
                            "nodeType": "YulFunctionCall",
                            "src": "3327:12:84"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint64",
                          "nativeSrc": "3309:17:84",
                          "nodeType": "YulIdentifier",
                          "src": "3309:17:84"
                        },
                        "nativeSrc": "3309:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3309:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3283:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3283:6:84"
                    },
                    "nativeSrc": "3283:58:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3283:58:84"
                  },
                  "nativeSrc": "3283:58:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3283:58:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "3361:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "3361:5:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "3368:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "3368:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3357:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3357:3:84"
                        },
                        "nativeSrc": "3357:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3357:14:84"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "3373:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "3373:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3350:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3350:6:84"
                    },
                    "nativeSrc": "3350:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3350:31:84"
                  },
                  "nativeSrc": "3350:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3350:31:84"
                },
                {
                  "nativeSrc": "3390:15:84",
                  "nodeType": "YulAssignment",
                  "src": "3390:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "3400:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "3400:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "3390:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3390:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_Result_$16042_memory_ptr",
            "nativeSrc": "1721:1690:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1782:9:84",
                "nodeType": "YulTypedName",
                "src": "1782:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "1793:7:84",
                "nodeType": "YulTypedName",
                "src": "1793:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "1805:6:84",
                "nodeType": "YulTypedName",
                "src": "1805:6:84",
                "type": ""
              }
            ],
            "src": "1721:1690:84"
          },
          {
            "body": {
              "nativeSrc": "3448:95:84",
              "nodeType": "YulBlock",
              "src": "3448:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "3465:1:84",
                        "nodeType": "YulLiteral",
                        "src": "3465:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "3472:3:84",
                            "nodeType": "YulLiteral",
                            "src": "3472:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3477:10:84",
                            "nodeType": "YulLiteral",
                            "src": "3477:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "3468:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "3468:3:84"
                        },
                        "nativeSrc": "3468:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3468:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3458:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3458:6:84"
                    },
                    "nativeSrc": "3458:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3458:31:84"
                  },
                  "nativeSrc": "3458:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3458:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "3505:1:84",
                        "nodeType": "YulLiteral",
                        "src": "3505:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3508:4:84",
                        "nodeType": "YulLiteral",
                        "src": "3508:4:84",
                        "type": "",
                        "value": "0x21"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3498:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3498:6:84"
                    },
                    "nativeSrc": "3498:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3498:15:84"
                  },
                  "nativeSrc": "3498:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3498:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "3529:1:84",
                        "nodeType": "YulLiteral",
                        "src": "3529:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3532:4:84",
                        "nodeType": "YulLiteral",
                        "src": "3532:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "3522:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3522:6:84"
                    },
                    "nativeSrc": "3522:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3522:15:84"
                  },
                  "nativeSrc": "3522:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3522:15:84"
                }
              ]
            },
            "name": "panic_error_0x21",
            "nativeSrc": "3416:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "3416:127:84"
          },
          {
            "body": {
              "nativeSrc": "3606:188:84",
              "nodeType": "YulBlock",
              "src": "3606:188:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "3650:111:84",
                    "nodeType": "YulBlock",
                    "src": "3650:111:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3671:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3671:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "3678:3:84",
                                  "nodeType": "YulLiteral",
                                  "src": "3678:3:84",
                                  "type": "",
                                  "value": "224"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "3683:10:84",
                                  "nodeType": "YulLiteral",
                                  "src": "3683:10:84",
                                  "type": "",
                                  "value": "0x4e487b71"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "3674:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "3674:3:84"
                              },
                              "nativeSrc": "3674:20:84",
                              "nodeType": "YulFunctionCall",
                              "src": "3674:20:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "3664:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3664:6:84"
                          },
                          "nativeSrc": "3664:31:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3664:31:84"
                        },
                        "nativeSrc": "3664:31:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3664:31:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3715:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3715:1:84",
                              "type": "",
                              "value": "4"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3718:4:84",
                              "nodeType": "YulLiteral",
                              "src": "3718:4:84",
                              "type": "",
                              "value": "0x21"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "3708:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3708:6:84"
                          },
                          "nativeSrc": "3708:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3708:15:84"
                        },
                        "nativeSrc": "3708:15:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3708:15:84"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3743:1:84",
                              "nodeType": "YulLiteral",
                              "src": "3743:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3746:4:84",
                              "nodeType": "YulLiteral",
                              "src": "3746:4:84",
                              "type": "",
                              "value": "0x24"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3736:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3736:6:84"
                          },
                          "nativeSrc": "3736:15:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3736:15:84"
                        },
                        "nativeSrc": "3736:15:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3736:15:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "3629:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "3629:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3636:3:84",
                            "nodeType": "YulLiteral",
                            "src": "3636:3:84",
                            "type": "",
                            "value": "255"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "3626:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "3626:2:84"
                        },
                        "nativeSrc": "3626:14:84",
                        "nodeType": "YulFunctionCall",
                        "src": "3626:14:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "3619:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3619:6:84"
                    },
                    "nativeSrc": "3619:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3619:22:84"
                  },
                  "nativeSrc": "3616:145:84",
                  "nodeType": "YulIf",
                  "src": "3616:145:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "3777:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "3777:3:84"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "3782:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "3782:5:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3770:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "3770:6:84"
                    },
                    "nativeSrc": "3770:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3770:18:84"
                  },
                  "nativeSrc": "3770:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "3770:18:84"
                }
              ]
            },
            "name": "abi_encode_enum_ResultErrorCodes",
            "nativeSrc": "3548:246:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "3590:5:84",
                "nodeType": "YulTypedName",
                "src": "3590:5:84",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "3597:3:84",
                "nodeType": "YulTypedName",
                "src": "3597:3:84",
                "type": ""
              }
            ],
            "src": "3548:246:84"
          },
          {
            "body": {
              "nativeSrc": "3865:184:84",
              "nodeType": "YulBlock",
              "src": "3865:184:84",
              "statements": [
                {
                  "nativeSrc": "3875:10:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3875:10:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "3884:1:84",
                    "nodeType": "YulLiteral",
                    "src": "3884:1:84",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "3879:1:84",
                      "nodeType": "YulTypedName",
                      "src": "3879:1:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3944:63:84",
                    "nodeType": "YulBlock",
                    "src": "3944:63:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "dst",
                                  "nativeSrc": "3969:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "3969:3:84"
                                },
                                {
                                  "name": "i",
                                  "nativeSrc": "3974:1:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "3974:1:84"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "3965:3:84",
                                "nodeType": "YulIdentifier",
                                "src": "3965:3:84"
                              },
                              "nativeSrc": "3965:11:84",
                              "nodeType": "YulFunctionCall",
                              "src": "3965:11:84"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "src",
                                      "nativeSrc": "3988:3:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "3988:3:84"
                                    },
                                    {
                                      "name": "i",
                                      "nativeSrc": "3993:1:84",
                                      "nodeType": "YulIdentifier",
                                      "src": "3993:1:84"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "3984:3:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "3984:3:84"
                                  },
                                  "nativeSrc": "3984:11:84",
                                  "nodeType": "YulFunctionCall",
                                  "src": "3984:11:84"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "3978:5:84",
                                "nodeType": "YulIdentifier",
                                "src": "3978:5:84"
                              },
                              "nativeSrc": "3978:18:84",
                              "nodeType": "YulFunctionCall",
                              "src": "3978:18:84"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "3958:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "3958:6:84"
                          },
                          "nativeSrc": "3958:39:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3958:39:84"
                        },
                        "nativeSrc": "3958:39:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "3958:39:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "3905:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "3905:1:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "3908:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "3908:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "3902:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "3902:2:84"
                    },
                    "nativeSrc": "3902:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "3902:13:84"
                  },
                  "nativeSrc": "3894:113:84",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "3916:19:84",
                    "nodeType": "YulBlock",
                    "src": "3916:19:84",
                    "statements": [
                      {
                        "nativeSrc": "3918:15:84",
                        "nodeType": "YulAssignment",
                        "src": "3918:15:84",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "3927:1:84",
                              "nodeType": "YulIdentifier",
                              "src": "3927:1:84"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3930:2:84",
                              "nodeType": "YulLiteral",
                              "src": "3930:2:84",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "3923:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "3923:3:84"
                          },
                          "nativeSrc": "3923:10:84",
                          "nodeType": "YulFunctionCall",
                          "src": "3923:10:84"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "3918:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "3918:1:84"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "3898:3:84",
                    "nodeType": "YulBlock",
                    "src": "3898:3:84",
                    "statements": []
                  },
                  "src": "3894:113:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dst",
                            "nativeSrc": "4027:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "4027:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "4032:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4032:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4023:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4023:3:84"
                        },
                        "nativeSrc": "4023:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4023:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4041:1:84",
                        "nodeType": "YulLiteral",
                        "src": "4041:1:84",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4016:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4016:6:84"
                    },
                    "nativeSrc": "4016:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4016:27:84"
                  },
                  "nativeSrc": "4016:27:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4016:27:84"
                }
              ]
            },
            "name": "copy_memory_to_memory_with_cleanup",
            "nativeSrc": "3799:250:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "src",
                "nativeSrc": "3843:3:84",
                "nodeType": "YulTypedName",
                "src": "3843:3:84",
                "type": ""
              },
              {
                "name": "dst",
                "nativeSrc": "3848:3:84",
                "nodeType": "YulTypedName",
                "src": "3848:3:84",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "3853:6:84",
                "nodeType": "YulTypedName",
                "src": "3853:6:84",
                "type": ""
              }
            ],
            "src": "3799:250:84"
          },
          {
            "body": {
              "nativeSrc": "4223:459:84",
              "nodeType": "YulBlock",
              "src": "4223:459:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "4240:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "4240:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4251:2:84",
                        "nodeType": "YulLiteral",
                        "src": "4251:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4233:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4233:6:84"
                    },
                    "nativeSrc": "4233:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4233:21:84"
                  },
                  "nativeSrc": "4233:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4233:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "4302:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4302:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "4296:5:84",
                          "nodeType": "YulIdentifier",
                          "src": "4296:5:84"
                        },
                        "nativeSrc": "4296:13:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4296:13:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4315:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "4315:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4326:2:84",
                            "nodeType": "YulLiteral",
                            "src": "4326:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4311:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4311:3:84"
                        },
                        "nativeSrc": "4311:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4311:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResultErrorCodes",
                      "nativeSrc": "4263:32:84",
                      "nodeType": "YulIdentifier",
                      "src": "4263:32:84"
                    },
                    "nativeSrc": "4263:67:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4263:67:84"
                  },
                  "nativeSrc": "4263:67:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4263:67:84"
                },
                {
                  "nativeSrc": "4339:42:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4339:42:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "4369:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4369:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4377:2:84",
                            "nodeType": "YulLiteral",
                            "src": "4377:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4365:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4365:3:84"
                        },
                        "nativeSrc": "4365:15:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4365:15:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "4359:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "4359:5:84"
                    },
                    "nativeSrc": "4359:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4359:22:84"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "4343:12:84",
                      "nodeType": "YulTypedName",
                      "src": "4343:12:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4401:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "4401:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4412:4:84",
                            "nodeType": "YulLiteral",
                            "src": "4412:4:84",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4397:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4397:3:84"
                        },
                        "nativeSrc": "4397:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4397:20:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4419:4:84",
                        "nodeType": "YulLiteral",
                        "src": "4419:4:84",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4390:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4390:6:84"
                    },
                    "nativeSrc": "4390:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4390:34:84"
                  },
                  "nativeSrc": "4390:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4390:34:84"
                },
                {
                  "nativeSrc": "4433:33:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4433:33:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "4453:12:84",
                        "nodeType": "YulIdentifier",
                        "src": "4453:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "4447:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "4447:5:84"
                    },
                    "nativeSrc": "4447:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4447:19:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "4437:6:84",
                      "nodeType": "YulTypedName",
                      "src": "4437:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4486:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "4486:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4497:2:84",
                            "nodeType": "YulLiteral",
                            "src": "4497:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4482:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4482:3:84"
                        },
                        "nativeSrc": "4482:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4482:18:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "4502:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4502:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4475:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4475:6:84"
                    },
                    "nativeSrc": "4475:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4475:34:84"
                  },
                  "nativeSrc": "4475:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4475:34:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memberValue0",
                            "nativeSrc": "4557:12:84",
                            "nodeType": "YulIdentifier",
                            "src": "4557:12:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4571:2:84",
                            "nodeType": "YulLiteral",
                            "src": "4571:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4553:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4553:3:84"
                        },
                        "nativeSrc": "4553:21:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4553:21:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4580:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "4580:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4591:3:84",
                            "nodeType": "YulLiteral",
                            "src": "4591:3:84",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4576:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4576:3:84"
                        },
                        "nativeSrc": "4576:19:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4576:19:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "4597:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4597:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "4518:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "4518:34:84"
                    },
                    "nativeSrc": "4518:86:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4518:86:84"
                  },
                  "nativeSrc": "4518:86:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "4518:86:84"
                },
                {
                  "nativeSrc": "4613:63:84",
                  "nodeType": "YulAssignment",
                  "src": "4613:63:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4629:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "4629:9:84"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "4648:6:84",
                                    "nodeType": "YulIdentifier",
                                    "src": "4648:6:84"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4656:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4656:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "4644:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4644:3:84"
                                },
                                "nativeSrc": "4644:15:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4644:15:84"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4665:2:84",
                                    "nodeType": "YulLiteral",
                                    "src": "4665:2:84",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "4661:3:84",
                                  "nodeType": "YulIdentifier",
                                  "src": "4661:3:84"
                                },
                                "nativeSrc": "4661:7:84",
                                "nodeType": "YulFunctionCall",
                                "src": "4661:7:84"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "4640:3:84",
                              "nodeType": "YulIdentifier",
                              "src": "4640:3:84"
                            },
                            "nativeSrc": "4640:29:84",
                            "nodeType": "YulFunctionCall",
                            "src": "4640:29:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4625:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4625:3:84"
                        },
                        "nativeSrc": "4625:45:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4625:45:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4672:3:84",
                        "nodeType": "YulLiteral",
                        "src": "4672:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "4621:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "4621:3:84"
                    },
                    "nativeSrc": "4621:55:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4621:55:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "4613:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "4613:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_ResultError_$16055_memory_ptr__to_t_struct$_ResultError_$16055_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "4054:628:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "4192:9:84",
                "nodeType": "YulTypedName",
                "src": "4192:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "4203:6:84",
                "nodeType": "YulTypedName",
                "src": "4203:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "4214:4:84",
                "nodeType": "YulTypedName",
                "src": "4214:4:84",
                "type": ""
              }
            ],
            "src": "4054:628:84"
          },
          {
            "body": {
              "nativeSrc": "4766:241:84",
              "nodeType": "YulBlock",
              "src": "4766:241:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "4812:16:84",
                    "nodeType": "YulBlock",
                    "src": "4812:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4821:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4821:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4824:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4824:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4814:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4814:6:84"
                          },
                          "nativeSrc": "4814:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4814:12:84"
                        },
                        "nativeSrc": "4814:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "4814:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "4787:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "4787:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "4796:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "4796:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "4783:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4783:3:84"
                        },
                        "nativeSrc": "4783:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4783:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4808:2:84",
                        "nodeType": "YulLiteral",
                        "src": "4808:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "4779:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "4779:3:84"
                    },
                    "nativeSrc": "4779:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4779:32:84"
                  },
                  "nativeSrc": "4776:52:84",
                  "nodeType": "YulIf",
                  "src": "4776:52:84"
                },
                {
                  "nativeSrc": "4837:37:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4837:37:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "4864:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "4864:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "4851:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "4851:12:84"
                    },
                    "nativeSrc": "4851:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4851:23:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "4841:6:84",
                      "nodeType": "YulTypedName",
                      "src": "4841:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4917:16:84",
                    "nodeType": "YulBlock",
                    "src": "4917:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4926:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4926:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4929:1:84",
                              "nodeType": "YulLiteral",
                              "src": "4929:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4919:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4919:6:84"
                          },
                          "nativeSrc": "4919:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "4919:12:84"
                        },
                        "nativeSrc": "4919:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "4919:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "4889:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "4889:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4897:18:84",
                        "nodeType": "YulLiteral",
                        "src": "4897:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "4886:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "4886:2:84"
                    },
                    "nativeSrc": "4886:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4886:30:84"
                  },
                  "nativeSrc": "4883:50:84",
                  "nodeType": "YulIf",
                  "src": "4883:50:84"
                },
                {
                  "nativeSrc": "4942:59:84",
                  "nodeType": "YulAssignment",
                  "src": "4942:59:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4973:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "4973:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "4984:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "4984:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4969:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "4969:3:84"
                        },
                        "nativeSrc": "4969:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "4969:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "4993:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "4993:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes",
                      "nativeSrc": "4952:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "4952:16:84"
                    },
                    "nativeSrc": "4952:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "4952:49:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "4942:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "4942:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_memory_ptr",
            "nativeSrc": "4687:320:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "4732:9:84",
                "nodeType": "YulTypedName",
                "src": "4732:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "4743:7:84",
                "nodeType": "YulTypedName",
                "src": "4743:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "4755:6:84",
                "nodeType": "YulTypedName",
                "src": "4755:6:84",
                "type": ""
              }
            ],
            "src": "4687:320:84"
          },
          {
            "body": {
              "nativeSrc": "5189:171:84",
              "nodeType": "YulBlock",
              "src": "5189:171:84",
              "statements": [
                {
                  "nativeSrc": "5199:26:84",
                  "nodeType": "YulAssignment",
                  "src": "5199:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5211:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "5211:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5222:2:84",
                        "nodeType": "YulLiteral",
                        "src": "5222:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "5207:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "5207:3:84"
                    },
                    "nativeSrc": "5207:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5207:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "5199:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "5199:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "5267:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "5267:6:84"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "5275:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "5275:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResultErrorCodes",
                      "nativeSrc": "5234:32:84",
                      "nodeType": "YulIdentifier",
                      "src": "5234:32:84"
                    },
                    "nativeSrc": "5234:51:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5234:51:84"
                  },
                  "nativeSrc": "5234:51:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5234:51:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "5327:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "5327:6:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5339:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "5339:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5350:2:84",
                            "nodeType": "YulLiteral",
                            "src": "5350:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5335:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5335:3:84"
                        },
                        "nativeSrc": "5335:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5335:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_ResultErrorCodes",
                      "nativeSrc": "5294:32:84",
                      "nodeType": "YulIdentifier",
                      "src": "5294:32:84"
                    },
                    "nativeSrc": "5294:60:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5294:60:84"
                  },
                  "nativeSrc": "5294:60:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5294:60:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_enum$_ResultErrorCodes_$16311_t_enum$_ResultErrorCodes_$16311__to_t_uint8_t_uint8__fromStack_library_reversed",
            "nativeSrc": "5012:348:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5150:9:84",
                "nodeType": "YulTypedName",
                "src": "5150:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "5161:6:84",
                "nodeType": "YulTypedName",
                "src": "5161:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "5169:6:84",
                "nodeType": "YulTypedName",
                "src": "5169:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "5180:4:84",
                "nodeType": "YulTypedName",
                "src": "5180:4:84",
                "type": ""
              }
            ],
            "src": "5012:348:84"
          },
          {
            "body": {
              "nativeSrc": "5481:368:84",
              "nodeType": "YulBlock",
              "src": "5481:368:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "5527:16:84",
                    "nodeType": "YulBlock",
                    "src": "5527:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5536:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5536:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5539:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5539:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5529:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "5529:6:84"
                          },
                          "nativeSrc": "5529:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "5529:12:84"
                        },
                        "nativeSrc": "5529:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "5529:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "5502:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "5502:7:84"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "5511:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "5511:9:84"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "5498:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5498:3:84"
                        },
                        "nativeSrc": "5498:23:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5498:23:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5523:2:84",
                        "nodeType": "YulLiteral",
                        "src": "5523:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "5494:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "5494:3:84"
                    },
                    "nativeSrc": "5494:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5494:32:84"
                  },
                  "nativeSrc": "5491:52:84",
                  "nodeType": "YulIf",
                  "src": "5491:52:84"
                },
                {
                  "nativeSrc": "5552:36:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5552:36:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5578:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "5578:9:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "5565:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "5565:12:84"
                    },
                    "nativeSrc": "5565:23:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5565:23:84"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "5556:5:84",
                      "nodeType": "YulTypedName",
                      "src": "5556:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "5621:16:84",
                    "nodeType": "YulBlock",
                    "src": "5621:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5630:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5630:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5633:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5633:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5623:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "5623:6:84"
                          },
                          "nativeSrc": "5623:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "5623:12:84"
                        },
                        "nativeSrc": "5623:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "5623:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "5610:5:84",
                            "nodeType": "YulIdentifier",
                            "src": "5610:5:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5617:1:84",
                            "nodeType": "YulLiteral",
                            "src": "5617:1:84",
                            "type": "",
                            "value": "6"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "5607:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "5607:2:84"
                        },
                        "nativeSrc": "5607:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5607:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "5600:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5600:6:84"
                    },
                    "nativeSrc": "5600:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5600:20:84"
                  },
                  "nativeSrc": "5597:40:84",
                  "nodeType": "YulIf",
                  "src": "5597:40:84"
                },
                {
                  "nativeSrc": "5646:15:84",
                  "nodeType": "YulAssignment",
                  "src": "5646:15:84",
                  "value": {
                    "name": "value",
                    "nativeSrc": "5656:5:84",
                    "nodeType": "YulIdentifier",
                    "src": "5656:5:84"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "5646:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5646:6:84"
                    }
                  ]
                },
                {
                  "nativeSrc": "5670:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5670:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5701:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "5701:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5712:2:84",
                            "nodeType": "YulLiteral",
                            "src": "5712:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5697:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5697:3:84"
                        },
                        "nativeSrc": "5697:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5697:18:84"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "5684:12:84",
                      "nodeType": "YulIdentifier",
                      "src": "5684:12:84"
                    },
                    "nativeSrc": "5684:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5684:32:84"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "5674:6:84",
                      "nodeType": "YulTypedName",
                      "src": "5674:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "5759:16:84",
                    "nodeType": "YulBlock",
                    "src": "5759:16:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5768:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5768:1:84",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5771:1:84",
                              "nodeType": "YulLiteral",
                              "src": "5771:1:84",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5761:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "5761:6:84"
                          },
                          "nativeSrc": "5761:12:84",
                          "nodeType": "YulFunctionCall",
                          "src": "5761:12:84"
                        },
                        "nativeSrc": "5761:12:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "5761:12:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "5731:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "5731:6:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5739:18:84",
                        "nodeType": "YulLiteral",
                        "src": "5739:18:84",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "5728:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "5728:2:84"
                    },
                    "nativeSrc": "5728:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5728:30:84"
                  },
                  "nativeSrc": "5725:50:84",
                  "nodeType": "YulIf",
                  "src": "5725:50:84"
                },
                {
                  "nativeSrc": "5784:59:84",
                  "nodeType": "YulAssignment",
                  "src": "5784:59:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5815:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "5815:9:84"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "5826:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "5826:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5811:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5811:3:84"
                        },
                        "nativeSrc": "5811:22:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5811:22:84"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "5835:7:84",
                        "nodeType": "YulIdentifier",
                        "src": "5835:7:84"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes",
                      "nativeSrc": "5794:16:84",
                      "nodeType": "YulIdentifier",
                      "src": "5794:16:84"
                    },
                    "nativeSrc": "5794:49:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5794:49:84"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "5784:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5784:6:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_enum$_ResponseStatus_$23496t_bytes_memory_ptr",
            "nativeSrc": "5365:484:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5439:9:84",
                "nodeType": "YulTypedName",
                "src": "5439:9:84",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "5450:7:84",
                "nodeType": "YulTypedName",
                "src": "5450:7:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "5462:6:84",
                "nodeType": "YulTypedName",
                "src": "5462:6:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "5470:6:84",
                "nodeType": "YulTypedName",
                "src": "5470:6:84",
                "type": ""
              }
            ],
            "src": "5365:484:84"
          },
          {
            "body": {
              "nativeSrc": "5886:95:84",
              "nodeType": "YulBlock",
              "src": "5886:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5903:1:84",
                        "nodeType": "YulLiteral",
                        "src": "5903:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "5910:3:84",
                            "nodeType": "YulLiteral",
                            "src": "5910:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5915:10:84",
                            "nodeType": "YulLiteral",
                            "src": "5915:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "5906:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "5906:3:84"
                        },
                        "nativeSrc": "5906:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "5906:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5896:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5896:6:84"
                    },
                    "nativeSrc": "5896:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5896:31:84"
                  },
                  "nativeSrc": "5896:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5896:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5943:1:84",
                        "nodeType": "YulLiteral",
                        "src": "5943:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5946:4:84",
                        "nodeType": "YulLiteral",
                        "src": "5946:4:84",
                        "type": "",
                        "value": "0x32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5936:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5936:6:84"
                    },
                    "nativeSrc": "5936:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5936:15:84"
                  },
                  "nativeSrc": "5936:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5936:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5967:1:84",
                        "nodeType": "YulLiteral",
                        "src": "5967:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5970:4:84",
                        "nodeType": "YulLiteral",
                        "src": "5970:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "5960:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "5960:6:84"
                    },
                    "nativeSrc": "5960:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "5960:15:84"
                  },
                  "nativeSrc": "5960:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "5960:15:84"
                }
              ]
            },
            "name": "panic_error_0x32",
            "nativeSrc": "5854:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "5854:127:84"
          },
          {
            "body": {
              "nativeSrc": "6160:158:84",
              "nodeType": "YulBlock",
              "src": "6160:158:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6177:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "6177:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6188:2:84",
                        "nodeType": "YulLiteral",
                        "src": "6188:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6170:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6170:6:84"
                    },
                    "nativeSrc": "6170:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6170:21:84"
                  },
                  "nativeSrc": "6170:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6170:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6211:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "6211:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6222:2:84",
                            "nodeType": "YulLiteral",
                            "src": "6222:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6207:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6207:3:84"
                        },
                        "nativeSrc": "6207:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6207:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6227:1:84",
                        "nodeType": "YulLiteral",
                        "src": "6227:1:84",
                        "type": "",
                        "value": "9"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6200:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6200:6:84"
                    },
                    "nativeSrc": "6200:29:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6200:29:84"
                  },
                  "nativeSrc": "6200:29:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6200:29:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6249:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "6249:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6260:2:84",
                            "nodeType": "YulLiteral",
                            "src": "6260:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6245:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6245:3:84"
                        },
                        "nativeSrc": "6245:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6245:18:84"
                      },
                      {
                        "hexValue": "6e6f206572726f7273",
                        "kind": "string",
                        "nativeSrc": "6265:11:84",
                        "nodeType": "YulLiteral",
                        "src": "6265:11:84",
                        "type": "",
                        "value": "no errors"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6238:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6238:6:84"
                    },
                    "nativeSrc": "6238:39:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6238:39:84"
                  },
                  "nativeSrc": "6238:39:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6238:39:84"
                },
                {
                  "nativeSrc": "6286:26:84",
                  "nodeType": "YulAssignment",
                  "src": "6286:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6298:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "6298:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6309:2:84",
                        "nodeType": "YulLiteral",
                        "src": "6309:2:84",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6294:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6294:3:84"
                    },
                    "nativeSrc": "6294:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6294:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "6286:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "6286:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_8cc2a1c65923977c1c98fefaac58d747faf78accfaab3d2c8ff22055aea2ef07__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "5986:332:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "6137:9:84",
                "nodeType": "YulTypedName",
                "src": "6137:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "6151:4:84",
                "nodeType": "YulTypedName",
                "src": "6151:4:84",
                "type": ""
              }
            ],
            "src": "5986:332:84"
          },
          {
            "body": {
              "nativeSrc": "6510:309:84",
              "nodeType": "YulBlock",
              "src": "6510:309:84",
              "statements": [
                {
                  "nativeSrc": "6520:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6520:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "6540:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6540:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "6534:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "6534:5:84"
                    },
                    "nativeSrc": "6534:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6534:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "6524:6:84",
                      "nodeType": "YulTypedName",
                      "src": "6524:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "6595:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6595:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6603:4:84",
                            "nodeType": "YulLiteral",
                            "src": "6603:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6591:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6591:3:84"
                        },
                        "nativeSrc": "6591:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6591:17:84"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "6610:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "6610:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "6615:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6615:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "6556:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "6556:34:84"
                    },
                    "nativeSrc": "6556:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6556:66:84"
                  },
                  "nativeSrc": "6556:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6556:66:84"
                },
                {
                  "nativeSrc": "6631:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6631:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "6648:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "6648:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "6653:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6653:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6644:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6644:3:84"
                    },
                    "nativeSrc": "6644:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6644:16:84"
                  },
                  "variables": [
                    {
                      "name": "end_1",
                      "nativeSrc": "6635:5:84",
                      "nodeType": "YulTypedName",
                      "src": "6635:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "6669:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6669:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "6691:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "6691:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "6685:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "6685:5:84"
                    },
                    "nativeSrc": "6685:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6685:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "6673:8:84",
                      "nodeType": "YulTypedName",
                      "src": "6673:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "6746:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "6746:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6754:4:84",
                            "nodeType": "YulLiteral",
                            "src": "6754:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6742:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "6742:3:84"
                        },
                        "nativeSrc": "6742:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "6742:17:84"
                      },
                      {
                        "name": "end_1",
                        "nativeSrc": "6761:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "6761:5:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "6768:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "6768:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "6707:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "6707:34:84"
                    },
                    "nativeSrc": "6707:70:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6707:70:84"
                  },
                  "nativeSrc": "6707:70:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6707:70:84"
                },
                {
                  "nativeSrc": "6786:27:84",
                  "nodeType": "YulAssignment",
                  "src": "6786:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "6797:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "6797:5:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "6804:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "6804:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6793:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6793:3:84"
                    },
                    "nativeSrc": "6793:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6793:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "6786:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6786:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "6323:496:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "6478:3:84",
                "nodeType": "YulTypedName",
                "src": "6478:3:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "6483:6:84",
                "nodeType": "YulTypedName",
                "src": "6483:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "6491:6:84",
                "nodeType": "YulTypedName",
                "src": "6491:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "6502:3:84",
                "nodeType": "YulTypedName",
                "src": "6502:3:84",
                "type": ""
              }
            ],
            "src": "6323:496:84"
          },
          {
            "body": {
              "nativeSrc": "6949:141:84",
              "nodeType": "YulBlock",
              "src": "6949:141:84",
              "statements": [
                {
                  "nativeSrc": "6959:26:84",
                  "nodeType": "YulAssignment",
                  "src": "6959:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6971:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "6971:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6982:2:84",
                        "nodeType": "YulLiteral",
                        "src": "6982:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6967:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "6967:3:84"
                    },
                    "nativeSrc": "6967:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6967:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "6959:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "6959:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7001:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "7001:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "7016:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7016:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7024:4:84",
                            "nodeType": "YulLiteral",
                            "src": "7024:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "7012:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7012:3:84"
                        },
                        "nativeSrc": "7012:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7012:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6994:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "6994:6:84"
                    },
                    "nativeSrc": "6994:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "6994:36:84"
                  },
                  "nativeSrc": "6994:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "6994:36:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "7050:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "7050:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7061:2:84",
                            "nodeType": "YulLiteral",
                            "src": "7061:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7046:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7046:3:84"
                        },
                        "nativeSrc": "7046:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7046:18:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "7070:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7070:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7078:4:84",
                            "nodeType": "YulLiteral",
                            "src": "7078:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "7066:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7066:3:84"
                        },
                        "nativeSrc": "7066:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7066:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7039:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7039:6:84"
                    },
                    "nativeSrc": "7039:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7039:45:84"
                  },
                  "nativeSrc": "7039:45:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7039:45:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8_t_uint8__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "6824:266:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "6910:9:84",
                "nodeType": "YulTypedName",
                "src": "6910:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "6921:6:84",
                "nodeType": "YulTypedName",
                "src": "6921:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "6929:6:84",
                "nodeType": "YulTypedName",
                "src": "6929:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "6940:4:84",
                "nodeType": "YulTypedName",
                "src": "6940:4:84",
                "type": ""
              }
            ],
            "src": "6824:266:84"
          },
          {
            "body": {
              "nativeSrc": "7127:95:84",
              "nodeType": "YulBlock",
              "src": "7127:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "7144:1:84",
                        "nodeType": "YulLiteral",
                        "src": "7144:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "7151:3:84",
                            "nodeType": "YulLiteral",
                            "src": "7151:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7156:10:84",
                            "nodeType": "YulLiteral",
                            "src": "7156:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "7147:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7147:3:84"
                        },
                        "nativeSrc": "7147:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7147:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7137:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7137:6:84"
                    },
                    "nativeSrc": "7137:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7137:31:84"
                  },
                  "nativeSrc": "7137:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7137:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "7184:1:84",
                        "nodeType": "YulLiteral",
                        "src": "7184:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7187:4:84",
                        "nodeType": "YulLiteral",
                        "src": "7187:4:84",
                        "type": "",
                        "value": "0x11"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7177:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7177:6:84"
                    },
                    "nativeSrc": "7177:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7177:15:84"
                  },
                  "nativeSrc": "7177:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7177:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "7208:1:84",
                        "nodeType": "YulLiteral",
                        "src": "7208:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7211:4:84",
                        "nodeType": "YulLiteral",
                        "src": "7211:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "7201:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7201:6:84"
                    },
                    "nativeSrc": "7201:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7201:15:84"
                  },
                  "nativeSrc": "7201:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7201:15:84"
                }
              ]
            },
            "name": "panic_error_0x11",
            "nativeSrc": "7095:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "7095:127:84"
          },
          {
            "body": {
              "nativeSrc": "7274:133:84",
              "nodeType": "YulBlock",
              "src": "7274:133:84",
              "statements": [
                {
                  "nativeSrc": "7284:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7284:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "7294:18:84",
                    "nodeType": "YulLiteral",
                    "src": "7294:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "7288:2:84",
                      "nodeType": "YulTypedName",
                      "src": "7288:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "7321:34:84",
                  "nodeType": "YulAssignment",
                  "src": "7321:34:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "7336:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "7336:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "7339:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "7339:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "7332:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7332:3:84"
                        },
                        "nativeSrc": "7332:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7332:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "7348:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "7348:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "7351:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "7351:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "7344:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7344:3:84"
                        },
                        "nativeSrc": "7344:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7344:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7328:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7328:3:84"
                    },
                    "nativeSrc": "7328:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7328:27:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "7321:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7321:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7379:22:84",
                    "nodeType": "YulBlock",
                    "src": "7379:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "7381:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "7381:16:84"
                          },
                          "nativeSrc": "7381:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7381:18:84"
                        },
                        "nativeSrc": "7381:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7381:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "7370:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "7370:3:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "7375:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "7375:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "7367:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "7367:2:84"
                    },
                    "nativeSrc": "7367:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7367:11:84"
                  },
                  "nativeSrc": "7364:37:84",
                  "nodeType": "YulIf",
                  "src": "7364:37:84"
                }
              ]
            },
            "name": "checked_add_t_uint64",
            "nativeSrc": "7227:180:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "7257:1:84",
                "nodeType": "YulTypedName",
                "src": "7257:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "7260:1:84",
                "nodeType": "YulTypedName",
                "src": "7260:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "7266:3:84",
                "nodeType": "YulTypedName",
                "src": "7266:3:84",
                "type": ""
              }
            ],
            "src": "7227:180:84"
          },
          {
            "body": {
              "nativeSrc": "7461:79:84",
              "nodeType": "YulBlock",
              "src": "7461:79:84",
              "statements": [
                {
                  "nativeSrc": "7471:17:84",
                  "nodeType": "YulAssignment",
                  "src": "7471:17:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "7483:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "7483:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "7486:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "7486:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "7479:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7479:3:84"
                    },
                    "nativeSrc": "7479:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7479:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "7471:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "7471:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7512:22:84",
                    "nodeType": "YulBlock",
                    "src": "7512:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "7514:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "7514:16:84"
                          },
                          "nativeSrc": "7514:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "7514:18:84"
                        },
                        "nativeSrc": "7514:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "7514:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "7503:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "7503:4:84"
                      },
                      {
                        "name": "x",
                        "nativeSrc": "7509:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "7509:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "7500:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "7500:2:84"
                    },
                    "nativeSrc": "7500:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7500:11:84"
                  },
                  "nativeSrc": "7497:37:84",
                  "nodeType": "YulIf",
                  "src": "7497:37:84"
                }
              ]
            },
            "name": "checked_sub_t_uint256",
            "nativeSrc": "7412:128:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "7443:1:84",
                "nodeType": "YulTypedName",
                "src": "7443:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "7446:1:84",
                "nodeType": "YulTypedName",
                "src": "7446:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "7452:4:84",
                "nodeType": "YulTypedName",
                "src": "7452:4:84",
                "type": ""
              }
            ],
            "src": "7412:128:84"
          },
          {
            "body": {
              "nativeSrc": "7785:212:84",
              "nodeType": "YulBlock",
              "src": "7785:212:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "7802:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "7802:3:84"
                      },
                      {
                        "hexValue": "6d616c666f726d656420726573706f6e73653a20",
                        "kind": "string",
                        "nativeSrc": "7807:22:84",
                        "nodeType": "YulLiteral",
                        "src": "7807:22:84",
                        "type": "",
                        "value": "malformed response: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7795:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "7795:6:84"
                    },
                    "nativeSrc": "7795:35:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7795:35:84"
                  },
                  "nativeSrc": "7795:35:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7795:35:84"
                },
                {
                  "nativeSrc": "7839:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7839:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "7859:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7859:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "7853:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "7853:5:84"
                    },
                    "nativeSrc": "7853:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7853:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "7843:6:84",
                      "nodeType": "YulTypedName",
                      "src": "7843:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "7914:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7914:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7922:4:84",
                            "nodeType": "YulLiteral",
                            "src": "7922:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7910:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7910:3:84"
                        },
                        "nativeSrc": "7910:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7910:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "7933:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7933:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7938:2:84",
                            "nodeType": "YulLiteral",
                            "src": "7938:2:84",
                            "type": "",
                            "value": "20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7929:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7929:3:84"
                        },
                        "nativeSrc": "7929:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7929:12:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "7943:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "7943:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "7875:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "7875:34:84"
                    },
                    "nativeSrc": "7875:75:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7875:75:84"
                  },
                  "nativeSrc": "7875:75:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "7875:75:84"
                },
                {
                  "nativeSrc": "7959:32:84",
                  "nodeType": "YulAssignment",
                  "src": "7959:32:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "7974:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "7974:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "7979:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "7979:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7970:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "7970:3:84"
                        },
                        "nativeSrc": "7970:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "7970:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7988:2:84",
                        "nodeType": "YulLiteral",
                        "src": "7988:2:84",
                        "type": "",
                        "value": "20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7966:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7966:3:84"
                    },
                    "nativeSrc": "7966:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "7966:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "7959:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "7959:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_e1985157138a8bc399ee376b35af954da41fb40a0016a3e224169dd11244f7fc_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "7545:452:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "7761:3:84",
                "nodeType": "YulTypedName",
                "src": "7761:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "7766:6:84",
                "nodeType": "YulTypedName",
                "src": "7766:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "7777:3:84",
                "nodeType": "YulTypedName",
                "src": "7777:3:84",
                "type": ""
              }
            ],
            "src": "7545:452:84"
          },
          {
            "body": {
              "nativeSrc": "8242:211:84",
              "nodeType": "YulBlock",
              "src": "8242:211:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "8259:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "8259:3:84"
                      },
                      {
                        "hexValue": "6d616c666f726d656420726571756573743a20",
                        "kind": "string",
                        "nativeSrc": "8264:21:84",
                        "nodeType": "YulLiteral",
                        "src": "8264:21:84",
                        "type": "",
                        "value": "malformed request: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8252:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8252:6:84"
                    },
                    "nativeSrc": "8252:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8252:34:84"
                  },
                  "nativeSrc": "8252:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "8252:34:84"
                },
                {
                  "nativeSrc": "8295:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8295:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "8315:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8315:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "8309:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "8309:5:84"
                    },
                    "nativeSrc": "8309:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8309:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "8299:6:84",
                      "nodeType": "YulTypedName",
                      "src": "8299:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "8370:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8370:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8378:4:84",
                            "nodeType": "YulLiteral",
                            "src": "8378:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8366:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8366:3:84"
                        },
                        "nativeSrc": "8366:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8366:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "8389:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "8389:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8394:2:84",
                            "nodeType": "YulLiteral",
                            "src": "8394:2:84",
                            "type": "",
                            "value": "19"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8385:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8385:3:84"
                        },
                        "nativeSrc": "8385:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8385:12:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "8399:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8399:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "8331:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "8331:34:84"
                    },
                    "nativeSrc": "8331:75:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8331:75:84"
                  },
                  "nativeSrc": "8331:75:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "8331:75:84"
                },
                {
                  "nativeSrc": "8415:32:84",
                  "nodeType": "YulAssignment",
                  "src": "8415:32:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "8430:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "8430:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "8435:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8435:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8426:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8426:3:84"
                        },
                        "nativeSrc": "8426:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8426:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8444:2:84",
                        "nodeType": "YulLiteral",
                        "src": "8444:2:84",
                        "type": "",
                        "value": "19"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8422:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8422:3:84"
                    },
                    "nativeSrc": "8422:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8422:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "8415:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8415:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_5086f7424b23ff2b37de66c4de971318b7397c46008fb02056a96c2bcb01a711_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "8002:451:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "8218:3:84",
                "nodeType": "YulTypedName",
                "src": "8218:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "8223:6:84",
                "nodeType": "YulTypedName",
                "src": "8223:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "8234:3:84",
                "nodeType": "YulTypedName",
                "src": "8234:3:84",
                "type": ""
              }
            ],
            "src": "8002:451:84"
          },
          {
            "body": {
              "nativeSrc": "8799:283:84",
              "nodeType": "YulBlock",
              "src": "8799:283:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "8816:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "8816:3:84"
                      },
                      {
                        "hexValue": "756e68616e646c656420696e74657263657074206f6e2074616c6c7920282b",
                        "kind": "string",
                        "nativeSrc": "8821:33:84",
                        "nodeType": "YulLiteral",
                        "src": "8821:33:84",
                        "type": "",
                        "value": "unhandled intercept on tally (+"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8809:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "8809:6:84"
                    },
                    "nativeSrc": "8809:46:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8809:46:84"
                  },
                  "nativeSrc": "8809:46:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "8809:46:84"
                },
                {
                  "nativeSrc": "8864:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8864:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "8884:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8884:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "8878:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "8878:5:84"
                    },
                    "nativeSrc": "8878:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8878:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "8868:6:84",
                      "nodeType": "YulTypedName",
                      "src": "8868:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "8939:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "8939:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8947:4:84",
                            "nodeType": "YulLiteral",
                            "src": "8947:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8935:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8935:3:84"
                        },
                        "nativeSrc": "8935:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8935:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "8958:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "8958:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8963:2:84",
                            "nodeType": "YulLiteral",
                            "src": "8963:2:84",
                            "type": "",
                            "value": "31"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8954:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "8954:3:84"
                        },
                        "nativeSrc": "8954:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "8954:12:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "8968:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "8968:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "8900:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "8900:34:84"
                    },
                    "nativeSrc": "8900:75:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8900:75:84"
                  },
                  "nativeSrc": "8900:75:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "8900:75:84"
                },
                {
                  "nativeSrc": "8984:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8984:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "8998:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "8998:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "9003:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9003:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8994:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "8994:3:84"
                    },
                    "nativeSrc": "8994:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "8994:16:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "8988:2:84",
                      "nodeType": "YulTypedName",
                      "src": "8988:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "9030:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "9030:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9034:2:84",
                            "nodeType": "YulLiteral",
                            "src": "9034:2:84",
                            "type": "",
                            "value": "31"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9026:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9026:3:84"
                        },
                        "nativeSrc": "9026:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9026:11:84"
                      },
                      {
                        "hexValue": "2061726773292e",
                        "kind": "string",
                        "nativeSrc": "9039:9:84",
                        "nodeType": "YulLiteral",
                        "src": "9039:9:84",
                        "type": "",
                        "value": " args)."
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9019:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9019:6:84"
                    },
                    "nativeSrc": "9019:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9019:30:84"
                  },
                  "nativeSrc": "9019:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9019:30:84"
                },
                {
                  "nativeSrc": "9058:18:84",
                  "nodeType": "YulAssignment",
                  "src": "9058:18:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "9069:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "9069:2:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9073:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9073:2:84",
                        "type": "",
                        "value": "38"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9065:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9065:3:84"
                    },
                    "nativeSrc": "9065:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9065:11:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "9058:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9058:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_ddc22ca7a1570cc3baed2af6fb213a839fff3df6032a46d55300ff1752c37205_t_string_memory_ptr_t_stringliteral_06a2d74ec3f7691def8930b709594dd718f94068752b927fbf84234b32ca3ba0__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "8458:624:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "8775:3:84",
                "nodeType": "YulTypedName",
                "src": "8775:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "8780:6:84",
                "nodeType": "YulTypedName",
                "src": "8780:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "8791:3:84",
                "nodeType": "YulTypedName",
                "src": "8791:3:84",
                "type": ""
              }
            ],
            "src": "8458:624:84"
          },
          {
            "body": {
              "nativeSrc": "9327:192:84",
              "nodeType": "YulBlock",
              "src": "9327:192:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "9344:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "9344:3:84"
                      },
                      {
                        "hexValue": "3078",
                        "kind": "string",
                        "nativeSrc": "9349:4:84",
                        "nodeType": "YulLiteral",
                        "src": "9349:4:84",
                        "type": "",
                        "value": "0x"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9337:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9337:6:84"
                    },
                    "nativeSrc": "9337:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9337:17:84"
                  },
                  "nativeSrc": "9337:17:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9337:17:84"
                },
                {
                  "nativeSrc": "9363:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9363:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "9383:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9383:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "9377:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "9377:5:84"
                    },
                    "nativeSrc": "9377:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9377:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "9367:6:84",
                      "nodeType": "YulTypedName",
                      "src": "9367:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "9438:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9438:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9446:4:84",
                            "nodeType": "YulLiteral",
                            "src": "9446:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9434:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9434:3:84"
                        },
                        "nativeSrc": "9434:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9434:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "9457:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "9457:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9462:1:84",
                            "nodeType": "YulLiteral",
                            "src": "9462:1:84",
                            "type": "",
                            "value": "2"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9453:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9453:3:84"
                        },
                        "nativeSrc": "9453:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9453:11:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "9466:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "9466:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "9399:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "9399:34:84"
                    },
                    "nativeSrc": "9399:74:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9399:74:84"
                  },
                  "nativeSrc": "9399:74:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9399:74:84"
                },
                {
                  "nativeSrc": "9482:31:84",
                  "nodeType": "YulAssignment",
                  "src": "9482:31:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "9497:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "9497:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "9502:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9502:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9493:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9493:3:84"
                        },
                        "nativeSrc": "9493:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9493:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9511:1:84",
                        "nodeType": "YulLiteral",
                        "src": "9511:1:84",
                        "type": "",
                        "value": "2"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9489:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9489:3:84"
                    },
                    "nativeSrc": "9489:24:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9489:24:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "9482:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9482:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_39bef1777deb3dfb14f64b9f81ced092c501fee72f90e93d03bb95ee89df9837_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "9087:432:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "9303:3:84",
                "nodeType": "YulTypedName",
                "src": "9303:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "9308:6:84",
                "nodeType": "YulTypedName",
                "src": "9308:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "9319:3:84",
                "nodeType": "YulTypedName",
                "src": "9319:3:84",
                "type": ""
              }
            ],
            "src": "9087:432:84"
          },
          {
            "body": {
              "nativeSrc": "9623:87:84",
              "nodeType": "YulBlock",
              "src": "9623:87:84",
              "statements": [
                {
                  "nativeSrc": "9633:26:84",
                  "nodeType": "YulAssignment",
                  "src": "9633:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9645:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9645:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9656:2:84",
                        "nodeType": "YulLiteral",
                        "src": "9656:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9641:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9641:3:84"
                    },
                    "nativeSrc": "9641:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9641:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "9633:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "9633:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9675:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "9675:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "9690:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "9690:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9698:4:84",
                            "nodeType": "YulLiteral",
                            "src": "9698:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "9686:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9686:3:84"
                        },
                        "nativeSrc": "9686:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9686:17:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9668:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9668:6:84"
                    },
                    "nativeSrc": "9668:36:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9668:36:84"
                  },
                  "nativeSrc": "9668:36:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "9668:36:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8__to_t_uint256__fromStack_reversed",
            "nativeSrc": "9524:186:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9592:9:84",
                "nodeType": "YulTypedName",
                "src": "9592:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "9603:6:84",
                "nodeType": "YulTypedName",
                "src": "9603:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "9614:4:84",
                "nodeType": "YulTypedName",
                "src": "9614:4:84",
                "type": ""
              }
            ],
            "src": "9524:186:84"
          },
          {
            "body": {
              "nativeSrc": "9766:206:84",
              "nodeType": "YulBlock",
              "src": "9766:206:84",
              "statements": [
                {
                  "nativeSrc": "9776:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9776:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "9786:18:84",
                    "nodeType": "YulLiteral",
                    "src": "9786:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "9780:2:84",
                      "nodeType": "YulTypedName",
                      "src": "9780:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9813:46:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9813:46:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "9840:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "9840:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "9843:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "9843:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "9836:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9836:3:84"
                        },
                        "nativeSrc": "9836:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9836:10:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "9852:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "9852:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "9855:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "9855:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "9848:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "9848:3:84"
                        },
                        "nativeSrc": "9848:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9848:10:84"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "9832:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9832:3:84"
                    },
                    "nativeSrc": "9832:27:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9832:27:84"
                  },
                  "variables": [
                    {
                      "name": "product_raw",
                      "nativeSrc": "9817:11:84",
                      "nodeType": "YulTypedName",
                      "src": "9817:11:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9868:31:84",
                  "nodeType": "YulAssignment",
                  "src": "9868:31:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "product_raw",
                        "nativeSrc": "9883:11:84",
                        "nodeType": "YulIdentifier",
                        "src": "9883:11:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "9896:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "9896:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "9879:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "9879:3:84"
                    },
                    "nativeSrc": "9879:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9879:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "9868:7:84",
                      "nodeType": "YulIdentifier",
                      "src": "9868:7:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "9944:22:84",
                    "nodeType": "YulBlock",
                    "src": "9944:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "9946:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "9946:16:84"
                          },
                          "nativeSrc": "9946:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "9946:18:84"
                        },
                        "nativeSrc": "9946:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "9946:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "product",
                            "nativeSrc": "9921:7:84",
                            "nodeType": "YulIdentifier",
                            "src": "9921:7:84"
                          },
                          {
                            "name": "product_raw",
                            "nativeSrc": "9930:11:84",
                            "nodeType": "YulIdentifier",
                            "src": "9930:11:84"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "9918:2:84",
                          "nodeType": "YulIdentifier",
                          "src": "9918:2:84"
                        },
                        "nativeSrc": "9918:24:84",
                        "nodeType": "YulFunctionCall",
                        "src": "9918:24:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "9911:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "9911:6:84"
                    },
                    "nativeSrc": "9911:32:84",
                    "nodeType": "YulFunctionCall",
                    "src": "9911:32:84"
                  },
                  "nativeSrc": "9908:58:84",
                  "nodeType": "YulIf",
                  "src": "9908:58:84"
                }
              ]
            },
            "name": "checked_mul_t_uint64",
            "nativeSrc": "9715:257:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "9745:1:84",
                "nodeType": "YulTypedName",
                "src": "9745:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "9748:1:84",
                "nodeType": "YulTypedName",
                "src": "9748:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "9754:7:84",
                "nodeType": "YulTypedName",
                "src": "9754:7:84",
                "type": ""
              }
            ],
            "src": "9715:257:84"
          },
          {
            "body": {
              "nativeSrc": "10009:95:84",
              "nodeType": "YulBlock",
              "src": "10009:95:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "10026:1:84",
                        "nodeType": "YulLiteral",
                        "src": "10026:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "10033:3:84",
                            "nodeType": "YulLiteral",
                            "src": "10033:3:84",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10038:10:84",
                            "nodeType": "YulLiteral",
                            "src": "10038:10:84",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "10029:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10029:3:84"
                        },
                        "nativeSrc": "10029:20:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10029:20:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10019:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10019:6:84"
                    },
                    "nativeSrc": "10019:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10019:31:84"
                  },
                  "nativeSrc": "10019:31:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10019:31:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "10066:1:84",
                        "nodeType": "YulLiteral",
                        "src": "10066:1:84",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10069:4:84",
                        "nodeType": "YulLiteral",
                        "src": "10069:4:84",
                        "type": "",
                        "value": "0x12"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10059:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10059:6:84"
                    },
                    "nativeSrc": "10059:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10059:15:84"
                  },
                  "nativeSrc": "10059:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10059:15:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "10090:1:84",
                        "nodeType": "YulLiteral",
                        "src": "10090:1:84",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10093:4:84",
                        "nodeType": "YulLiteral",
                        "src": "10093:4:84",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "10083:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10083:6:84"
                    },
                    "nativeSrc": "10083:15:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10083:15:84"
                  },
                  "nativeSrc": "10083:15:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10083:15:84"
                }
              ]
            },
            "name": "panic_error_0x12",
            "nativeSrc": "9977:127:84",
            "nodeType": "YulFunctionDefinition",
            "src": "9977:127:84"
          },
          {
            "body": {
              "nativeSrc": "10147:74:84",
              "nodeType": "YulBlock",
              "src": "10147:74:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "10170:22:84",
                    "nodeType": "YulBlock",
                    "src": "10170:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "10172:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "10172:16:84"
                          },
                          "nativeSrc": "10172:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10172:18:84"
                        },
                        "nativeSrc": "10172:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "10172:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "10167:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "10167:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "10160:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10160:6:84"
                    },
                    "nativeSrc": "10160:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10160:9:84"
                  },
                  "nativeSrc": "10157:35:84",
                  "nodeType": "YulIf",
                  "src": "10157:35:84"
                },
                {
                  "nativeSrc": "10201:14:84",
                  "nodeType": "YulAssignment",
                  "src": "10201:14:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "10210:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "10210:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "10213:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "10213:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "mod",
                      "nativeSrc": "10206:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10206:3:84"
                    },
                    "nativeSrc": "10206:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10206:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "10201:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "10201:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "mod_t_uint256",
            "nativeSrc": "10109:112:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "10132:1:84",
                "nodeType": "YulTypedName",
                "src": "10132:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "10135:1:84",
                "nodeType": "YulTypedName",
                "src": "10135:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "10141:1:84",
                "nodeType": "YulTypedName",
                "src": "10141:1:84",
                "type": ""
              }
            ],
            "src": "10109:112:84"
          },
          {
            "body": {
              "nativeSrc": "10274:77:84",
              "nodeType": "YulBlock",
              "src": "10274:77:84",
              "statements": [
                {
                  "nativeSrc": "10284:16:84",
                  "nodeType": "YulAssignment",
                  "src": "10284:16:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "10295:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "10295:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "10298:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "10298:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10291:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10291:3:84"
                    },
                    "nativeSrc": "10291:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10291:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "10284:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10284:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "10323:22:84",
                    "nodeType": "YulBlock",
                    "src": "10323:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "10325:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "10325:16:84"
                          },
                          "nativeSrc": "10325:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "10325:18:84"
                        },
                        "nativeSrc": "10325:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "10325:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "10315:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "10315:1:84"
                      },
                      {
                        "name": "sum",
                        "nativeSrc": "10318:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "10318:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "10312:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "10312:2:84"
                    },
                    "nativeSrc": "10312:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10312:10:84"
                  },
                  "nativeSrc": "10309:36:84",
                  "nodeType": "YulIf",
                  "src": "10309:36:84"
                }
              ]
            },
            "name": "checked_add_t_uint256",
            "nativeSrc": "10226:125:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "10257:1:84",
                "nodeType": "YulTypedName",
                "src": "10257:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "10260:1:84",
                "nodeType": "YulTypedName",
                "src": "10260:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "10266:3:84",
                "nodeType": "YulTypedName",
                "src": "10266:3:84",
                "type": ""
              }
            ],
            "src": "10226:125:84"
          },
          {
            "body": {
              "nativeSrc": "10530:229:84",
              "nodeType": "YulBlock",
              "src": "10530:229:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10547:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10547:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10558:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10558:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10540:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10540:6:84"
                    },
                    "nativeSrc": "10540:21:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10540:21:84"
                  },
                  "nativeSrc": "10540:21:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10540:21:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10581:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "10581:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10592:2:84",
                            "nodeType": "YulLiteral",
                            "src": "10592:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10577:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10577:3:84"
                        },
                        "nativeSrc": "10577:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10577:18:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10597:2:84",
                        "nodeType": "YulLiteral",
                        "src": "10597:2:84",
                        "type": "",
                        "value": "39"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10570:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10570:6:84"
                    },
                    "nativeSrc": "10570:30:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10570:30:84"
                  },
                  "nativeSrc": "10570:30:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10570:30:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10620:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "10620:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10631:2:84",
                            "nodeType": "YulLiteral",
                            "src": "10631:2:84",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10616:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10616:3:84"
                        },
                        "nativeSrc": "10616:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10616:18:84"
                      },
                      {
                        "hexValue": "5769746e657443424f522e736b69703a20756e737570706f72746564206d616a",
                        "kind": "string",
                        "nativeSrc": "10636:34:84",
                        "nodeType": "YulLiteral",
                        "src": "10636:34:84",
                        "type": "",
                        "value": "WitnetCBOR.skip: unsupported maj"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10609:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10609:6:84"
                    },
                    "nativeSrc": "10609:62:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10609:62:84"
                  },
                  "nativeSrc": "10609:62:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10609:62:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10691:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "10691:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10702:2:84",
                            "nodeType": "YulLiteral",
                            "src": "10702:2:84",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10687:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "10687:3:84"
                        },
                        "nativeSrc": "10687:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "10687:18:84"
                      },
                      {
                        "hexValue": "6f722074797065",
                        "kind": "string",
                        "nativeSrc": "10707:9:84",
                        "nodeType": "YulLiteral",
                        "src": "10707:9:84",
                        "type": "",
                        "value": "or type"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10680:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "10680:6:84"
                    },
                    "nativeSrc": "10680:37:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10680:37:84"
                  },
                  "nativeSrc": "10680:37:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "10680:37:84"
                },
                {
                  "nativeSrc": "10726:27:84",
                  "nodeType": "YulAssignment",
                  "src": "10726:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10738:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "10738:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10749:3:84",
                        "nodeType": "YulLiteral",
                        "src": "10749:3:84",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10734:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "10734:3:84"
                    },
                    "nativeSrc": "10734:19:84",
                    "nodeType": "YulFunctionCall",
                    "src": "10734:19:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10726:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "10726:4:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_92a4e60c9c8a6bab113d51719bd32c972951c92a48fb0ef633db4f8d512f86fe__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "10356:403:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10507:9:84",
                "nodeType": "YulTypedName",
                "src": "10507:9:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10521:4:84",
                "nodeType": "YulTypedName",
                "src": "10521:4:84",
                "type": ""
              }
            ],
            "src": "10356:403:84"
          },
          {
            "body": {
              "nativeSrc": "11004:195:84",
              "nodeType": "YulBlock",
              "src": "11004:195:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "11021:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "11021:3:84"
                      },
                      {
                        "hexValue": "687474702f",
                        "kind": "string",
                        "nativeSrc": "11026:7:84",
                        "nodeType": "YulLiteral",
                        "src": "11026:7:84",
                        "type": "",
                        "value": "http/"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11014:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11014:6:84"
                    },
                    "nativeSrc": "11014:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11014:20:84"
                  },
                  "nativeSrc": "11014:20:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11014:20:84"
                },
                {
                  "nativeSrc": "11043:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11043:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "11063:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11063:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "11057:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "11057:5:84"
                    },
                    "nativeSrc": "11057:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11057:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "11047:6:84",
                      "nodeType": "YulTypedName",
                      "src": "11047:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "11118:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11118:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11126:4:84",
                            "nodeType": "YulLiteral",
                            "src": "11126:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11114:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11114:3:84"
                        },
                        "nativeSrc": "11114:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11114:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "11137:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11137:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11142:1:84",
                            "nodeType": "YulLiteral",
                            "src": "11142:1:84",
                            "type": "",
                            "value": "5"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11133:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11133:3:84"
                        },
                        "nativeSrc": "11133:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11133:11:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "11146:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11146:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "11079:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "11079:34:84"
                    },
                    "nativeSrc": "11079:74:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11079:74:84"
                  },
                  "nativeSrc": "11079:74:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11079:74:84"
                },
                {
                  "nativeSrc": "11162:31:84",
                  "nodeType": "YulAssignment",
                  "src": "11162:31:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "11177:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11177:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "11182:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11182:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11173:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11173:3:84"
                        },
                        "nativeSrc": "11173:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11173:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11191:1:84",
                        "nodeType": "YulLiteral",
                        "src": "11191:1:84",
                        "type": "",
                        "value": "5"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11169:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11169:3:84"
                    },
                    "nativeSrc": "11169:24:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11169:24:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "11162:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11162:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_af98e92575825ed955877a76b91e527d99ee34eb180aa35895c9371e20b434c4_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "10764:435:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "10980:3:84",
                "nodeType": "YulTypedName",
                "src": "10980:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10985:6:84",
                "nodeType": "YulTypedName",
                "src": "10985:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "10996:3:84",
                "nodeType": "YulTypedName",
                "src": "10996:3:84",
                "type": ""
              }
            ],
            "src": "10764:435:84"
          },
          {
            "body": {
              "nativeSrc": "11444:219:84",
              "nodeType": "YulBlock",
              "src": "11444:219:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "11461:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "11461:3:84"
                      },
                      {
                        "hexValue": "617272617920696e646578206f7574206f6620626f756e64733a20",
                        "kind": "string",
                        "nativeSrc": "11466:29:84",
                        "nodeType": "YulLiteral",
                        "src": "11466:29:84",
                        "type": "",
                        "value": "array index out of bounds: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11454:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11454:6:84"
                    },
                    "nativeSrc": "11454:42:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11454:42:84"
                  },
                  "nativeSrc": "11454:42:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11454:42:84"
                },
                {
                  "nativeSrc": "11505:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11505:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "11525:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11525:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "11519:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "11519:5:84"
                    },
                    "nativeSrc": "11519:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11519:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "11509:6:84",
                      "nodeType": "YulTypedName",
                      "src": "11509:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "11580:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11580:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11588:4:84",
                            "nodeType": "YulLiteral",
                            "src": "11588:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11576:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11576:3:84"
                        },
                        "nativeSrc": "11576:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11576:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "11599:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11599:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11604:2:84",
                            "nodeType": "YulLiteral",
                            "src": "11604:2:84",
                            "type": "",
                            "value": "27"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11595:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11595:3:84"
                        },
                        "nativeSrc": "11595:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11595:12:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "11609:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11609:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "11541:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "11541:34:84"
                    },
                    "nativeSrc": "11541:75:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11541:75:84"
                  },
                  "nativeSrc": "11541:75:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11541:75:84"
                },
                {
                  "nativeSrc": "11625:32:84",
                  "nodeType": "YulAssignment",
                  "src": "11625:32:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "11640:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "11640:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "11645:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "11645:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11636:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "11636:3:84"
                        },
                        "nativeSrc": "11636:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "11636:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11654:2:84",
                        "nodeType": "YulLiteral",
                        "src": "11654:2:84",
                        "type": "",
                        "value": "27"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11632:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11632:3:84"
                    },
                    "nativeSrc": "11632:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11632:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "11625:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "11625:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_c88b6002b8a9e8d4da65428ee3dda051e966ac1a26fef129423741e1db9037ca_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "11204:459:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "11420:3:84",
                "nodeType": "YulTypedName",
                "src": "11420:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "11425:6:84",
                "nodeType": "YulTypedName",
                "src": "11425:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "11436:3:84",
                "nodeType": "YulTypedName",
                "src": "11436:3:84",
                "type": ""
              }
            ],
            "src": "11204:459:84"
          },
          {
            "body": {
              "nativeSrc": "11908:211:84",
              "nodeType": "YulBlock",
              "src": "11908:211:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "11925:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "11925:3:84"
                      },
                      {
                        "hexValue": "6d6170206b6579206e6f7420666f756e643a20",
                        "kind": "string",
                        "nativeSrc": "11930:21:84",
                        "nodeType": "YulLiteral",
                        "src": "11930:21:84",
                        "type": "",
                        "value": "map key not found: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11918:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "11918:6:84"
                    },
                    "nativeSrc": "11918:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11918:34:84"
                  },
                  "nativeSrc": "11918:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11918:34:84"
                },
                {
                  "nativeSrc": "11961:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11961:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "11981:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "11981:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "11975:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "11975:5:84"
                    },
                    "nativeSrc": "11975:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11975:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "11965:6:84",
                      "nodeType": "YulTypedName",
                      "src": "11965:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "12036:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12036:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12044:4:84",
                            "nodeType": "YulLiteral",
                            "src": "12044:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12032:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12032:3:84"
                        },
                        "nativeSrc": "12032:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12032:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "12055:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "12055:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12060:2:84",
                            "nodeType": "YulLiteral",
                            "src": "12060:2:84",
                            "type": "",
                            "value": "19"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12051:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12051:3:84"
                        },
                        "nativeSrc": "12051:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12051:12:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "12065:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12065:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "11997:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "11997:34:84"
                    },
                    "nativeSrc": "11997:75:84",
                    "nodeType": "YulFunctionCall",
                    "src": "11997:75:84"
                  },
                  "nativeSrc": "11997:75:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "11997:75:84"
                },
                {
                  "nativeSrc": "12081:32:84",
                  "nodeType": "YulAssignment",
                  "src": "12081:32:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "12096:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "12096:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "12101:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12101:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12092:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12092:3:84"
                        },
                        "nativeSrc": "12092:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12092:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12110:2:84",
                        "nodeType": "YulLiteral",
                        "src": "12110:2:84",
                        "type": "",
                        "value": "19"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12088:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12088:3:84"
                    },
                    "nativeSrc": "12088:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12088:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "12081:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12081:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_b538ad40f111419c5bd9d21ecdbf80392f335f2b8051978ad38bc97197eb1c60_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "11668:451:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "11884:3:84",
                "nodeType": "YulTypedName",
                "src": "11884:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "11889:6:84",
                "nodeType": "YulTypedName",
                "src": "11889:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "11900:3:84",
                "nodeType": "YulTypedName",
                "src": "11900:3:84",
                "type": ""
              }
            ],
            "src": "11668:451:84"
          },
          {
            "body": {
              "nativeSrc": "12364:222:84",
              "nodeType": "YulBlock",
              "src": "12364:222:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "12381:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "12381:3:84"
                      },
                      {
                        "hexValue": "6a736f6e20706174682072657475726e6564206e6f2076616c7565733a20",
                        "kind": "string",
                        "nativeSrc": "12386:32:84",
                        "nodeType": "YulLiteral",
                        "src": "12386:32:84",
                        "type": "",
                        "value": "json path returned no values: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12374:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12374:6:84"
                    },
                    "nativeSrc": "12374:45:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12374:45:84"
                  },
                  "nativeSrc": "12374:45:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "12374:45:84"
                },
                {
                  "nativeSrc": "12428:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12428:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "12448:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12448:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "12442:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "12442:5:84"
                    },
                    "nativeSrc": "12442:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12442:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "12432:6:84",
                      "nodeType": "YulTypedName",
                      "src": "12432:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "12503:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12503:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12511:4:84",
                            "nodeType": "YulLiteral",
                            "src": "12511:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12499:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12499:3:84"
                        },
                        "nativeSrc": "12499:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12499:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "12522:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "12522:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12527:2:84",
                            "nodeType": "YulLiteral",
                            "src": "12527:2:84",
                            "type": "",
                            "value": "30"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12518:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12518:3:84"
                        },
                        "nativeSrc": "12518:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12518:12:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "12532:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12532:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "12464:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "12464:34:84"
                    },
                    "nativeSrc": "12464:75:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12464:75:84"
                  },
                  "nativeSrc": "12464:75:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "12464:75:84"
                },
                {
                  "nativeSrc": "12548:32:84",
                  "nodeType": "YulAssignment",
                  "src": "12548:32:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "12563:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "12563:3:84"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "12568:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "12568:6:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12559:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "12559:3:84"
                        },
                        "nativeSrc": "12559:16:84",
                        "nodeType": "YulFunctionCall",
                        "src": "12559:16:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12577:2:84",
                        "nodeType": "YulLiteral",
                        "src": "12577:2:84",
                        "type": "",
                        "value": "30"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12555:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12555:3:84"
                    },
                    "nativeSrc": "12555:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12555:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "12548:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "12548:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_98b90842f3e118a56fd2133767cd994018d040f907be1644af621eecfde8d95f_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "12124:462:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "12340:3:84",
                "nodeType": "YulTypedName",
                "src": "12340:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "12345:6:84",
                "nodeType": "YulTypedName",
                "src": "12345:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "12356:3:84",
                "nodeType": "YulTypedName",
                "src": "12356:3:84",
                "type": ""
              }
            ],
            "src": "12124:462:84"
          },
          {
            "body": {
              "nativeSrc": "12932:251:84",
              "nodeType": "YulBlock",
              "src": "12932:251:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "12949:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "12949:3:84"
                      },
                      {
                        "hexValue": "20282b",
                        "kind": "string",
                        "nativeSrc": "12954:5:84",
                        "nodeType": "YulLiteral",
                        "src": "12954:5:84",
                        "type": "",
                        "value": " (+"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12942:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "12942:6:84"
                    },
                    "nativeSrc": "12942:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12942:18:84"
                  },
                  "nativeSrc": "12942:18:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "12942:18:84"
                },
                {
                  "nativeSrc": "12969:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12969:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "12989:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "12989:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "12983:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "12983:5:84"
                    },
                    "nativeSrc": "12983:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "12983:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "12973:6:84",
                      "nodeType": "YulTypedName",
                      "src": "12973:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "13044:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13044:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13052:4:84",
                            "nodeType": "YulLiteral",
                            "src": "13052:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13040:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13040:3:84"
                        },
                        "nativeSrc": "13040:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13040:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "13063:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "13063:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13068:1:84",
                            "nodeType": "YulLiteral",
                            "src": "13068:1:84",
                            "type": "",
                            "value": "3"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13059:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13059:3:84"
                        },
                        "nativeSrc": "13059:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13059:11:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "13072:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "13072:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "13005:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "13005:34:84"
                    },
                    "nativeSrc": "13005:74:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13005:74:84"
                  },
                  "nativeSrc": "13005:74:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13005:74:84"
                },
                {
                  "nativeSrc": "13088:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13088:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "13102:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "13102:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "13107:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "13107:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13098:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13098:3:84"
                    },
                    "nativeSrc": "13098:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13098:16:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "13092:2:84",
                      "nodeType": "YulTypedName",
                      "src": "13092:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "13134:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "13134:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13138:1:84",
                            "nodeType": "YulLiteral",
                            "src": "13138:1:84",
                            "type": "",
                            "value": "3"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13130:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13130:3:84"
                        },
                        "nativeSrc": "13130:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13130:10:84"
                      },
                      {
                        "hexValue": "206172677329",
                        "kind": "string",
                        "nativeSrc": "13142:8:84",
                        "nodeType": "YulLiteral",
                        "src": "13142:8:84",
                        "type": "",
                        "value": " args)"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13123:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13123:6:84"
                    },
                    "nativeSrc": "13123:28:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13123:28:84"
                  },
                  "nativeSrc": "13123:28:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13123:28:84"
                },
                {
                  "nativeSrc": "13160:17:84",
                  "nodeType": "YulAssignment",
                  "src": "13160:17:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "13171:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "13171:2:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13175:1:84",
                        "nodeType": "YulLiteral",
                        "src": "13175:1:84",
                        "type": "",
                        "value": "9"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13167:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13167:3:84"
                    },
                    "nativeSrc": "13167:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13167:10:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "13160:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13160:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_484ad9155b109c08d264f37ba45b57e5a53236bcee32e19252f498c9de21e9c0_t_string_memory_ptr_t_stringliteral_4f5b520b366b6f3a91021ddae30b16b22836be60b06e1f8556f1f0f0cc9db37a__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "12591:592:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "12908:3:84",
                "nodeType": "YulTypedName",
                "src": "12908:3:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "12913:6:84",
                "nodeType": "YulTypedName",
                "src": "12913:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "12924:3:84",
                "nodeType": "YulTypedName",
                "src": "12924:3:84",
                "type": ""
              }
            ],
            "src": "12591:592:84"
          },
          {
            "body": {
              "nativeSrc": "13476:350:84",
              "nodeType": "YulBlock",
              "src": "13476:350:84",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "13493:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "13493:3:84"
                      },
                      {
                        "hexValue": "3078",
                        "kind": "string",
                        "nativeSrc": "13498:4:84",
                        "nodeType": "YulLiteral",
                        "src": "13498:4:84",
                        "type": "",
                        "value": "0x"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13486:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13486:6:84"
                    },
                    "nativeSrc": "13486:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13486:17:84"
                  },
                  "nativeSrc": "13486:17:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13486:17:84"
                },
                {
                  "nativeSrc": "13512:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13512:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "13532:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "13532:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "13526:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "13526:5:84"
                    },
                    "nativeSrc": "13526:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13526:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "13516:6:84",
                      "nodeType": "YulTypedName",
                      "src": "13516:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "13587:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13587:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13595:4:84",
                            "nodeType": "YulLiteral",
                            "src": "13595:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13583:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13583:3:84"
                        },
                        "nativeSrc": "13583:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13583:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "13606:3:84",
                            "nodeType": "YulIdentifier",
                            "src": "13606:3:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13611:1:84",
                            "nodeType": "YulLiteral",
                            "src": "13611:1:84",
                            "type": "",
                            "value": "2"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13602:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13602:3:84"
                        },
                        "nativeSrc": "13602:11:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13602:11:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "13615:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "13615:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "13548:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "13548:34:84"
                    },
                    "nativeSrc": "13548:74:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13548:74:84"
                  },
                  "nativeSrc": "13548:74:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13548:74:84"
                },
                {
                  "nativeSrc": "13631:26:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13631:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "13645:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "13645:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "13650:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "13650:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13641:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13641:3:84"
                    },
                    "nativeSrc": "13641:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13641:16:84"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "13635:2:84",
                      "nodeType": "YulTypedName",
                      "src": "13635:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "13666:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13666:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "13688:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "13688:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "13682:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "13682:5:84"
                    },
                    "nativeSrc": "13682:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13682:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "13670:8:84",
                      "nodeType": "YulTypedName",
                      "src": "13670:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "13743:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "13743:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13751:4:84",
                            "nodeType": "YulLiteral",
                            "src": "13751:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13739:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13739:3:84"
                        },
                        "nativeSrc": "13739:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13739:17:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "13762:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "13762:2:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13766:1:84",
                            "nodeType": "YulLiteral",
                            "src": "13766:1:84",
                            "type": "",
                            "value": "2"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13758:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13758:3:84"
                        },
                        "nativeSrc": "13758:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13758:10:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "13770:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "13770:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "13704:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "13704:34:84"
                    },
                    "nativeSrc": "13704:75:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13704:75:84"
                  },
                  "nativeSrc": "13704:75:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "13704:75:84"
                },
                {
                  "nativeSrc": "13788:32:84",
                  "nodeType": "YulAssignment",
                  "src": "13788:32:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "13803:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "13803:2:84"
                          },
                          {
                            "name": "length_1",
                            "nativeSrc": "13807:8:84",
                            "nodeType": "YulIdentifier",
                            "src": "13807:8:84"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13799:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "13799:3:84"
                        },
                        "nativeSrc": "13799:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "13799:17:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13818:1:84",
                        "nodeType": "YulLiteral",
                        "src": "13818:1:84",
                        "type": "",
                        "value": "2"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13795:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13795:3:84"
                    },
                    "nativeSrc": "13795:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13795:25:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "13788:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13788:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_39bef1777deb3dfb14f64b9f81ced092c501fee72f90e93d03bb95ee89df9837_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",
            "nativeSrc": "13188:638:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "13444:3:84",
                "nodeType": "YulTypedName",
                "src": "13444:3:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "13449:6:84",
                "nodeType": "YulTypedName",
                "src": "13449:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "13457:6:84",
                "nodeType": "YulTypedName",
                "src": "13457:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "13468:3:84",
                "nodeType": "YulTypedName",
                "src": "13468:3:84",
                "type": ""
              }
            ],
            "src": "13188:638:84"
          },
          {
            "body": {
              "nativeSrc": "13877:74:84",
              "nodeType": "YulBlock",
              "src": "13877:74:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "13900:22:84",
                    "nodeType": "YulBlock",
                    "src": "13900:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "13902:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "13902:16:84"
                          },
                          "nativeSrc": "13902:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "13902:18:84"
                        },
                        "nativeSrc": "13902:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "13902:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "13897:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "13897:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "13890:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "13890:6:84"
                    },
                    "nativeSrc": "13890:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13890:9:84"
                  },
                  "nativeSrc": "13887:35:84",
                  "nodeType": "YulIf",
                  "src": "13887:35:84"
                },
                {
                  "nativeSrc": "13931:14:84",
                  "nodeType": "YulAssignment",
                  "src": "13931:14:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "13940:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "13940:1:84"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "13943:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "13943:1:84"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "13936:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "13936:3:84"
                    },
                    "nativeSrc": "13936:9:84",
                    "nodeType": "YulFunctionCall",
                    "src": "13936:9:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "13931:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "13931:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint256",
            "nativeSrc": "13831:120:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "13862:1:84",
                "nodeType": "YulTypedName",
                "src": "13862:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "13865:1:84",
                "nodeType": "YulTypedName",
                "src": "13865:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "13871:1:84",
                "nodeType": "YulTypedName",
                "src": "13871:1:84",
                "type": ""
              }
            ],
            "src": "13831:120:84"
          },
          {
            "body": {
              "nativeSrc": "14002:102:84",
              "nodeType": "YulBlock",
              "src": "14002:102:84",
              "statements": [
                {
                  "nativeSrc": "14012:38:84",
                  "nodeType": "YulAssignment",
                  "src": "14012:38:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "14027:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "14027:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14030:4:84",
                            "nodeType": "YulLiteral",
                            "src": "14030:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "14023:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14023:3:84"
                        },
                        "nativeSrc": "14023:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14023:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "14041:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "14041:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14044:4:84",
                            "nodeType": "YulLiteral",
                            "src": "14044:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "14037:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14037:3:84"
                        },
                        "nativeSrc": "14037:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14037:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "14019:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14019:3:84"
                    },
                    "nativeSrc": "14019:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14019:31:84"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "14012:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14012:3:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14076:22:84",
                    "nodeType": "YulBlock",
                    "src": "14076:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "14078:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "14078:16:84"
                          },
                          "nativeSrc": "14078:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14078:18:84"
                        },
                        "nativeSrc": "14078:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14078:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "14065:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "14065:3:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14070:4:84",
                        "nodeType": "YulLiteral",
                        "src": "14070:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14062:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "14062:2:84"
                    },
                    "nativeSrc": "14062:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14062:13:84"
                  },
                  "nativeSrc": "14059:39:84",
                  "nodeType": "YulIf",
                  "src": "14059:39:84"
                }
              ]
            },
            "name": "checked_add_t_uint8",
            "nativeSrc": "13956:148:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "13985:1:84",
                "nodeType": "YulTypedName",
                "src": "13985:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "13988:1:84",
                "nodeType": "YulTypedName",
                "src": "13988:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "13994:3:84",
                "nodeType": "YulTypedName",
                "src": "13994:3:84",
                "type": ""
              }
            ],
            "src": "13956:148:84"
          },
          {
            "body": {
              "nativeSrc": "14156:88:84",
              "nodeType": "YulBlock",
              "src": "14156:88:84",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "14187:22:84",
                    "nodeType": "YulBlock",
                    "src": "14187:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "14189:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "14189:16:84"
                          },
                          "nativeSrc": "14189:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14189:18:84"
                        },
                        "nativeSrc": "14189:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14189:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "14172:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "14172:5:84"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "14183:1:84",
                            "nodeType": "YulLiteral",
                            "src": "14183:1:84",
                            "type": "",
                            "value": "0"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "14179:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14179:3:84"
                        },
                        "nativeSrc": "14179:6:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14179:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "14169:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "14169:2:84"
                    },
                    "nativeSrc": "14169:17:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14169:17:84"
                  },
                  "nativeSrc": "14166:43:84",
                  "nodeType": "YulIf",
                  "src": "14166:43:84"
                },
                {
                  "nativeSrc": "14218:20:84",
                  "nodeType": "YulAssignment",
                  "src": "14218:20:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "14229:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "14229:5:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14236:1:84",
                        "nodeType": "YulLiteral",
                        "src": "14236:1:84",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "14225:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14225:3:84"
                    },
                    "nativeSrc": "14225:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14225:13:84"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "14218:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14218:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "increment_t_uint256",
            "nativeSrc": "14109:135:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "14138:5:84",
                "nodeType": "YulTypedName",
                "src": "14138:5:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "14148:3:84",
                "nodeType": "YulTypedName",
                "src": "14148:3:84",
                "type": ""
              }
            ],
            "src": "14109:135:84"
          },
          {
            "body": {
              "nativeSrc": "14293:121:84",
              "nodeType": "YulBlock",
              "src": "14293:121:84",
              "statements": [
                {
                  "nativeSrc": "14303:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14303:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "14318:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "14318:1:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14321:4:84",
                        "nodeType": "YulLiteral",
                        "src": "14321:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "14314:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14314:3:84"
                    },
                    "nativeSrc": "14314:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14314:12:84"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "14307:3:84",
                      "nodeType": "YulTypedName",
                      "src": "14307:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14350:22:84",
                    "nodeType": "YulBlock",
                    "src": "14350:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "14352:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "14352:16:84"
                          },
                          "nativeSrc": "14352:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14352:18:84"
                        },
                        "nativeSrc": "14352:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14352:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "14345:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "14345:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "14338:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14338:6:84"
                    },
                    "nativeSrc": "14338:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14338:11:84"
                  },
                  "nativeSrc": "14335:37:84",
                  "nodeType": "YulIf",
                  "src": "14335:37:84"
                },
                {
                  "nativeSrc": "14381:27:84",
                  "nodeType": "YulAssignment",
                  "src": "14381:27:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "14394:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "14394:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14397:4:84",
                            "nodeType": "YulLiteral",
                            "src": "14397:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "14390:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14390:3:84"
                        },
                        "nativeSrc": "14390:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14390:12:84"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "14404:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "14404:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "14386:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14386:3:84"
                    },
                    "nativeSrc": "14386:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14386:22:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "14381:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "14381:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint8",
            "nativeSrc": "14249:165:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "14278:1:84",
                "nodeType": "YulTypedName",
                "src": "14278:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "14281:1:84",
                "nodeType": "YulTypedName",
                "src": "14281:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "14287:1:84",
                "nodeType": "YulTypedName",
                "src": "14287:1:84",
                "type": ""
              }
            ],
            "src": "14249:165:84"
          },
          {
            "body": {
              "nativeSrc": "14455:121:84",
              "nodeType": "YulBlock",
              "src": "14455:121:84",
              "statements": [
                {
                  "nativeSrc": "14465:23:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14465:23:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "14480:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "14480:1:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14483:4:84",
                        "nodeType": "YulLiteral",
                        "src": "14483:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "14476:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14476:3:84"
                    },
                    "nativeSrc": "14476:12:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14476:12:84"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "14469:3:84",
                      "nodeType": "YulTypedName",
                      "src": "14469:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14512:22:84",
                    "nodeType": "YulBlock",
                    "src": "14512:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "14514:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "14514:16:84"
                          },
                          "nativeSrc": "14514:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14514:18:84"
                        },
                        "nativeSrc": "14514:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14514:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "14507:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "14507:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "14500:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14500:6:84"
                    },
                    "nativeSrc": "14500:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14500:11:84"
                  },
                  "nativeSrc": "14497:37:84",
                  "nodeType": "YulIf",
                  "src": "14497:37:84"
                },
                {
                  "nativeSrc": "14543:27:84",
                  "nodeType": "YulAssignment",
                  "src": "14543:27:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "14556:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "14556:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14559:4:84",
                            "nodeType": "YulLiteral",
                            "src": "14559:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "14552:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14552:3:84"
                        },
                        "nativeSrc": "14552:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14552:12:84"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "14566:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "14566:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "mod",
                      "nativeSrc": "14548:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14548:3:84"
                    },
                    "nativeSrc": "14548:22:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14548:22:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "14543:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "14543:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "mod_t_uint8",
            "nativeSrc": "14419:157:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "14440:1:84",
                "nodeType": "YulTypedName",
                "src": "14440:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "14443:1:84",
                "nodeType": "YulTypedName",
                "src": "14443:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "14449:1:84",
                "nodeType": "YulTypedName",
                "src": "14449:1:84",
                "type": ""
              }
            ],
            "src": "14419:157:84"
          },
          {
            "body": {
              "nativeSrc": "14710:119:84",
              "nodeType": "YulBlock",
              "src": "14710:119:84",
              "statements": [
                {
                  "nativeSrc": "14720:26:84",
                  "nodeType": "YulAssignment",
                  "src": "14720:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14732:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "14732:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14743:2:84",
                        "nodeType": "YulLiteral",
                        "src": "14743:2:84",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "14728:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14728:3:84"
                    },
                    "nativeSrc": "14728:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14728:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "14720:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "14720:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14762:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "14762:9:84"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "14773:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "14773:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "14755:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14755:6:84"
                    },
                    "nativeSrc": "14755:25:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14755:25:84"
                  },
                  "nativeSrc": "14755:25:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "14755:25:84"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14800:9:84",
                            "nodeType": "YulIdentifier",
                            "src": "14800:9:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14811:2:84",
                            "nodeType": "YulLiteral",
                            "src": "14811:2:84",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14796:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14796:3:84"
                        },
                        "nativeSrc": "14796:18:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14796:18:84"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "14816:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "14816:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "14789:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "14789:6:84"
                    },
                    "nativeSrc": "14789:34:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14789:34:84"
                  },
                  "nativeSrc": "14789:34:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "14789:34:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "14581:248:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "14671:9:84",
                "nodeType": "YulTypedName",
                "src": "14671:9:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "14682:6:84",
                "nodeType": "YulTypedName",
                "src": "14682:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "14690:6:84",
                "nodeType": "YulTypedName",
                "src": "14690:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "14701:4:84",
                "nodeType": "YulTypedName",
                "src": "14701:4:84",
                "type": ""
              }
            ],
            "src": "14581:248:84"
          },
          {
            "body": {
              "nativeSrc": "14881:104:84",
              "nodeType": "YulBlock",
              "src": "14881:104:84",
              "statements": [
                {
                  "nativeSrc": "14891:39:84",
                  "nodeType": "YulAssignment",
                  "src": "14891:39:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "14907:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "14907:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14910:4:84",
                            "nodeType": "YulLiteral",
                            "src": "14910:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "14903:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14903:3:84"
                        },
                        "nativeSrc": "14903:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14903:12:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "14921:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "14921:1:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14924:4:84",
                            "nodeType": "YulLiteral",
                            "src": "14924:4:84",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "14917:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "14917:3:84"
                        },
                        "nativeSrc": "14917:12:84",
                        "nodeType": "YulFunctionCall",
                        "src": "14917:12:84"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "14899:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "14899:3:84"
                    },
                    "nativeSrc": "14899:31:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14899:31:84"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "14891:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "14891:4:84"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14957:22:84",
                    "nodeType": "YulBlock",
                    "src": "14957:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "14959:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "14959:16:84"
                          },
                          "nativeSrc": "14959:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "14959:18:84"
                        },
                        "nativeSrc": "14959:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "14959:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "14945:4:84",
                        "nodeType": "YulIdentifier",
                        "src": "14945:4:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14951:4:84",
                        "nodeType": "YulLiteral",
                        "src": "14951:4:84",
                        "type": "",
                        "value": "0xff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14942:2:84",
                      "nodeType": "YulIdentifier",
                      "src": "14942:2:84"
                    },
                    "nativeSrc": "14942:14:84",
                    "nodeType": "YulFunctionCall",
                    "src": "14942:14:84"
                  },
                  "nativeSrc": "14939:40:84",
                  "nodeType": "YulIf",
                  "src": "14939:40:84"
                }
              ]
            },
            "name": "checked_sub_t_uint8",
            "nativeSrc": "14834:151:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "14863:1:84",
                "nodeType": "YulTypedName",
                "src": "14863:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "14866:1:84",
                "nodeType": "YulTypedName",
                "src": "14866:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "14872:4:84",
                "nodeType": "YulTypedName",
                "src": "14872:4:84",
                "type": ""
              }
            ],
            "src": "14834:151:84"
          },
          {
            "body": {
              "nativeSrc": "15035:154:84",
              "nodeType": "YulBlock",
              "src": "15035:154:84",
              "statements": [
                {
                  "nativeSrc": "15045:28:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15045:28:84",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "15055:18:84",
                    "nodeType": "YulLiteral",
                    "src": "15055:18:84",
                    "type": "",
                    "value": "0xffffffffffffffff"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "15049:2:84",
                      "nodeType": "YulTypedName",
                      "src": "15049:2:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "15082:21:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15082:21:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "15097:1:84",
                        "nodeType": "YulIdentifier",
                        "src": "15097:1:84"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "15100:2:84",
                        "nodeType": "YulIdentifier",
                        "src": "15100:2:84"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "15093:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15093:3:84"
                    },
                    "nativeSrc": "15093:10:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15093:10:84"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "15086:3:84",
                      "nodeType": "YulTypedName",
                      "src": "15086:3:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "15127:22:84",
                    "nodeType": "YulBlock",
                    "src": "15127:22:84",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x12",
                            "nativeSrc": "15129:16:84",
                            "nodeType": "YulIdentifier",
                            "src": "15129:16:84"
                          },
                          "nativeSrc": "15129:18:84",
                          "nodeType": "YulFunctionCall",
                          "src": "15129:18:84"
                        },
                        "nativeSrc": "15129:18:84",
                        "nodeType": "YulExpressionStatement",
                        "src": "15129:18:84"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "15122:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "15122:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "15115:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15115:6:84"
                    },
                    "nativeSrc": "15115:11:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15115:11:84"
                  },
                  "nativeSrc": "15112:37:84",
                  "nodeType": "YulIf",
                  "src": "15112:37:84"
                },
                {
                  "nativeSrc": "15158:25:84",
                  "nodeType": "YulAssignment",
                  "src": "15158:25:84",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "15171:1:84",
                            "nodeType": "YulIdentifier",
                            "src": "15171:1:84"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "15174:2:84",
                            "nodeType": "YulIdentifier",
                            "src": "15174:2:84"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "15167:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15167:3:84"
                        },
                        "nativeSrc": "15167:10:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15167:10:84"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "15179:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "15179:3:84"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "15163:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15163:3:84"
                    },
                    "nativeSrc": "15163:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15163:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "15158:1:84",
                      "nodeType": "YulIdentifier",
                      "src": "15158:1:84"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint64",
            "nativeSrc": "14990:199:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "15020:1:84",
                "nodeType": "YulTypedName",
                "src": "15020:1:84",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "15023:1:84",
                "nodeType": "YulTypedName",
                "src": "15023:1:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "15029:1:84",
                "nodeType": "YulTypedName",
                "src": "15029:1:84",
                "type": ""
              }
            ],
            "src": "14990:199:84"
          },
          {
            "body": {
              "nativeSrc": "15379:309:84",
              "nodeType": "YulBlock",
              "src": "15379:309:84",
              "statements": [
                {
                  "nativeSrc": "15389:27:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15389:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "15409:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "15409:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "15403:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "15403:5:84"
                    },
                    "nativeSrc": "15403:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15403:13:84"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "15393:6:84",
                      "nodeType": "YulTypedName",
                      "src": "15393:6:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "15464:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15464:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15472:4:84",
                            "nodeType": "YulLiteral",
                            "src": "15472:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15460:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15460:3:84"
                        },
                        "nativeSrc": "15460:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15460:17:84"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "15479:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "15479:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "15484:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "15484:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "15425:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "15425:34:84"
                    },
                    "nativeSrc": "15425:66:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15425:66:84"
                  },
                  "nativeSrc": "15425:66:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "15425:66:84"
                },
                {
                  "nativeSrc": "15500:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15500:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "15517:3:84",
                        "nodeType": "YulIdentifier",
                        "src": "15517:3:84"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "15522:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "15522:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "15513:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15513:3:84"
                    },
                    "nativeSrc": "15513:16:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15513:16:84"
                  },
                  "variables": [
                    {
                      "name": "end_1",
                      "nativeSrc": "15504:5:84",
                      "nodeType": "YulTypedName",
                      "src": "15504:5:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "15538:29:84",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15538:29:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "15560:6:84",
                        "nodeType": "YulIdentifier",
                        "src": "15560:6:84"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "15554:5:84",
                      "nodeType": "YulIdentifier",
                      "src": "15554:5:84"
                    },
                    "nativeSrc": "15554:13:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15554:13:84"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "15542:8:84",
                      "nodeType": "YulTypedName",
                      "src": "15542:8:84",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "15615:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15615:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15623:4:84",
                            "nodeType": "YulLiteral",
                            "src": "15623:4:84",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15611:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15611:3:84"
                        },
                        "nativeSrc": "15611:17:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15611:17:84"
                      },
                      {
                        "name": "end_1",
                        "nativeSrc": "15630:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "15630:5:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "15637:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "15637:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "copy_memory_to_memory_with_cleanup",
                      "nativeSrc": "15576:34:84",
                      "nodeType": "YulIdentifier",
                      "src": "15576:34:84"
                    },
                    "nativeSrc": "15576:70:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15576:70:84"
                  },
                  "nativeSrc": "15576:70:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "15576:70:84"
                },
                {
                  "nativeSrc": "15655:27:84",
                  "nodeType": "YulAssignment",
                  "src": "15655:27:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "end_1",
                        "nativeSrc": "15666:5:84",
                        "nodeType": "YulIdentifier",
                        "src": "15666:5:84"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "15673:8:84",
                        "nodeType": "YulIdentifier",
                        "src": "15673:8:84"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "15662:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15662:3:84"
                    },
                    "nativeSrc": "15662:20:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15662:20:84"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "15655:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15655:3:84"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_bytes_memory_ptr__to_t_string_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "15194:494:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "15347:3:84",
                "nodeType": "YulTypedName",
                "src": "15347:3:84",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "15352:6:84",
                "nodeType": "YulTypedName",
                "src": "15352:6:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "15360:6:84",
                "nodeType": "YulTypedName",
                "src": "15360:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "15371:3:84",
                "nodeType": "YulTypedName",
                "src": "15371:3:84",
                "type": ""
              }
            ],
            "src": "15194:494:84"
          },
          {
            "body": {
              "nativeSrc": "15793:101:84",
              "nodeType": "YulBlock",
              "src": "15793:101:84",
              "statements": [
                {
                  "nativeSrc": "15803:26:84",
                  "nodeType": "YulAssignment",
                  "src": "15803:26:84",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15815:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15815:9:84"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15826:2:84",
                        "nodeType": "YulLiteral",
                        "src": "15826:2:84",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "15811:3:84",
                      "nodeType": "YulIdentifier",
                      "src": "15811:3:84"
                    },
                    "nativeSrc": "15811:18:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15811:18:84"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "15803:4:84",
                      "nodeType": "YulIdentifier",
                      "src": "15803:4:84"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15845:9:84",
                        "nodeType": "YulIdentifier",
                        "src": "15845:9:84"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "15860:6:84",
                            "nodeType": "YulIdentifier",
                            "src": "15860:6:84"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15868:18:84",
                            "nodeType": "YulLiteral",
                            "src": "15868:18:84",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "15856:3:84",
                          "nodeType": "YulIdentifier",
                          "src": "15856:3:84"
                        },
                        "nativeSrc": "15856:31:84",
                        "nodeType": "YulFunctionCall",
                        "src": "15856:31:84"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "15838:6:84",
                      "nodeType": "YulIdentifier",
                      "src": "15838:6:84"
                    },
                    "nativeSrc": "15838:50:84",
                    "nodeType": "YulFunctionCall",
                    "src": "15838:50:84"
                  },
                  "nativeSrc": "15838:50:84",
                  "nodeType": "YulExpressionStatement",
                  "src": "15838:50:84"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint64__to_t_uint256__fromStack_reversed",
            "nativeSrc": "15693:201:84",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15762:9:84",
                "nodeType": "YulTypedName",
                "src": "15762:9:84",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "15773:6:84",
                "nodeType": "YulTypedName",
                "src": "15773:6:84",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "15784:4:84",
                "nodeType": "YulTypedName",
                "src": "15784:4:84",
                "type": ""
              }
            ],
            "src": "15693:201:84"
          }
        ]
      },
      "contents": "{\n    { }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory_1988() -> memPtr\n    {\n        memPtr := mload(0x40)\n        let newFreePtr := add(memPtr, 0x40)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(0x40, newFreePtr)\n    }\n    function allocate_memory() -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0xc0)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function abi_decode_bytes(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let _1 := calldataload(offset)\n        let _2 := 0xffffffffffffffff\n        if gt(_1, _2) { panic_error_0x41() }\n        let _3 := not(31)\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(and(add(_1, 0x1f), _3), 63), _3))\n        if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        mstore(memPtr, _1)\n        if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n        calldatacopy(add(memPtr, 0x20), add(offset, 0x20), _1)\n        mstore(add(add(memPtr, _1), 0x20), 0)\n        array := memPtr\n    }\n    function abi_decode_uint8(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function abi_decode_uint64(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xffffffffffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_struct$_Result_$16042_memory_ptr(headStart, dataEnd) -> value0\n    {\n        let _1 := 32\n        if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        let _2 := 0xffffffffffffffff\n        if gt(offset, _2) { revert(0, 0) }\n        let _3 := add(headStart, offset)\n        if slt(sub(dataEnd, _3), 0x40) { revert(0, 0) }\n        let value := allocate_memory_1988()\n        let value_1 := calldataload(_3)\n        if iszero(eq(value_1, iszero(iszero(value_1)))) { revert(0, 0) }\n        mstore(value, value_1)\n        let offset_1 := calldataload(add(_3, _1))\n        if gt(offset_1, _2) { revert(0, 0) }\n        let _4 := add(_3, offset_1)\n        if slt(sub(dataEnd, _4), 0xc0) { revert(0, 0) }\n        let value_2 := allocate_memory()\n        let offset_2 := calldataload(_4)\n        if gt(offset_2, _2) { revert(0, 0) }\n        let _5 := add(_4, offset_2)\n        if slt(sub(dataEnd, _5), 0x40) { revert(0, 0) }\n        let value_3 := allocate_memory_1988()\n        let offset_3 := calldataload(_5)\n        if gt(offset_3, _2) { revert(0, 0) }\n        mstore(value_3, abi_decode_bytes(add(_5, offset_3), dataEnd))\n        mstore(add(value_3, _1), calldataload(add(_5, _1)))\n        mstore(value_2, value_3)\n        mstore(add(value_2, _1), abi_decode_uint8(add(_4, _1)))\n        mstore(add(value_2, 0x40), abi_decode_uint8(add(_4, 0x40)))\n        mstore(add(value_2, 96), abi_decode_uint8(add(_4, 96)))\n        mstore(add(value_2, 128), abi_decode_uint64(add(_4, 128)))\n        mstore(add(value_2, 160), abi_decode_uint64(add(_4, 160)))\n        mstore(add(value, _1), value_2)\n        value0 := value\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_enum_ResultErrorCodes(value, pos)\n    {\n        if iszero(lt(value, 255))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x21)\n            revert(0, 0x24)\n        }\n        mstore(pos, value)\n    }\n    function copy_memory_to_memory_with_cleanup(src, dst, length)\n    {\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    function abi_encode_tuple_t_struct$_ResultError_$16055_memory_ptr__to_t_struct$_ResultError_$16055_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        abi_encode_enum_ResultErrorCodes(mload(value0), add(headStart, 32))\n        let memberValue0 := mload(add(value0, 32))\n        mstore(add(headStart, 0x40), 0x40)\n        let length := mload(memberValue0)\n        mstore(add(headStart, 96), length)\n        copy_memory_to_memory_with_cleanup(add(memberValue0, 32), add(headStart, 128), length)\n        tail := add(add(headStart, and(add(length, 31), not(31))), 128)\n    }\n    function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_enum$_ResultErrorCodes_$16311_t_enum$_ResultErrorCodes_$16311__to_t_uint8_t_uint8__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        abi_encode_enum_ResultErrorCodes(value0, headStart)\n        abi_encode_enum_ResultErrorCodes(value1, add(headStart, 32))\n    }\n    function abi_decode_tuple_t_enum$_ResponseStatus_$23496t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        if iszero(lt(value, 6)) { revert(0, 0) }\n        value0 := value\n        let offset := calldataload(add(headStart, 32))\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_stringliteral_8cc2a1c65923977c1c98fefaac58d747faf78accfaab3d2c8ff22055aea2ef07__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 9)\n        mstore(add(headStart, 64), \"no errors\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        let end_1 := add(pos, length)\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n        end := add(end_1, length_1)\n    }\n    function abi_encode_tuple_t_uint8_t_uint8__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), and(value1, 0xff))\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_add_t_uint64(x, y) -> sum\n    {\n        let _1 := 0xffffffffffffffff\n        sum := add(and(x, _1), and(y, _1))\n        if gt(sum, _1) { panic_error_0x11() }\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_packed_t_stringliteral_e1985157138a8bc399ee376b35af954da41fb40a0016a3e224169dd11244f7fc_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"malformed response: \")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 20), length)\n        end := add(add(pos, length), 20)\n    }\n    function abi_encode_tuple_packed_t_stringliteral_5086f7424b23ff2b37de66c4de971318b7397c46008fb02056a96c2bcb01a711_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"malformed request: \")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 19), length)\n        end := add(add(pos, length), 19)\n    }\n    function abi_encode_tuple_packed_t_stringliteral_ddc22ca7a1570cc3baed2af6fb213a839fff3df6032a46d55300ff1752c37205_t_string_memory_ptr_t_stringliteral_06a2d74ec3f7691def8930b709594dd718f94068752b927fbf84234b32ca3ba0__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"unhandled intercept on tally (+\")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 31), length)\n        let _1 := add(pos, length)\n        mstore(add(_1, 31), \" args).\")\n        end := add(_1, 38)\n    }\n    function abi_encode_tuple_packed_t_stringliteral_39bef1777deb3dfb14f64b9f81ced092c501fee72f90e93d03bb95ee89df9837_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"0x\")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 2), length)\n        end := add(add(pos, length), 2)\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function checked_mul_t_uint64(x, y) -> product\n    {\n        let _1 := 0xffffffffffffffff\n        let product_raw := mul(and(x, _1), and(y, _1))\n        product := and(product_raw, _1)\n        if iszero(eq(product, product_raw)) { panic_error_0x11() }\n    }\n    function panic_error_0x12()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n    function mod_t_uint256(x, y) -> r\n    {\n        if iszero(y) { panic_error_0x12() }\n        r := mod(x, y)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_stringliteral_92a4e60c9c8a6bab113d51719bd32c972951c92a48fb0ef633db4f8d512f86fe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 39)\n        mstore(add(headStart, 64), \"WitnetCBOR.skip: unsupported maj\")\n        mstore(add(headStart, 96), \"or type\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_packed_t_stringliteral_af98e92575825ed955877a76b91e527d99ee34eb180aa35895c9371e20b434c4_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"http/\")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 5), length)\n        end := add(add(pos, length), 5)\n    }\n    function abi_encode_tuple_packed_t_stringliteral_c88b6002b8a9e8d4da65428ee3dda051e966ac1a26fef129423741e1db9037ca_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"array index out of bounds: \")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 27), length)\n        end := add(add(pos, length), 27)\n    }\n    function abi_encode_tuple_packed_t_stringliteral_b538ad40f111419c5bd9d21ecdbf80392f335f2b8051978ad38bc97197eb1c60_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"map key not found: \")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 19), length)\n        end := add(add(pos, length), 19)\n    }\n    function abi_encode_tuple_packed_t_stringliteral_98b90842f3e118a56fd2133767cd994018d040f907be1644af621eecfde8d95f_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"json path returned no values: \")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 30), length)\n        end := add(add(pos, length), 30)\n    }\n    function abi_encode_tuple_packed_t_stringliteral_484ad9155b109c08d264f37ba45b57e5a53236bcee32e19252f498c9de21e9c0_t_string_memory_ptr_t_stringliteral_4f5b520b366b6f3a91021ddae30b16b22836be60b06e1f8556f1f0f0cc9db37a__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \" (+\")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 3), length)\n        let _1 := add(pos, length)\n        mstore(add(_1, 3), \" args)\")\n        end := add(_1, 9)\n    }\n    function abi_encode_tuple_packed_t_stringliteral_39bef1777deb3dfb14f64b9f81ced092c501fee72f90e93d03bb95ee89df9837_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, value1, value0) -> end\n    {\n        mstore(pos, \"0x\")\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 2), length)\n        let _1 := add(pos, length)\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), add(_1, 2), length_1)\n        end := add(add(_1, length_1), 2)\n    }\n    function checked_div_t_uint256(x, y) -> r\n    {\n        if iszero(y) { panic_error_0x12() }\n        r := div(x, y)\n    }\n    function checked_add_t_uint8(x, y) -> sum\n    {\n        sum := add(and(x, 0xff), and(y, 0xff))\n        if gt(sum, 0xff) { panic_error_0x11() }\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function checked_div_t_uint8(x, y) -> r\n    {\n        let y_1 := and(y, 0xff)\n        if iszero(y_1) { panic_error_0x12() }\n        r := div(and(x, 0xff), y_1)\n    }\n    function mod_t_uint8(x, y) -> r\n    {\n        let y_1 := and(y, 0xff)\n        if iszero(y_1) { panic_error_0x12() }\n        r := mod(and(x, 0xff), y_1)\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function checked_sub_t_uint8(x, y) -> diff\n    {\n        diff := sub(and(x, 0xff), and(y, 0xff))\n        if gt(diff, 0xff) { panic_error_0x11() }\n    }\n    function checked_div_t_uint64(x, y) -> r\n    {\n        let _1 := 0xffffffffffffffff\n        let y_1 := and(y, _1)\n        if iszero(y_1) { panic_error_0x12() }\n        r := div(and(x, _1), y_1)\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_bytes_memory_ptr__to_t_string_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n        let end_1 := add(pos, length)\n        let length_1 := mload(value1)\n        copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n        end := add(end_1, length_1)\n    }\n    function abi_encode_tuple_t_uint64__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffffffff))\n    }\n}",
      "id": 84,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "sourceMap": "233:10590:68:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;233:10590:68;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "233:10590:68:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;991:217;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3125:261;;;;;;:::i;:::-;;:::i;2267:555::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;1216:1043::-;;;;;;:::i;:::-;;:::i;991:217::-;-1:-1:-1;;;;;;;;;;;;;;;;;1134:66:68;1164:25;1182:6;1164:17;:25::i;:::-;1134:15;:66::i;:::-;1127:73;991:217;-1:-1:-1;;991:217:68:o;3125:261::-;-1:-1:-1;;;;;;;;;;;;;;;;;3272:31:68;3306;3327:9;3306:20;:31::i;:::-;3272:65;;3355:23;3371:6;3355:15;:23::i;:::-;3348:30;3125:261;-1:-1:-1;;;3125:261:68:o;2267:555::-;2383:29;2428:32;2488;2523:45;2541:26;:9;:24;:26::i;:::-;2523:17;:45::i;:::-;2488:80;;2600:1;2583:7;:14;:18;2579:236;;;2650:21;:7;2658:1;2650:10;;;;;;;;:::i;:::-;;;;;;;:19;:21::i;:::-;2626:46;;;;;;;;:::i;:::-;2618:54;;2708:1;2691:7;:14;:18;2687:116;;;2765:21;:7;2773:1;2765:10;;;;;;;;:::i;:21::-;2741:46;;;;;;;;:::i;:::-;2730:57;;2687:116;2477:345;2267:555;;;:::o;1216:1043::-;-1:-1:-1;;;;;;;;;;;;;;;;;1408:29:68;1397:7;:40;;;;;;;;:::i;:::-;;:101;;;-1:-1:-1;1469:29:68;1458:7;:40;;;;;;;;:::i;:::-;;1397:101;1379:446;;;1532:36;1557:10;1532:24;:36::i;:::-;1525:43;;;;1379:446;1601:34;1590:7;:45;;;;;;;;:::i;:::-;;1586:239;;1659:154;;;;;;;;;;-1:-1:-1;1659:154:68;;;;;;;;;;;;;;;;;;;;;;;1652:161;-1:-1:-1;1652:161:68;;1586:239;1841:32;1830:7;:43;;;;;;;;:::i;:::-;;1826:426;;1897:153;;;;;;;;;;-1:-1:-1;1897:153:68;;;;;;;;;;;;;;;;;;;;;;;1890:160;-1:-1:-1;1890:160:68;;1826:426;2090:150;;;;;;;;;;-1:-1:-1;2090:150:68;;;;;;;;;;;;;;;;;;;;;;;;2083:157;;1216:1043;;;;:::o;4250:225::-;4397:14;;4346:24;;4396:15;4388:37;;;;-1:-1:-1;;;4388:37:68;;6188:2:84;4388:37:68;;;6170:21:84;6227:1;6207:18;;;6200:29;-1:-1:-1;;;6245:18:84;;;6238:39;6294:18;;4388:37:68;;;;;;;;;4443:24;:6;:12;;;:22;:24::i;4584:928::-;-1:-1:-1;;;;;;;;;;;;;;;;;4752:1:68;4736:6;:13;:17;4732:303;;;4777:154;;;;;;;;;;-1:-1:-1;4777:154:68;;;;;;;;;;;;;;;;;;;;;;;4770:161;4584:928;-1:-1:-1;;4584:928:68:o;4732:303::-;5002:20;:6;5009:1;5002:9;;;;;;;;:::i;:20::-;4978:45;;;;;;;;:::i;:::-;4964:6;;:59;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;5045:21:68;5081:30;:6;:11;;;:28;;;;;;;;:::i;:::-;;:30::i;:::-;5077:334;;;-1:-1:-1;5128:28:68;;;;;;;;;;;;-1:-1:-1;;;5128:28:68;;;;5077:334;;;5178:11;;:28;;:26;;;;;;;;:::i;:::-;;:28::i;:::-;5174:237;;;-1:-1:-1;5223:29:68;;;;;;;;;;;;-1:-1:-1;;;5223:29:68;;;;5174:237;;;5274:11;;:29;;:27;;;;;;;;:::i;:::-;;:29::i;:::-;5270:141;;;-1:-1:-1;5320:24:68;;;;;;;;;;;;-1:-1:-1;;;5320:24:68;;;;5270:141;;;-1:-1:-1;5377:22:68;;;;;;;;;;;;-1:-1:-1;;;5377:22:68;;;;5270:141;5462:7;5471:31;5482:6;:11;;;5495:6;5471:10;:31::i;:::-;5445:58;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5445:58:68;;;;;;;;;;5422:13;;:82;-1:-1:-1;5422:6:68;4584:928;-1:-1:-1;4584:928:68:o;3846:195::-;3939:24;3988:45;4006:26;:9;22195:250:64;22284:20;;:::i;:::-;22322:32;22357:31;22378:9;22357:20;:31::i;:::-;22322:66;;22406:31;22427:9;22406:20;:31::i;17859:209:66:-;17967:4;17931;966:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:66;;7024:4:84;7012:17;;;1813:45:66;;;6994:36:84;7066:17;;;7046:18;;;7039:45;6967:18;;1813:45:66;6824:266:84;1765:101:66;17990:72:::1;18009:4;:11;;;18029:4;:26;;;17990:10;:72::i;:::-;-1:-1:-1::0;;;;;17983:79:66::1;;;1872:1;17859:209:::0;;;;;:::o;6109:1231::-;6220:19;6182:4;1170:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:66;;7024:4:84;7012:17;;;1813:45:66;;;6994:36:84;7066:17;;;7046:18;;;7039:45;6967:18;;1813:45:66;6824:266:84;1765:101:66;6336:10:::1;6349:51;6360:4;:11;;;6373:4;:26;;;6349:10;:51::i;:::-;6336:64:::0;-1:-1:-1;6426:7:66::1;6336:64:::0;6432:1:::1;6426:7;:::i;:::-;-1:-1:-1::0;;;;;6415:19:66::1;-1:-1:-1::0;;;;;6415:19:66::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;6407:27;;6446:7;6441:739;6464:3;-1:-1:-1::0;;;;;6459:8:66::1;:2;:8;6441:739;;;6536:13;:4;:11;:13::i;:::-;6529:20;;6635:11;:4;:9;:11::i;:::-;6623:5;6629:2;6623:9;;;;;;;;:::i;:::-;;;;;;:23;;;;1170:1;6659:34;;:4;:14;;;:34;;::::0;6655:518:::1;;6706:23;6732:16;:4;:14;:16::i;:::-;6706:42;;6831:9;6860:1;6841:9;:16;:20;;;;:::i;:::-;6831:31;;;;;;;;:::i;:::-;;;;;;;6824:38;;6695:177;6655:518;;;1217:1;6882:32;;:4;:14;;;:32;;::::0;6878:295:::1;;6927:23;6953:14;:4;:12;:14::i;6878:295::-;7152:11;:4;:9;:11::i;:::-;;6878:295;6469:5;;6441:739;;;;7330:4;7317:5;7323:3;-1:-1:-1::0;;;;;7317:10:66::1;;;;;;;;;:::i;:::-;;;;;;:17;;;;6244:1096;6109:1231:::0;;;;;:::o;14888:152:64:-;14960:4;14993:38;14985:46;:4;:46;;;;;;;;:::i;:::-;;;14888:152;-1:-1:-1;;14888:152:64:o;15598:376::-;15668:4;15715:37;15707:4;:45;;;;;;;;:::i;:::-;;:110;;;-1:-1:-1;15781:36:64;15773:4;:44;;;;;;;;:::i;:::-;;15707:110;:176;;;-1:-1:-1;15846:37:64;15838:4;:45;;;;;;;;:::i;:::-;;15707:176;:248;;;-1:-1:-1;15912:43:64;15904:51;;15048:304;15119:4;15166:36;15158:4;:44;;;;;;;;:::i;:::-;;:110;;;-1:-1:-1;15231:37:64;15223:4;:45;;;;;;;;:::i;:::-;;15158:110;:175;;;-1:-1:-1;15297:36:64;15289:44;;5520:2526:68;5641:13;5684:43;5676:4;:51;;;;;;;;:::i;:::-;;5672:2367;;-1:-1:-1;5744:30:68;;;;;;;;;;;;-1:-1:-1;;;5744:30:68;;;;;;5672:2367;5820:45;5812:4;:53;;;;;;;;:::i;:::-;;:89;;;;;5900:1;5886:4;:11;:15;5812:89;5794:2245;;;5935:36;5946:18;:4;5951:1;5946:7;;;;;;;;:::i;:18::-;5966:4;5935:10;:36::i;5794:2245::-;6011:44;6003:4;:52;;;;;;;;:::i;:::-;;5999:2040;;-1:-1:-1;6072:31:68;;;;;;;;;;;;-1:-1:-1;;;6072:31:68;;;;;;5999:2040;6135:43;6127:4;:51;;;;;;;;:::i;:::-;;6123:1916;;-1:-1:-1;6195:30:68;;;;;;;;;;;;-1:-1:-1;;;6195:30:68;;;;;;6123:1916;6257:44;6249:4;:52;;;;;;;;:::i;:::-;;6245:1794;;-1:-1:-1;6318:27:68;;;;;;;;;;;;-1:-1:-1;;;6318:27:68;;;;;;6245:1794;6391:44;6383:4;:52;;;;;;;;:::i;:::-;;:131;;;-1:-1:-1;6464:50:68;6456:4;:58;;;;;;;;:::i;:::-;;6383:131;6365:1674;;;-1:-1:-1;6541:26:68;;;;;;;;;;;;-1:-1:-1;;;6541:26:68;;;;;;6365:1674;6599:43;6591:4;:51;;;;;;;;:::i;:::-;;6587:1452;;-1:-1:-1;6659:30:68;;;;;;;;;;;;-1:-1:-1;;;6659:30:68;;;;;;6587:1452;6735:42;6727:4;:50;;;;;;;;:::i;:::-;;:86;;;;;6812:1;6798:4;:11;:15;6727:86;6709:1330;;;6930:36;6941:18;:4;6946:1;6941:7;;;;;;;;:::i;6930:36::-;6854:127;;;;;;;;:::i;:::-;;;;;;;;;;;;;6840:142;;;;6709:1330;7028:44;7020:4;:52;;;;;;;;:::i;:::-;;:132;;;-1:-1:-1;7102:50:68;7094:4;:58;;;;;;;;:::i;:::-;;7020:132;7002:1037;;;7199:1;7185:4;:11;:15;7181:277;;;7318:36;7329:18;:4;7334:1;7329:7;;;;;;;;:::i;7318:36::-;7235:138;;;;;;;;:::i;7181:277::-;-1:-1:-1;7415:27:68;;;;;;;;;;;;-1:-1:-1;;;7415:27:68;;;;;;7002:1037;7489:42;7481:4;:50;;;;;;;;:::i;:::-;;7477:562;;7566:1;7552:4;:11;:15;7548:324;;;7697:28;7712:1;7698:4;:11;:15;;;;:::i;:::-;7697:26;:28::i;:::-;7602:174;;;;;;;;:::i;7548:324::-;-1:-1:-1;7818:38:68;;;;;;;;;;;;;;;;;;;7477:562;7986:25;7992:4;7986:11;;;;;;;;:::i;:::-;:23;;;:25::i;:::-;7928:98;;;;;;;;:::i;2488:204:66:-;2563:11;;:::i;:::-;2622:32;;;;;;;;;;;;2586:33;2622:32;;;;2668:18;2622:32;2668:10;:18::i;31124:414:64:-;31223:20;;:::i;:::-;-1:-1:-1;31470:8:64;;;;31502:28;;;;;;;;;-1:-1:-1;;;;;31470:14:64;;;31482:2;31470:14;;31502:28;;;;;;;;;;31124:414::o;8833:697:66:-;8972:6;9018:2;8994:21;:26;;;8990:77;;;-1:-1:-1;9031:28:66;;;;;8990:77;9077:21;:27;;9102:2;9077:27;9073:75;;9122:18;:6;:16;:18::i;:::-;9115:25;;;;;;9073:75;9158:21;:27;;9183:2;9158:27;9154:76;;9203:19;:6;:17;:19::i;:::-;9196:26;;;;;;9154:76;9240:21;:27;;9265:2;9240:27;9236:76;;9285:19;:6;:17;:19::i;:::-;9278:26;;;;;;9236:76;9322:21;:27;;9347:2;9322:27;9318:76;;9367:19;:6;:17;:19::i;9318:76::-;9404:21;:27;;9429:2;9404:27;9400:67;;-1:-1:-1;;;;;;9442:17:66;;9400:67;9480:44;;-1:-1:-1;;;9480:44:66;;9698:4:84;9686:17;;9480:44:66;;;9668:36:84;9641:18;;9480:44:66;9524:186:84;4400:208:66;4471:22;;:::i;:::-;2152:11;;:16;;:23;2130:18;;;;;:45;;4505:98;;4549:11;;4538:23;;:10;:23::i;4505:98::-;-1:-1:-1;4591:4:66;4400:208::o;4505:98::-;4400:208;;;:::o;4049:345::-;4125:22;;:::i;:::-;4166:222;;;;;;;;;4188:11;;-1:-1:-1;;;;;;;;;;;;;;2776:55:65;;;;;;;;2791:11;;2776:55;;-1:-1:-1;2811:13:65;;;;2776:55;;;;4166:222:66;;;;;;;4228:4;:16;;;4166:222;;;;;;4264:4;:14;;;4166:222;;;;;;4310:4;:26;;;4166:222;;;;;;4350:4;:8;;;-1:-1:-1;;;;;4166:222:66;;;;;4372:4;:8;;;-1:-1:-1;;;;;4166:222:66;;;;4159:229;;4049:345;;;:::o;7346:1309::-;7453:19;7417:4;1217:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:66;;7024:4:84;7012:17;;;1813:45:66;;;6994:36:84;7066:17;;;7046:18;;;7039:45;6967:18;;1813:45:66;6824:266:84;1765:101:66;7585:10:::1;7598:51;7609:4;:11;;;7622:4;:26;;;7598:10;:51::i;:::-;:55;::::0;7652:1:::1;7598:55;:::i;:::-;7585:68:::0;-1:-1:-1;7679:7:66::1;7585:68:::0;7685:1:::1;7679:7;:::i;:::-;-1:-1:-1::0;;;;;7668:19:66::1;-1:-1:-1::0;;;;;7668:19:66::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;7660:27;;7699:7;7694:801;7717:3;-1:-1:-1::0;;;;;7712:8:66::1;:2;:8;7694:801;;;7789:13;:4;:11;:13::i;:::-;7782:20;;7888:11;:4;:9;:11::i;:::-;7876:5;7882:2;7876:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;:23;7912:6:::1;7917:1;7912:2:::0;:6:::1;:::i;:::-;:11:::0;:50;::::1;;;-1:-1:-1::0;7927:14:66::1;::::0;::::1;::::0;:35:::1;;1121:1;7927:35;;7912:50;7908:580;;;8002:14;::::0;;::::1;::::0;7982:54;;-1:-1:-1;;;7982:54:66;;7024:4:84;7012:17;;;7982:54:66::1;::::0;::::1;6994:36:84::0;1121:1:66::1;7046:18:84::0;;;7039:45;6967:18;;7982:54:66::1;6824:266:84::0;7908:580:66::1;8056:14;::::0;::::1;::::0;:34:::1;;1170:1;8056:34;::::0;:70:::1;;-1:-1:-1::0;8094:14:66::1;::::0;::::1;::::0;:32:::1;;1217:1;8094:32;8056:70;8052:436;;;8166:14;::::0;::::1;::::0;8139:23:::1;::::0;8166:34:::1;;1170:1;8166:34;:96;;8248:14;:4;:12;:14::i;:::-;8166:96;;;8216:16;:4;:14;:16::i;:::-;8139:134;;8363:9;8392:1;8373:9;:16;:20;;;;:::i;:::-;8363:31;;;;;;;;:::i;:::-;;;;;;;8356:38;;8128:276;8052:436;;;8467:11;:4;:9;:11::i;:::-;;8052:436;7722:5;;7694:801;;4614:1135:::0;4683:22;;:::i;:::-;4729:14;;;;:32;;;;:86;;-1:-1:-1;4774:14:66;;;;:41;;1022:1;4774:41;4729:86;:263;;;-1:-1:-1;4841:14:66;;;;:41;;1320:1;4841:41;:91;;;;;4930:2;4900:4;:26;;;:32;;;;4841:91;:140;;;;;4979:2;4949:4;:26;;;:32;;;;4841:140;4717:1009;;;5031:17;:4;:15;:17::i;:::-;-1:-1:-1;;;;;5009:39:66;:4;:11;;;:18;;:39;;;;;;;:::i;:::-;;;-1:-1:-1;;4591:4:66;4400:208::o;4717:1009::-;5076:14;;;;:35;;1121:1;5076:35;;:84;;-1:-1:-1;5126:14:66;;;;:34;;1071:1;5126:34;5076:84;5062:664;;;5177:10;5190:51;5201:4;:11;;;5214:4;:26;;;5190:10;:51::i;:::-;5177:64;;5272:3;-1:-1:-1;;;;;5250:25:66;:4;:11;;;:18;;:25;;;;;;;:::i;:::-;;;-1:-1:-1;5062:664:66;;-1:-1:-1;5062:664:66;;5301:14;;;;:34;;1170:1;5301:34;;:79;;-1:-1:-1;5348:14:66;;;;:32;;1217:1;5348:32;5301:79;5289:437;;;5409:51;5420:4;:11;;;5433:4;:26;;;5409:10;:51::i;:::-;-1:-1:-1;;;;;5398:62:66;:8;;;:62;-1:-1:-1;4591:4:66;4400:208::o;5289:437::-;5493:14;;;;:41;;1320:1;5493:41;;;:159;;;5560:4;:26;;;:32;;5590:2;5560:32;;:81;;;;;5609:4;:26;;;:32;;5639:2;5609:32;;5560:81;5480:246;;;5669:49;;-1:-1:-1;;;5669:49:66;;10558:2:84;5669:49:66;;;10540:21:84;10597:2;10577:18;;;10570:30;10636:34;10616:18;;;10609:62;-1:-1:-1;;;10687:18:84;;;10680:37;10734:19;;5669:49:66;10356:403:84;8054:2138:68;8160:13;8191:29;8247:7;8223:32;;;;;;;;:::i;:::-;8191:64;-1:-1:-1;8318:34:68;8309:5;:43;;;;;;;;:::i;:::-;;8305:1880;;8387:1;8373:4;:11;:15;8369:266;;;8492:29;:18;:4;8497:1;8492:7;;;;;;;;:::i;:29::-;8423:117;;;;;;;;:::i;:::-;;;;;;;;;;;;;8409:132;;;;;8369:266;-1:-1:-1;;8582:37:68;;;;;;;;;;;;;;;;;;;8305:1880;8667:41;8658:5;:50;;;;;;;;:::i;:::-;;8654:1531;;-1:-1:-1;;8725:26:68;;;;;;;;;;;;-1:-1:-1;;;8725:26:68;;;;;;8654:1531;8784:45;8775:5;:54;;;;;;;;:::i;:::-;;8771:1414;;8864:1;8850:4;:11;:15;8846:286;;;8991:29;:18;:4;8996:1;8991:7;;;;;;;;:::i;:29::-;8900:139;;;;;;;;:::i;8846:286::-;-1:-1:-1;;9081:35:68;;;;;;;;;;;;;;;;;;;8771:1414;9164:38;9155:5;:47;;;;;;;;:::i;:::-;;9151:1034;;9237:1;9223:4;:11;:15;9219:261;;;9356:20;:4;9361:1;9356:7;;;;;;;;:::i;:::-;;;;;;;:18;:20::i;:::-;9273:122;;;;;;;;:::i;9219:261::-;-1:-1:-1;;9437:27:68;;;;;;;;;;;;-1:-1:-1;;;9437:27:68;;;;;;9151:1034;9512:40;9503:5;:49;;;;;;;;:::i;:::-;;9499:686;;9587:1;9573:4;:11;:15;9569:283;;;9717:20;:4;9722:1;9717:7;;;;;;;;:::i;:20::-;9623:133;;;;;;;;:::i;9569:283::-;-1:-1:-1;;9798:38:68;;;;;;;;;;;;;;;;;;;9499:686;9966:32;9991:5;9985:12;;;;;;;;:::i;:::-;9966:18;:32::i;:::-;10031:1;10017:4;:11;:15;:140;;;;;;;;;;;;;;;;;10087:32;10106:1;10092:4;:11;:15;;;;:::i;10087:32::-;10063:67;;;;;;;;:::i;:::-;;;;;;;;;;;;;10017:140;9908:264;;;;;;;;;:::i;9499:686::-;8180:2012;8054:2138;;;;:::o;21222:536:64:-;21376:20;;;21338:3;21376:20;;;;;;;;;21290:13;;21338:3;21321:14;;21338:3;21376:20;;;;;;;;;;-1:-1:-1;21376:20:64;21352:44;;21407:6;21428:156;21446:15;21470:6;21474:2;21470:1;:6;:::i;:::-;21446:31;-1:-1:-1;21496:6:64;21500:2;21496:1;:6;:::i;:::-;21492:10;-1:-1:-1;21541:14:64;21546:9;21541:2;:14;:::i;:::-;21534:22;;21517:8;21526:4;;;;:::i;:::-;;;21517:14;;;;;;;;:::i;:::-;;;;:39;-1:-1:-1;;;;;21517:39:64;;;;;;;;;21431:137;21576:1;21581;21576:6;21428:156;;21594:16;21623:1;-1:-1:-1;;;;;21613:12:64;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21613:12:64;-1:-1:-1;21594:31:64;-1:-1:-1;21650:1:64;21636:86;21658:1;21653;:6;21636:86;;21695:8;21704:5;21708:1;21704;:5;:::i;:::-;21695:15;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;21695:15:64;21682:3;21686:5;21690:1;21686;:5;:::i;:::-;21682:10;;;;;;;;:::i;:::-;;;;:28;-1:-1:-1;;;;;21682:28:64;;;;;;;;-1:-1:-1;21661:4:64;;;;:::i;:::-;;;;21636:86;;;-1:-1:-1;21746:3:64;21222:536;-1:-1:-1;;;;;21222:536:64:o;19878:397::-;19999:12;;;20009:1;19999:12;;;;;;;;;19950:13;;19981:15;;19999:12;;;;;;;;;;;-1:-1:-1;;19981:30:64;-1:-1:-1;20022:8:64;20039:7;20044:2;20039;:7;:::i;:::-;20033:19;;20050:2;20033:19;:::i;:::-;20022:30;-1:-1:-1;20063:8:64;20080:7;20085:2;20080;:7;:::i;:::-;20074:19;;20091:2;20074:19;:::i;:::-;20063:30;;20113:2;20108;:7;;;20104:33;;;20130:7;20136:1;20130:7;;:::i;:::-;;;20104:33;20157:2;20152;:7;;;20148:33;;;20174:7;20180:1;20174:7;;:::i;:::-;;;20148:33;20207:2;20200:10;;20192:2;20195:1;20192:5;;;;;;;;:::i;:::-;;;;:18;-1:-1:-1;;;;;20192:18:64;;;;;;;;;20236:2;20229:10;;20221:2;20224:1;20221:5;;;;;;;;:::i;:::-;;;;:18;-1:-1:-1;;;;;20221:18:64;;;;;;;;-1:-1:-1;20264:2:64;;19878:397;-1:-1:-1;;;;19878:397:64:o;3010:1033:66:-;3120:11;;:::i;:::-;1949;;:18;3098:6;;1949:11;:23;1945:79;;1990:26;;-1:-1:-1;;;1990:26:66;;;;;;;;;;;1945:79;3143:17:::1;3185:3;3143:17:::0;-1:-1:-1;;;;;3143:17:66;3293:4:::1;3304:492;3311:8;3304:492;;;3401:18;:6;:16;:18::i;:::-;3387:32:::0;-1:-1:-1;3428:6:66;::::1;::::0;::::1;:::i;:::-;3455:16:::0;3470:1:::1;3455:16:::0;;;;;-1:-1:-1;3518:4:66::1;3504:18:::0;::::1;::::0;-1:-1:-1;3428:6:66;-1:-1:-1;;;;3569:27:66;;3565:224:::1;;3624:13;::::0;::::1;::::0;3654:41:::1;3624:6:::0;3673:21;3654:10:::1;:41::i;:::-;3648:47;;3729:7;3713:6;:13;;;:23;;;;:::i;:::-;3706:30;::::0;;::::1;:::i;:::-;;;3598:148;3304:492;;3565:224;-1:-1:-1::0;3774:5:66::1;3304:492;;;1320:1;3806:35;::::0;::::1;;3802:96;;;3859:31;::::0;-1:-1:-1;;;3859:31:66;;9698:4:84;9686:17;;3859:31:66::1;::::0;::::1;9668:36:84::0;9641:18;;3859:31:66::1;9524:186:84::0;3802:96:66::1;-1:-1:-1::0;3911:126:66::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;::::1;::::0;;;;-1:-1:-1;;;;;3911:126:66;;::::1;::::0;;;;::::1;::::0;;;;-1:-1:-1;3911:126:66;;3010:1033;-1:-1:-1;3010:1033:66:o;13731:315:65:-;13857:11;13808:6;:13;;;13823:6;:11;;;:18;1012:6;1004:5;:14;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;14755:25:84;;;14796:18;;;14789:34;;;14728:18;;1036:31:65;14581:248:84;1000:75:65;13900:11;;13932:13:::1;::::0;::::1;::::0;;13985:25;;;13999:1:::1;13985:25:::0;13979:32;;-1:-1:-1;13932:13:65;;;14024:16:::1;13932:13:::0;14024:16:::1;:::i;:::-;;;::::0;::::1;13873:173;;13731:315:::0;;;;;:::o;14288:323::-;14419:12;14366:6;:13;;;14382:1;14366:17;;;;:::i;:::-;14385:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;14755:25:84;;;14796:18;;;14789:34;;;14728:18;;1036:31:65;14581:248:84;1000:75:65;14463:11;;14495:13:::1;::::0;::::1;::::0;;14562:1:::1;14548:25:::0;;;;;14542:32;;-1:-1:-1;14495:13:65;;14587:18:::1;14562:1:::0;14495:13;14587:18:::1;:::i;:::-;::::0;;-1:-1:-1;14288:323:65;;;-1:-1:-1;;;;;14288:323:65:o;14853:::-;14984:12;14931:6;:13;;;14947:1;14931:17;;;;:::i;:::-;14950:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;14755:25:84;;;14796:18;;;14789:34;;;14728:18;;1036:31:65;14581:248:84;1000:75:65;15028:11;;15060:13:::1;::::0;::::1;::::0;;15127:1:::1;15113:25:::0;;;;;15107:32;;-1:-1:-1;15060:13:65;;15152:18:::1;15127:1:::0;15060:13;15152:18:::1;:::i;15418:323::-:0;15549:12;15496:6;:13;;;15512:1;15496:17;;;;:::i;:::-;15515:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:65;;;;;14755:25:84;;;14796:18;;;14789:34;;;14728:18;;1036:31:65;14581:248:84;1000:75:65;15593:11;;15625:13:::1;::::0;::::1;::::0;;15692:1:::1;15678:25:::0;;;;;15672:32;;-1:-1:-1;15625:13:65;;15717:18:::1;15692:1:::0;15625:13;15717:18:::1;:::i;5755:348:66:-:0;5826:6;5877:2;5848:4;:26;;;:31;;;5844:254;;;-1:-1:-1;5897:1:66;;5755:348;-1:-1:-1;5755:348:66:o;5844:254::-;5945:2;5916:4;:26;;;:31;;;5912:186;;;6007:2;5978:4;:26;;;:31;;;;:::i;:::-;5972:38;;:1;:38;;5958:53;;5755:348;;;:::o;5912:186::-;6063:26;;;;6041:49;;-1:-1:-1;;;6041:49:66;;9698:4:84;9686:17;;;6041:49:66;;;9668:36:84;9641:18;;6041:49:66;9524:186:84;16210:702:66;16323:18;16284:4;1121:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:66;;7024:4:84;7012:17;;;1813:45:66;;;6994:36:84;7066:17;;;7046:18;;;7039:45;6967:18;;1813:45:66;6824:266:84;1765:101:66;16364:51:::1;16375:4;:11;;;16388:4;:26;;;16364:10;:51::i;:::-;-1:-1:-1::0;;;;;16353:62:66::1;:8;::::0;::::1;:62:::0;;;-1:-1:-1;;16426:22:66;16422:485:::1;;16459:10;16478:354;16486:5;16478:354;;16504:13;16520:89;16560:4;:11;;;16584:4;:14;;;16520:27;:89::i;:::-;16504:105:::0;-1:-1:-1;;;;;;16624:19:66;;::::1;;16620:203;;;16703:4:::0;16722:32:::1;16743:10;16752:1;16743:6:::0;:10:::1;:::i;:::-;16722:11:::0;;;:20:::1;:32::i;:::-;16672:95;;;;;;;;;:::i;:::-;;;;;;;;;;;;;16658:110;;16620:203;;;16807:4;16799:12;;16620:203;16493:339;16478:354;;;16450:389;16422:485;;;16889:8;::::0;::::1;::::0;16868:11;;:30:::1;::::0;:20:::1;:30::i;:::-;16854:45;;;;18997:541:::0;19139:10;19161:17;19181:18;:6;:16;:18::i;:::-;19161:38;;19210:11;:19;;19225:4;19210:19;19206:59;;-1:-1:-1;;;;;19240:17:66;;;;;19206:59;19277;19296:6;19311:11;19325:4;19311:18;19277:10;:59::i;:::-;19271:65;-1:-1:-1;;;;;;19347:17:66;;;;19343:190;;19382:26;;-1:-1:-1;;;19382:26:66;;-1:-1:-1;;;;;15856:31:84;;19382:26:66;;;15838:50:84;15811:18;;19382:26:66;15693:201:84;19343:190:66;19440:16;19426:31;;19440:16;19455:1;19440:16;;;;19426:31;19422:111;;19475:50;;-1:-1:-1;;;19475:50:66;;19496:16;19511:1;19496:16;;;;19475:50;;;6994:36:84;19496:16:66;7066:17:84;;7046:18;;;7039:45;6967:18;;19475:50:66;6824:266:84;12423:1074:65;12545:17;12591:6;-1:-1:-1;;;;;12581:17:65;-1:-1:-1;;;;;12581:17:65;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12581:17:65;;12574:24;;12629:12;12624:764;12655:6;-1:-1:-1;;;;;12647:14:65;:5;-1:-1:-1;;;;;12647:14:65;;12624:764;;;12684:10;12697:17;12707:6;12697:9;:17::i;:::-;12684:30;-1:-1:-1;12736:4:65;12729:11;;:16;12725:617;;12771:4;12764;:11;;;12760:571;;;12836:17;12846:6;12836:9;:17::i;:::-;12856:4;12836:24;12816:1;12800:4;12807;12800:11;12799:18;;;;:62;12792:69;;12886:1;12876:11;;;;12760:571;;;12918:4;12911;:11;;;12907:424;;;13034:17;13044:6;13034:9;:17::i;:::-;13054:4;13034:24;13014:1;12985:17;12995:6;12985:9;:17::i;:::-;13005:4;12985:24;12984:31;;;;12964:2;12948:4;12955;12948:11;12947:19;;;;:68;:112;12939:120;;13084:1;13074:11;;;;12907:424;;;13266:17;13276:6;13266:9;:17::i;:::-;13286:4;13266:24;13244:1;13215:17;13225:6;13215:9;:17::i;:::-;13235:4;13215:24;13214:31;;13194:2;13165:17;13175:6;13165:9;:17::i;:::-;13185:4;13165:24;13164:32;;;;13144:2;13128:4;13135;13128:11;13127:19;;;;:69;:118;:164;13120:171;;13316:1;13306:11;;;;12907:424;13373:4;13366:12;;13352:4;13357:5;-1:-1:-1;;;;;13352:11:65;;;;;;;;;:::i;:::-;;;;:26;-1:-1:-1;;;;;13352:26:65;;;;;;;;-1:-1:-1;;12663:8:65;;12624:764;;;-1:-1:-1;13456:20:65;;;13463:4;12423:1074;-1:-1:-1;12423:1074:65:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:127:84:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:257;218:4;212:11;;;250:17;;-1:-1:-1;;;;;282:34:84;;318:22;;;279:62;276:88;;;344:18;;:::i;:::-;380:4;373:24;146:257;:::o;408:248::-;475:2;469:9;517:4;505:17;;-1:-1:-1;;;;;537:34:84;;573:22;;;534:62;531:88;;;599:18;;:::i;661:718::-;703:5;756:3;749:4;741:6;737:17;733:27;723:55;;774:1;771;764:12;723:55;810:6;797:20;-1:-1:-1;;;;;873:2:84;869;866:10;863:36;;;879:18;;:::i;:::-;954:2;948:9;922:2;1008:13;;-1:-1:-1;;1004:22:84;;;1028:2;1000:31;996:40;984:53;;;1052:18;;;1072:22;;;1049:46;1046:72;;;1098:18;;:::i;:::-;1138:10;1134:2;1127:22;1173:2;1165:6;1158:18;1219:3;1212:4;1207:2;1199:6;1195:15;1191:26;1188:35;1185:55;;;1236:1;1233;1226:12;1185:55;1300:2;1293:4;1285:6;1281:17;1274:4;1266:6;1262:17;1249:54;1347:1;1340:4;1335:2;1327:6;1323:15;1319:26;1312:37;1367:6;1358:15;;;;;;661:718;;;;:::o;1384:156::-;1450:20;;1510:4;1499:16;;1489:27;;1479:55;;1530:1;1527;1520:12;1545:171;1612:20;;-1:-1:-1;;;;;1661:30:84;;1651:41;;1641:69;;1706:1;1703;1696:12;1721:1690;1805:6;1836:2;1879;1867:9;1858:7;1854:23;1850:32;1847:52;;;1895:1;1892;1885:12;1847:52;1935:9;1922:23;-1:-1:-1;;;;;2005:2:84;1997:6;1994:14;1991:34;;;2021:1;2018;2011:12;1991:34;2044:22;;;;2100:4;2082:16;;;2078:27;2075:47;;;2118:1;2115;2108:12;2075:47;2144:22;;:::i;:::-;2203:2;2190:16;2251:7;2244:15;2237:23;2228:7;2225:36;2215:64;;2275:1;2272;2265:12;2215:64;2288:22;;2348:11;;;2335:25;2372:16;;;2369:36;;;2401:1;2398;2391:12;2369:36;2424:17;;;;;2475:4;2457:16;;;2453:27;2450:47;;;2493:1;2490;2483:12;2450:47;2521:17;;:::i;:::-;2576:2;2563:16;2604:2;2594:8;2591:16;2588:36;;;2620:1;2617;2610:12;2588:36;2643:17;;2694:4;2676:16;;;2672:27;2669:47;;;2712:1;2709;2702:12;2669:47;2740:22;;:::i;:::-;2800:2;2787:16;2828:2;2818:8;2815:16;2812:36;;;2844:1;2841;2834:12;2812:36;2873:44;2909:7;2898:8;2894:2;2890:17;2873:44;:::i;:::-;2857:61;;-1:-1:-1;2965:11:84;;;2952:25;2934:16;;;2927:51;2987:24;;3045:29;3062:11;;;3045:29;:::i;:::-;3040:2;3031:7;3027:16;3020:55;3111:31;3136:4;3132:2;3128:13;3111:31;:::i;:::-;3104:4;3095:7;3091:18;3084:59;3177:29;3202:2;3198;3194:11;3177:29;:::i;:::-;3172:2;3163:7;3159:16;3152:55;3242:31;3268:3;3264:2;3260:12;3242:31;:::i;:::-;3236:3;3227:7;3223:17;3216:58;3309:31;3335:3;3331:2;3327:12;3309:31;:::i;:::-;3303:3;3290:17;;3283:58;3357:14;;;3350:31;;;;-1:-1:-1;3361:5:84;;1721:1690;-1:-1:-1;;;;1721:1690:84:o;3416:127::-;3477:10;3472:3;3468:20;3465:1;3458:31;3508:4;3505:1;3498:15;3532:4;3529:1;3522:15;3548:246;3636:3;3629:5;3626:14;3616:145;;3683:10;3678:3;3674:20;3671:1;3664:31;3718:4;3715:1;3708:15;3746:4;3743:1;3736:15;3616:145;3770:18;;3548:246::o;3799:250::-;3884:1;3894:113;3908:6;3905:1;3902:13;3894:113;;;3984:11;;;3978:18;3965:11;;;3958:39;3930:2;3923:10;3894:113;;;-1:-1:-1;;4041:1:84;4023:16;;4016:27;3799:250::o;4054:628::-;4251:2;4240:9;4233:21;4263:67;4326:2;4315:9;4311:18;4302:6;4296:13;4263:67;:::i;:::-;4214:4;4377:2;4369:6;4365:15;4359:22;4419:4;4412;4401:9;4397:20;4390:34;4453:12;4447:19;4502:6;4497:2;4486:9;4482:18;4475:34;4518:86;4597:6;4591:3;4580:9;4576:19;4571:2;4557:12;4553:21;4518:86;:::i;:::-;4665:2;4644:15;-1:-1:-1;;4640:29:84;4625:45;;;;4672:3;4621:55;;4054:628;-1:-1:-1;;;4054:628:84:o;4687:320::-;4755:6;4808:2;4796:9;4787:7;4783:23;4779:32;4776:52;;;4824:1;4821;4814:12;4776:52;4864:9;4851:23;-1:-1:-1;;;;;4889:6:84;4886:30;4883:50;;;4929:1;4926;4919:12;4883:50;4952:49;4993:7;4984:6;4973:9;4969:22;4952:49;:::i;:::-;4942:59;4687:320;-1:-1:-1;;;;4687:320:84:o;5012:348::-;5222:2;5207:18;;5234:51;5211:9;5267:6;5234:51;:::i;:::-;5294:60;5350:2;5339:9;5335:18;5327:6;5294:60;:::i;5365:484::-;5462:6;5470;5523:2;5511:9;5502:7;5498:23;5494:32;5491:52;;;5539:1;5536;5529:12;5491:52;5578:9;5565:23;5617:1;5610:5;5607:12;5597:40;;5633:1;5630;5623:12;5597:40;5656:5;-1:-1:-1;5712:2:84;5697:18;;5684:32;-1:-1:-1;;;;;5728:30:84;;5725:50;;;5771:1;5768;5761:12;5725:50;5794:49;5835:7;5826:6;5815:9;5811:22;5794:49;:::i;:::-;5784:59;;;5365:484;;;;;:::o;5854:127::-;5915:10;5910:3;5906:20;5903:1;5896:31;5946:4;5943:1;5936:15;5970:4;5967:1;5960:15;6323:496;6502:3;6540:6;6534:13;6556:66;6615:6;6610:3;6603:4;6595:6;6591:17;6556:66;:::i;:::-;6685:13;;6644:16;;;;6707:70;6685:13;6644:16;6754:4;6742:17;;6707:70;:::i;:::-;6793:20;;6323:496;-1:-1:-1;;;;6323:496:84:o;7095:127::-;7156:10;7151:3;7147:20;7144:1;7137:31;7187:4;7184:1;7177:15;7211:4;7208:1;7201:15;7227:180;-1:-1:-1;;;;;7332:10:84;;;7344;;;7328:27;;7367:11;;;7364:37;;;7381:18;;:::i;7412:128::-;7479:9;;;7500:11;;;7497:37;;;7514:18;;:::i;7545:452::-;-1:-1:-1;;;7802:3:84;7795:35;7777:3;7859:6;7853:13;7875:75;7943:6;7938:2;7933:3;7929:12;7922:4;7914:6;7910:17;7875:75;:::i;:::-;7970:16;;;;7988:2;7966:25;;7545:452;-1:-1:-1;;7545:452:84:o;8002:451::-;-1:-1:-1;;;8259:3:84;8252:34;8234:3;8315:6;8309:13;8331:75;8399:6;8394:2;8389:3;8385:12;8378:4;8370:6;8366:17;8331:75;:::i;:::-;8426:16;;;;8444:2;8422:25;;8002:451;-1:-1:-1;;8002:451:84:o;8458:624::-;8821:33;8816:3;8809:46;8791:3;8884:6;8878:13;8900:75;8968:6;8963:2;8958:3;8954:12;8947:4;8939:6;8935:17;8900:75;:::i;:::-;-1:-1:-1;;;9034:2:84;8994:16;;;;9026:11;;;9019:30;-1:-1:-1;9073:2:84;9065:11;;8458:624;-1:-1:-1;8458:624:84:o;9087:432::-;-1:-1:-1;;;9344:3:84;9337:17;9319:3;9383:6;9377:13;9399:74;9466:6;9462:1;9457:3;9453:11;9446:4;9438:6;9434:17;9399:74;:::i;:::-;9493:16;;;;9511:1;9489:24;;9087:432;-1:-1:-1;;9087:432:84:o;9715:257::-;-1:-1:-1;;;;;9836:10:84;;;9848;;;9832:27;9879:20;;;;9786:18;9918:24;;;9908:58;;9946:18;;:::i;:::-;9908:58;;9715:257;;;;:::o;9977:127::-;10038:10;10033:3;10029:20;10026:1;10019:31;10069:4;10066:1;10059:15;10093:4;10090:1;10083:15;10109:112;10141:1;10167;10157:35;;10172:18;;:::i;:::-;-1:-1:-1;10206:9:84;;10109:112::o;10226:125::-;10291:9;;;10312:10;;;10309:36;;;10325:18;;:::i;10764:435::-;-1:-1:-1;;;11021:3:84;11014:20;10996:3;11063:6;11057:13;11079:74;11146:6;11142:1;11137:3;11133:11;11126:4;11118:6;11114:17;11079:74;:::i;:::-;11173:16;;;;11191:1;11169:24;;10764:435;-1:-1:-1;;10764:435:84:o;11204:459::-;11466:29;11461:3;11454:42;11436:3;11525:6;11519:13;11541:75;11609:6;11604:2;11599:3;11595:12;11588:4;11580:6;11576:17;11541:75;:::i;:::-;11636:16;;;;11654:2;11632:25;;11204:459;-1:-1:-1;;11204:459:84:o;11668:451::-;-1:-1:-1;;;11925:3:84;11918:34;11900:3;11981:6;11975:13;11997:75;12065:6;12060:2;12055:3;12051:12;12044:4;12036:6;12032:17;11997:75;:::i;12124:462::-;12386:32;12381:3;12374:45;12356:3;12448:6;12442:13;12464:75;12532:6;12527:2;12522:3;12518:12;12511:4;12503:6;12499:17;12464:75;:::i;:::-;12559:16;;;;12577:2;12555:25;;12124:462;-1:-1:-1;;12124:462:84:o;12591:592::-;-1:-1:-1;;;12949:3:84;12942:18;12924:3;12989:6;12983:13;13005:74;13072:6;13068:1;13063:3;13059:11;13052:4;13044:6;13040:17;13005:74;:::i;:::-;-1:-1:-1;;;13138:1:84;13098:16;;;;13130:10;;;13123:28;-1:-1:-1;13175:1:84;13167:10;;12591:592;-1:-1:-1;12591:592:84:o;13188:638::-;-1:-1:-1;;;13493:3:84;13486:17;13468:3;13532:6;13526:13;13548:74;13615:6;13611:1;13606:3;13602:11;13595:4;13587:6;13583:17;13548:74;:::i;:::-;13682:13;;13641:16;;;;13704:75;13682:13;13766:1;13758:10;;13751:4;13739:17;;13704:75;:::i;:::-;13799:17;13818:1;13795:25;;13188:638;-1:-1:-1;;;;13188:638:84:o;13831:120::-;13871:1;13897;13887:35;;13902:18;;:::i;:::-;-1:-1:-1;13936:9:84;;13831:120::o;13956:148::-;14044:4;14023:12;;;14037;;;14019:31;;14062:13;;14059:39;;;14078:18;;:::i;14109:135::-;14148:3;14169:17;;;14166:43;;14189:18;;:::i;:::-;-1:-1:-1;14236:1:84;14225:13;;14109:135::o;14249:165::-;14287:1;14321:4;14318:1;14314:12;14345:3;14335:37;;14352:18;;:::i;:::-;14404:3;14397:4;14394:1;14390:12;14386:22;14381:27;;;14249:165;;;;:::o;14419:157::-;14449:1;14483:4;14480:1;14476:12;14507:3;14497:37;;14514:18;;:::i;:::-;14566:3;14559:4;14556:1;14552:12;14548:22;14543:27;;;14419:157;;;;:::o;14834:151::-;14924:4;14917:12;;;14903;;;14899:31;;14942:14;;14939:40;;;14959:18;;:::i;14990:199::-;15029:1;-1:-1:-1;;;;;15100:2:84;15097:1;15093:10;15122:3;15112:37;;15129:18;;:::i;:::-;15167:10;;15163:20;;;;;14990:199;-1:-1:-1;;14990:199:84:o",
  "source": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity >=0.7.0 <0.9.0;\r\npragma experimental ABIEncoderV2;\r\n\r\nimport \"./WitnetV2.sol\";\r\n\r\n/// @title A library for interpreting Witnet resolution errors\r\n/// @author The Witnet Foundation.\r\nlibrary WitnetErrorsLib {\r\n\r\n    using Witnet for bytes;\r\n    using Witnet for uint8;\r\n    using Witnet for uint256;\r\n    using Witnet for Witnet.ResultErrorCodes;\r\n    using WitnetCBOR for WitnetCBOR.CBOR;\r\n\r\n    \r\n    // ================================================================================================================\r\n    // --- Library public methods -------------------------------------------------------------------------------------\r\n    \r\n    /// @notice Extract error code and description string from given Witnet.Result.\r\n    /// @dev Client contracts should wrap this function into a try-catch foreseeing potential parsing errors.\r\n    /// @return _error Witnet.ResultError data struct containing error code and description.\r\n    function asError(Witnet.Result memory result)\r\n        public pure\r\n        returns (Witnet.ResultError memory _error)\r\n    {\r\n         return _fromErrorArray(\r\n            _errorsFromResult(result)\r\n        );\r\n    }\r\n\r\n    function asResultError(WitnetV2.ResponseStatus _status, bytes memory _cborBytes)\r\n        public pure\r\n        returns (Witnet.ResultError memory)\r\n    {\r\n        if (\r\n            _status == WitnetV2.ResponseStatus.Error\r\n                || _status == WitnetV2.ResponseStatus.Ready\r\n        ) {\r\n            return resultErrorFromCborBytes(_cborBytes);\r\n        } else if (_status == WitnetV2.ResponseStatus.Finalizing) {\r\n            return Witnet.ResultError({\r\n                code: Witnet.ResultErrorCodes.Unknown,\r\n                reason: \"WitnetErrorsLib: not yet finalized\"\r\n            });\r\n        } if (_status == WitnetV2.ResponseStatus.Awaiting) {\r\n            return Witnet.ResultError({\r\n                code: Witnet.ResultErrorCodes.Unknown,\r\n                reason: \"WitnetErrorsLib: not yet reported\"\r\n            });\r\n        } else {\r\n            return Witnet.ResultError({\r\n                code: Witnet.ResultErrorCodes.Unknown,\r\n                reason: \"WitnetErrorsLib: unknown query\"\r\n            });\r\n        }\r\n    }\r\n\r\n    function resultErrorCodesFromCborBytes(bytes memory cborBytes)\r\n        public pure\r\n        returns (\r\n            Witnet.ResultErrorCodes _code, \r\n            Witnet.ResultErrorCodes _subcode\r\n        )\r\n    {\r\n        WitnetCBOR.CBOR[] memory _errors = _errorsFromResult(cborBytes.toWitnetResult());\r\n        if (_errors.length > 1) {\r\n            _code = Witnet.ResultErrorCodes(_errors[0].readUint());\r\n            if (_errors.length > 2) {\r\n                _subcode = Witnet.ResultErrorCodes(_errors[1].readUint());\r\n            } \r\n        }\r\n    }\r\n\r\n    /// @notice Extract error code and description string from given CBOR-encoded value.\r\n    /// @dev Client contracts should wrap this function into a try-catch foreseeing potential parsing errors.\r\n    /// @return _error Witnet.ResultError data struct containing error code and description.\r\n    function resultErrorFromCborBytes(bytes memory cborBytes)\r\n        public pure\r\n        returns (Witnet.ResultError memory _error)\r\n    {\r\n        WitnetCBOR.CBOR[] memory errors = _errorsFromCborBytes(cborBytes);\r\n        return _fromErrorArray(errors);\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Library private methods ------------------------------------------------------------------------------------\r\n\r\n    /// @dev Extract error codes from a CBOR-encoded `bytes` value.\r\n    /// @param cborBytes CBOR-encode `bytes` value.\r\n    /// @return The `uint[]` error parameters as decoded from the `Witnet.Result`.\r\n    function _errorsFromCborBytes(bytes memory cborBytes)\r\n        private pure\r\n        returns(WitnetCBOR.CBOR[] memory)\r\n    {\r\n        return _errorsFromResult(cborBytes.toWitnetResult());\r\n    }\r\n\r\n    /// @dev Extract error codes from a Witnet.Result value.\r\n    /// @param result An instance of `Witnet.Result`.\r\n    /// @return The `uint[]` error parameters as decoded from the `Witnet.Result`.\r\n    function _errorsFromResult(Witnet.Result memory result)\r\n        private pure\r\n        returns (WitnetCBOR.CBOR[] memory)\r\n    {\r\n        require(!result.success, \"no errors\");\r\n        return result.value.readArray();\r\n    }\r\n\r\n    /// @dev Extract Witnet.ResultErrorCodes and error description from given array of CBOR values.\r\n    function _fromErrorArray(WitnetCBOR.CBOR[] memory errors)\r\n        private pure\r\n        returns (Witnet.ResultError memory _error)\r\n    {\r\n        if (errors.length < 2) {\r\n            return Witnet.ResultError({\r\n                code: Witnet.ResultErrorCodes.Unknown,\r\n                reason: \"Critical: no error code was found.\"\r\n            });\r\n        } else {\r\n            _error.code = Witnet.ResultErrorCodes(errors[0].readUint());\r\n        }\r\n        string memory _prefix;\r\n        if (_error.code.isCircumstantial()) {\r\n            _prefix = \"Circumstantial: \";\r\n        } else if (_error.code.poorIncentives()) {\r\n            _prefix = \"Poor incentives: \";\r\n        } else if (_error.code.lackOfConsensus()) {\r\n            _prefix = \"Consensual: \";\r\n        } else {\r\n            _prefix = \"Critical: \";\r\n        } \r\n        _error.reason = string(abi.encodePacked(_prefix, _stringify(_error.code, errors)));\r\n    }\r\n\r\n    function _stringify(Witnet.ResultErrorCodes code, WitnetCBOR.CBOR[] memory args)\r\n        private pure\r\n        returns (string memory)\r\n    {\r\n        if (code == Witnet.ResultErrorCodes.InsufficientCommits) {\r\n            return \"insufficient commits.\";\r\n\r\n        } else if (\r\n            code == Witnet.ResultErrorCodes.CircumstantialFailure\r\n                && args.length > 2\r\n        ) {\r\n            return _stringify(args[1].readUint(), args);\r\n        \r\n        } else if (code == Witnet.ResultErrorCodes.InsufficientMajority) {\r\n            return \"insufficient majority.\";\r\n\r\n        } else if (code == Witnet.ResultErrorCodes.InsufficientReveals) {\r\n            return \"insufficient reveals.\";\r\n\r\n        } else if (code == Witnet.ResultErrorCodes.BridgePoorIncentives) {\r\n            return \"as for the bridge.\";\r\n\r\n        } else if (\r\n            code == Witnet.ResultErrorCodes.OversizedTallyResult\r\n                || code == Witnet.ResultErrorCodes.BridgeOversizedTallyResult\r\n        ) {\r\n            return \"oversized result.\";\r\n\r\n        } else if (code == Witnet.ResultErrorCodes.InconsistentSources) {\r\n            return \"inconsistent sources.\";\r\n\r\n        } else if (\r\n            code == Witnet.ResultErrorCodes.MalformedResponses\r\n                && args.length > 2\r\n        ) {\r\n            return string(abi.encodePacked(\r\n                \"malformed response: \",\r\n                _stringify(args[1].readUint(), args)\r\n            ));\r\n\r\n        } else if (\r\n            code == Witnet.ResultErrorCodes.MalformedDataRequest \r\n                || code == Witnet.ResultErrorCodes.BridgeMalformedDataRequest\r\n\r\n        ) {\r\n            if (args.length > 2) {\r\n                return string(abi.encodePacked(\r\n                    \"malformed request: \",\r\n                    _stringify(args[1].readUint(), args)\r\n                ));\r\n            } else {\r\n                return \"malformed request.\";\r\n            }\r\n\r\n        } else if (code == Witnet.ResultErrorCodes.UnhandledIntercept) {\r\n            if (args.length > 2) {\r\n                return string(abi.encodePacked(\r\n                    \"unhandled intercept on tally (+\",\r\n                    (args.length - 2).toString(),\r\n                    \" args).\"\r\n                ));\r\n            } else {\r\n                return \"unhandled intercept on tally.\";\r\n            }\r\n        \r\n        } else {\r\n            return string(abi.encodePacked(\r\n                \"0x\",\r\n                uint8(code).toHexString()\r\n            ));\r\n        }\r\n    }\r\n\r\n    function _stringify(uint subcode, WitnetCBOR.CBOR[] memory args)\r\n        private pure \r\n        returns (string memory)\r\n    {\r\n        Witnet.ResultErrorCodes _code = Witnet.ResultErrorCodes(subcode);\r\n\r\n        // circumstantial subcodes:\r\n        if (_code == Witnet.ResultErrorCodes.HttpErrors) {\r\n            if (args.length > 3) {\r\n                return string(abi.encodePacked(\r\n                    \"http/\",\r\n                    args[2].readUint().toString()\r\n                ));\r\n            } else {\r\n                return \"unspecific http status code.\";\r\n            }\r\n\r\n        } else if (_code == Witnet.ResultErrorCodes.RetrievalsTimeout) {\r\n            return \"response timeout.\";\r\n\r\n        } else if (_code == Witnet.ResultErrorCodes.ArrayIndexOutOfBounds) {\r\n            if (args.length > 3) {\r\n                return string(abi.encodePacked(\r\n                    \"array index out of bounds: \",\r\n                    args[2].readUint().toString()\r\n                ));\r\n            } else {\r\n                return \"array index out of bounds.\";\r\n            }\r\n\r\n        } else if (_code == Witnet.ResultErrorCodes.MapKeyNotFound) {\r\n            if (args.length > 3) {\r\n                return string(abi.encodePacked(\r\n                    \"map key not found: \",\r\n                    args[2].readString()\r\n                ));\r\n            } else {\r\n                return \"map key not found.\";\r\n            }\r\n\r\n        } else if (_code == Witnet.ResultErrorCodes.JsonPathNotFound) {\r\n            if (args.length > 3) {\r\n                return string(abi.encodePacked(\r\n                    \"json path returned no values: \",\r\n                    args[2].readString()\r\n                ));\r\n            } else {\r\n                return \"json path returned no values.\";\r\n            }\r\n        \r\n        } else {\r\n            return string(abi.encodePacked(\r\n                \"0x\",\r\n                Witnet.toHexString(uint8(_code)),\r\n                args.length > 3\r\n                    ? string(abi.encodePacked(\" (+\", uint(args.length - 3).toString(), \" args)\"))\r\n                    : \"\"\r\n            ));\r\n        }\r\n    }\r\n\r\n    /// @notice Convert a stage index number into the name of the matching Witnet request stage.\r\n    /// @param stageIndex A `uint64` identifying the index of one of the Witnet request stages.\r\n    /// @return The name of the matching stage.\r\n    function _stageName(uint64 stageIndex)\r\n        private pure\r\n        returns (string memory)\r\n    {\r\n        if (stageIndex == 0) {\r\n            return \"Retrieval\";\r\n        } else if (stageIndex == 1) {\r\n            return \"Aggregation\";\r\n        } else if (stageIndex == 2) {\r\n            return \"Tally\";\r\n        } else {\r\n            return \"(unknown)\";\r\n        }\r\n    }\r\n}",
  "sourcePath": "C:\\Users\\guill\\github\\witnet\\witnet-solidity-bridge\\contracts\\libs\\WitnetErrorsLib.sol",
  "ast": {
    "absolutePath": "project:/contracts/libs/WitnetErrorsLib.sol",
    "exportedSymbols": {
      "Witnet": [
        17557
      ],
      "WitnetBuffer": [
        19191
      ],
      "WitnetCBOR": [
        20734
      ],
      "WitnetErrorsLib": [
        23206
      ],
      "WitnetV2": [
        23640
      ]
    },
    "id": 23207,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 22452,
        "literals": [
          "solidity",
          ">=",
          "0.7",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "35:31:68"
      },
      {
        "id": 22453,
        "literals": [
          "experimental",
          "ABIEncoderV2"
        ],
        "nodeType": "PragmaDirective",
        "src": "68:33:68"
      },
      {
        "absolutePath": "project:/contracts/libs/WitnetV2.sol",
        "file": "./WitnetV2.sol",
        "id": 22454,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 23207,
        "sourceUnit": 23641,
        "src": "105:24:68",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [],
        "canonicalName": "WitnetErrorsLib",
        "contractDependencies": [],
        "contractKind": "library",
        "documentation": {
          "id": 22455,
          "nodeType": "StructuredDocumentation",
          "src": "133:100:68",
          "text": "@title A library for interpreting Witnet resolution errors\n @author The Witnet Foundation."
        },
        "fullyImplemented": true,
        "id": 23206,
        "linearizedBaseContracts": [
          23206
        ],
        "name": "WitnetErrorsLib",
        "nameLocation": "241:15:68",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "global": false,
            "id": 22458,
            "libraryName": {
              "id": 22456,
              "name": "Witnet",
              "nameLocations": [
                "272:6:68"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 17557,
              "src": "272:6:68"
            },
            "nodeType": "UsingForDirective",
            "src": "266:23:68",
            "typeName": {
              "id": 22457,
              "name": "bytes",
              "nodeType": "ElementaryTypeName",
              "src": "283:5:68",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes_storage_ptr",
                "typeString": "bytes"
              }
            }
          },
          {
            "global": false,
            "id": 22461,
            "libraryName": {
              "id": 22459,
              "name": "Witnet",
              "nameLocations": [
                "301:6:68"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 17557,
              "src": "301:6:68"
            },
            "nodeType": "UsingForDirective",
            "src": "295:23:68",
            "typeName": {
              "id": 22460,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "312:5:68",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            }
          },
          {
            "global": false,
            "id": 22464,
            "libraryName": {
              "id": 22462,
              "name": "Witnet",
              "nameLocations": [
                "330:6:68"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 17557,
              "src": "330:6:68"
            },
            "nodeType": "UsingForDirective",
            "src": "324:25:68",
            "typeName": {
              "id": 22463,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "341:7:68",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "global": false,
            "id": 22468,
            "libraryName": {
              "id": 22465,
              "name": "Witnet",
              "nameLocations": [
                "361:6:68"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 17557,
              "src": "361:6:68"
            },
            "nodeType": "UsingForDirective",
            "src": "355:41:68",
            "typeName": {
              "id": 22467,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 22466,
                "name": "Witnet.ResultErrorCodes",
                "nameLocations": [
                  "372:6:68",
                  "379:16:68"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 16311,
                "src": "372:23:68"
              },
              "referencedDeclaration": 16311,
              "src": "372:23:68",
              "typeDescriptions": {
                "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                "typeString": "enum Witnet.ResultErrorCodes"
              }
            }
          },
          {
            "global": false,
            "id": 22472,
            "libraryName": {
              "id": 22469,
              "name": "WitnetCBOR",
              "nameLocations": [
                "408:10:68"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 20734,
              "src": "408:10:68"
            },
            "nodeType": "UsingForDirective",
            "src": "402:37:68",
            "typeName": {
              "id": 22471,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 22470,
                "name": "WitnetCBOR.CBOR",
                "nameLocations": [
                  "423:10:68",
                  "434:4:68"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 19218,
                "src": "423:15:68"
              },
              "referencedDeclaration": 19218,
              "src": "423:15:68",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_CBOR_$19218_storage_ptr",
                "typeString": "struct WitnetCBOR.CBOR"
              }
            }
          },
          {
            "body": {
              "id": 22488,
              "nodeType": "Block",
              "src": "1115:93:68",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 22484,
                            "name": "result",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22476,
                            "src": "1182:6:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Result_$16042_memory_ptr",
                              "typeString": "struct Witnet.Result memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_struct$_Result_$16042_memory_ptr",
                              "typeString": "struct Witnet.Result memory"
                            }
                          ],
                          "id": 22483,
                          "name": "_errorsFromResult",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 22680,
                          "src": "1164:17:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_struct$_Result_$16042_memory_ptr_$returns$_t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr_$",
                            "typeString": "function (struct Witnet.Result memory) pure returns (struct WitnetCBOR.CBOR memory[] memory)"
                          }
                        },
                        "id": 22485,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1164:25:68",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                        }
                      ],
                      "id": 22482,
                      "name": "_fromErrorArray",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22775,
                      "src": "1134:15:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_ResultError_$16055_memory_ptr_$",
                        "typeString": "function (struct WitnetCBOR.CBOR memory[] memory) pure returns (struct Witnet.ResultError memory)"
                      }
                    },
                    "id": 22486,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1134:66:68",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                      "typeString": "struct Witnet.ResultError memory"
                    }
                  },
                  "functionReturnParameters": 22481,
                  "id": 22487,
                  "nodeType": "Return",
                  "src": "1127:73:68"
                }
              ]
            },
            "documentation": {
              "id": 22473,
              "nodeType": "StructuredDocumentation",
              "src": "701:284:68",
              "text": "@notice Extract error code and description string from given Witnet.Result.\n @dev Client contracts should wrap this function into a try-catch foreseeing potential parsing errors.\n @return _error Witnet.ResultError data struct containing error code and description."
            },
            "functionSelector": "059c737f",
            "id": 22489,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "asError",
            "nameLocation": "1000:7:68",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22477,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22476,
                  "mutability": "mutable",
                  "name": "result",
                  "nameLocation": "1029:6:68",
                  "nodeType": "VariableDeclaration",
                  "scope": 22489,
                  "src": "1008:27:68",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Result_$16042_memory_ptr",
                    "typeString": "struct Witnet.Result"
                  },
                  "typeName": {
                    "id": 22475,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22474,
                      "name": "Witnet.Result",
                      "nameLocations": [
                        "1008:6:68",
                        "1015:6:68"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16042,
                      "src": "1008:13:68"
                    },
                    "referencedDeclaration": 16042,
                    "src": "1008:13:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Result_$16042_storage_ptr",
                      "typeString": "struct Witnet.Result"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1007:29:68"
            },
            "returnParameters": {
              "id": 22481,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22480,
                  "mutability": "mutable",
                  "name": "_error",
                  "nameLocation": "1102:6:68",
                  "nodeType": "VariableDeclaration",
                  "scope": 22489,
                  "src": "1076:32:68",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                    "typeString": "struct Witnet.ResultError"
                  },
                  "typeName": {
                    "id": 22479,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22478,
                      "name": "Witnet.ResultError",
                      "nameLocations": [
                        "1076:6:68",
                        "1083:11:68"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16055,
                      "src": "1076:18:68"
                    },
                    "referencedDeclaration": 16055,
                    "src": "1076:18:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_ResultError_$16055_storage_ptr",
                      "typeString": "struct Witnet.ResultError"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1075:34:68"
            },
            "scope": 23206,
            "src": "991:217:68",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 22556,
              "nodeType": "Block",
              "src": "1368:891:68",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 22510,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                        "typeString": "enum WitnetV2.ResponseStatus"
                      },
                      "id": 22504,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 22500,
                        "name": "_status",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22492,
                        "src": "1397:7:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                          "typeString": "enum WitnetV2.ResponseStatus"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 22501,
                            "name": "WitnetV2",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23640,
                            "src": "1408:8:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                              "typeString": "type(library WitnetV2)"
                            }
                          },
                          "id": 22502,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "1417:14:68",
                          "memberName": "ResponseStatus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23496,
                          "src": "1408:23:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ResponseStatus_$23496_$",
                            "typeString": "type(enum WitnetV2.ResponseStatus)"
                          }
                        },
                        "id": 22503,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "1432:5:68",
                        "memberName": "Error",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 23493,
                        "src": "1408:29:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                          "typeString": "enum WitnetV2.ResponseStatus"
                        }
                      },
                      "src": "1397:40:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                        "typeString": "enum WitnetV2.ResponseStatus"
                      },
                      "id": 22509,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 22505,
                        "name": "_status",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22492,
                        "src": "1458:7:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                          "typeString": "enum WitnetV2.ResponseStatus"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 22506,
                            "name": "WitnetV2",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23640,
                            "src": "1469:8:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                              "typeString": "type(library WitnetV2)"
                            }
                          },
                          "id": 22507,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "1478:14:68",
                          "memberName": "ResponseStatus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23496,
                          "src": "1469:23:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ResponseStatus_$23496_$",
                            "typeString": "type(enum WitnetV2.ResponseStatus)"
                          }
                        },
                        "id": 22508,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "1493:5:68",
                        "memberName": "Ready",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 23492,
                        "src": "1469:29:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                          "typeString": "enum WitnetV2.ResponseStatus"
                        }
                      },
                      "src": "1458:40:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "1397:101:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                        "typeString": "enum WitnetV2.ResponseStatus"
                      },
                      "id": 22520,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 22516,
                        "name": "_status",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22492,
                        "src": "1590:7:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                          "typeString": "enum WitnetV2.ResponseStatus"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 22517,
                            "name": "WitnetV2",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23640,
                            "src": "1601:8:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                              "typeString": "type(library WitnetV2)"
                            }
                          },
                          "id": 22518,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "1610:14:68",
                          "memberName": "ResponseStatus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 23496,
                          "src": "1601:23:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ResponseStatus_$23496_$",
                            "typeString": "type(enum WitnetV2.ResponseStatus)"
                          }
                        },
                        "id": 22519,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "1625:10:68",
                        "memberName": "Finalizing",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 23494,
                        "src": "1601:34:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                          "typeString": "enum WitnetV2.ResponseStatus"
                        }
                      },
                      "src": "1590:45:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "id": 22530,
                    "nodeType": "IfStatement",
                    "src": "1586:239:68",
                    "trueBody": {
                      "id": 22529,
                      "nodeType": "Block",
                      "src": "1637:188:68",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "expression": {
                                  "expression": {
                                    "id": 22523,
                                    "name": "Witnet",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 17557,
                                    "src": "1703:6:68",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                      "typeString": "type(library Witnet)"
                                    }
                                  },
                                  "id": 22524,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "1710:16:68",
                                  "memberName": "ResultErrorCodes",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 16311,
                                  "src": "1703:23:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                                    "typeString": "type(enum Witnet.ResultErrorCodes)"
                                  }
                                },
                                "id": 22525,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "1727:7:68",
                                "memberName": "Unknown",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16056,
                                "src": "1703:31:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                  "typeString": "enum Witnet.ResultErrorCodes"
                                }
                              },
                              {
                                "hexValue": "5769746e65744572726f72734c69623a206e6f74207965742066696e616c697a6564",
                                "id": 22526,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "1761:36:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_3e2a129075069fb3c823a36b0015acabb51c3a2ab06cd661776244d99b7b04eb",
                                  "typeString": "literal_string \"WitnetErrorsLib: not yet finalized\""
                                },
                                "value": "WitnetErrorsLib: not yet finalized"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                  "typeString": "enum Witnet.ResultErrorCodes"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_3e2a129075069fb3c823a36b0015acabb51c3a2ab06cd661776244d99b7b04eb",
                                  "typeString": "literal_string \"WitnetErrorsLib: not yet finalized\""
                                }
                              ],
                              "expression": {
                                "id": 22521,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 17557,
                                "src": "1659:6:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 22522,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "1666:11:68",
                              "memberName": "ResultError",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16055,
                              "src": "1659:18:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_ResultError_$16055_storage_ptr_$",
                                "typeString": "type(struct Witnet.ResultError storage pointer)"
                              }
                            },
                            "id": 22527,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "nameLocations": [
                              "1697:4:68",
                              "1753:6:68"
                            ],
                            "names": [
                              "code",
                              "reason"
                            ],
                            "nodeType": "FunctionCall",
                            "src": "1659:154:68",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                              "typeString": "struct Witnet.ResultError memory"
                            }
                          },
                          "functionReturnParameters": 22499,
                          "id": 22528,
                          "nodeType": "Return",
                          "src": "1652:161:68"
                        }
                      ]
                    }
                  },
                  "id": 22531,
                  "nodeType": "IfStatement",
                  "src": "1379:446:68",
                  "trueBody": {
                    "id": 22515,
                    "nodeType": "Block",
                    "src": "1510:70:68",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 22512,
                              "name": "_cborBytes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22494,
                              "src": "1557:10:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "id": 22511,
                            "name": "resultErrorFromCborBytes",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22639,
                            "src": "1532:24:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_struct$_ResultError_$16055_memory_ptr_$",
                              "typeString": "function (bytes memory) pure returns (struct Witnet.ResultError memory)"
                            }
                          },
                          "id": 22513,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1532:36:68",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                            "typeString": "struct Witnet.ResultError memory"
                          }
                        },
                        "functionReturnParameters": 22499,
                        "id": 22514,
                        "nodeType": "Return",
                        "src": "1525:43:68"
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                      "typeString": "enum WitnetV2.ResponseStatus"
                    },
                    "id": 22536,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 22532,
                      "name": "_status",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22492,
                      "src": "1830:7:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                        "typeString": "enum WitnetV2.ResponseStatus"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 22533,
                          "name": "WitnetV2",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 23640,
                          "src": "1841:8:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitnetV2_$23640_$",
                            "typeString": "type(library WitnetV2)"
                          }
                        },
                        "id": 22534,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1850:14:68",
                        "memberName": "ResponseStatus",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 23496,
                        "src": "1841:23:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_ResponseStatus_$23496_$",
                          "typeString": "type(enum WitnetV2.ResponseStatus)"
                        }
                      },
                      "id": 22535,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "1865:8:68",
                      "memberName": "Awaiting",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 23491,
                      "src": "1841:32:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                        "typeString": "enum WitnetV2.ResponseStatus"
                      }
                    },
                    "src": "1830:43:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 22554,
                    "nodeType": "Block",
                    "src": "2068:184:68",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "expression": {
                                "expression": {
                                  "id": 22548,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 17557,
                                  "src": "2134:6:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 22549,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "2141:16:68",
                                "memberName": "ResultErrorCodes",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16311,
                                "src": "2134:23:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                                  "typeString": "type(enum Witnet.ResultErrorCodes)"
                                }
                              },
                              "id": 22550,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "2158:7:68",
                              "memberName": "Unknown",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16056,
                              "src": "2134:31:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                "typeString": "enum Witnet.ResultErrorCodes"
                              }
                            },
                            {
                              "hexValue": "5769746e65744572726f72734c69623a20756e6b6e6f776e207175657279",
                              "id": 22551,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2192:32:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_87b4529734852dae2e52cafee944df14a842258d737d4aae91c3ce631d67eb83",
                                "typeString": "literal_string \"WitnetErrorsLib: unknown query\""
                              },
                              "value": "WitnetErrorsLib: unknown query"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                "typeString": "enum Witnet.ResultErrorCodes"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_87b4529734852dae2e52cafee944df14a842258d737d4aae91c3ce631d67eb83",
                                "typeString": "literal_string \"WitnetErrorsLib: unknown query\""
                              }
                            ],
                            "expression": {
                              "id": 22546,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 17557,
                              "src": "2090:6:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 22547,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "2097:11:68",
                            "memberName": "ResultError",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 16055,
                            "src": "2090:18:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_ResultError_$16055_storage_ptr_$",
                              "typeString": "type(struct Witnet.ResultError storage pointer)"
                            }
                          },
                          "id": 22552,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [
                            "2128:4:68",
                            "2184:6:68"
                          ],
                          "names": [
                            "code",
                            "reason"
                          ],
                          "nodeType": "FunctionCall",
                          "src": "2090:150:68",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                            "typeString": "struct Witnet.ResultError memory"
                          }
                        },
                        "functionReturnParameters": 22499,
                        "id": 22553,
                        "nodeType": "Return",
                        "src": "2083:157:68"
                      }
                    ]
                  },
                  "id": 22555,
                  "nodeType": "IfStatement",
                  "src": "1826:426:68",
                  "trueBody": {
                    "id": 22545,
                    "nodeType": "Block",
                    "src": "1875:187:68",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "expression": {
                                "expression": {
                                  "id": 22539,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 17557,
                                  "src": "1941:6:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 22540,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "1948:16:68",
                                "memberName": "ResultErrorCodes",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16311,
                                "src": "1941:23:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                                  "typeString": "type(enum Witnet.ResultErrorCodes)"
                                }
                              },
                              "id": 22541,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "1965:7:68",
                              "memberName": "Unknown",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16056,
                              "src": "1941:31:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                "typeString": "enum Witnet.ResultErrorCodes"
                              }
                            },
                            {
                              "hexValue": "5769746e65744572726f72734c69623a206e6f7420796574207265706f72746564",
                              "id": 22542,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1999:35:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_1a25b9fb75ccb2d4ae8906221dbcceee3d6ac04df67117de97a5ff68508a1046",
                                "typeString": "literal_string \"WitnetErrorsLib: not yet reported\""
                              },
                              "value": "WitnetErrorsLib: not yet reported"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                "typeString": "enum Witnet.ResultErrorCodes"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_1a25b9fb75ccb2d4ae8906221dbcceee3d6ac04df67117de97a5ff68508a1046",
                                "typeString": "literal_string \"WitnetErrorsLib: not yet reported\""
                              }
                            ],
                            "expression": {
                              "id": 22537,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 17557,
                              "src": "1897:6:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 22538,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "1904:11:68",
                            "memberName": "ResultError",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 16055,
                            "src": "1897:18:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_ResultError_$16055_storage_ptr_$",
                              "typeString": "type(struct Witnet.ResultError storage pointer)"
                            }
                          },
                          "id": 22543,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [
                            "1935:4:68",
                            "1991:6:68"
                          ],
                          "names": [
                            "code",
                            "reason"
                          ],
                          "nodeType": "FunctionCall",
                          "src": "1897:153:68",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                            "typeString": "struct Witnet.ResultError memory"
                          }
                        },
                        "functionReturnParameters": 22499,
                        "id": 22544,
                        "nodeType": "Return",
                        "src": "1890:160:68"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "a62b8462",
            "id": 22557,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "asResultError",
            "nameLocation": "1225:13:68",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22495,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22492,
                  "mutability": "mutable",
                  "name": "_status",
                  "nameLocation": "1263:7:68",
                  "nodeType": "VariableDeclaration",
                  "scope": 22557,
                  "src": "1239:31:68",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                    "typeString": "enum WitnetV2.ResponseStatus"
                  },
                  "typeName": {
                    "id": 22491,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22490,
                      "name": "WitnetV2.ResponseStatus",
                      "nameLocations": [
                        "1239:8:68",
                        "1248:14:68"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23496,
                      "src": "1239:23:68"
                    },
                    "referencedDeclaration": 23496,
                    "src": "1239:23:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ResponseStatus_$23496",
                      "typeString": "enum WitnetV2.ResponseStatus"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22494,
                  "mutability": "mutable",
                  "name": "_cborBytes",
                  "nameLocation": "1285:10:68",
                  "nodeType": "VariableDeclaration",
                  "scope": 22557,
                  "src": "1272:23:68",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 22493,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1272:5:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1238:58:68"
            },
            "returnParameters": {
              "id": 22499,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22498,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22557,
                  "src": "1336:25:68",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                    "typeString": "struct Witnet.ResultError"
                  },
                  "typeName": {
                    "id": 22497,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22496,
                      "name": "Witnet.ResultError",
                      "nameLocations": [
                        "1336:6:68",
                        "1343:11:68"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16055,
                      "src": "1336:18:68"
                    },
                    "referencedDeclaration": 16055,
                    "src": "1336:18:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_ResultError_$16055_storage_ptr",
                      "typeString": "struct Witnet.ResultError"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1335:27:68"
            },
            "scope": 23206,
            "src": "1216:1043:68",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 22614,
              "nodeType": "Block",
              "src": "2477:345:68",
              "statements": [
                {
                  "assignments": [
                    22573
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 22573,
                      "mutability": "mutable",
                      "name": "_errors",
                      "nameLocation": "2513:7:68",
                      "nodeType": "VariableDeclaration",
                      "scope": 22614,
                      "src": "2488:32:68",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct WitnetCBOR.CBOR[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 22571,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 22570,
                            "name": "WitnetCBOR.CBOR",
                            "nameLocations": [
                              "2488:10:68",
                              "2499:4:68"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 19218,
                            "src": "2488:15:68"
                          },
                          "referencedDeclaration": 19218,
                          "src": "2488:15:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_CBOR_$19218_storage_ptr",
                            "typeString": "struct WitnetCBOR.CBOR"
                          }
                        },
                        "id": 22572,
                        "nodeType": "ArrayTypeName",
                        "src": "2488:17:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_storage_$dyn_storage_ptr",
                          "typeString": "struct WitnetCBOR.CBOR[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 22579,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "id": 22575,
                            "name": "cborBytes",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22559,
                            "src": "2541:9:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "id": 22576,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "2551:14:68",
                          "memberName": "toWitnetResult",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16864,
                          "src": "2541:24:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_struct$_Result_$16042_memory_ptr_$attached_to$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes memory) pure returns (struct Witnet.Result memory)"
                          }
                        },
                        "id": 22577,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2541:26:68",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Result_$16042_memory_ptr",
                          "typeString": "struct Witnet.Result memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_Result_$16042_memory_ptr",
                          "typeString": "struct Witnet.Result memory"
                        }
                      ],
                      "id": 22574,
                      "name": "_errorsFromResult",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22680,
                      "src": "2523:17:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_struct$_Result_$16042_memory_ptr_$returns$_t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (struct Witnet.Result memory) pure returns (struct WitnetCBOR.CBOR memory[] memory)"
                      }
                    },
                    "id": 22578,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2523:45:68",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2488:80:68"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 22583,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 22580,
                        "name": "_errors",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22573,
                        "src": "2583:7:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                        }
                      },
                      "id": 22581,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2591:6:68",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "2583:14:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "hexValue": "31",
                      "id": 22582,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2600:1:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "src": "2583:18:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 22613,
                  "nodeType": "IfStatement",
                  "src": "2579:236:68",
                  "trueBody": {
                    "id": 22612,
                    "nodeType": "Block",
                    "src": "2603:212:68",
                    "statements": [
                      {
                        "expression": {
                          "id": 22593,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 22584,
                            "name": "_code",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22563,
                            "src": "2618:5:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                              "typeString": "enum Witnet.ResultErrorCodes"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "baseExpression": {
                                      "id": 22587,
                                      "name": "_errors",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 22573,
                                      "src": "2650:7:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                        "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                      }
                                    },
                                    "id": 22589,
                                    "indexExpression": {
                                      "hexValue": "30",
                                      "id": 22588,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "2658:1:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_0_by_1",
                                        "typeString": "int_const 0"
                                      },
                                      "value": "0"
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "2650:10:68",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                      "typeString": "struct WitnetCBOR.CBOR memory"
                                    }
                                  },
                                  "id": 22590,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "2661:8:68",
                                  "memberName": "readUint",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 20603,
                                  "src": "2650:19:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_CBOR_$19218_memory_ptr_$",
                                    "typeString": "function (struct WitnetCBOR.CBOR memory) pure returns (uint256)"
                                  }
                                },
                                "id": 22591,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2650:21:68",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "id": 22585,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 17557,
                                "src": "2626:6:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 22586,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "2633:16:68",
                              "memberName": "ResultErrorCodes",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16311,
                              "src": "2626:23:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                                "typeString": "type(enum Witnet.ResultErrorCodes)"
                              }
                            },
                            "id": 22592,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2626:46:68",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                              "typeString": "enum Witnet.ResultErrorCodes"
                            }
                          },
                          "src": "2618:54:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                            "typeString": "enum Witnet.ResultErrorCodes"
                          }
                        },
                        "id": 22594,
                        "nodeType": "ExpressionStatement",
                        "src": "2618:54:68"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 22598,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "id": 22595,
                              "name": "_errors",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22573,
                              "src": "2691:7:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                              }
                            },
                            "id": 22596,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "2699:6:68",
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "src": "2691:14:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "hexValue": "32",
                            "id": 22597,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2708:1:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_2_by_1",
                              "typeString": "int_const 2"
                            },
                            "value": "2"
                          },
                          "src": "2691:18:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 22611,
                        "nodeType": "IfStatement",
                        "src": "2687:116:68",
                        "trueBody": {
                          "id": 22610,
                          "nodeType": "Block",
                          "src": "2711:92:68",
                          "statements": [
                            {
                              "expression": {
                                "id": 22608,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 22599,
                                  "name": "_subcode",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 22566,
                                  "src": "2730:8:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                    "typeString": "enum Witnet.ResultErrorCodes"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "arguments": [
                                    {
                                      "arguments": [],
                                      "expression": {
                                        "argumentTypes": [],
                                        "expression": {
                                          "baseExpression": {
                                            "id": 22602,
                                            "name": "_errors",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 22573,
                                            "src": "2765:7:68",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                              "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                            }
                                          },
                                          "id": 22604,
                                          "indexExpression": {
                                            "hexValue": "31",
                                            "id": 22603,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "2773:1:68",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_rational_1_by_1",
                                              "typeString": "int_const 1"
                                            },
                                            "value": "1"
                                          },
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "nodeType": "IndexAccess",
                                          "src": "2765:10:68",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                            "typeString": "struct WitnetCBOR.CBOR memory"
                                          }
                                        },
                                        "id": 22605,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "2776:8:68",
                                        "memberName": "readUint",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 20603,
                                        "src": "2765:19:68",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_CBOR_$19218_memory_ptr_$",
                                          "typeString": "function (struct WitnetCBOR.CBOR memory) pure returns (uint256)"
                                        }
                                      },
                                      "id": 22606,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "2765:21:68",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "expression": {
                                      "id": 22600,
                                      "name": "Witnet",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 17557,
                                      "src": "2741:6:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                        "typeString": "type(library Witnet)"
                                      }
                                    },
                                    "id": 22601,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "2748:16:68",
                                    "memberName": "ResultErrorCodes",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 16311,
                                    "src": "2741:23:68",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                                      "typeString": "type(enum Witnet.ResultErrorCodes)"
                                    }
                                  },
                                  "id": 22607,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "2741:46:68",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                    "typeString": "enum Witnet.ResultErrorCodes"
                                  }
                                },
                                "src": "2730:57:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                  "typeString": "enum Witnet.ResultErrorCodes"
                                }
                              },
                              "id": 22609,
                              "nodeType": "ExpressionStatement",
                              "src": "2730:57:68"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "916493fa",
            "id": 22615,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "resultErrorCodesFromCborBytes",
            "nameLocation": "2276:29:68",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22560,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22559,
                  "mutability": "mutable",
                  "name": "cborBytes",
                  "nameLocation": "2319:9:68",
                  "nodeType": "VariableDeclaration",
                  "scope": 22615,
                  "src": "2306:22:68",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 22558,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2306:5:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2305:24:68"
            },
            "returnParameters": {
              "id": 22567,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22563,
                  "mutability": "mutable",
                  "name": "_code",
                  "nameLocation": "2407:5:68",
                  "nodeType": "VariableDeclaration",
                  "scope": 22615,
                  "src": "2383:29:68",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                    "typeString": "enum Witnet.ResultErrorCodes"
                  },
                  "typeName": {
                    "id": 22562,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22561,
                      "name": "Witnet.ResultErrorCodes",
                      "nameLocations": [
                        "2383:6:68",
                        "2390:16:68"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16311,
                      "src": "2383:23:68"
                    },
                    "referencedDeclaration": 16311,
                    "src": "2383:23:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                      "typeString": "enum Witnet.ResultErrorCodes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22566,
                  "mutability": "mutable",
                  "name": "_subcode",
                  "nameLocation": "2452:8:68",
                  "nodeType": "VariableDeclaration",
                  "scope": 22615,
                  "src": "2428:32:68",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                    "typeString": "enum Witnet.ResultErrorCodes"
                  },
                  "typeName": {
                    "id": 22565,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22564,
                      "name": "Witnet.ResultErrorCodes",
                      "nameLocations": [
                        "2428:6:68",
                        "2435:16:68"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16311,
                      "src": "2428:23:68"
                    },
                    "referencedDeclaration": 16311,
                    "src": "2428:23:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                      "typeString": "enum Witnet.ResultErrorCodes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2368:103:68"
            },
            "scope": 23206,
            "src": "2267:555:68",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 22638,
              "nodeType": "Block",
              "src": "3261:125:68",
              "statements": [
                {
                  "assignments": [
                    22629
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 22629,
                      "mutability": "mutable",
                      "name": "errors",
                      "nameLocation": "3297:6:68",
                      "nodeType": "VariableDeclaration",
                      "scope": 22638,
                      "src": "3272:31:68",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct WitnetCBOR.CBOR[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 22627,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 22626,
                            "name": "WitnetCBOR.CBOR",
                            "nameLocations": [
                              "3272:10:68",
                              "3283:4:68"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 19218,
                            "src": "3272:15:68"
                          },
                          "referencedDeclaration": 19218,
                          "src": "3272:15:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_CBOR_$19218_storage_ptr",
                            "typeString": "struct WitnetCBOR.CBOR"
                          }
                        },
                        "id": 22628,
                        "nodeType": "ArrayTypeName",
                        "src": "3272:17:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_storage_$dyn_storage_ptr",
                          "typeString": "struct WitnetCBOR.CBOR[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 22633,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 22631,
                        "name": "cborBytes",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22618,
                        "src": "3327:9:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 22630,
                      "name": "_errorsFromCborBytes",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22656,
                      "src": "3306:20:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (bytes memory) pure returns (struct WitnetCBOR.CBOR memory[] memory)"
                      }
                    },
                    "id": 22632,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3306:31:68",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3272:65:68"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 22635,
                        "name": "errors",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22629,
                        "src": "3371:6:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                        }
                      ],
                      "id": 22634,
                      "name": "_fromErrorArray",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22775,
                      "src": "3355:15:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_ResultError_$16055_memory_ptr_$",
                        "typeString": "function (struct WitnetCBOR.CBOR memory[] memory) pure returns (struct Witnet.ResultError memory)"
                      }
                    },
                    "id": 22636,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3355:23:68",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                      "typeString": "struct Witnet.ResultError memory"
                    }
                  },
                  "functionReturnParameters": 22623,
                  "id": 22637,
                  "nodeType": "Return",
                  "src": "3348:30:68"
                }
              ]
            },
            "documentation": {
              "id": 22616,
              "nodeType": "StructuredDocumentation",
              "src": "2830:289:68",
              "text": "@notice Extract error code and description string from given CBOR-encoded value.\n @dev Client contracts should wrap this function into a try-catch foreseeing potential parsing errors.\n @return _error Witnet.ResultError data struct containing error code and description."
            },
            "functionSelector": "7e1a92b7",
            "id": 22639,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "resultErrorFromCborBytes",
            "nameLocation": "3134:24:68",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22619,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22618,
                  "mutability": "mutable",
                  "name": "cborBytes",
                  "nameLocation": "3172:9:68",
                  "nodeType": "VariableDeclaration",
                  "scope": 22639,
                  "src": "3159:22:68",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 22617,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "3159:5:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3158:24:68"
            },
            "returnParameters": {
              "id": 22623,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22622,
                  "mutability": "mutable",
                  "name": "_error",
                  "nameLocation": "3248:6:68",
                  "nodeType": "VariableDeclaration",
                  "scope": 22639,
                  "src": "3222:32:68",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                    "typeString": "struct Witnet.ResultError"
                  },
                  "typeName": {
                    "id": 22621,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22620,
                      "name": "Witnet.ResultError",
                      "nameLocations": [
                        "3222:6:68",
                        "3229:11:68"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16055,
                      "src": "3222:18:68"
                    },
                    "referencedDeclaration": 16055,
                    "src": "3222:18:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_ResultError_$16055_storage_ptr",
                      "typeString": "struct Witnet.ResultError"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3221:34:68"
            },
            "scope": 23206,
            "src": "3125:261:68",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 22655,
              "nodeType": "Block",
              "src": "3970:71:68",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "id": 22650,
                            "name": "cborBytes",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22642,
                            "src": "4006:9:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "id": 22651,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "4016:14:68",
                          "memberName": "toWitnetResult",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16864,
                          "src": "4006:24:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_struct$_Result_$16042_memory_ptr_$attached_to$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes memory) pure returns (struct Witnet.Result memory)"
                          }
                        },
                        "id": 22652,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4006:26:68",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Result_$16042_memory_ptr",
                          "typeString": "struct Witnet.Result memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_Result_$16042_memory_ptr",
                          "typeString": "struct Witnet.Result memory"
                        }
                      ],
                      "id": 22649,
                      "name": "_errorsFromResult",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22680,
                      "src": "3988:17:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_struct$_Result_$16042_memory_ptr_$returns$_t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (struct Witnet.Result memory) pure returns (struct WitnetCBOR.CBOR memory[] memory)"
                      }
                    },
                    "id": 22653,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3988:45:68",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                    }
                  },
                  "functionReturnParameters": 22648,
                  "id": 22654,
                  "nodeType": "Return",
                  "src": "3981:52:68"
                }
              ]
            },
            "documentation": {
              "id": 22640,
              "nodeType": "StructuredDocumentation",
              "src": "3640:200:68",
              "text": "@dev Extract error codes from a CBOR-encoded `bytes` value.\n @param cborBytes CBOR-encode `bytes` value.\n @return The `uint[]` error parameters as decoded from the `Witnet.Result`."
            },
            "id": 22656,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_errorsFromCborBytes",
            "nameLocation": "3855:20:68",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22643,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22642,
                  "mutability": "mutable",
                  "name": "cborBytes",
                  "nameLocation": "3889:9:68",
                  "nodeType": "VariableDeclaration",
                  "scope": 22656,
                  "src": "3876:22:68",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 22641,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "3876:5:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3875:24:68"
            },
            "returnParameters": {
              "id": 22648,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22647,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22656,
                  "src": "3939:24:68",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct WitnetCBOR.CBOR[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 22645,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 22644,
                        "name": "WitnetCBOR.CBOR",
                        "nameLocations": [
                          "3939:10:68",
                          "3950:4:68"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 19218,
                        "src": "3939:15:68"
                      },
                      "referencedDeclaration": 19218,
                      "src": "3939:15:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_CBOR_$19218_storage_ptr",
                        "typeString": "struct WitnetCBOR.CBOR"
                      }
                    },
                    "id": 22646,
                    "nodeType": "ArrayTypeName",
                    "src": "3939:17:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_storage_$dyn_storage_ptr",
                      "typeString": "struct WitnetCBOR.CBOR[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3938:26:68"
            },
            "scope": 23206,
            "src": "3846:195:68",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "private"
          },
          {
            "body": {
              "id": 22679,
              "nodeType": "Block",
              "src": "4377:98:68",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 22670,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "4396:15:68",
                        "subExpression": {
                          "expression": {
                            "id": 22668,
                            "name": "result",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22660,
                            "src": "4397:6:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Result_$16042_memory_ptr",
                              "typeString": "struct Witnet.Result memory"
                            }
                          },
                          "id": 22669,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "4404:7:68",
                          "memberName": "success",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16038,
                          "src": "4397:14:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "6e6f206572726f7273",
                        "id": 22671,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4413:11:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_8cc2a1c65923977c1c98fefaac58d747faf78accfaab3d2c8ff22055aea2ef07",
                          "typeString": "literal_string \"no errors\""
                        },
                        "value": "no errors"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_8cc2a1c65923977c1c98fefaac58d747faf78accfaab3d2c8ff22055aea2ef07",
                          "typeString": "literal_string \"no errors\""
                        }
                      ],
                      "id": 22667,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "4388:7:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 22672,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4388:37:68",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 22673,
                  "nodeType": "ExpressionStatement",
                  "src": "4388:37:68"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "expression": {
                          "id": 22674,
                          "name": "result",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 22660,
                          "src": "4443:6:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Result_$16042_memory_ptr",
                            "typeString": "struct Witnet.Result memory"
                          }
                        },
                        "id": 22675,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4450:5:68",
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16041,
                        "src": "4443:12:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                          "typeString": "struct WitnetCBOR.CBOR memory"
                        }
                      },
                      "id": 22676,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "4456:9:68",
                      "memberName": "readArray",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 19800,
                      "src": "4443:22:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$returns$_t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr_$attached_to$_t_struct$_CBOR_$19218_memory_ptr_$",
                        "typeString": "function (struct WitnetCBOR.CBOR memory) pure returns (struct WitnetCBOR.CBOR memory[] memory)"
                      }
                    },
                    "id": 22677,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4443:24:68",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                    }
                  },
                  "functionReturnParameters": 22666,
                  "id": 22678,
                  "nodeType": "Return",
                  "src": "4436:31:68"
                }
              ]
            },
            "documentation": {
              "id": 22657,
              "nodeType": "StructuredDocumentation",
              "src": "4049:195:68",
              "text": "@dev Extract error codes from a Witnet.Result value.\n @param result An instance of `Witnet.Result`.\n @return The `uint[]` error parameters as decoded from the `Witnet.Result`."
            },
            "id": 22680,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_errorsFromResult",
            "nameLocation": "4259:17:68",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22661,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22660,
                  "mutability": "mutable",
                  "name": "result",
                  "nameLocation": "4298:6:68",
                  "nodeType": "VariableDeclaration",
                  "scope": 22680,
                  "src": "4277:27:68",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Result_$16042_memory_ptr",
                    "typeString": "struct Witnet.Result"
                  },
                  "typeName": {
                    "id": 22659,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22658,
                      "name": "Witnet.Result",
                      "nameLocations": [
                        "4277:6:68",
                        "4284:6:68"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16042,
                      "src": "4277:13:68"
                    },
                    "referencedDeclaration": 16042,
                    "src": "4277:13:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Result_$16042_storage_ptr",
                      "typeString": "struct Witnet.Result"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4276:29:68"
            },
            "returnParameters": {
              "id": 22666,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22665,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22680,
                  "src": "4346:24:68",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct WitnetCBOR.CBOR[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 22663,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 22662,
                        "name": "WitnetCBOR.CBOR",
                        "nameLocations": [
                          "4346:10:68",
                          "4357:4:68"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 19218,
                        "src": "4346:15:68"
                      },
                      "referencedDeclaration": 19218,
                      "src": "4346:15:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_CBOR_$19218_storage_ptr",
                        "typeString": "struct WitnetCBOR.CBOR"
                      }
                    },
                    "id": 22664,
                    "nodeType": "ArrayTypeName",
                    "src": "4346:17:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_storage_$dyn_storage_ptr",
                      "typeString": "struct WitnetCBOR.CBOR[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4345:26:68"
            },
            "scope": 23206,
            "src": "4250:225:68",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "private"
          },
          {
            "body": {
              "id": 22774,
              "nodeType": "Block",
              "src": "4721:791:68",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 22694,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 22691,
                        "name": "errors",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22685,
                        "src": "4736:6:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                        }
                      },
                      "id": 22692,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "4743:6:68",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "4736:13:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "hexValue": "32",
                      "id": 22693,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "4752:1:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_2_by_1",
                        "typeString": "int_const 2"
                      },
                      "value": "2"
                    },
                    "src": "4736:17:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 22717,
                    "nodeType": "Block",
                    "src": "4949:86:68",
                    "statements": [
                      {
                        "expression": {
                          "id": 22715,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 22704,
                              "name": "_error",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22689,
                              "src": "4964:6:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                                "typeString": "struct Witnet.ResultError memory"
                              }
                            },
                            "id": 22706,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "4971:4:68",
                            "memberName": "code",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 16052,
                            "src": "4964:11:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                              "typeString": "enum Witnet.ResultErrorCodes"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "baseExpression": {
                                      "id": 22709,
                                      "name": "errors",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 22685,
                                      "src": "5002:6:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                        "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                      }
                                    },
                                    "id": 22711,
                                    "indexExpression": {
                                      "hexValue": "30",
                                      "id": 22710,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "5009:1:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_0_by_1",
                                        "typeString": "int_const 0"
                                      },
                                      "value": "0"
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "5002:9:68",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                      "typeString": "struct WitnetCBOR.CBOR memory"
                                    }
                                  },
                                  "id": 22712,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "5012:8:68",
                                  "memberName": "readUint",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 20603,
                                  "src": "5002:18:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_CBOR_$19218_memory_ptr_$",
                                    "typeString": "function (struct WitnetCBOR.CBOR memory) pure returns (uint256)"
                                  }
                                },
                                "id": 22713,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5002:20:68",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "id": 22707,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 17557,
                                "src": "4978:6:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 22708,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "4985:16:68",
                              "memberName": "ResultErrorCodes",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16311,
                              "src": "4978:23:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                                "typeString": "type(enum Witnet.ResultErrorCodes)"
                              }
                            },
                            "id": 22714,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4978:45:68",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                              "typeString": "enum Witnet.ResultErrorCodes"
                            }
                          },
                          "src": "4964:59:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                            "typeString": "enum Witnet.ResultErrorCodes"
                          }
                        },
                        "id": 22716,
                        "nodeType": "ExpressionStatement",
                        "src": "4964:59:68"
                      }
                    ]
                  },
                  "id": 22718,
                  "nodeType": "IfStatement",
                  "src": "4732:303:68",
                  "trueBody": {
                    "id": 22703,
                    "nodeType": "Block",
                    "src": "4755:188:68",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "expression": {
                                "expression": {
                                  "id": 22697,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 17557,
                                  "src": "4821:6:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 22698,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "4828:16:68",
                                "memberName": "ResultErrorCodes",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16311,
                                "src": "4821:23:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                                  "typeString": "type(enum Witnet.ResultErrorCodes)"
                                }
                              },
                              "id": 22699,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "4845:7:68",
                              "memberName": "Unknown",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16056,
                              "src": "4821:31:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                "typeString": "enum Witnet.ResultErrorCodes"
                              }
                            },
                            {
                              "hexValue": "437269746963616c3a206e6f206572726f7220636f64652077617320666f756e642e",
                              "id": 22700,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4879:36:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_5ec6465ff7bdcadf3431d09a3fd686750a5f5465e162752b01ff181445771fc2",
                                "typeString": "literal_string \"Critical: no error code was found.\""
                              },
                              "value": "Critical: no error code was found."
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                "typeString": "enum Witnet.ResultErrorCodes"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_5ec6465ff7bdcadf3431d09a3fd686750a5f5465e162752b01ff181445771fc2",
                                "typeString": "literal_string \"Critical: no error code was found.\""
                              }
                            ],
                            "expression": {
                              "id": 22695,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 17557,
                              "src": "4777:6:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 22696,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "4784:11:68",
                            "memberName": "ResultError",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 16055,
                            "src": "4777:18:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_ResultError_$16055_storage_ptr_$",
                              "typeString": "type(struct Witnet.ResultError storage pointer)"
                            }
                          },
                          "id": 22701,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [
                            "4815:4:68",
                            "4871:6:68"
                          ],
                          "names": [
                            "code",
                            "reason"
                          ],
                          "nodeType": "FunctionCall",
                          "src": "4777:154:68",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                            "typeString": "struct Witnet.ResultError memory"
                          }
                        },
                        "functionReturnParameters": 22690,
                        "id": 22702,
                        "nodeType": "Return",
                        "src": "4770:161:68"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    22720
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 22720,
                      "mutability": "mutable",
                      "name": "_prefix",
                      "nameLocation": "5059:7:68",
                      "nodeType": "VariableDeclaration",
                      "scope": 22774,
                      "src": "5045:21:68",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 22719,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "5045:6:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 22721,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5045:21:68"
                },
                {
                  "condition": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "expression": {
                          "id": 22722,
                          "name": "_error",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 22689,
                          "src": "5081:6:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                            "typeString": "struct Witnet.ResultError memory"
                          }
                        },
                        "id": 22723,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "5088:4:68",
                        "memberName": "code",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16052,
                        "src": "5081:11:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                          "typeString": "enum Witnet.ResultErrorCodes"
                        }
                      },
                      "id": 22724,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5093:16:68",
                      "memberName": "isCircumstantial",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 16326,
                      "src": "5081:28:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_enum$_ResultErrorCodes_$16311_$returns$_t_bool_$attached_to$_t_enum$_ResultErrorCodes_$16311_$",
                        "typeString": "function (enum Witnet.ResultErrorCodes) pure returns (bool)"
                      }
                    },
                    "id": 22725,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5081:30:68",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "expression": {
                            "id": 22731,
                            "name": "_error",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22689,
                            "src": "5178:6:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                              "typeString": "struct Witnet.ResultError memory"
                            }
                          },
                          "id": 22732,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "5185:4:68",
                          "memberName": "code",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16052,
                          "src": "5178:11:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                            "typeString": "enum Witnet.ResultErrorCodes"
                          }
                        },
                        "id": 22733,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "5190:14:68",
                        "memberName": "poorIncentives",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16403,
                        "src": "5178:26:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_enum$_ResultErrorCodes_$16311_$returns$_t_bool_$attached_to$_t_enum$_ResultErrorCodes_$16311_$",
                          "typeString": "function (enum Witnet.ResultErrorCodes) pure returns (bool)"
                        }
                      },
                      "id": 22734,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "5178:28:68",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "expression": {
                              "id": 22740,
                              "name": "_error",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22689,
                              "src": "5274:6:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                                "typeString": "struct Witnet.ResultError memory"
                              }
                            },
                            "id": 22741,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "5281:4:68",
                            "memberName": "code",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 16052,
                            "src": "5274:11:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                              "typeString": "enum Witnet.ResultErrorCodes"
                            }
                          },
                          "id": 22742,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "5286:15:68",
                          "memberName": "lackOfConsensus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16351,
                          "src": "5274:27:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_enum$_ResultErrorCodes_$16311_$returns$_t_bool_$attached_to$_t_enum$_ResultErrorCodes_$16311_$",
                            "typeString": "function (enum Witnet.ResultErrorCodes) pure returns (bool)"
                          }
                        },
                        "id": 22743,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5274:29:68",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseBody": {
                        "id": 22753,
                        "nodeType": "Block",
                        "src": "5362:49:68",
                        "statements": [
                          {
                            "expression": {
                              "id": 22751,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftHandSide": {
                                "id": 22749,
                                "name": "_prefix",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 22720,
                                "src": "5377:7:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              "nodeType": "Assignment",
                              "operator": "=",
                              "rightHandSide": {
                                "hexValue": "437269746963616c3a20",
                                "id": 22750,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "5387:12:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_09557cc88071bad34e024031f1ece4e34d31135d09d3147edf61f232bc530c3f",
                                  "typeString": "literal_string \"Critical: \""
                                },
                                "value": "Critical: "
                              },
                              "src": "5377:22:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "id": 22752,
                            "nodeType": "ExpressionStatement",
                            "src": "5377:22:68"
                          }
                        ]
                      },
                      "id": 22754,
                      "nodeType": "IfStatement",
                      "src": "5270:141:68",
                      "trueBody": {
                        "id": 22748,
                        "nodeType": "Block",
                        "src": "5305:51:68",
                        "statements": [
                          {
                            "expression": {
                              "id": 22746,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftHandSide": {
                                "id": 22744,
                                "name": "_prefix",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 22720,
                                "src": "5320:7:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              "nodeType": "Assignment",
                              "operator": "=",
                              "rightHandSide": {
                                "hexValue": "436f6e73656e7375616c3a20",
                                "id": 22745,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "5330:14:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_714ca10c714c1b65745f429e8b4107a1a82f0618c795f4f827e2bfb4026bffdb",
                                  "typeString": "literal_string \"Consensual: \""
                                },
                                "value": "Consensual: "
                              },
                              "src": "5320:24:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "id": 22747,
                            "nodeType": "ExpressionStatement",
                            "src": "5320:24:68"
                          }
                        ]
                      }
                    },
                    "id": 22755,
                    "nodeType": "IfStatement",
                    "src": "5174:237:68",
                    "trueBody": {
                      "id": 22739,
                      "nodeType": "Block",
                      "src": "5208:56:68",
                      "statements": [
                        {
                          "expression": {
                            "id": 22737,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "id": 22735,
                              "name": "_prefix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22720,
                              "src": "5223:7:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "hexValue": "506f6f7220696e63656e74697665733a20",
                              "id": 22736,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "5233:19:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_86f1586a87e4e9b835a681ea11eb9123854a8e94ccd1ad7ae6d482e7d1502042",
                                "typeString": "literal_string \"Poor incentives: \""
                              },
                              "value": "Poor incentives: "
                            },
                            "src": "5223:29:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "id": 22738,
                          "nodeType": "ExpressionStatement",
                          "src": "5223:29:68"
                        }
                      ]
                    }
                  },
                  "id": 22756,
                  "nodeType": "IfStatement",
                  "src": "5077:334:68",
                  "trueBody": {
                    "id": 22730,
                    "nodeType": "Block",
                    "src": "5113:55:68",
                    "statements": [
                      {
                        "expression": {
                          "id": 22728,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 22726,
                            "name": "_prefix",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22720,
                            "src": "5128:7:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "hexValue": "43697263756d7374616e7469616c3a20",
                            "id": 22727,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5138:18:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_7acef327f9475ab9f58f09b1847eaba652add0de816b32989578d514e3e1ab3e",
                              "typeString": "literal_string \"Circumstantial: \""
                            },
                            "value": "Circumstantial: "
                          },
                          "src": "5128:28:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "id": 22729,
                        "nodeType": "ExpressionStatement",
                        "src": "5128:28:68"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "id": 22772,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 22757,
                        "name": "_error",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22689,
                        "src": "5422:6:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                          "typeString": "struct Witnet.ResultError memory"
                        }
                      },
                      "id": 22759,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "5429:6:68",
                      "memberName": "reason",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 16054,
                      "src": "5422:13:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "id": 22764,
                              "name": "_prefix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22720,
                              "src": "5462:7:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            {
                              "arguments": [
                                {
                                  "expression": {
                                    "id": 22766,
                                    "name": "_error",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 22689,
                                    "src": "5482:6:68",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                                      "typeString": "struct Witnet.ResultError memory"
                                    }
                                  },
                                  "id": 22767,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "5489:4:68",
                                  "memberName": "code",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 16052,
                                  "src": "5482:11:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                    "typeString": "enum Witnet.ResultErrorCodes"
                                  }
                                },
                                {
                                  "id": 22768,
                                  "name": "errors",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 22685,
                                  "src": "5495:6:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                    "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                    "typeString": "enum Witnet.ResultErrorCodes"
                                  },
                                  {
                                    "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                    "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                  }
                                ],
                                "id": 22765,
                                "name": "_stringify",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [
                                  22982,
                                  23172
                                ],
                                "referencedDeclaration": 22982,
                                "src": "5471:10:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_enum$_ResultErrorCodes_$16311_$_t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$",
                                  "typeString": "function (enum Witnet.ResultErrorCodes,struct WitnetCBOR.CBOR memory[] memory) pure returns (string memory)"
                                }
                              },
                              "id": 22769,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "5471:31:68",
                              "tryCall": false,
                              "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"
                              }
                            ],
                            "expression": {
                              "id": 22762,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4294967295,
                              "src": "5445:3:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 22763,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "5449:12:68",
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "src": "5445:16:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 22770,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5445:58:68",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 22761,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "5438:6:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                          "typeString": "type(string storage pointer)"
                        },
                        "typeName": {
                          "id": 22760,
                          "name": "string",
                          "nodeType": "ElementaryTypeName",
                          "src": "5438:6:68",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 22771,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "5438:66:68",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "5422:82:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "id": 22773,
                  "nodeType": "ExpressionStatement",
                  "src": "5422:82:68"
                }
              ]
            },
            "documentation": {
              "id": 22681,
              "nodeType": "StructuredDocumentation",
              "src": "4483:95:68",
              "text": "@dev Extract Witnet.ResultErrorCodes and error description from given array of CBOR values."
            },
            "id": 22775,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_fromErrorArray",
            "nameLocation": "4593:15:68",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22686,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22685,
                  "mutability": "mutable",
                  "name": "errors",
                  "nameLocation": "4634:6:68",
                  "nodeType": "VariableDeclaration",
                  "scope": 22775,
                  "src": "4609:31:68",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct WitnetCBOR.CBOR[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 22683,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 22682,
                        "name": "WitnetCBOR.CBOR",
                        "nameLocations": [
                          "4609:10:68",
                          "4620:4:68"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 19218,
                        "src": "4609:15:68"
                      },
                      "referencedDeclaration": 19218,
                      "src": "4609:15:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_CBOR_$19218_storage_ptr",
                        "typeString": "struct WitnetCBOR.CBOR"
                      }
                    },
                    "id": 22684,
                    "nodeType": "ArrayTypeName",
                    "src": "4609:17:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_storage_$dyn_storage_ptr",
                      "typeString": "struct WitnetCBOR.CBOR[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4608:33:68"
            },
            "returnParameters": {
              "id": 22690,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22689,
                  "mutability": "mutable",
                  "name": "_error",
                  "nameLocation": "4708:6:68",
                  "nodeType": "VariableDeclaration",
                  "scope": 22775,
                  "src": "4682:32:68",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_ResultError_$16055_memory_ptr",
                    "typeString": "struct Witnet.ResultError"
                  },
                  "typeName": {
                    "id": 22688,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22687,
                      "name": "Witnet.ResultError",
                      "nameLocations": [
                        "4682:6:68",
                        "4689:11:68"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16055,
                      "src": "4682:18:68"
                    },
                    "referencedDeclaration": 16055,
                    "src": "4682:18:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_ResultError_$16055_storage_ptr",
                      "typeString": "struct Witnet.ResultError"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4681:34:68"
            },
            "scope": 23206,
            "src": "4584:928:68",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "private"
          },
          {
            "body": {
              "id": 22981,
              "nodeType": "Block",
              "src": "5661:2385:68",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                      "typeString": "enum Witnet.ResultErrorCodes"
                    },
                    "id": 22791,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 22787,
                      "name": "code",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22778,
                      "src": "5676:4:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                        "typeString": "enum Witnet.ResultErrorCodes"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 22788,
                          "name": "Witnet",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 17557,
                          "src": "5684:6:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                            "typeString": "type(library Witnet)"
                          }
                        },
                        "id": 22789,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "5691:16:68",
                        "memberName": "ResultErrorCodes",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16311,
                        "src": "5684:23:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                          "typeString": "type(enum Witnet.ResultErrorCodes)"
                        }
                      },
                      "id": 22790,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "5708:19:68",
                      "memberName": "InsufficientCommits",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 16137,
                      "src": "5684:43:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                        "typeString": "enum Witnet.ResultErrorCodes"
                      }
                    },
                    "src": "5676:51:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "id": 22804,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "commonType": {
                          "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                          "typeString": "enum Witnet.ResultErrorCodes"
                        },
                        "id": 22799,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 22795,
                          "name": "code",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 22778,
                          "src": "5812:4:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                            "typeString": "enum Witnet.ResultErrorCodes"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "expression": {
                              "id": 22796,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 17557,
                              "src": "5820:6:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 22797,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "5827:16:68",
                            "memberName": "ResultErrorCodes",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 16311,
                            "src": "5820:23:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                              "typeString": "type(enum Witnet.ResultErrorCodes)"
                            }
                          },
                          "id": 22798,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "5844:21:68",
                          "memberName": "CircumstantialFailure",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16139,
                          "src": "5820:45:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                            "typeString": "enum Witnet.ResultErrorCodes"
                          }
                        },
                        "src": "5812:53:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "&&",
                      "rightExpression": {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 22803,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 22800,
                            "name": "args",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22782,
                            "src": "5886:4:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                              "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                            }
                          },
                          "id": 22801,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "5891:6:68",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "5886:11:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "hexValue": "32",
                          "id": 22802,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5900:1:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_2_by_1",
                            "typeString": "int_const 2"
                          },
                          "value": "2"
                        },
                        "src": "5886:15:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "src": "5812:89:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                          "typeString": "enum Witnet.ResultErrorCodes"
                        },
                        "id": 22819,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 22815,
                          "name": "code",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 22778,
                          "src": "6003:4:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                            "typeString": "enum Witnet.ResultErrorCodes"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "expression": {
                              "id": 22816,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 17557,
                              "src": "6011:6:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 22817,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "6018:16:68",
                            "memberName": "ResultErrorCodes",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 16311,
                            "src": "6011:23:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                              "typeString": "type(enum Witnet.ResultErrorCodes)"
                            }
                          },
                          "id": 22818,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "6035:20:68",
                          "memberName": "InsufficientMajority",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16136,
                          "src": "6011:44:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                            "typeString": "enum Witnet.ResultErrorCodes"
                          }
                        },
                        "src": "6003:52:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseBody": {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                            "typeString": "enum Witnet.ResultErrorCodes"
                          },
                          "id": 22827,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 22823,
                            "name": "code",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22778,
                            "src": "6127:4:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                              "typeString": "enum Witnet.ResultErrorCodes"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 22824,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 17557,
                                "src": "6135:6:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 22825,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "6142:16:68",
                              "memberName": "ResultErrorCodes",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16311,
                              "src": "6135:23:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                                "typeString": "type(enum Witnet.ResultErrorCodes)"
                              }
                            },
                            "id": 22826,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "6159:19:68",
                            "memberName": "InsufficientReveals",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 16135,
                            "src": "6135:43:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                              "typeString": "enum Witnet.ResultErrorCodes"
                            }
                          },
                          "src": "6127:51:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "condition": {
                            "commonType": {
                              "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                              "typeString": "enum Witnet.ResultErrorCodes"
                            },
                            "id": 22835,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 22831,
                              "name": "code",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22778,
                              "src": "6249:4:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                "typeString": "enum Witnet.ResultErrorCodes"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "==",
                            "rightExpression": {
                              "expression": {
                                "expression": {
                                  "id": 22832,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 17557,
                                  "src": "6257:6:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 22833,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "6264:16:68",
                                "memberName": "ResultErrorCodes",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16311,
                                "src": "6257:23:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                                  "typeString": "type(enum Witnet.ResultErrorCodes)"
                                }
                              },
                              "id": 22834,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "6281:20:68",
                              "memberName": "BridgePoorIncentives",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16280,
                              "src": "6257:44:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                "typeString": "enum Witnet.ResultErrorCodes"
                              }
                            },
                            "src": "6249:52:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseBody": {
                            "condition": {
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "id": 22849,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                  "typeString": "enum Witnet.ResultErrorCodes"
                                },
                                "id": 22843,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "id": 22839,
                                  "name": "code",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 22778,
                                  "src": "6383:4:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                    "typeString": "enum Witnet.ResultErrorCodes"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "==",
                                "rightExpression": {
                                  "expression": {
                                    "expression": {
                                      "id": 22840,
                                      "name": "Witnet",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 17557,
                                      "src": "6391:6:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                        "typeString": "type(library Witnet)"
                                      }
                                    },
                                    "id": 22841,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "6398:16:68",
                                    "memberName": "ResultErrorCodes",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 16311,
                                    "src": "6391:23:68",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                                      "typeString": "type(enum Witnet.ResultErrorCodes)"
                                    }
                                  },
                                  "id": 22842,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "6415:20:68",
                                  "memberName": "OversizedTallyResult",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 16150,
                                  "src": "6391:44:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                    "typeString": "enum Witnet.ResultErrorCodes"
                                  }
                                },
                                "src": "6383:52:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "||",
                              "rightExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                  "typeString": "enum Witnet.ResultErrorCodes"
                                },
                                "id": 22848,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "id": 22844,
                                  "name": "code",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 22778,
                                  "src": "6456:4:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                    "typeString": "enum Witnet.ResultErrorCodes"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "==",
                                "rightExpression": {
                                  "expression": {
                                    "expression": {
                                      "id": 22845,
                                      "name": "Witnet",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 17557,
                                      "src": "6464:6:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                        "typeString": "type(library Witnet)"
                                      }
                                    },
                                    "id": 22846,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "6471:16:68",
                                    "memberName": "ResultErrorCodes",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 16311,
                                    "src": "6464:23:68",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                                      "typeString": "type(enum Witnet.ResultErrorCodes)"
                                    }
                                  },
                                  "id": 22847,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "6488:26:68",
                                  "memberName": "BridgeOversizedTallyResult",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 16281,
                                  "src": "6464:50:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                    "typeString": "enum Witnet.ResultErrorCodes"
                                  }
                                },
                                "src": "6456:58:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "src": "6383:131:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "falseBody": {
                              "condition": {
                                "commonType": {
                                  "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                  "typeString": "enum Witnet.ResultErrorCodes"
                                },
                                "id": 22857,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "id": 22853,
                                  "name": "code",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 22778,
                                  "src": "6591:4:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                    "typeString": "enum Witnet.ResultErrorCodes"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "==",
                                "rightExpression": {
                                  "expression": {
                                    "expression": {
                                      "id": 22854,
                                      "name": "Witnet",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 17557,
                                      "src": "6599:6:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                        "typeString": "type(library Witnet)"
                                      }
                                    },
                                    "id": 22855,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "6606:16:68",
                                    "memberName": "ResultErrorCodes",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 16311,
                                    "src": "6599:23:68",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                                      "typeString": "type(enum Witnet.ResultErrorCodes)"
                                    }
                                  },
                                  "id": 22856,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "6623:19:68",
                                  "memberName": "InconsistentSources",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 16140,
                                  "src": "6599:43:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                    "typeString": "enum Witnet.ResultErrorCodes"
                                  }
                                },
                                "src": "6591:51:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "falseBody": {
                                "condition": {
                                  "commonType": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  },
                                  "id": 22870,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "commonType": {
                                      "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                      "typeString": "enum Witnet.ResultErrorCodes"
                                    },
                                    "id": 22865,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "id": 22861,
                                      "name": "code",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 22778,
                                      "src": "6727:4:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                        "typeString": "enum Witnet.ResultErrorCodes"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "==",
                                    "rightExpression": {
                                      "expression": {
                                        "expression": {
                                          "id": 22862,
                                          "name": "Witnet",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 17557,
                                          "src": "6735:6:68",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                            "typeString": "type(library Witnet)"
                                          }
                                        },
                                        "id": 22863,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "6742:16:68",
                                        "memberName": "ResultErrorCodes",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 16311,
                                        "src": "6735:23:68",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                                          "typeString": "type(enum Witnet.ResultErrorCodes)"
                                        }
                                      },
                                      "id": 22864,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "6759:18:68",
                                      "memberName": "MalformedResponses",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 16142,
                                      "src": "6735:42:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                        "typeString": "enum Witnet.ResultErrorCodes"
                                      }
                                    },
                                    "src": "6727:50:68",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "&&",
                                  "rightExpression": {
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 22869,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "expression": {
                                        "id": 22866,
                                        "name": "args",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 22782,
                                        "src": "6798:4:68",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                          "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                        }
                                      },
                                      "id": 22867,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "6803:6:68",
                                      "memberName": "length",
                                      "nodeType": "MemberAccess",
                                      "src": "6798:11:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": ">",
                                    "rightExpression": {
                                      "hexValue": "32",
                                      "id": 22868,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "6812:1:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_2_by_1",
                                        "typeString": "int_const 2"
                                      },
                                      "value": "2"
                                    },
                                    "src": "6798:15:68",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "src": "6727:86:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "falseBody": {
                                  "condition": {
                                    "commonType": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    },
                                    "id": 22898,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "commonType": {
                                        "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                        "typeString": "enum Witnet.ResultErrorCodes"
                                      },
                                      "id": 22892,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "id": 22888,
                                        "name": "code",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 22778,
                                        "src": "7020:4:68",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                          "typeString": "enum Witnet.ResultErrorCodes"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "==",
                                      "rightExpression": {
                                        "expression": {
                                          "expression": {
                                            "id": 22889,
                                            "name": "Witnet",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 17557,
                                            "src": "7028:6:68",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                              "typeString": "type(library Witnet)"
                                            }
                                          },
                                          "id": 22890,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "7035:16:68",
                                          "memberName": "ResultErrorCodes",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 16311,
                                          "src": "7028:23:68",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                                            "typeString": "type(enum Witnet.ResultErrorCodes)"
                                          }
                                        },
                                        "id": 22891,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "7052:20:68",
                                        "memberName": "MalformedDataRequest",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 16141,
                                        "src": "7028:44:68",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                          "typeString": "enum Witnet.ResultErrorCodes"
                                        }
                                      },
                                      "src": "7020:52:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "||",
                                    "rightExpression": {
                                      "commonType": {
                                        "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                        "typeString": "enum Witnet.ResultErrorCodes"
                                      },
                                      "id": 22897,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "id": 22893,
                                        "name": "code",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 22778,
                                        "src": "7094:4:68",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                          "typeString": "enum Witnet.ResultErrorCodes"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "==",
                                      "rightExpression": {
                                        "expression": {
                                          "expression": {
                                            "id": 22894,
                                            "name": "Witnet",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 17557,
                                            "src": "7102:6:68",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                              "typeString": "type(library Witnet)"
                                            }
                                          },
                                          "id": 22895,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "7109:16:68",
                                          "memberName": "ResultErrorCodes",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 16311,
                                          "src": "7102:23:68",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                                            "typeString": "type(enum Witnet.ResultErrorCodes)"
                                          }
                                        },
                                        "id": 22896,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "7126:26:68",
                                        "memberName": "BridgeMalformedDataRequest",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 16279,
                                        "src": "7102:50:68",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                          "typeString": "enum Witnet.ResultErrorCodes"
                                        }
                                      },
                                      "src": "7094:58:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    "src": "7020:132:68",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "falseBody": {
                                    "condition": {
                                      "commonType": {
                                        "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                        "typeString": "enum Witnet.ResultErrorCodes"
                                      },
                                      "id": 22929,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "id": 22925,
                                        "name": "code",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 22778,
                                        "src": "7481:4:68",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                          "typeString": "enum Witnet.ResultErrorCodes"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "==",
                                      "rightExpression": {
                                        "expression": {
                                          "expression": {
                                            "id": 22926,
                                            "name": "Witnet",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 17557,
                                            "src": "7489:6:68",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                              "typeString": "type(library Witnet)"
                                            }
                                          },
                                          "id": 22927,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "7496:16:68",
                                          "memberName": "ResultErrorCodes",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 16311,
                                          "src": "7489:23:68",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                                            "typeString": "type(enum Witnet.ResultErrorCodes)"
                                          }
                                        },
                                        "id": 22928,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "7513:18:68",
                                        "memberName": "UnhandledIntercept",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 16310,
                                        "src": "7489:42:68",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                          "typeString": "enum Witnet.ResultErrorCodes"
                                        }
                                      },
                                      "src": "7481:50:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    "falseBody": {
                                      "id": 22970,
                                      "nodeType": "Block",
                                      "src": "7899:140:68",
                                      "statements": [
                                        {
                                          "expression": {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "hexValue": "3078",
                                                    "id": 22960,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "string",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "7963:4:68",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_stringliteral_39bef1777deb3dfb14f64b9f81ced092c501fee72f90e93d03bb95ee89df9837",
                                                      "typeString": "literal_string \"0x\""
                                                    },
                                                    "value": "0x"
                                                  },
                                                  {
                                                    "arguments": [],
                                                    "expression": {
                                                      "argumentTypes": [],
                                                      "expression": {
                                                        "arguments": [
                                                          {
                                                            "id": 22963,
                                                            "name": "code",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 22778,
                                                            "src": "7992:4:68",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                                              "typeString": "enum Witnet.ResultErrorCodes"
                                                            }
                                                          }
                                                        ],
                                                        "expression": {
                                                          "argumentTypes": [
                                                            {
                                                              "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                                              "typeString": "enum Witnet.ResultErrorCodes"
                                                            }
                                                          ],
                                                          "id": 22962,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": true,
                                                          "lValueRequested": false,
                                                          "nodeType": "ElementaryTypeNameExpression",
                                                          "src": "7986:5:68",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_type$_t_uint8_$",
                                                            "typeString": "type(uint8)"
                                                          },
                                                          "typeName": {
                                                            "id": 22961,
                                                            "name": "uint8",
                                                            "nodeType": "ElementaryTypeName",
                                                            "src": "7986:5:68",
                                                            "typeDescriptions": {}
                                                          }
                                                        },
                                                        "id": 22964,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "kind": "typeConversion",
                                                        "lValueRequested": false,
                                                        "nameLocations": [],
                                                        "names": [],
                                                        "nodeType": "FunctionCall",
                                                        "src": "7986:11:68",
                                                        "tryCall": false,
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_uint8",
                                                          "typeString": "uint8"
                                                        }
                                                      },
                                                      "id": 22965,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "memberLocation": "7998:11:68",
                                                      "memberName": "toHexString",
                                                      "nodeType": "MemberAccess",
                                                      "referencedDeclaration": 16596,
                                                      "src": "7986:23:68",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_function_internal_pure$_t_uint8_$returns$_t_string_memory_ptr_$attached_to$_t_uint8_$",
                                                        "typeString": "function (uint8) pure returns (string memory)"
                                                      }
                                                    },
                                                    "id": 22966,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "nameLocations": [],
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "7986:25:68",
                                                    "tryCall": false,
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_string_memory_ptr",
                                                      "typeString": "string memory"
                                                    }
                                                  }
                                                ],
                                                "expression": {
                                                  "argumentTypes": [
                                                    {
                                                      "typeIdentifier": "t_stringliteral_39bef1777deb3dfb14f64b9f81ced092c501fee72f90e93d03bb95ee89df9837",
                                                      "typeString": "literal_string \"0x\""
                                                    },
                                                    {
                                                      "typeIdentifier": "t_string_memory_ptr",
                                                      "typeString": "string memory"
                                                    }
                                                  ],
                                                  "expression": {
                                                    "id": 22958,
                                                    "name": "abi",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 4294967295,
                                                    "src": "7928:3:68",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_magic_abi",
                                                      "typeString": "abi"
                                                    }
                                                  },
                                                  "id": 22959,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "lValueRequested": false,
                                                  "memberLocation": "7932:12:68",
                                                  "memberName": "encodePacked",
                                                  "nodeType": "MemberAccess",
                                                  "src": "7928:16:68",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                                    "typeString": "function () pure returns (bytes memory)"
                                                  }
                                                },
                                                "id": 22967,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "nameLocations": [],
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "7928:98:68",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_bytes_memory_ptr",
                                                  "typeString": "bytes memory"
                                                }
                                              }
                                            ],
                                            "expression": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_bytes_memory_ptr",
                                                  "typeString": "bytes memory"
                                                }
                                              ],
                                              "id": 22957,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "nodeType": "ElementaryTypeNameExpression",
                                              "src": "7921:6:68",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                "typeString": "type(string storage pointer)"
                                              },
                                              "typeName": {
                                                "id": 22956,
                                                "name": "string",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "7921:6:68",
                                                "typeDescriptions": {}
                                              }
                                            },
                                            "id": 22968,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "typeConversion",
                                            "lValueRequested": false,
                                            "nameLocations": [],
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "7921:106:68",
                                            "tryCall": false,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            }
                                          },
                                          "functionReturnParameters": 22786,
                                          "id": 22969,
                                          "nodeType": "Return",
                                          "src": "7914:113:68"
                                        }
                                      ]
                                    },
                                    "id": 22971,
                                    "nodeType": "IfStatement",
                                    "src": "7477:562:68",
                                    "trueBody": {
                                      "id": 22955,
                                      "nodeType": "Block",
                                      "src": "7533:360:68",
                                      "statements": [
                                        {
                                          "condition": {
                                            "commonType": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            },
                                            "id": 22933,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftExpression": {
                                              "expression": {
                                                "id": 22930,
                                                "name": "args",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 22782,
                                                "src": "7552:4:68",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                                  "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                                }
                                              },
                                              "id": 22931,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "7557:6:68",
                                              "memberName": "length",
                                              "nodeType": "MemberAccess",
                                              "src": "7552:11:68",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            },
                                            "nodeType": "BinaryOperation",
                                            "operator": ">",
                                            "rightExpression": {
                                              "hexValue": "32",
                                              "id": 22932,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "kind": "number",
                                              "lValueRequested": false,
                                              "nodeType": "Literal",
                                              "src": "7566:1:68",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_rational_2_by_1",
                                                "typeString": "int_const 2"
                                              },
                                              "value": "2"
                                            },
                                            "src": "7552:15:68",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bool",
                                              "typeString": "bool"
                                            }
                                          },
                                          "falseBody": {
                                            "id": 22953,
                                            "nodeType": "Block",
                                            "src": "7799:73:68",
                                            "statements": [
                                              {
                                                "expression": {
                                                  "hexValue": "756e68616e646c656420696e74657263657074206f6e2074616c6c792e",
                                                  "id": 22951,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "kind": "string",
                                                  "lValueRequested": false,
                                                  "nodeType": "Literal",
                                                  "src": "7825:31:68",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_0125c838e07d2db1ce965fc4d7d825c1dcfdde6a978e5f145200576890331646",
                                                    "typeString": "literal_string \"unhandled intercept on tally.\""
                                                  },
                                                  "value": "unhandled intercept on tally."
                                                },
                                                "functionReturnParameters": 22786,
                                                "id": 22952,
                                                "nodeType": "Return",
                                                "src": "7818:38:68"
                                              }
                                            ]
                                          },
                                          "id": 22954,
                                          "nodeType": "IfStatement",
                                          "src": "7548:324:68",
                                          "trueBody": {
                                            "id": 22950,
                                            "nodeType": "Block",
                                            "src": "7569:224:68",
                                            "statements": [
                                              {
                                                "expression": {
                                                  "arguments": [
                                                    {
                                                      "arguments": [
                                                        {
                                                          "hexValue": "756e68616e646c656420696e74657263657074206f6e2074616c6c7920282b",
                                                          "id": 22938,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": true,
                                                          "kind": "string",
                                                          "lValueRequested": false,
                                                          "nodeType": "Literal",
                                                          "src": "7641:33:68",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ddc22ca7a1570cc3baed2af6fb213a839fff3df6032a46d55300ff1752c37205",
                                                            "typeString": "literal_string \"unhandled intercept on tally (+\""
                                                          },
                                                          "value": "unhandled intercept on tally (+"
                                                        },
                                                        {
                                                          "arguments": [],
                                                          "expression": {
                                                            "argumentTypes": [],
                                                            "expression": {
                                                              "components": [
                                                                {
                                                                  "commonType": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                  },
                                                                  "id": 22942,
                                                                  "isConstant": false,
                                                                  "isLValue": false,
                                                                  "isPure": false,
                                                                  "lValueRequested": false,
                                                                  "leftExpression": {
                                                                    "expression": {
                                                                      "id": 22939,
                                                                      "name": "args",
                                                                      "nodeType": "Identifier",
                                                                      "overloadedDeclarations": [],
                                                                      "referencedDeclaration": 22782,
                                                                      "src": "7698:4:68",
                                                                      "typeDescriptions": {
                                                                        "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                                                        "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                                                      }
                                                                    },
                                                                    "id": 22940,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "memberLocation": "7703:6:68",
                                                                    "memberName": "length",
                                                                    "nodeType": "MemberAccess",
                                                                    "src": "7698:11:68",
                                                                    "typeDescriptions": {
                                                                      "typeIdentifier": "t_uint256",
                                                                      "typeString": "uint256"
                                                                    }
                                                                  },
                                                                  "nodeType": "BinaryOperation",
                                                                  "operator": "-",
                                                                  "rightExpression": {
                                                                    "hexValue": "32",
                                                                    "id": 22941,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "kind": "number",
                                                                    "lValueRequested": false,
                                                                    "nodeType": "Literal",
                                                                    "src": "7712:1:68",
                                                                    "typeDescriptions": {
                                                                      "typeIdentifier": "t_rational_2_by_1",
                                                                      "typeString": "int_const 2"
                                                                    },
                                                                    "value": "2"
                                                                  },
                                                                  "src": "7698:15:68",
                                                                  "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                  }
                                                                }
                                                              ],
                                                              "id": 22943,
                                                              "isConstant": false,
                                                              "isInlineArray": false,
                                                              "isLValue": false,
                                                              "isPure": false,
                                                              "lValueRequested": false,
                                                              "nodeType": "TupleExpression",
                                                              "src": "7697:17:68",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                              }
                                                            },
                                                            "id": 22944,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberLocation": "7715:8:68",
                                                            "memberName": "toString",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": 16840,
                                                            "src": "7697:26:68",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_uint256_$",
                                                              "typeString": "function (uint256) pure returns (string memory)"
                                                            }
                                                          },
                                                          "id": 22945,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": false,
                                                          "kind": "functionCall",
                                                          "lValueRequested": false,
                                                          "nameLocations": [],
                                                          "names": [],
                                                          "nodeType": "FunctionCall",
                                                          "src": "7697:28:68",
                                                          "tryCall": false,
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                          }
                                                        },
                                                        {
                                                          "hexValue": "2061726773292e",
                                                          "id": 22946,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": true,
                                                          "kind": "string",
                                                          "lValueRequested": false,
                                                          "nodeType": "Literal",
                                                          "src": "7748:9:68",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_06a2d74ec3f7691def8930b709594dd718f94068752b927fbf84234b32ca3ba0",
                                                            "typeString": "literal_string \" args).\""
                                                          },
                                                          "value": " args)."
                                                        }
                                                      ],
                                                      "expression": {
                                                        "argumentTypes": [
                                                          {
                                                            "typeIdentifier": "t_stringliteral_ddc22ca7a1570cc3baed2af6fb213a839fff3df6032a46d55300ff1752c37205",
                                                            "typeString": "literal_string \"unhandled intercept on tally (+\""
                                                          },
                                                          {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                          },
                                                          {
                                                            "typeIdentifier": "t_stringliteral_06a2d74ec3f7691def8930b709594dd718f94068752b927fbf84234b32ca3ba0",
                                                            "typeString": "literal_string \" args).\""
                                                          }
                                                        ],
                                                        "expression": {
                                                          "id": 22936,
                                                          "name": "abi",
                                                          "nodeType": "Identifier",
                                                          "overloadedDeclarations": [],
                                                          "referencedDeclaration": 4294967295,
                                                          "src": "7602:3:68",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                          }
                                                        },
                                                        "id": 22937,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "lValueRequested": false,
                                                        "memberLocation": "7606:12:68",
                                                        "memberName": "encodePacked",
                                                        "nodeType": "MemberAccess",
                                                        "src": "7602:16:68",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                                          "typeString": "function () pure returns (bytes memory)"
                                                        }
                                                      },
                                                      "id": 22947,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": false,
                                                      "kind": "functionCall",
                                                      "lValueRequested": false,
                                                      "nameLocations": [],
                                                      "names": [],
                                                      "nodeType": "FunctionCall",
                                                      "src": "7602:174:68",
                                                      "tryCall": false,
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes_memory_ptr",
                                                        "typeString": "bytes memory"
                                                      }
                                                    }
                                                  ],
                                                  "expression": {
                                                    "argumentTypes": [
                                                      {
                                                        "typeIdentifier": "t_bytes_memory_ptr",
                                                        "typeString": "bytes memory"
                                                      }
                                                    ],
                                                    "id": 22935,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "nodeType": "ElementaryTypeNameExpression",
                                                    "src": "7595:6:68",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                      "typeString": "type(string storage pointer)"
                                                    },
                                                    "typeName": {
                                                      "id": 22934,
                                                      "name": "string",
                                                      "nodeType": "ElementaryTypeName",
                                                      "src": "7595:6:68",
                                                      "typeDescriptions": {}
                                                    }
                                                  },
                                                  "id": 22948,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "kind": "typeConversion",
                                                  "lValueRequested": false,
                                                  "nameLocations": [],
                                                  "names": [],
                                                  "nodeType": "FunctionCall",
                                                  "src": "7595:182:68",
                                                  "tryCall": false,
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_string_memory_ptr",
                                                    "typeString": "string memory"
                                                  }
                                                },
                                                "functionReturnParameters": 22786,
                                                "id": 22949,
                                                "nodeType": "Return",
                                                "src": "7588:189:68"
                                              }
                                            ]
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "id": 22972,
                                  "nodeType": "IfStatement",
                                  "src": "7002:1037:68",
                                  "trueBody": {
                                    "id": 22924,
                                    "nodeType": "Block",
                                    "src": "7166:305:68",
                                    "statements": [
                                      {
                                        "condition": {
                                          "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          },
                                          "id": 22902,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "leftExpression": {
                                            "expression": {
                                              "id": 22899,
                                              "name": "args",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 22782,
                                              "src": "7185:4:68",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                                "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                              }
                                            },
                                            "id": 22900,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "7190:6:68",
                                            "memberName": "length",
                                            "nodeType": "MemberAccess",
                                            "src": "7185:11:68",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "nodeType": "BinaryOperation",
                                          "operator": ">",
                                          "rightExpression": {
                                            "hexValue": "32",
                                            "id": 22901,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "7199:1:68",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_rational_2_by_1",
                                              "typeString": "int_const 2"
                                            },
                                            "value": "2"
                                          },
                                          "src": "7185:15:68",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                          }
                                        },
                                        "falseBody": {
                                          "id": 22922,
                                          "nodeType": "Block",
                                          "src": "7396:62:68",
                                          "statements": [
                                            {
                                              "expression": {
                                                "hexValue": "6d616c666f726d656420726571756573742e",
                                                "id": 22920,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "7422:20:68",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_stringliteral_7c053f0fc66355337a1d98e7491635b911839ba1da098d0ce93cc02d7ddcaf97",
                                                  "typeString": "literal_string \"malformed request.\""
                                                },
                                                "value": "malformed request."
                                              },
                                              "functionReturnParameters": 22786,
                                              "id": 22921,
                                              "nodeType": "Return",
                                              "src": "7415:27:68"
                                            }
                                          ]
                                        },
                                        "id": 22923,
                                        "nodeType": "IfStatement",
                                        "src": "7181:277:68",
                                        "trueBody": {
                                          "id": 22919,
                                          "nodeType": "Block",
                                          "src": "7202:188:68",
                                          "statements": [
                                            {
                                              "expression": {
                                                "arguments": [
                                                  {
                                                    "arguments": [
                                                      {
                                                        "hexValue": "6d616c666f726d656420726571756573743a20",
                                                        "id": 22907,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "7274:21:68",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_stringliteral_5086f7424b23ff2b37de66c4de971318b7397c46008fb02056a96c2bcb01a711",
                                                          "typeString": "literal_string \"malformed request: \""
                                                        },
                                                        "value": "malformed request: "
                                                      },
                                                      {
                                                        "arguments": [
                                                          {
                                                            "arguments": [],
                                                            "expression": {
                                                              "argumentTypes": [],
                                                              "expression": {
                                                                "baseExpression": {
                                                                  "id": 22909,
                                                                  "name": "args",
                                                                  "nodeType": "Identifier",
                                                                  "overloadedDeclarations": [],
                                                                  "referencedDeclaration": 22782,
                                                                  "src": "7329:4:68",
                                                                  "typeDescriptions": {
                                                                    "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                                                    "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                                                  }
                                                                },
                                                                "id": 22911,
                                                                "indexExpression": {
                                                                  "hexValue": "31",
                                                                  "id": 22910,
                                                                  "isConstant": false,
                                                                  "isLValue": false,
                                                                  "isPure": true,
                                                                  "kind": "number",
                                                                  "lValueRequested": false,
                                                                  "nodeType": "Literal",
                                                                  "src": "7334:1:68",
                                                                  "typeDescriptions": {
                                                                    "typeIdentifier": "t_rational_1_by_1",
                                                                    "typeString": "int_const 1"
                                                                  },
                                                                  "value": "1"
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "7329:7:68",
                                                                "typeDescriptions": {
                                                                  "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                                                  "typeString": "struct WitnetCBOR.CBOR memory"
                                                                }
                                                              },
                                                              "id": 22912,
                                                              "isConstant": false,
                                                              "isLValue": true,
                                                              "isPure": false,
                                                              "lValueRequested": false,
                                                              "memberLocation": "7337:8:68",
                                                              "memberName": "readUint",
                                                              "nodeType": "MemberAccess",
                                                              "referencedDeclaration": 20603,
                                                              "src": "7329:16:68",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_CBOR_$19218_memory_ptr_$",
                                                                "typeString": "function (struct WitnetCBOR.CBOR memory) pure returns (uint256)"
                                                              }
                                                            },
                                                            "id": 22913,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "kind": "functionCall",
                                                            "lValueRequested": false,
                                                            "nameLocations": [],
                                                            "names": [],
                                                            "nodeType": "FunctionCall",
                                                            "src": "7329:18:68",
                                                            "tryCall": false,
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_uint256",
                                                              "typeString": "uint256"
                                                            }
                                                          },
                                                          {
                                                            "id": 22914,
                                                            "name": "args",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 22782,
                                                            "src": "7349:4:68",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                                              "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                                            }
                                                          }
                                                        ],
                                                        "expression": {
                                                          "argumentTypes": [
                                                            {
                                                              "typeIdentifier": "t_uint256",
                                                              "typeString": "uint256"
                                                            },
                                                            {
                                                              "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                                              "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                                            }
                                                          ],
                                                          "id": 22908,
                                                          "name": "_stringify",
                                                          "nodeType": "Identifier",
                                                          "overloadedDeclarations": [
                                                            22982,
                                                            23172
                                                          ],
                                                          "referencedDeclaration": 23172,
                                                          "src": "7318:10:68",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$",
                                                            "typeString": "function (uint256,struct WitnetCBOR.CBOR memory[] memory) pure returns (string memory)"
                                                          }
                                                        },
                                                        "id": 22915,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "kind": "functionCall",
                                                        "lValueRequested": false,
                                                        "nameLocations": [],
                                                        "names": [],
                                                        "nodeType": "FunctionCall",
                                                        "src": "7318:36:68",
                                                        "tryCall": false,
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_string_memory_ptr",
                                                          "typeString": "string memory"
                                                        }
                                                      }
                                                    ],
                                                    "expression": {
                                                      "argumentTypes": [
                                                        {
                                                          "typeIdentifier": "t_stringliteral_5086f7424b23ff2b37de66c4de971318b7397c46008fb02056a96c2bcb01a711",
                                                          "typeString": "literal_string \"malformed request: \""
                                                        },
                                                        {
                                                          "typeIdentifier": "t_string_memory_ptr",
                                                          "typeString": "string memory"
                                                        }
                                                      ],
                                                      "expression": {
                                                        "id": 22905,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "7235:3:68",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_magic_abi",
                                                          "typeString": "abi"
                                                        }
                                                      },
                                                      "id": 22906,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": true,
                                                      "lValueRequested": false,
                                                      "memberLocation": "7239:12:68",
                                                      "memberName": "encodePacked",
                                                      "nodeType": "MemberAccess",
                                                      "src": "7235:16:68",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function () pure returns (bytes memory)"
                                                      }
                                                    },
                                                    "id": 22916,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "nameLocations": [],
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "7235:138:68",
                                                    "tryCall": false,
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_bytes_memory_ptr",
                                                      "typeString": "bytes memory"
                                                    }
                                                  }
                                                ],
                                                "expression": {
                                                  "argumentTypes": [
                                                    {
                                                      "typeIdentifier": "t_bytes_memory_ptr",
                                                      "typeString": "bytes memory"
                                                    }
                                                  ],
                                                  "id": 22904,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "lValueRequested": false,
                                                  "nodeType": "ElementaryTypeNameExpression",
                                                  "src": "7228:6:68",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                    "typeString": "type(string storage pointer)"
                                                  },
                                                  "typeName": {
                                                    "id": 22903,
                                                    "name": "string",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "7228:6:68",
                                                    "typeDescriptions": {}
                                                  }
                                                },
                                                "id": 22917,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "typeConversion",
                                                "lValueRequested": false,
                                                "nameLocations": [],
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "7228:146:68",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_string_memory_ptr",
                                                  "typeString": "string memory"
                                                }
                                              },
                                              "functionReturnParameters": 22786,
                                              "id": 22918,
                                              "nodeType": "Return",
                                              "src": "7221:153:68"
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                },
                                "id": 22973,
                                "nodeType": "IfStatement",
                                "src": "6709:1330:68",
                                "trueBody": {
                                  "id": 22887,
                                  "nodeType": "Block",
                                  "src": "6825:171:68",
                                  "statements": [
                                    {
                                      "expression": {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "hexValue": "6d616c666f726d656420726573706f6e73653a20",
                                                "id": 22875,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "6889:22:68",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_stringliteral_e1985157138a8bc399ee376b35af954da41fb40a0016a3e224169dd11244f7fc",
                                                  "typeString": "literal_string \"malformed response: \""
                                                },
                                                "value": "malformed response: "
                                              },
                                              {
                                                "arguments": [
                                                  {
                                                    "arguments": [],
                                                    "expression": {
                                                      "argumentTypes": [],
                                                      "expression": {
                                                        "baseExpression": {
                                                          "id": 22877,
                                                          "name": "args",
                                                          "nodeType": "Identifier",
                                                          "overloadedDeclarations": [],
                                                          "referencedDeclaration": 22782,
                                                          "src": "6941:4:68",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                                            "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                                          }
                                                        },
                                                        "id": 22879,
                                                        "indexExpression": {
                                                          "hexValue": "31",
                                                          "id": 22878,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": true,
                                                          "kind": "number",
                                                          "lValueRequested": false,
                                                          "nodeType": "Literal",
                                                          "src": "6946:1:68",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_rational_1_by_1",
                                                            "typeString": "int_const 1"
                                                          },
                                                          "value": "1"
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "nodeType": "IndexAccess",
                                                        "src": "6941:7:68",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                                          "typeString": "struct WitnetCBOR.CBOR memory"
                                                        }
                                                      },
                                                      "id": 22880,
                                                      "isConstant": false,
                                                      "isLValue": true,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "memberLocation": "6949:8:68",
                                                      "memberName": "readUint",
                                                      "nodeType": "MemberAccess",
                                                      "referencedDeclaration": 20603,
                                                      "src": "6941:16:68",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_CBOR_$19218_memory_ptr_$",
                                                        "typeString": "function (struct WitnetCBOR.CBOR memory) pure returns (uint256)"
                                                      }
                                                    },
                                                    "id": 22881,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "nameLocations": [],
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "6941:18:68",
                                                    "tryCall": false,
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_uint256",
                                                      "typeString": "uint256"
                                                    }
                                                  },
                                                  {
                                                    "id": 22882,
                                                    "name": "args",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 22782,
                                                    "src": "6961:4:68",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                                      "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                                    }
                                                  }
                                                ],
                                                "expression": {
                                                  "argumentTypes": [
                                                    {
                                                      "typeIdentifier": "t_uint256",
                                                      "typeString": "uint256"
                                                    },
                                                    {
                                                      "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                                      "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                                    }
                                                  ],
                                                  "id": 22876,
                                                  "name": "_stringify",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [
                                                    22982,
                                                    23172
                                                  ],
                                                  "referencedDeclaration": 23172,
                                                  "src": "6930:10:68",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$",
                                                    "typeString": "function (uint256,struct WitnetCBOR.CBOR memory[] memory) pure returns (string memory)"
                                                  }
                                                },
                                                "id": 22883,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "nameLocations": [],
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "6930:36:68",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_string_memory_ptr",
                                                  "typeString": "string memory"
                                                }
                                              }
                                            ],
                                            "expression": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_stringliteral_e1985157138a8bc399ee376b35af954da41fb40a0016a3e224169dd11244f7fc",
                                                  "typeString": "literal_string \"malformed response: \""
                                                },
                                                {
                                                  "typeIdentifier": "t_string_memory_ptr",
                                                  "typeString": "string memory"
                                                }
                                              ],
                                              "expression": {
                                                "id": 22873,
                                                "name": "abi",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 4294967295,
                                                "src": "6854:3:68",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_magic_abi",
                                                  "typeString": "abi"
                                                }
                                              },
                                              "id": 22874,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "memberLocation": "6858:12:68",
                                              "memberName": "encodePacked",
                                              "nodeType": "MemberAccess",
                                              "src": "6854:16:68",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                                "typeString": "function () pure returns (bytes memory)"
                                              }
                                            },
                                            "id": 22884,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "nameLocations": [],
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "6854:127:68",
                                            "tryCall": false,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes_memory_ptr",
                                              "typeString": "bytes memory"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes_memory_ptr",
                                              "typeString": "bytes memory"
                                            }
                                          ],
                                          "id": 22872,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "6847:6:68",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                            "typeString": "type(string storage pointer)"
                                          },
                                          "typeName": {
                                            "id": 22871,
                                            "name": "string",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "6847:6:68",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 22885,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6847:135:68",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      },
                                      "functionReturnParameters": 22786,
                                      "id": 22886,
                                      "nodeType": "Return",
                                      "src": "6840:142:68"
                                    }
                                  ]
                                }
                              },
                              "id": 22974,
                              "nodeType": "IfStatement",
                              "src": "6587:1452:68",
                              "trueBody": {
                                "id": 22860,
                                "nodeType": "Block",
                                "src": "6644:59:68",
                                "statements": [
                                  {
                                    "expression": {
                                      "hexValue": "696e636f6e73697374656e7420736f75726365732e",
                                      "id": 22858,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "string",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "6666:23:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_stringliteral_5d75d74c2647192492559228389173b4242a2dd5f681a6149374115fe06b4c66",
                                        "typeString": "literal_string \"inconsistent sources.\""
                                      },
                                      "value": "inconsistent sources."
                                    },
                                    "functionReturnParameters": 22786,
                                    "id": 22859,
                                    "nodeType": "Return",
                                    "src": "6659:30:68"
                                  }
                                ]
                              }
                            },
                            "id": 22975,
                            "nodeType": "IfStatement",
                            "src": "6365:1674:68",
                            "trueBody": {
                              "id": 22852,
                              "nodeType": "Block",
                              "src": "6526:55:68",
                              "statements": [
                                {
                                  "expression": {
                                    "hexValue": "6f76657273697a656420726573756c742e",
                                    "id": 22850,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "string",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "6548:19:68",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_stringliteral_454a9570ab63ddcf733bd5bca0ca269d312e32ab52f6c83a906de6212a52043c",
                                      "typeString": "literal_string \"oversized result.\""
                                    },
                                    "value": "oversized result."
                                  },
                                  "functionReturnParameters": 22786,
                                  "id": 22851,
                                  "nodeType": "Return",
                                  "src": "6541:26:68"
                                }
                              ]
                            }
                          },
                          "id": 22976,
                          "nodeType": "IfStatement",
                          "src": "6245:1794:68",
                          "trueBody": {
                            "id": 22838,
                            "nodeType": "Block",
                            "src": "6303:56:68",
                            "statements": [
                              {
                                "expression": {
                                  "hexValue": "617320666f7220746865206272696467652e",
                                  "id": 22836,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "string",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "6325:20:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_stringliteral_94a1a211873f34f9d355198191ee79f065f1a51ac42b752353d710efa5e74796",
                                    "typeString": "literal_string \"as for the bridge.\""
                                  },
                                  "value": "as for the bridge."
                                },
                                "functionReturnParameters": 22786,
                                "id": 22837,
                                "nodeType": "Return",
                                "src": "6318:27:68"
                              }
                            ]
                          }
                        },
                        "id": 22977,
                        "nodeType": "IfStatement",
                        "src": "6123:1916:68",
                        "trueBody": {
                          "id": 22830,
                          "nodeType": "Block",
                          "src": "6180:59:68",
                          "statements": [
                            {
                              "expression": {
                                "hexValue": "696e73756666696369656e742072657665616c732e",
                                "id": 22828,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "6202:23:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_c9ab001dc4e88da397e9ee9c0cc43d1bfe29542132b5f82bb6f56de5c6bbebbe",
                                  "typeString": "literal_string \"insufficient reveals.\""
                                },
                                "value": "insufficient reveals."
                              },
                              "functionReturnParameters": 22786,
                              "id": 22829,
                              "nodeType": "Return",
                              "src": "6195:30:68"
                            }
                          ]
                        }
                      },
                      "id": 22978,
                      "nodeType": "IfStatement",
                      "src": "5999:2040:68",
                      "trueBody": {
                        "id": 22822,
                        "nodeType": "Block",
                        "src": "6057:60:68",
                        "statements": [
                          {
                            "expression": {
                              "hexValue": "696e73756666696369656e74206d616a6f726974792e",
                              "id": 22820,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6079:24:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_6373e566abae65fb625a14062315dc424c81fd8e323b6be7af8f88e39284345a",
                                "typeString": "literal_string \"insufficient majority.\""
                              },
                              "value": "insufficient majority."
                            },
                            "functionReturnParameters": 22786,
                            "id": 22821,
                            "nodeType": "Return",
                            "src": "6072:31:68"
                          }
                        ]
                      }
                    },
                    "id": 22979,
                    "nodeType": "IfStatement",
                    "src": "5794:2245:68",
                    "trueBody": {
                      "id": 22814,
                      "nodeType": "Block",
                      "src": "5913:80:68",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "baseExpression": {
                                      "id": 22806,
                                      "name": "args",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 22782,
                                      "src": "5946:4:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                        "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                      }
                                    },
                                    "id": 22808,
                                    "indexExpression": {
                                      "hexValue": "31",
                                      "id": 22807,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "5951:1:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_1_by_1",
                                        "typeString": "int_const 1"
                                      },
                                      "value": "1"
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "5946:7:68",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                      "typeString": "struct WitnetCBOR.CBOR memory"
                                    }
                                  },
                                  "id": 22809,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "5954:8:68",
                                  "memberName": "readUint",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 20603,
                                  "src": "5946:16:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_CBOR_$19218_memory_ptr_$",
                                    "typeString": "function (struct WitnetCBOR.CBOR memory) pure returns (uint256)"
                                  }
                                },
                                "id": 22810,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5946:18:68",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "id": 22811,
                                "name": "args",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 22782,
                                "src": "5966:4:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                }
                              ],
                              "id": 22805,
                              "name": "_stringify",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                22982,
                                23172
                              ],
                              "referencedDeclaration": 23172,
                              "src": "5935:10:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (uint256,struct WitnetCBOR.CBOR memory[] memory) pure returns (string memory)"
                              }
                            },
                            "id": 22812,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5935:36:68",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "functionReturnParameters": 22786,
                          "id": 22813,
                          "nodeType": "Return",
                          "src": "5928:43:68"
                        }
                      ]
                    }
                  },
                  "id": 22980,
                  "nodeType": "IfStatement",
                  "src": "5672:2367:68",
                  "trueBody": {
                    "id": 22794,
                    "nodeType": "Block",
                    "src": "5729:59:68",
                    "statements": [
                      {
                        "expression": {
                          "hexValue": "696e73756666696369656e7420636f6d6d6974732e",
                          "id": 22792,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5751:23:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_434b37efb66ef0fefd66bd1286d59d292509dffb82961c2d63d2c098f4ad57a3",
                            "typeString": "literal_string \"insufficient commits.\""
                          },
                          "value": "insufficient commits."
                        },
                        "functionReturnParameters": 22786,
                        "id": 22793,
                        "nodeType": "Return",
                        "src": "5744:30:68"
                      }
                    ]
                  }
                }
              ]
            },
            "id": 22982,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_stringify",
            "nameLocation": "5529:10:68",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22783,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22778,
                  "mutability": "mutable",
                  "name": "code",
                  "nameLocation": "5564:4:68",
                  "nodeType": "VariableDeclaration",
                  "scope": 22982,
                  "src": "5540:28:68",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                    "typeString": "enum Witnet.ResultErrorCodes"
                  },
                  "typeName": {
                    "id": 22777,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22776,
                      "name": "Witnet.ResultErrorCodes",
                      "nameLocations": [
                        "5540:6:68",
                        "5547:16:68"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16311,
                      "src": "5540:23:68"
                    },
                    "referencedDeclaration": 16311,
                    "src": "5540:23:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                      "typeString": "enum Witnet.ResultErrorCodes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22782,
                  "mutability": "mutable",
                  "name": "args",
                  "nameLocation": "5595:4:68",
                  "nodeType": "VariableDeclaration",
                  "scope": 22982,
                  "src": "5570:29:68",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct WitnetCBOR.CBOR[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 22780,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 22779,
                        "name": "WitnetCBOR.CBOR",
                        "nameLocations": [
                          "5570:10:68",
                          "5581:4:68"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 19218,
                        "src": "5570:15:68"
                      },
                      "referencedDeclaration": 19218,
                      "src": "5570:15:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_CBOR_$19218_storage_ptr",
                        "typeString": "struct WitnetCBOR.CBOR"
                      }
                    },
                    "id": 22781,
                    "nodeType": "ArrayTypeName",
                    "src": "5570:17:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_storage_$dyn_storage_ptr",
                      "typeString": "struct WitnetCBOR.CBOR[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5539:61:68"
            },
            "returnParameters": {
              "id": 22786,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22785,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22982,
                  "src": "5641:13:68",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 22784,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5641:6:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5640:15:68"
            },
            "scope": 23206,
            "src": "5520:2526:68",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "private"
          },
          {
            "body": {
              "id": 23171,
              "nodeType": "Block",
              "src": "8180:2012:68",
              "statements": [
                {
                  "assignments": [
                    22997
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 22997,
                      "mutability": "mutable",
                      "name": "_code",
                      "nameLocation": "8215:5:68",
                      "nodeType": "VariableDeclaration",
                      "scope": 23171,
                      "src": "8191:29:68",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                        "typeString": "enum Witnet.ResultErrorCodes"
                      },
                      "typeName": {
                        "id": 22996,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 22995,
                          "name": "Witnet.ResultErrorCodes",
                          "nameLocations": [
                            "8191:6:68",
                            "8198:16:68"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 16311,
                          "src": "8191:23:68"
                        },
                        "referencedDeclaration": 16311,
                        "src": "8191:23:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                          "typeString": "enum Witnet.ResultErrorCodes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 23002,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 23000,
                        "name": "subcode",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22984,
                        "src": "8247:7:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 22998,
                        "name": "Witnet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 17557,
                        "src": "8223:6:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                          "typeString": "type(library Witnet)"
                        }
                      },
                      "id": 22999,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8230:16:68",
                      "memberName": "ResultErrorCodes",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 16311,
                      "src": "8223:23:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                        "typeString": "type(enum Witnet.ResultErrorCodes)"
                      }
                    },
                    "id": 23001,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8223:32:68",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                      "typeString": "enum Witnet.ResultErrorCodes"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8191:64:68"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                      "typeString": "enum Witnet.ResultErrorCodes"
                    },
                    "id": 23007,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 23003,
                      "name": "_code",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 22997,
                      "src": "8309:5:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                        "typeString": "enum Witnet.ResultErrorCodes"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 23004,
                          "name": "Witnet",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 17557,
                          "src": "8318:6:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                            "typeString": "type(library Witnet)"
                          }
                        },
                        "id": 23005,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "8325:16:68",
                        "memberName": "ResultErrorCodes",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16311,
                        "src": "8318:23:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                          "typeString": "type(enum Witnet.ResultErrorCodes)"
                        }
                      },
                      "id": 23006,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "8342:10:68",
                      "memberName": "HttpErrors",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 16104,
                      "src": "8318:34:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                        "typeString": "enum Witnet.ResultErrorCodes"
                      }
                    },
                    "src": "8309:43:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                        "typeString": "enum Witnet.ResultErrorCodes"
                      },
                      "id": 23037,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 23033,
                        "name": "_code",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 22997,
                        "src": "8658:5:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                          "typeString": "enum Witnet.ResultErrorCodes"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 23034,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 17557,
                            "src": "8667:6:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 23035,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "8674:16:68",
                          "memberName": "ResultErrorCodes",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16311,
                          "src": "8667:23:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                            "typeString": "type(enum Witnet.ResultErrorCodes)"
                          }
                        },
                        "id": 23036,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "8691:17:68",
                        "memberName": "RetrievalsTimeout",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 16105,
                        "src": "8667:41:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                          "typeString": "enum Witnet.ResultErrorCodes"
                        }
                      },
                      "src": "8658:50:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                          "typeString": "enum Witnet.ResultErrorCodes"
                        },
                        "id": 23045,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 23041,
                          "name": "_code",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 22997,
                          "src": "8775:5:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                            "typeString": "enum Witnet.ResultErrorCodes"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "expression": {
                              "id": 23042,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 17557,
                              "src": "8784:6:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 23043,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "8791:16:68",
                            "memberName": "ResultErrorCodes",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 16311,
                            "src": "8784:23:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                              "typeString": "type(enum Witnet.ResultErrorCodes)"
                            }
                          },
                          "id": 23044,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "8808:21:68",
                          "memberName": "ArrayIndexOutOfBounds",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 16167,
                          "src": "8784:45:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                            "typeString": "enum Witnet.ResultErrorCodes"
                          }
                        },
                        "src": "8775:54:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseBody": {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                            "typeString": "enum Witnet.ResultErrorCodes"
                          },
                          "id": 23075,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 23071,
                            "name": "_code",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22997,
                            "src": "9155:5:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                              "typeString": "enum Witnet.ResultErrorCodes"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 23072,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 17557,
                                "src": "9164:6:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 23073,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "9171:16:68",
                              "memberName": "ResultErrorCodes",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16311,
                              "src": "9164:23:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                                "typeString": "type(enum Witnet.ResultErrorCodes)"
                              }
                            },
                            "id": 23074,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "9188:14:68",
                            "memberName": "MapKeyNotFound",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 16168,
                            "src": "9164:38:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                              "typeString": "enum Witnet.ResultErrorCodes"
                            }
                          },
                          "src": "9155:47:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "condition": {
                            "commonType": {
                              "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                              "typeString": "enum Witnet.ResultErrorCodes"
                            },
                            "id": 23103,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 23099,
                              "name": "_code",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22997,
                              "src": "9503:5:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                "typeString": "enum Witnet.ResultErrorCodes"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "==",
                            "rightExpression": {
                              "expression": {
                                "expression": {
                                  "id": 23100,
                                  "name": "Witnet",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 17557,
                                  "src": "9512:6:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                    "typeString": "type(library Witnet)"
                                  }
                                },
                                "id": 23101,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "9519:16:68",
                                "memberName": "ResultErrorCodes",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 16311,
                                "src": "9512:23:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_ResultErrorCodes_$16311_$",
                                  "typeString": "type(enum Witnet.ResultErrorCodes)"
                                }
                              },
                              "id": 23102,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "9536:16:68",
                              "memberName": "JsonPathNotFound",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 16169,
                              "src": "9512:40:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                "typeString": "enum Witnet.ResultErrorCodes"
                              }
                            },
                            "src": "9503:49:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseBody": {
                            "id": 23165,
                            "nodeType": "Block",
                            "src": "9879:306:68",
                            "statements": [
                              {
                                "expression": {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "hexValue": "3078",
                                          "id": 23131,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "string",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "9943:4:68",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_stringliteral_39bef1777deb3dfb14f64b9f81ced092c501fee72f90e93d03bb95ee89df9837",
                                            "typeString": "literal_string \"0x\""
                                          },
                                          "value": "0x"
                                        },
                                        {
                                          "arguments": [
                                            {
                                              "arguments": [
                                                {
                                                  "id": 23136,
                                                  "name": "_code",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 22997,
                                                  "src": "9991:5:68",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                                    "typeString": "enum Witnet.ResultErrorCodes"
                                                  }
                                                }
                                              ],
                                              "expression": {
                                                "argumentTypes": [
                                                  {
                                                    "typeIdentifier": "t_enum$_ResultErrorCodes_$16311",
                                                    "typeString": "enum Witnet.ResultErrorCodes"
                                                  }
                                                ],
                                                "id": 23135,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "lValueRequested": false,
                                                "nodeType": "ElementaryTypeNameExpression",
                                                "src": "9985:5:68",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_type$_t_uint8_$",
                                                  "typeString": "type(uint8)"
                                                },
                                                "typeName": {
                                                  "id": 23134,
                                                  "name": "uint8",
                                                  "nodeType": "ElementaryTypeName",
                                                  "src": "9985:5:68",
                                                  "typeDescriptions": {}
                                                }
                                              },
                                              "id": 23137,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "typeConversion",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "9985:12:68",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint8",
                                                "typeString": "uint8"
                                              }
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_uint8",
                                                "typeString": "uint8"
                                              }
                                            ],
                                            "expression": {
                                              "id": 23132,
                                              "name": "Witnet",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 17557,
                                              "src": "9966:6:68",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_contract$_Witnet_$17557_$",
                                                "typeString": "type(library Witnet)"
                                              }
                                            },
                                            "id": 23133,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberLocation": "9973:11:68",
                                            "memberName": "toHexString",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 16596,
                                            "src": "9966:18:68",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_function_internal_pure$_t_uint8_$returns$_t_string_memory_ptr_$",
                                              "typeString": "function (uint8) pure returns (string memory)"
                                            }
                                          },
                                          "id": 23138,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "functionCall",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "9966:32:68",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        },
                                        {
                                          "condition": {
                                            "commonType": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            },
                                            "id": 23142,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftExpression": {
                                              "expression": {
                                                "id": 23139,
                                                "name": "args",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 22988,
                                                "src": "10017:4:68",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                                  "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                                }
                                              },
                                              "id": 23140,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "10022:6:68",
                                              "memberName": "length",
                                              "nodeType": "MemberAccess",
                                              "src": "10017:11:68",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            },
                                            "nodeType": "BinaryOperation",
                                            "operator": ">",
                                            "rightExpression": {
                                              "hexValue": "33",
                                              "id": 23141,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "kind": "number",
                                              "lValueRequested": false,
                                              "nodeType": "Literal",
                                              "src": "10031:1:68",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_rational_3_by_1",
                                                "typeString": "int_const 3"
                                              },
                                              "value": "3"
                                            },
                                            "src": "10017:15:68",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bool",
                                              "typeString": "bool"
                                            }
                                          },
                                          "falseExpression": {
                                            "hexValue": "",
                                            "id": 23160,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "string",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "10155:2:68",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                              "typeString": "literal_string \"\""
                                            },
                                            "value": ""
                                          },
                                          "id": 23161,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "nodeType": "Conditional",
                                          "src": "10017:140:68",
                                          "trueExpression": {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "hexValue": "20282b",
                                                    "id": 23147,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "string",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "10080:5:68",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_stringliteral_484ad9155b109c08d264f37ba45b57e5a53236bcee32e19252f498c9de21e9c0",
                                                      "typeString": "literal_string \" (+\""
                                                    },
                                                    "value": " (+"
                                                  },
                                                  {
                                                    "arguments": [],
                                                    "expression": {
                                                      "argumentTypes": [],
                                                      "expression": {
                                                        "arguments": [
                                                          {
                                                            "commonType": {
                                                              "typeIdentifier": "t_uint256",
                                                              "typeString": "uint256"
                                                            },
                                                            "id": 23153,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "leftExpression": {
                                                              "expression": {
                                                                "id": 23150,
                                                                "name": "args",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 22988,
                                                                "src": "10092:4:68",
                                                                "typeDescriptions": {
                                                                  "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                                                  "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                                                }
                                                              },
                                                              "id": 23151,
                                                              "isConstant": false,
                                                              "isLValue": false,
                                                              "isPure": false,
                                                              "lValueRequested": false,
                                                              "memberLocation": "10097:6:68",
                                                              "memberName": "length",
                                                              "nodeType": "MemberAccess",
                                                              "src": "10092:11:68",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                              }
                                                            },
                                                            "nodeType": "BinaryOperation",
                                                            "operator": "-",
                                                            "rightExpression": {
                                                              "hexValue": "33",
                                                              "id": 23152,
                                                              "isConstant": false,
                                                              "isLValue": false,
                                                              "isPure": true,
                                                              "kind": "number",
                                                              "lValueRequested": false,
                                                              "nodeType": "Literal",
                                                              "src": "10106:1:68",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_rational_3_by_1",
                                                                "typeString": "int_const 3"
                                                              },
                                                              "value": "3"
                                                            },
                                                            "src": "10092:15:68",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_uint256",
                                                              "typeString": "uint256"
                                                            }
                                                          }
                                                        ],
                                                        "expression": {
                                                          "argumentTypes": [
                                                            {
                                                              "typeIdentifier": "t_uint256",
                                                              "typeString": "uint256"
                                                            }
                                                          ],
                                                          "id": 23149,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": true,
                                                          "lValueRequested": false,
                                                          "nodeType": "ElementaryTypeNameExpression",
                                                          "src": "10087:4:68",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_type$_t_uint256_$",
                                                            "typeString": "type(uint256)"
                                                          },
                                                          "typeName": {
                                                            "id": 23148,
                                                            "name": "uint",
                                                            "nodeType": "ElementaryTypeName",
                                                            "src": "10087:4:68",
                                                            "typeDescriptions": {}
                                                          }
                                                        },
                                                        "id": 23154,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "kind": "typeConversion",
                                                        "lValueRequested": false,
                                                        "nameLocations": [],
                                                        "names": [],
                                                        "nodeType": "FunctionCall",
                                                        "src": "10087:21:68",
                                                        "tryCall": false,
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_uint256",
                                                          "typeString": "uint256"
                                                        }
                                                      },
                                                      "id": 23155,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "memberLocation": "10109:8:68",
                                                      "memberName": "toString",
                                                      "nodeType": "MemberAccess",
                                                      "referencedDeclaration": 16840,
                                                      "src": "10087:30:68",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_uint256_$",
                                                        "typeString": "function (uint256) pure returns (string memory)"
                                                      }
                                                    },
                                                    "id": 23156,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "nameLocations": [],
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "10087:32:68",
                                                    "tryCall": false,
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_string_memory_ptr",
                                                      "typeString": "string memory"
                                                    }
                                                  },
                                                  {
                                                    "hexValue": "206172677329",
                                                    "id": 23157,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "string",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "10121:8:68",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_stringliteral_4f5b520b366b6f3a91021ddae30b16b22836be60b06e1f8556f1f0f0cc9db37a",
                                                      "typeString": "literal_string \" args)\""
                                                    },
                                                    "value": " args)"
                                                  }
                                                ],
                                                "expression": {
                                                  "argumentTypes": [
                                                    {
                                                      "typeIdentifier": "t_stringliteral_484ad9155b109c08d264f37ba45b57e5a53236bcee32e19252f498c9de21e9c0",
                                                      "typeString": "literal_string \" (+\""
                                                    },
                                                    {
                                                      "typeIdentifier": "t_string_memory_ptr",
                                                      "typeString": "string memory"
                                                    },
                                                    {
                                                      "typeIdentifier": "t_stringliteral_4f5b520b366b6f3a91021ddae30b16b22836be60b06e1f8556f1f0f0cc9db37a",
                                                      "typeString": "literal_string \" args)\""
                                                    }
                                                  ],
                                                  "expression": {
                                                    "id": 23145,
                                                    "name": "abi",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 4294967295,
                                                    "src": "10063:3:68",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_magic_abi",
                                                      "typeString": "abi"
                                                    }
                                                  },
                                                  "id": 23146,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "lValueRequested": false,
                                                  "memberLocation": "10067:12:68",
                                                  "memberName": "encodePacked",
                                                  "nodeType": "MemberAccess",
                                                  "src": "10063:16:68",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                                    "typeString": "function () pure returns (bytes memory)"
                                                  }
                                                },
                                                "id": 23158,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "nameLocations": [],
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "10063:67:68",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_bytes_memory_ptr",
                                                  "typeString": "bytes memory"
                                                }
                                              }
                                            ],
                                            "expression": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_bytes_memory_ptr",
                                                  "typeString": "bytes memory"
                                                }
                                              ],
                                              "id": 23144,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "nodeType": "ElementaryTypeNameExpression",
                                              "src": "10056:6:68",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                "typeString": "type(string storage pointer)"
                                              },
                                              "typeName": {
                                                "id": 23143,
                                                "name": "string",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "10056:6:68",
                                                "typeDescriptions": {}
                                              }
                                            },
                                            "id": 23159,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "typeConversion",
                                            "lValueRequested": false,
                                            "nameLocations": [],
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "10056:75:68",
                                            "tryCall": false,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            }
                                          },
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_stringliteral_39bef1777deb3dfb14f64b9f81ced092c501fee72f90e93d03bb95ee89df9837",
                                            "typeString": "literal_string \"0x\""
                                          },
                                          {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          },
                                          {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        ],
                                        "expression": {
                                          "id": 23129,
                                          "name": "abi",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4294967295,
                                          "src": "9908:3:68",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_abi",
                                            "typeString": "abi"
                                          }
                                        },
                                        "id": 23130,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "9912:12:68",
                                        "memberName": "encodePacked",
                                        "nodeType": "MemberAccess",
                                        "src": "9908:16:68",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                          "typeString": "function () pure returns (bytes memory)"
                                        }
                                      },
                                      "id": 23162,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "9908:264:68",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    ],
                                    "id": 23128,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "9901:6:68",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                      "typeString": "type(string storage pointer)"
                                    },
                                    "typeName": {
                                      "id": 23127,
                                      "name": "string",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "9901:6:68",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 23163,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "9901:272:68",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "functionReturnParameters": 22992,
                                "id": 23164,
                                "nodeType": "Return",
                                "src": "9894:279:68"
                              }
                            ]
                          },
                          "id": 23166,
                          "nodeType": "IfStatement",
                          "src": "9499:686:68",
                          "trueBody": {
                            "id": 23126,
                            "nodeType": "Block",
                            "src": "9554:319:68",
                            "statements": [
                              {
                                "condition": {
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 23107,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "expression": {
                                      "id": 23104,
                                      "name": "args",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 22988,
                                      "src": "9573:4:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                        "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                      }
                                    },
                                    "id": 23105,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "9578:6:68",
                                    "memberName": "length",
                                    "nodeType": "MemberAccess",
                                    "src": "9573:11:68",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": ">",
                                  "rightExpression": {
                                    "hexValue": "33",
                                    "id": 23106,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "9587:1:68",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_3_by_1",
                                      "typeString": "int_const 3"
                                    },
                                    "value": "3"
                                  },
                                  "src": "9573:15:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "falseBody": {
                                  "id": 23124,
                                  "nodeType": "Block",
                                  "src": "9779:73:68",
                                  "statements": [
                                    {
                                      "expression": {
                                        "hexValue": "6a736f6e20706174682072657475726e6564206e6f2076616c7565732e",
                                        "id": 23122,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "string",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "9805:31:68",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_stringliteral_a275ab44e6d9dfbfdb15239a503e6fd51c7fa337432ae2e56065e12dc7369c8d",
                                          "typeString": "literal_string \"json path returned no values.\""
                                        },
                                        "value": "json path returned no values."
                                      },
                                      "functionReturnParameters": 22992,
                                      "id": 23123,
                                      "nodeType": "Return",
                                      "src": "9798:38:68"
                                    }
                                  ]
                                },
                                "id": 23125,
                                "nodeType": "IfStatement",
                                "src": "9569:283:68",
                                "trueBody": {
                                  "id": 23121,
                                  "nodeType": "Block",
                                  "src": "9590:183:68",
                                  "statements": [
                                    {
                                      "expression": {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "hexValue": "6a736f6e20706174682072657475726e6564206e6f2076616c7565733a20",
                                                "id": 23112,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "9662:32:68",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_stringliteral_98b90842f3e118a56fd2133767cd994018d040f907be1644af621eecfde8d95f",
                                                  "typeString": "literal_string \"json path returned no values: \""
                                                },
                                                "value": "json path returned no values: "
                                              },
                                              {
                                                "arguments": [],
                                                "expression": {
                                                  "argumentTypes": [],
                                                  "expression": {
                                                    "baseExpression": {
                                                      "id": 23113,
                                                      "name": "args",
                                                      "nodeType": "Identifier",
                                                      "overloadedDeclarations": [],
                                                      "referencedDeclaration": 22988,
                                                      "src": "9717:4:68",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                                        "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                                      }
                                                    },
                                                    "id": 23115,
                                                    "indexExpression": {
                                                      "hexValue": "32",
                                                      "id": 23114,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": true,
                                                      "kind": "number",
                                                      "lValueRequested": false,
                                                      "nodeType": "Literal",
                                                      "src": "9722:1:68",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_rational_2_by_1",
                                                        "typeString": "int_const 2"
                                                      },
                                                      "value": "2"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "9717:7:68",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                                      "typeString": "struct WitnetCBOR.CBOR memory"
                                                    }
                                                  },
                                                  "id": 23116,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "memberLocation": "9725:10:68",
                                                  "memberName": "readString",
                                                  "nodeType": "MemberAccess",
                                                  "referencedDeclaration": 20511,
                                                  "src": "9717:18:68",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$returns$_t_string_memory_ptr_$attached_to$_t_struct$_CBOR_$19218_memory_ptr_$",
                                                    "typeString": "function (struct WitnetCBOR.CBOR memory) pure returns (string memory)"
                                                  }
                                                },
                                                "id": 23117,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "nameLocations": [],
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "9717:20:68",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_string_memory_ptr",
                                                  "typeString": "string memory"
                                                }
                                              }
                                            ],
                                            "expression": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_stringliteral_98b90842f3e118a56fd2133767cd994018d040f907be1644af621eecfde8d95f",
                                                  "typeString": "literal_string \"json path returned no values: \""
                                                },
                                                {
                                                  "typeIdentifier": "t_string_memory_ptr",
                                                  "typeString": "string memory"
                                                }
                                              ],
                                              "expression": {
                                                "id": 23110,
                                                "name": "abi",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 4294967295,
                                                "src": "9623:3:68",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_magic_abi",
                                                  "typeString": "abi"
                                                }
                                              },
                                              "id": 23111,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "memberLocation": "9627:12:68",
                                              "memberName": "encodePacked",
                                              "nodeType": "MemberAccess",
                                              "src": "9623:16:68",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                                "typeString": "function () pure returns (bytes memory)"
                                              }
                                            },
                                            "id": 23118,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "nameLocations": [],
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "9623:133:68",
                                            "tryCall": false,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes_memory_ptr",
                                              "typeString": "bytes memory"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes_memory_ptr",
                                              "typeString": "bytes memory"
                                            }
                                          ],
                                          "id": 23109,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "9616:6:68",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                            "typeString": "type(string storage pointer)"
                                          },
                                          "typeName": {
                                            "id": 23108,
                                            "name": "string",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "9616:6:68",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 23119,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "9616:141:68",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      },
                                      "functionReturnParameters": 22992,
                                      "id": 23120,
                                      "nodeType": "Return",
                                      "src": "9609:148:68"
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        },
                        "id": 23167,
                        "nodeType": "IfStatement",
                        "src": "9151:1034:68",
                        "trueBody": {
                          "id": 23098,
                          "nodeType": "Block",
                          "src": "9204:289:68",
                          "statements": [
                            {
                              "condition": {
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 23079,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "expression": {
                                    "id": 23076,
                                    "name": "args",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 22988,
                                    "src": "9223:4:68",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                      "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                    }
                                  },
                                  "id": 23077,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "9228:6:68",
                                  "memberName": "length",
                                  "nodeType": "MemberAccess",
                                  "src": "9223:11:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": ">",
                                "rightExpression": {
                                  "hexValue": "33",
                                  "id": 23078,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "9237:1:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_3_by_1",
                                    "typeString": "int_const 3"
                                  },
                                  "value": "3"
                                },
                                "src": "9223:15:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "falseBody": {
                                "id": 23096,
                                "nodeType": "Block",
                                "src": "9418:62:68",
                                "statements": [
                                  {
                                    "expression": {
                                      "hexValue": "6d6170206b6579206e6f7420666f756e642e",
                                      "id": 23094,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "string",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "9444:20:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_stringliteral_7f05822e63be89166163987f1815fc98b6129bb826b3ab7d2169d325dfb4ae97",
                                        "typeString": "literal_string \"map key not found.\""
                                      },
                                      "value": "map key not found."
                                    },
                                    "functionReturnParameters": 22992,
                                    "id": 23095,
                                    "nodeType": "Return",
                                    "src": "9437:27:68"
                                  }
                                ]
                              },
                              "id": 23097,
                              "nodeType": "IfStatement",
                              "src": "9219:261:68",
                              "trueBody": {
                                "id": 23093,
                                "nodeType": "Block",
                                "src": "9240:172:68",
                                "statements": [
                                  {
                                    "expression": {
                                      "arguments": [
                                        {
                                          "arguments": [
                                            {
                                              "hexValue": "6d6170206b6579206e6f7420666f756e643a20",
                                              "id": 23084,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "kind": "string",
                                              "lValueRequested": false,
                                              "nodeType": "Literal",
                                              "src": "9312:21:68",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_stringliteral_b538ad40f111419c5bd9d21ecdbf80392f335f2b8051978ad38bc97197eb1c60",
                                                "typeString": "literal_string \"map key not found: \""
                                              },
                                              "value": "map key not found: "
                                            },
                                            {
                                              "arguments": [],
                                              "expression": {
                                                "argumentTypes": [],
                                                "expression": {
                                                  "baseExpression": {
                                                    "id": 23085,
                                                    "name": "args",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 22988,
                                                    "src": "9356:4:68",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                                      "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                                    }
                                                  },
                                                  "id": 23087,
                                                  "indexExpression": {
                                                    "hexValue": "32",
                                                    "id": 23086,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "number",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "9361:1:68",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_rational_2_by_1",
                                                      "typeString": "int_const 2"
                                                    },
                                                    "value": "2"
                                                  },
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "nodeType": "IndexAccess",
                                                  "src": "9356:7:68",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                                    "typeString": "struct WitnetCBOR.CBOR memory"
                                                  }
                                                },
                                                "id": 23088,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberLocation": "9364:10:68",
                                                "memberName": "readString",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 20511,
                                                "src": "9356:18:68",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$returns$_t_string_memory_ptr_$attached_to$_t_struct$_CBOR_$19218_memory_ptr_$",
                                                  "typeString": "function (struct WitnetCBOR.CBOR memory) pure returns (string memory)"
                                                }
                                              },
                                              "id": 23089,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "functionCall",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "9356:20:68",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_stringliteral_b538ad40f111419c5bd9d21ecdbf80392f335f2b8051978ad38bc97197eb1c60",
                                                "typeString": "literal_string \"map key not found: \""
                                              },
                                              {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            ],
                                            "expression": {
                                              "id": 23082,
                                              "name": "abi",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 4294967295,
                                              "src": "9273:3:68",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_magic_abi",
                                                "typeString": "abi"
                                              }
                                            },
                                            "id": 23083,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "memberLocation": "9277:12:68",
                                            "memberName": "encodePacked",
                                            "nodeType": "MemberAccess",
                                            "src": "9273:16:68",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                              "typeString": "function () pure returns (bytes memory)"
                                            }
                                          },
                                          "id": 23090,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "functionCall",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "9273:122:68",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_memory_ptr",
                                            "typeString": "bytes memory"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_bytes_memory_ptr",
                                            "typeString": "bytes memory"
                                          }
                                        ],
                                        "id": 23081,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "9266:6:68",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                          "typeString": "type(string storage pointer)"
                                        },
                                        "typeName": {
                                          "id": 23080,
                                          "name": "string",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "9266:6:68",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 23091,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "9266:130:68",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    },
                                    "functionReturnParameters": 22992,
                                    "id": 23092,
                                    "nodeType": "Return",
                                    "src": "9259:137:68"
                                  }
                                ]
                              }
                            }
                          ]
                        }
                      },
                      "id": 23168,
                      "nodeType": "IfStatement",
                      "src": "8771:1414:68",
                      "trueBody": {
                        "id": 23070,
                        "nodeType": "Block",
                        "src": "8831:314:68",
                        "statements": [
                          {
                            "condition": {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 23049,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "id": 23046,
                                  "name": "args",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 22988,
                                  "src": "8850:4:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                    "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                  }
                                },
                                "id": 23047,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "8855:6:68",
                                "memberName": "length",
                                "nodeType": "MemberAccess",
                                "src": "8850:11:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">",
                              "rightExpression": {
                                "hexValue": "33",
                                "id": 23048,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "8864:1:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_3_by_1",
                                  "typeString": "int_const 3"
                                },
                                "value": "3"
                              },
                              "src": "8850:15:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "falseBody": {
                              "id": 23068,
                              "nodeType": "Block",
                              "src": "9062:70:68",
                              "statements": [
                                {
                                  "expression": {
                                    "hexValue": "617272617920696e646578206f7574206f6620626f756e64732e",
                                    "id": 23066,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "string",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "9088:28:68",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_stringliteral_c78113c4916a29fe2e60bb5d6e471e99024ed13aa309b2fb81ba44505d9da00e",
                                      "typeString": "literal_string \"array index out of bounds.\""
                                    },
                                    "value": "array index out of bounds."
                                  },
                                  "functionReturnParameters": 22992,
                                  "id": 23067,
                                  "nodeType": "Return",
                                  "src": "9081:35:68"
                                }
                              ]
                            },
                            "id": 23069,
                            "nodeType": "IfStatement",
                            "src": "8846:286:68",
                            "trueBody": {
                              "id": 23065,
                              "nodeType": "Block",
                              "src": "8867:189:68",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "hexValue": "617272617920696e646578206f7574206f6620626f756e64733a20",
                                            "id": 23054,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "string",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "8939:29:68",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_stringliteral_c88b6002b8a9e8d4da65428ee3dda051e966ac1a26fef129423741e1db9037ca",
                                              "typeString": "literal_string \"array index out of bounds: \""
                                            },
                                            "value": "array index out of bounds: "
                                          },
                                          {
                                            "arguments": [],
                                            "expression": {
                                              "argumentTypes": [],
                                              "expression": {
                                                "arguments": [],
                                                "expression": {
                                                  "argumentTypes": [],
                                                  "expression": {
                                                    "baseExpression": {
                                                      "id": 23055,
                                                      "name": "args",
                                                      "nodeType": "Identifier",
                                                      "overloadedDeclarations": [],
                                                      "referencedDeclaration": 22988,
                                                      "src": "8991:4:68",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                                        "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                                      }
                                                    },
                                                    "id": 23057,
                                                    "indexExpression": {
                                                      "hexValue": "32",
                                                      "id": 23056,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": true,
                                                      "kind": "number",
                                                      "lValueRequested": false,
                                                      "nodeType": "Literal",
                                                      "src": "8996:1:68",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_rational_2_by_1",
                                                        "typeString": "int_const 2"
                                                      },
                                                      "value": "2"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "8991:7:68",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                                      "typeString": "struct WitnetCBOR.CBOR memory"
                                                    }
                                                  },
                                                  "id": 23058,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "memberLocation": "8999:8:68",
                                                  "memberName": "readUint",
                                                  "nodeType": "MemberAccess",
                                                  "referencedDeclaration": 20603,
                                                  "src": "8991:16:68",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_CBOR_$19218_memory_ptr_$",
                                                    "typeString": "function (struct WitnetCBOR.CBOR memory) pure returns (uint256)"
                                                  }
                                                },
                                                "id": 23059,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "nameLocations": [],
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "8991:18:68",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_uint256",
                                                  "typeString": "uint256"
                                                }
                                              },
                                              "id": 23060,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "9010:8:68",
                                              "memberName": "toString",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 16840,
                                              "src": "8991:27:68",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_uint256_$",
                                                "typeString": "function (uint256) pure returns (string memory)"
                                              }
                                            },
                                            "id": 23061,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "nameLocations": [],
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "8991:29:68",
                                            "tryCall": false,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_stringliteral_c88b6002b8a9e8d4da65428ee3dda051e966ac1a26fef129423741e1db9037ca",
                                              "typeString": "literal_string \"array index out of bounds: \""
                                            },
                                            {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            }
                                          ],
                                          "expression": {
                                            "id": 23052,
                                            "name": "abi",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4294967295,
                                            "src": "8900:3:68",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_magic_abi",
                                              "typeString": "abi"
                                            }
                                          },
                                          "id": 23053,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "memberLocation": "8904:12:68",
                                          "memberName": "encodePacked",
                                          "nodeType": "MemberAccess",
                                          "src": "8900:16:68",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                            "typeString": "function () pure returns (bytes memory)"
                                          }
                                        },
                                        "id": 23062,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "8900:139:68",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      ],
                                      "id": 23051,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "8893:6:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                        "typeString": "type(string storage pointer)"
                                      },
                                      "typeName": {
                                        "id": 23050,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8893:6:68",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 23063,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "8893:147:68",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  },
                                  "functionReturnParameters": 22992,
                                  "id": 23064,
                                  "nodeType": "Return",
                                  "src": "8886:154:68"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    "id": 23169,
                    "nodeType": "IfStatement",
                    "src": "8654:1531:68",
                    "trueBody": {
                      "id": 23040,
                      "nodeType": "Block",
                      "src": "8710:55:68",
                      "statements": [
                        {
                          "expression": {
                            "hexValue": "726573706f6e73652074696d656f75742e",
                            "id": 23038,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "8732:19:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_c98c84fa8f4ca845099e0dfca61a23b419425cb62d0ec8224e37003fbb77d40e",
                              "typeString": "literal_string \"response timeout.\""
                            },
                            "value": "response timeout."
                          },
                          "functionReturnParameters": 22992,
                          "id": 23039,
                          "nodeType": "Return",
                          "src": "8725:26:68"
                        }
                      ]
                    }
                  },
                  "id": 23170,
                  "nodeType": "IfStatement",
                  "src": "8305:1880:68",
                  "trueBody": {
                    "id": 23032,
                    "nodeType": "Block",
                    "src": "8354:294:68",
                    "statements": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 23011,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "id": 23008,
                              "name": "args",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 22988,
                              "src": "8373:4:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                              }
                            },
                            "id": 23009,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "8378:6:68",
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "src": "8373:11:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "hexValue": "33",
                            "id": 23010,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "8387:1:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_3_by_1",
                              "typeString": "int_const 3"
                            },
                            "value": "3"
                          },
                          "src": "8373:15:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 23030,
                          "nodeType": "Block",
                          "src": "8563:72:68",
                          "statements": [
                            {
                              "expression": {
                                "hexValue": "756e737065636966696320687474702073746174757320636f64652e",
                                "id": 23028,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "8589:30:68",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_b026483072d3908cc2fda9eadb7796867699bfafa2e982b62ee5a898a7c7b7be",
                                  "typeString": "literal_string \"unspecific http status code.\""
                                },
                                "value": "unspecific http status code."
                              },
                              "functionReturnParameters": 22992,
                              "id": 23029,
                              "nodeType": "Return",
                              "src": "8582:37:68"
                            }
                          ]
                        },
                        "id": 23031,
                        "nodeType": "IfStatement",
                        "src": "8369:266:68",
                        "trueBody": {
                          "id": 23027,
                          "nodeType": "Block",
                          "src": "8390:167:68",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "hexValue": "687474702f",
                                        "id": 23016,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "string",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "8462:7:68",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_stringliteral_af98e92575825ed955877a76b91e527d99ee34eb180aa35895c9371e20b434c4",
                                          "typeString": "literal_string \"http/\""
                                        },
                                        "value": "http/"
                                      },
                                      {
                                        "arguments": [],
                                        "expression": {
                                          "argumentTypes": [],
                                          "expression": {
                                            "arguments": [],
                                            "expression": {
                                              "argumentTypes": [],
                                              "expression": {
                                                "baseExpression": {
                                                  "id": 23017,
                                                  "name": "args",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 22988,
                                                  "src": "8492:4:68",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                                                    "typeString": "struct WitnetCBOR.CBOR memory[] memory"
                                                  }
                                                },
                                                "id": 23019,
                                                "indexExpression": {
                                                  "hexValue": "32",
                                                  "id": 23018,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "kind": "number",
                                                  "lValueRequested": false,
                                                  "nodeType": "Literal",
                                                  "src": "8497:1:68",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_rational_2_by_1",
                                                    "typeString": "int_const 2"
                                                  },
                                                  "value": "2"
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "8492:7:68",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_struct$_CBOR_$19218_memory_ptr",
                                                  "typeString": "struct WitnetCBOR.CBOR memory"
                                                }
                                              },
                                              "id": 23020,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "8500:8:68",
                                              "memberName": "readUint",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 20603,
                                              "src": "8492:16:68",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_pure$_t_struct$_CBOR_$19218_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_CBOR_$19218_memory_ptr_$",
                                                "typeString": "function (struct WitnetCBOR.CBOR memory) pure returns (uint256)"
                                              }
                                            },
                                            "id": 23021,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "nameLocations": [],
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "8492:18:68",
                                            "tryCall": false,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "id": 23022,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "8511:8:68",
                                          "memberName": "toString",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 16840,
                                          "src": "8492:27:68",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_uint256_$",
                                            "typeString": "function (uint256) pure returns (string memory)"
                                          }
                                        },
                                        "id": 23023,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "8492:29:68",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_stringliteral_af98e92575825ed955877a76b91e527d99ee34eb180aa35895c9371e20b434c4",
                                          "typeString": "literal_string \"http/\""
                                        },
                                        {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      ],
                                      "expression": {
                                        "id": 23014,
                                        "name": "abi",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4294967295,
                                        "src": "8423:3:68",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_magic_abi",
                                          "typeString": "abi"
                                        }
                                      },
                                      "id": 23015,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "8427:12:68",
                                      "memberName": "encodePacked",
                                      "nodeType": "MemberAccess",
                                      "src": "8423:16:68",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                        "typeString": "function () pure returns (bytes memory)"
                                      }
                                    },
                                    "id": 23024,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "8423:117:68",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  ],
                                  "id": 23013,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "8416:6:68",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                    "typeString": "type(string storage pointer)"
                                  },
                                  "typeName": {
                                    "id": 23012,
                                    "name": "string",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "8416:6:68",
                                    "typeDescriptions": {}
                                  }
                                },
                                "id": 23025,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "8416:125:68",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              "functionReturnParameters": 22992,
                              "id": 23026,
                              "nodeType": "Return",
                              "src": "8409:132:68"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "id": 23172,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_stringify",
            "nameLocation": "8063:10:68",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22989,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22984,
                  "mutability": "mutable",
                  "name": "subcode",
                  "nameLocation": "8079:7:68",
                  "nodeType": "VariableDeclaration",
                  "scope": 23172,
                  "src": "8074:12:68",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22983,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "8074:4:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22988,
                  "mutability": "mutable",
                  "name": "args",
                  "nameLocation": "8113:4:68",
                  "nodeType": "VariableDeclaration",
                  "scope": 23172,
                  "src": "8088:29:68",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct WitnetCBOR.CBOR[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 22986,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 22985,
                        "name": "WitnetCBOR.CBOR",
                        "nameLocations": [
                          "8088:10:68",
                          "8099:4:68"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 19218,
                        "src": "8088:15:68"
                      },
                      "referencedDeclaration": 19218,
                      "src": "8088:15:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_CBOR_$19218_storage_ptr",
                        "typeString": "struct WitnetCBOR.CBOR"
                      }
                    },
                    "id": 22987,
                    "nodeType": "ArrayTypeName",
                    "src": "8088:17:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_CBOR_$19218_storage_$dyn_storage_ptr",
                      "typeString": "struct WitnetCBOR.CBOR[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8073:45:68"
            },
            "returnParameters": {
              "id": 22992,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22991,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 23172,
                  "src": "8160:13:68",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 22990,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8160:6:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8159:15:68"
            },
            "scope": 23206,
            "src": "8054:2138:68",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "private"
          },
          {
            "body": {
              "id": 23204,
              "nodeType": "Block",
              "src": "10543:277:68",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    },
                    "id": 23182,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 23180,
                      "name": "stageIndex",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 23175,
                      "src": "10558:10:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint64",
                        "typeString": "uint64"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 23181,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "10572:1:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "10558:15:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_uint64",
                        "typeString": "uint64"
                      },
                      "id": 23188,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 23186,
                        "name": "stageIndex",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 23175,
                        "src": "10630:10:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "hexValue": "31",
                        "id": 23187,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "10644:1:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "10630:15:68",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        "id": 23194,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 23192,
                          "name": "stageIndex",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 23175,
                          "src": "10704:10:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint64",
                            "typeString": "uint64"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "hexValue": "32",
                          "id": 23193,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "10718:1:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_2_by_1",
                            "typeString": "int_const 2"
                          },
                          "value": "2"
                        },
                        "src": "10704:15:68",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseBody": {
                        "id": 23200,
                        "nodeType": "Block",
                        "src": "10768:45:68",
                        "statements": [
                          {
                            "expression": {
                              "hexValue": "28756e6b6e6f776e29",
                              "id": 23198,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "10790:11:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_04eb73a55f91a6474d861908f1f8f244f02220c27e8123a33de14f1ec8dc544b",
                                "typeString": "literal_string \"(unknown)\""
                              },
                              "value": "(unknown)"
                            },
                            "functionReturnParameters": 23179,
                            "id": 23199,
                            "nodeType": "Return",
                            "src": "10783:18:68"
                          }
                        ]
                      },
                      "id": 23201,
                      "nodeType": "IfStatement",
                      "src": "10700:113:68",
                      "trueBody": {
                        "id": 23197,
                        "nodeType": "Block",
                        "src": "10721:41:68",
                        "statements": [
                          {
                            "expression": {
                              "hexValue": "54616c6c79",
                              "id": 23195,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "10743:7:68",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_41b8136d12213b67113ead8c54552311bb0224cbcae40f589789055ffb17354b",
                                "typeString": "literal_string \"Tally\""
                              },
                              "value": "Tally"
                            },
                            "functionReturnParameters": 23179,
                            "id": 23196,
                            "nodeType": "Return",
                            "src": "10736:14:68"
                          }
                        ]
                      }
                    },
                    "id": 23202,
                    "nodeType": "IfStatement",
                    "src": "10626:187:68",
                    "trueBody": {
                      "id": 23191,
                      "nodeType": "Block",
                      "src": "10647:47:68",
                      "statements": [
                        {
                          "expression": {
                            "hexValue": "4167677265676174696f6e",
                            "id": 23189,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "10669:13:68",
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_2ce96ee1353bcd0923e736f1908ed2505e4345b8f604f42cdba4e89c96c38fe9",
                              "typeString": "literal_string \"Aggregation\""
                            },
                            "value": "Aggregation"
                          },
                          "functionReturnParameters": 23179,
                          "id": 23190,
                          "nodeType": "Return",
                          "src": "10662:20:68"
                        }
                      ]
                    }
                  },
                  "id": 23203,
                  "nodeType": "IfStatement",
                  "src": "10554:259:68",
                  "trueBody": {
                    "id": 23185,
                    "nodeType": "Block",
                    "src": "10575:45:68",
                    "statements": [
                      {
                        "expression": {
                          "hexValue": "52657472696576616c",
                          "id": 23183,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "10597:11:68",
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_a5c67110575b80e80d706892b18988cd4ccf36f55123e793fd5553ba1949d11b",
                            "typeString": "literal_string \"Retrieval\""
                          },
                          "value": "Retrieval"
                        },
                        "functionReturnParameters": 23179,
                        "id": 23184,
                        "nodeType": "Return",
                        "src": "10590:18:68"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": {
              "id": 23173,
              "nodeType": "StructuredDocumentation",
              "src": "10200:238:68",
              "text": "@notice Convert a stage index number into the name of the matching Witnet request stage.\n @param stageIndex A `uint64` identifying the index of one of the Witnet request stages.\n @return The name of the matching stage."
            },
            "id": 23205,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_stageName",
            "nameLocation": "10453:10:68",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23176,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23175,
                  "mutability": "mutable",
                  "name": "stageIndex",
                  "nameLocation": "10471:10:68",
                  "nodeType": "VariableDeclaration",
                  "scope": 23205,
                  "src": "10464:17:68",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 23174,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "10464:6:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10463:19:68"
            },
            "returnParameters": {
              "id": 23179,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23178,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 23205,
                  "src": "10523:13:68",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 23177,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "10523:6:68",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10522:15:68"
            },
            "scope": 23206,
            "src": "10444:376:68",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "private"
          }
        ],
        "scope": 23207,
        "src": "233:10590:68",
        "usedErrors": [
          17562,
          17568,
          19262,
          19268,
          19276
        ],
        "usedEvents": []
      }
    ],
    "src": "35:10788:68"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.25+commit.b61c2a91.Emscripten.clang"
  },
  "networks": {
    "322": {
      "events": {},
      "links": {},
      "address": "0xa57B9dd8420631248c3DFB535f4FC9f7E2f02B4B"
    },
    "11155111": {
      "events": {},
      "links": {},
      "address": "0xa57B9dd8420631248c3DFB535f4FC9f7E2f02B4B"
    }
  },
  "schemaVersion": "3.4.16",
  "updatedAt": "2024-12-05T09:36:04.602Z",
  "devdoc": {
    "author": "The Witnet Foundation.",
    "kind": "dev",
    "methods": {
      "asError(Witnet.Result)": {
        "details": "Client contracts should wrap this function into a try-catch foreseeing potential parsing errors.",
        "returns": {
          "_error": "Witnet.ResultError data struct containing error code and description."
        }
      },
      "resultErrorFromCborBytes(bytes)": {
        "details": "Client contracts should wrap this function into a try-catch foreseeing potential parsing errors.",
        "returns": {
          "_error": "Witnet.ResultError data struct containing error code and description."
        }
      }
    },
    "title": "A library for interpreting Witnet resolution errors",
    "version": 1
  },
  "userdoc": {
    "kind": "user",
    "methods": {
      "asError(Witnet.Result)": {
        "notice": "Extract error code and description string from given Witnet.Result."
      },
      "resultErrorFromCborBytes(bytes)": {
        "notice": "Extract error code and description string from given CBOR-encoded value."
      }
    },
    "version": 1
  }
}