{
  "_format": "hh-sol-artifact-1",
  "contractName": "TRC2771Forwarder",
  "sourceName": "contracts/metatx/TRC2771Forwarder.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "name",
          "type": "string"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "FailedCall",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "balance",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "needed",
          "type": "uint256"
        }
      ],
      "name": "InsufficientBalance",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "currentNonce",
          "type": "uint256"
        }
      ],
      "name": "InvalidAccountNonce",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidShortString",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "str",
          "type": "string"
        }
      ],
      "name": "StringTooLong",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint48",
          "name": "deadline",
          "type": "uint48"
        }
      ],
      "name": "TRC2771ForwarderExpiredRequest",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "signer",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        }
      ],
      "name": "TRC2771ForwarderInvalidSigner",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "requestedValue",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "msgValue",
          "type": "uint256"
        }
      ],
      "name": "TRC2771ForwarderMismatchedValue",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "TRC2771ForwarderNoRefundReceiver",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "forwarder",
          "type": "address"
        }
      ],
      "name": "TRC2771UntrustfulTarget",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "EIP712DomainChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "signer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "nonce",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "success",
          "type": "bool"
        }
      ],
      "name": "ExecutedForwardRequest",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "eip712Domain",
      "outputs": [
        {
          "internalType": "bytes1",
          "name": "fields",
          "type": "bytes1"
        },
        {
          "internalType": "string",
          "name": "name",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "version",
          "type": "string"
        },
        {
          "internalType": "uint256",
          "name": "chainId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "verifyingContract",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "salt",
          "type": "bytes32"
        },
        {
          "internalType": "uint256[]",
          "name": "extensions",
          "type": "uint256[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "from",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "gas",
              "type": "uint256"
            },
            {
              "internalType": "uint48",
              "name": "deadline",
              "type": "uint48"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "signature",
              "type": "bytes"
            }
          ],
          "internalType": "struct TRC2771Forwarder.ForwardRequestData",
          "name": "request",
          "type": "tuple"
        }
      ],
      "name": "execute",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "from",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "gas",
              "type": "uint256"
            },
            {
              "internalType": "uint48",
              "name": "deadline",
              "type": "uint48"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "signature",
              "type": "bytes"
            }
          ],
          "internalType": "struct TRC2771Forwarder.ForwardRequestData[]",
          "name": "requests",
          "type": "tuple[]"
        },
        {
          "internalType": "address payable",
          "name": "refundReceiver",
          "type": "address"
        }
      ],
      "name": "executeBatch",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "nonces",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "from",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "gas",
              "type": "uint256"
            },
            {
              "internalType": "uint48",
              "name": "deadline",
              "type": "uint48"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "signature",
              "type": "bytes"
            }
          ],
          "internalType": "struct TRC2771Forwarder.ForwardRequestData",
          "name": "request",
          "type": "tuple"
        }
      ],
      "name": "verify",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x610160806040523461019957d361019957d2610199576112ca803803809161002782856101b1565b8339810190602081830312610199578051906001600160401b03821161019957019080601f830112156101995781516001600160401b03811161019d576040519261007c601f8301601f1916602001856101b1565b81845260208401926020838301011161019957815f926020809301855e840101526040918251916100ad84846101b1565b600183526020830191603160f81b83526100c6816101d4565b610120526100d38461036a565b61014052519020918260e05251902080610100524660a05282519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845284830152606082015263ffffffff461660808201523060a082015260a0815261014060c0826101b1565b5190206080523060c05251610e2790816104a3823960805181610c6d015260a05181610d30015260c05181610c37015260e05181610cbc01526101005181610ce2015261012051816104c1015261014051816104ea0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b0382119082101761019d57604052565b908151602081105f1461024e575090601f81511161020e5760208151910151602082106101ff571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b03811161019d575f54600181811c91168015610360575b602082101461034c57601f811161031a575b50602092601f82116001146102bb57928192935f926102b0575b50508160011b915f199060031b1c1916175f5560ff90565b015190505f80610298565b601f198216935f8052805f20915f5b86811061030257508360019596106102ea575b505050811b015f5560ff90565b01515f1960f88460031b161c191690555f80806102dd565b919260206001819286850151815501940192016102ca565b5f8052601f60205f20910160051c810190601f830160051c015b818110610341575061027e565b5f8155600101610334565b634e487b7160e01b5f52602260045260245ffd5b90607f169061026c565b908151602081105f14610395575090601f81511161020e5760208151910151602082106101ff571790565b6001600160401b03811161019d57600154600181811c91168015610498575b602082101461034c57601f8111610465575b50602092601f821160011461040457928192935f926103f9575b50508160011b915f199060031b1c19161760015560ff90565b015190505f806103e0565b601f1982169360015f52805f20915f5b86811061044d5750836001959610610435575b505050811b0160015560ff90565b01515f1960f88460031b161c191690555f8080610427565b91926020600181928685015181550194019201610414565b60015f52601f60205f20910160051c810190601f830160051c015b81811061048d57506103c6565b5f8155600101610480565b90607f16906103b456fe60806040526004361015610011575f80fd5b5f3560e01c806319d8d38c146105f75780637ecebe00146105a757806384b0196e1461049f578063ccf96b4a146102375763df905caf14610050575f80fd5b61005936610643565b604081013590813403610220575f916100718261074f565b92919082156101f05781156101ca57801561019c5782610194575b508161018c575b506100b2575b505050156100a357005b63d6bda27560e01b5f5260045ffd5b9091925060018060a01b031690815f5260026020525f8060408120928354936001850190556060860135956100e960208201610728565b916101096101416014602061010160a0870187610980565b949096610728565b9360405194818692848401998a378201906bffffffffffffffffffffffff199060601b16838201520301600b1981018452018261069b565b519288f192603f5a91041161018a5760407f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c9181519081528415156020820152a25f8080610099565bfe5b90505f610093565b91505f61008c565b836101a687610728565b63e62e12c760e01b5f9081526001600160a01b039283166004529116602452604490fd5b65ffffffffffff6101dd6080880161073c565b633b573c9b60e01b5f521660045260245ffd5b6101fc60208701610728565b63b2da0b4160e01b5f9081526001600160a01b039190911660045230602452604490fd5b50635155dbcf60e01b5f526004523460245260445ffd5b604036600319011261049b5760043567ffffffffffffffff811161049b573660238201121561049b57806004013567ffffffffffffffff811161049b576024820191602436918360051b01011161049b576024356001600160a81b038116810361049b576001600160a01b0316905f908215908290819086905b8083106102fe575050503481036102e85750816102ca57005b6102d9576102d7916109b3565b005b630f3b84d960e31b5f5260045ffd5b635155dbcf60e01b5f526004523460245260445ffd5b90919261031a9060406103128685876106d1565b013590610707565b926103268183856106d1565b5f90866103328261074f565b93610461575b82610459575b5081610451575b50610379575b50501561035d575b60010191906102b1565b9461037160019160406103128986886106d1565b959050610353565b90915060018060a01b0316805f52600260205260405f208054906001820190555f8060608501359460406103af60208301610728565b6103bc60a0840184610980565b610406601460206103cf88979597610728565b938551948186928484019a8b378201906bffffffffffffffffffffffff199060601b16838201520301600b1981018452018261069b565b519301359088f192603f5a91041161018a5760407f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c9181519081528415156020820152a2888061034b565b90508b610345565b91508c61033e565b821561048f57811561047c578061033857836101a686610728565b65ffffffffffff6101dd6080870161073c565b6101fc60208601610728565b5f80fd5b3461049b57d361049b57d261049b575f36600319011261049b576105456104e57f0000000000000000000000000000000000000000000000000000000000000000610a0a565b61050e7f0000000000000000000000000000000000000000000000000000000000000000610b30565b602061055360405192610521838561069b565b5f84525f368137604051958695600f60f81b875260e08588015260e0870190610677565b908582036040870152610677565b63ffffffff461660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b82811061059057505050500390f35b835185528695509381019392810192600101610581565b3461049b57d361049b57d261049b57602036600319011261049b576004356001600160a81b038116810361049b576001600160a01b03165f90815260026020908152604090912054604051908152f35b3461049b57d361049b57d261049b57602061061961061436610643565b61074f565b50908261063b575b5081610633575b506040519015158152f35b905082610628565b915083610621565b602060031982011261049b576004359067ffffffffffffffff821161049b5760e090829003600319011261049b5760040190565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b90601f8019910116810190811067ffffffffffffffff8211176106bd57604052565b634e487b7160e01b5f52604160045260245ffd5b91908110156106f35760051b8101359060de198136030182121561049b570190565b634e487b7160e01b5f52603260045260245ffd5b9190820180921161071457565b634e487b7160e01b5f52601160045260245ffd5b356001600160a81b038116810361049b5790565b3565ffffffffffff8116810361049b5790565b9061075982610728565b602083019161076783610728565b61078d61077386610728565b6001600160a01b03165f9081526002602052604090205490565b608086019361079b8561073c565b926107a960a0890189610980565b939067ffffffffffffffff85116106bd57604051956107d2601f8701601f19166020018861069b565b85875260208701368784011161049b576108b1975f60208960429a65ffffffffffff97863783010152519020926040519460208601967f7f96328b83274ebc7c1cf4f7a3abda602b51a78b7fa1d86a2ce353d75e587cac885260018060a01b0316604087015260018060a01b0316606086015260408c0135608086015260608c013560a086015260c08501521660e0830152610100820152610100815261087b6101208261069b565b519020610886610c34565b906040519161190160f01b835260028301526022820152206108ab60c0870187610980565b91610c00565b50600481949294101561096c575f6108cc6020921596610728565b6040518381019063572b6c0560e01b8252306024820152602481526108f260448261069b565b51915afa903d5f519083610960575b5082610954575b506109129061073c565b948461092c575b509365ffffffffffff4291161015929190565b9093506001600160a01b039061094190610728565b166001600160a01b03831614925f610919565b15159150610912610908565b6020111592505f610901565b634e487b7160e01b5f52602160045260245ffd5b903590601e198136030182121561049b570180359067ffffffffffffffff821161049b5760200191813603831361049b57565b8147106109f3575f8080938193826040516109cf60208261069b565b526001600160a01b03165af1156109e257565b3d156100a3576040513d5f823e3d90fd5b504763cf47918160e01b5f5260045260245260445ffd5b60ff8114610a505760ff811690601f8211610a415760405191610a2e60408461069b565b6020808452838101919036833783525290565b632cd44ac360e21b5f5260045ffd5b506040515f80548060011c9160018216918215610b26575b602084108314610b12578385528492908115610af35750600114610a96575b610a939250038261069b565b90565b505f80805290917f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b818310610ad7575050906020610a9392820101610a87565b6020919350806001915483858801015201910190918392610abf565b60209250610a9394915060ff191682840152151560051b820101610a87565b634e487b7160e01b5f52602260045260245ffd5b92607f1692610a68565b60ff8114610b545760ff811690601f8211610a415760405191610a2e60408461069b565b506040515f6001548060011c9160018216918215610bf6575b602084108314610b12578385528492908115610af35750600114610b9757610a939250038261069b565b5060015f90815290917fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b818310610bda575050906020610a9392820101610a87565b6020919350806001915483858801015201910190918392610bc2565b92607f1692610b6d565b9060418303610c2a57610c239250602081013591604082359201355f1a90610d56565b9192909190565b50505f9160029190565b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480610d2d575b15610c8f577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f0000000000000000000000000000000000000000000000000000000000000000606082015263ffffffff461660808201523060a082015260a08152610d2760c08261069b565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610c66565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610dd8579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610dcd575f516001600160a01b03811615610dc357905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f916003919056fea36474726f6e58221220805825fbfc313c3195b83598720663945f920f6c572a2710884ffcdc64541d166c6578706572696d656e74616cf564736f6c634300081a0041",
  "deployedBytecode": "0x60806040526004361015610011575f80fd5b5f3560e01c806319d8d38c146105f75780637ecebe00146105a757806384b0196e1461049f578063ccf96b4a146102375763df905caf14610050575f80fd5b61005936610643565b604081013590813403610220575f916100718261074f565b92919082156101f05781156101ca57801561019c5782610194575b508161018c575b506100b2575b505050156100a357005b63d6bda27560e01b5f5260045ffd5b9091925060018060a01b031690815f5260026020525f8060408120928354936001850190556060860135956100e960208201610728565b916101096101416014602061010160a0870187610980565b949096610728565b9360405194818692848401998a378201906bffffffffffffffffffffffff199060601b16838201520301600b1981018452018261069b565b519288f192603f5a91041161018a5760407f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c9181519081528415156020820152a25f8080610099565bfe5b90505f610093565b91505f61008c565b836101a687610728565b63e62e12c760e01b5f9081526001600160a01b039283166004529116602452604490fd5b65ffffffffffff6101dd6080880161073c565b633b573c9b60e01b5f521660045260245ffd5b6101fc60208701610728565b63b2da0b4160e01b5f9081526001600160a01b039190911660045230602452604490fd5b50635155dbcf60e01b5f526004523460245260445ffd5b604036600319011261049b5760043567ffffffffffffffff811161049b573660238201121561049b57806004013567ffffffffffffffff811161049b576024820191602436918360051b01011161049b576024356001600160a81b038116810361049b576001600160a01b0316905f908215908290819086905b8083106102fe575050503481036102e85750816102ca57005b6102d9576102d7916109b3565b005b630f3b84d960e31b5f5260045ffd5b635155dbcf60e01b5f526004523460245260445ffd5b90919261031a9060406103128685876106d1565b013590610707565b926103268183856106d1565b5f90866103328261074f565b93610461575b82610459575b5081610451575b50610379575b50501561035d575b60010191906102b1565b9461037160019160406103128986886106d1565b959050610353565b90915060018060a01b0316805f52600260205260405f208054906001820190555f8060608501359460406103af60208301610728565b6103bc60a0840184610980565b610406601460206103cf88979597610728565b938551948186928484019a8b378201906bffffffffffffffffffffffff199060601b16838201520301600b1981018452018261069b565b519301359088f192603f5a91041161018a5760407f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c9181519081528415156020820152a2888061034b565b90508b610345565b91508c61033e565b821561048f57811561047c578061033857836101a686610728565b65ffffffffffff6101dd6080870161073c565b6101fc60208601610728565b5f80fd5b3461049b57d361049b57d261049b575f36600319011261049b576105456104e57f0000000000000000000000000000000000000000000000000000000000000000610a0a565b61050e7f0000000000000000000000000000000000000000000000000000000000000000610b30565b602061055360405192610521838561069b565b5f84525f368137604051958695600f60f81b875260e08588015260e0870190610677565b908582036040870152610677565b63ffffffff461660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b82811061059057505050500390f35b835185528695509381019392810192600101610581565b3461049b57d361049b57d261049b57602036600319011261049b576004356001600160a81b038116810361049b576001600160a01b03165f90815260026020908152604090912054604051908152f35b3461049b57d361049b57d261049b57602061061961061436610643565b61074f565b50908261063b575b5081610633575b506040519015158152f35b905082610628565b915083610621565b602060031982011261049b576004359067ffffffffffffffff821161049b5760e090829003600319011261049b5760040190565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b90601f8019910116810190811067ffffffffffffffff8211176106bd57604052565b634e487b7160e01b5f52604160045260245ffd5b91908110156106f35760051b8101359060de198136030182121561049b570190565b634e487b7160e01b5f52603260045260245ffd5b9190820180921161071457565b634e487b7160e01b5f52601160045260245ffd5b356001600160a81b038116810361049b5790565b3565ffffffffffff8116810361049b5790565b9061075982610728565b602083019161076783610728565b61078d61077386610728565b6001600160a01b03165f9081526002602052604090205490565b608086019361079b8561073c565b926107a960a0890189610980565b939067ffffffffffffffff85116106bd57604051956107d2601f8701601f19166020018861069b565b85875260208701368784011161049b576108b1975f60208960429a65ffffffffffff97863783010152519020926040519460208601967f7f96328b83274ebc7c1cf4f7a3abda602b51a78b7fa1d86a2ce353d75e587cac885260018060a01b0316604087015260018060a01b0316606086015260408c0135608086015260608c013560a086015260c08501521660e0830152610100820152610100815261087b6101208261069b565b519020610886610c34565b906040519161190160f01b835260028301526022820152206108ab60c0870187610980565b91610c00565b50600481949294101561096c575f6108cc6020921596610728565b6040518381019063572b6c0560e01b8252306024820152602481526108f260448261069b565b51915afa903d5f519083610960575b5082610954575b506109129061073c565b948461092c575b509365ffffffffffff4291161015929190565b9093506001600160a01b039061094190610728565b166001600160a01b03831614925f610919565b15159150610912610908565b6020111592505f610901565b634e487b7160e01b5f52602160045260245ffd5b903590601e198136030182121561049b570180359067ffffffffffffffff821161049b5760200191813603831361049b57565b8147106109f3575f8080938193826040516109cf60208261069b565b526001600160a01b03165af1156109e257565b3d156100a3576040513d5f823e3d90fd5b504763cf47918160e01b5f5260045260245260445ffd5b60ff8114610a505760ff811690601f8211610a415760405191610a2e60408461069b565b6020808452838101919036833783525290565b632cd44ac360e21b5f5260045ffd5b506040515f80548060011c9160018216918215610b26575b602084108314610b12578385528492908115610af35750600114610a96575b610a939250038261069b565b90565b505f80805290917f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b818310610ad7575050906020610a9392820101610a87565b6020919350806001915483858801015201910190918392610abf565b60209250610a9394915060ff191682840152151560051b820101610a87565b634e487b7160e01b5f52602260045260245ffd5b92607f1692610a68565b60ff8114610b545760ff811690601f8211610a415760405191610a2e60408461069b565b506040515f6001548060011c9160018216918215610bf6575b602084108314610b12578385528492908115610af35750600114610b9757610a939250038261069b565b5060015f90815290917fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b818310610bda575050906020610a9392820101610a87565b6020919350806001915483858801015201910190918392610bc2565b92607f1692610b6d565b9060418303610c2a57610c239250602081013591604082359201355f1a90610d56565b9192909190565b50505f9160029190565b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480610d2d575b15610c8f577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f0000000000000000000000000000000000000000000000000000000000000000606082015263ffffffff461660808201523060a082015260a08152610d2760c08261069b565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610c66565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610dd8579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610dcd575f516001600160a01b03811615610dc357905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f916003919056fea36474726f6e58221220805825fbfc313c3195b83598720663945f920f6c572a2710884ffcdc64541d166c6578706572696d656e74616cf564736f6c634300081a0041",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
