{
  "_format": "hh-sol-artifact-1",
  "contractName": "TestMarshalLib",
  "sourceName": "contracts/test/TestMarshalLib.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "data",
          "type": "bytes32"
        }
      ],
      "name": "decode",
      "outputs": [
        {
          "internalType": "bool",
          "name": "isStatic",
          "type": "bool"
        },
        {
          "internalType": "address",
          "name": "handler",
          "type": "address"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "data",
          "type": "bytes32"
        }
      ],
      "name": "decodeWithSelector",
      "outputs": [
        {
          "internalType": "bool",
          "name": "isStatic",
          "type": "bool"
        },
        {
          "internalType": "bytes4",
          "name": "selector",
          "type": "bytes4"
        },
        {
          "internalType": "address",
          "name": "handler",
          "type": "address"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bool",
          "name": "isStatic",
          "type": "bool"
        },
        {
          "internalType": "address",
          "name": "handler",
          "type": "address"
        }
      ],
      "name": "encode",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "data",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bool",
          "name": "isStatic",
          "type": "bool"
        },
        {
          "internalType": "bytes4",
          "name": "selector",
          "type": "bytes4"
        },
        {
          "internalType": "address",
          "name": "handler",
          "type": "address"
        }
      ],
      "name": "encodeWithSelector",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "data",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506103cd806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063508dd39f14610051578063b9148704146100d8578063be2b620e1461013c578063c3748ef1146101c9575b600080fd5b61007d6004803603602081101561006757600080fd5b810190808035906020019092919050505061022a565b604051808415158152602001837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390f35b610126600480360360408110156100ee57600080fd5b81019080803515159060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610245565b6040518082815260200191505060405180910390f35b6101b36004803603606081101561015257600080fd5b8101908080351515906020019092919080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610259565b6040518082815260200191505060405180910390f35b6101f5600480360360208110156101df57600080fd5b810190808035906020019092919050505061026f565b6040518083151581526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b600080600061023884610284565b9250925092509193909250565b600061025183836102b9565b905092915050565b600061026684848461030c565b90509392505050565b60008061027b8361036f565b91509150915091565b60008060008360f81c15925073ffffffffffffffffffffffffffffffffffffffff841690508360a01c60a81b91509193909250565b6000826102e6577f01000000000000000000000000000000000000000000000000000000000000006102e9565b60005b8273ffffffffffffffffffffffffffffffffffffffff161760001b905092915050565b600060d88360e01c63ffffffff16901b84610347577f010000000000000000000000000000000000000000000000000000000000000061034a565b60005b8373ffffffffffffffffffffffffffffffffffffffff16171760001b90509392505050565b6000808260f81c15915073ffffffffffffffffffffffffffffffffffffffff8316905091509156fea2646970667358221220d4c11780e0aa930ecff4fb19cc638c47a85055cd849f9593ba2c04ec495dd07364736f6c63430007060033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063508dd39f14610051578063b9148704146100d8578063be2b620e1461013c578063c3748ef1146101c9575b600080fd5b61007d6004803603602081101561006757600080fd5b810190808035906020019092919050505061022a565b604051808415158152602001837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390f35b610126600480360360408110156100ee57600080fd5b81019080803515159060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610245565b6040518082815260200191505060405180910390f35b6101b36004803603606081101561015257600080fd5b8101908080351515906020019092919080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610259565b6040518082815260200191505060405180910390f35b6101f5600480360360208110156101df57600080fd5b810190808035906020019092919050505061026f565b6040518083151581526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b600080600061023884610284565b9250925092509193909250565b600061025183836102b9565b905092915050565b600061026684848461030c565b90509392505050565b60008061027b8361036f565b91509150915091565b60008060008360f81c15925073ffffffffffffffffffffffffffffffffffffffff841690508360a01c60a81b91509193909250565b6000826102e6577f01000000000000000000000000000000000000000000000000000000000000006102e9565b60005b8273ffffffffffffffffffffffffffffffffffffffff161760001b905092915050565b600060d88360e01c63ffffffff16901b84610347577f010000000000000000000000000000000000000000000000000000000000000061034a565b60005b8373ffffffffffffffffffffffffffffffffffffffff16171760001b90509392505050565b6000808260f81c15915073ffffffffffffffffffffffffffffffffffffffff8316905091509156fea2646970667358221220d4c11780e0aa930ecff4fb19cc638c47a85055cd849f9593ba2c04ec495dd07364736f6c63430007060033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
