{
  "_format": "hh-sol-artifact-1",
  "contractName": "DiamondLoupeFacet",
  "sourceName": "contracts/diamond/facets/DiamondLoupeFacet.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IForwarderRegistry",
          "name": "forwarderRegistry",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "IllegalInterfaceId",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "NotProxyAdmin",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "functionSelector",
          "type": "bytes4"
        }
      ],
      "name": "facetAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "facetAddress_",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "facetAddresses",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "facetAddresses_",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "facet",
          "type": "address"
        }
      ],
      "name": "facetFunctionSelectors",
      "outputs": [
        {
          "internalType": "bytes4[]",
          "name": "facetFunctionSelectors_",
          "type": "bytes4[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "facets",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "facet",
              "type": "address"
            },
            {
              "internalType": "bytes4[]",
              "name": "selectors",
              "type": "bytes4[]"
            }
          ],
          "internalType": "struct Facet[]",
          "name": "facets_",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "initDiamondLoupeStorage",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60a034606657601f610e6a38819003918201601f19168301916001600160401b03831184841017606b57808492602094604052833981010312606657516001600160a01b0381168103606657608052604051610de89081610082823960805181610b430152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c80634fe5dd791461006757806352ef6b2c146100625780637a0ed6271461005d578063adfca15e146100585763cdffacc61461005357600080fd5b6109db565b610850565b610550565b6101f6565b346101a15760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a15761009e610b2c565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354169116908103610174577f48e2b093000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527f439b4da6230337e2a9f4a90d201bac6b66c68d0f1bcc968824d5b10def70a85380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b600080fd5b602060408183019282815284518094520192019060005b8181106101ca5750505090565b825173ffffffffffffffffffffffffffffffffffffffff168452602093840193909201916001016101bd565b346101a15760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a1577f65d27473a5b05206737961f69a3b7a55316862d7a6ef82b3f5455fe92fab43e3547f65d27473a5b05206737961f69a3b7a55316862d7a6ef82b3f5455fe92fab43e2906102799061ffff165b61ffff1690565b9061028382610c81565b9060009060009060009460028201955b8184106102af57848652604051806102ab88826101a6565b0390f35b6102c3818890600052602052604060002090565b546000905b600882036102db575b5050600101610293565b9095946001019483861161044f5761038461037e610358610326856103008c60051b90565b1b7fffffffff000000000000000000000000000000000000000000000000000000001690565b88907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b547fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001690565b60601c90565b600073ffffffffffffffffffffffffffffffffffffffff8216815b8b8582106103f1575b5050506103e757816103dd600193926103c285948d610d11565b9073ffffffffffffffffffffffffffffffffffffffff169052565b01965b01906102c8565b50956001906103e0565b61041b6104018361043493610d11565b5173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b82146104425760010161039f565b505050600138808b6103a8565b956102d1565b906020808351928381520192019060005b8181106104735750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101610466565b602081016020825282518091526040820191602060408360051b8301019401926000915b8383106104de57505050505090565b9091929394602080610541837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190610455565b970193019301919392906104cf565b346101a15760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a1577f65d27473a5b05206737961f69a3b7a55316862d7a6ef82b3f5455fe92fab43e3547f65d27473a5b05206737961f69a3b7a55316862d7a6ef82b3f5455fe92fab43e2906105d09061ffff16610272565b906105da82610d25565b906105e483610c81565b9260009160009060009260028201935b81841061063d5787878760005b81811061061957818352604051806102ab85826104ab565b8061062660019286610d11565b5160206106338387610d11565b5101515201610601565b610651818690600052602052604060002090565b546000905b60088203610669575b50506001016105f4565b909694600101948386116108365789610686836103008b60051b90565b8a6106c361037e610358848b907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b600073ffffffffffffffffffffffffffffffffffffffff8216815b878103610798575b505061078b5784600195939461077b8796610754602061074c868f996107398d9b6107346107809c6107188686610d11565b519073ffffffffffffffffffffffffffffffffffffffff169052565b610c81565b846107448484610d11565b510152610d11565b510151610cff565b907fffffffff00000000000000000000000000000000000000000000000000000000169052565b610d11565b5201975b0190610656565b5050505096600190610784565b9193816107cb61041b6107b086859b96989a9b610d11565b515173ffffffffffffffffffffffffffffffffffffffff1690565b146107e1575050600101918e9493918e936106de565b93509493915061080e8461075460206107fa8588610d11565b510151610807858a610d11565b5190610d11565b61082c61082561081e8388610d11565b5160010190565b9186610d11565b52600138806106e6565b9661065f565b90602061084d928181520190610455565b90565b346101a15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a15760043573ffffffffffffffffffffffffffffffffffffffff81168091036101a1577f65d27473a5b05206737961f69a3b7a55316862d7a6ef82b3f5455fe92fab43e3547f65d27473a5b05206737961f69a3b7a55316862d7a6ef82b3f5455fe92fab43e291906108f29061ffff16610272565b6108fb81610c81565b9160009360009160009360028301945b81851061092357878752604051806102ab898261083c565b610937818790600052602052604060002090565b546000905b6008820361094f575b505060010161090b565b9095600101958387116109d65761096a826103008360051b90565b6109a961041b61037e610358848b907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b86146109ba575b506001019061093c565b8a6109ce6001939c9261075485948e610d11565b0199906109b0565b610945565b346101a15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a1576004357fffffffff00000000000000000000000000000000000000000000000000000000811681036101a1577fffffffff000000000000000000000000000000000000000000000000000000007f65d27473a5b05206737961f69a3b7a55316862d7a6ef82b3f5455fe92fab43e29116600052602052602060406000205460601c604051908152f35b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610b0357604052565b610a93565b908160209103126101a1575180151581036101a15790565b6040513d6000823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610c5a573233148015610c5f575b610c5a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610bb4575b5061084d57503390565b6040517f019a202800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201523360248201523060448201529150602090829060649082905afa908115610c5557600091610c26575b5038610baa565b610c48915060203d602011610c4e575b610c408183610ac2565b810190610b08565b38610c1f565b503d610c36565b610b20565b503390565b5060183610610b73565b67ffffffffffffffff8111610b035760051b60200190565b90610c8b82610c69565b610c986040519182610ac2565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610cc68294610c69565b0190602036910137565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b805115610d0c5760200190565b610cd0565b8051821015610d0c5760209160051b010190565b90610d2f82610c69565b610d3c6040519182610ac2565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610d6a8294610c69565b0160005b818110610d7a57505050565b60405190604082019180831067ffffffffffffffff841117610b03576020926040526000815260608382015282828601015201610d6e56fea2646970667358221220cdc08281d40f2d9b1eda4fd3152689c4909979ca9adddd4cbfc7e53abffe641b64736f6c634300081e0033",
  "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c80634fe5dd791461006757806352ef6b2c146100625780637a0ed6271461005d578063adfca15e146100585763cdffacc61461005357600080fd5b6109db565b610850565b610550565b6101f6565b346101a15760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a15761009e610b2c565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354169116908103610174577f48e2b093000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527f439b4da6230337e2a9f4a90d201bac6b66c68d0f1bcc968824d5b10def70a85380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b600080fd5b602060408183019282815284518094520192019060005b8181106101ca5750505090565b825173ffffffffffffffffffffffffffffffffffffffff168452602093840193909201916001016101bd565b346101a15760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a1577f65d27473a5b05206737961f69a3b7a55316862d7a6ef82b3f5455fe92fab43e3547f65d27473a5b05206737961f69a3b7a55316862d7a6ef82b3f5455fe92fab43e2906102799061ffff165b61ffff1690565b9061028382610c81565b9060009060009060009460028201955b8184106102af57848652604051806102ab88826101a6565b0390f35b6102c3818890600052602052604060002090565b546000905b600882036102db575b5050600101610293565b9095946001019483861161044f5761038461037e610358610326856103008c60051b90565b1b7fffffffff000000000000000000000000000000000000000000000000000000001690565b88907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b547fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001690565b60601c90565b600073ffffffffffffffffffffffffffffffffffffffff8216815b8b8582106103f1575b5050506103e757816103dd600193926103c285948d610d11565b9073ffffffffffffffffffffffffffffffffffffffff169052565b01965b01906102c8565b50956001906103e0565b61041b6104018361043493610d11565b5173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b82146104425760010161039f565b505050600138808b6103a8565b956102d1565b906020808351928381520192019060005b8181106104735750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101610466565b602081016020825282518091526040820191602060408360051b8301019401926000915b8383106104de57505050505090565b9091929394602080610541837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190610455565b970193019301919392906104cf565b346101a15760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a1577f65d27473a5b05206737961f69a3b7a55316862d7a6ef82b3f5455fe92fab43e3547f65d27473a5b05206737961f69a3b7a55316862d7a6ef82b3f5455fe92fab43e2906105d09061ffff16610272565b906105da82610d25565b906105e483610c81565b9260009160009060009260028201935b81841061063d5787878760005b81811061061957818352604051806102ab85826104ab565b8061062660019286610d11565b5160206106338387610d11565b5101515201610601565b610651818690600052602052604060002090565b546000905b60088203610669575b50506001016105f4565b909694600101948386116108365789610686836103008b60051b90565b8a6106c361037e610358848b907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b600073ffffffffffffffffffffffffffffffffffffffff8216815b878103610798575b505061078b5784600195939461077b8796610754602061074c868f996107398d9b6107346107809c6107188686610d11565b519073ffffffffffffffffffffffffffffffffffffffff169052565b610c81565b846107448484610d11565b510152610d11565b510151610cff565b907fffffffff00000000000000000000000000000000000000000000000000000000169052565b610d11565b5201975b0190610656565b5050505096600190610784565b9193816107cb61041b6107b086859b96989a9b610d11565b515173ffffffffffffffffffffffffffffffffffffffff1690565b146107e1575050600101918e9493918e936106de565b93509493915061080e8461075460206107fa8588610d11565b510151610807858a610d11565b5190610d11565b61082c61082561081e8388610d11565b5160010190565b9186610d11565b52600138806106e6565b9661065f565b90602061084d928181520190610455565b90565b346101a15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a15760043573ffffffffffffffffffffffffffffffffffffffff81168091036101a1577f65d27473a5b05206737961f69a3b7a55316862d7a6ef82b3f5455fe92fab43e3547f65d27473a5b05206737961f69a3b7a55316862d7a6ef82b3f5455fe92fab43e291906108f29061ffff16610272565b6108fb81610c81565b9160009360009160009360028301945b81851061092357878752604051806102ab898261083c565b610937818790600052602052604060002090565b546000905b6008820361094f575b505060010161090b565b9095600101958387116109d65761096a826103008360051b90565b6109a961041b61037e610358848b907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b86146109ba575b506001019061093c565b8a6109ce6001939c9261075485948e610d11565b0199906109b0565b610945565b346101a15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a1576004357fffffffff00000000000000000000000000000000000000000000000000000000811681036101a1577fffffffff000000000000000000000000000000000000000000000000000000007f65d27473a5b05206737961f69a3b7a55316862d7a6ef82b3f5455fe92fab43e29116600052602052602060406000205460601c604051908152f35b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610b0357604052565b610a93565b908160209103126101a1575180151581036101a15790565b6040513d6000823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610c5a573233148015610c5f575b610c5a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610bb4575b5061084d57503390565b6040517f019a202800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201523360248201523060448201529150602090829060649082905afa908115610c5557600091610c26575b5038610baa565b610c48915060203d602011610c4e575b610c408183610ac2565b810190610b08565b38610c1f565b503d610c36565b610b20565b503390565b5060183610610b73565b67ffffffffffffffff8111610b035760051b60200190565b90610c8b82610c69565b610c986040519182610ac2565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610cc68294610c69565b0190602036910137565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b805115610d0c5760200190565b610cd0565b8051821015610d0c5760209160051b010190565b90610d2f82610c69565b610d3c6040519182610ac2565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610d6a8294610c69565b0160005b818110610d7a57505050565b60405190604082019180831067ffffffffffffffff841117610b03576020926040526000815260608382015282828601015201610d6e56fea2646970667358221220cdc08281d40f2d9b1eda4fd3152689c4909979ca9adddd4cbfc7e53abffe641b64736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
