{
    "_format": "hh-sol-artifact-1",
    "contractName": "BaseWTTPSite",
    "sourceName": "contracts/BaseWTTPSite.sol",
    "abi": [
        {
            "inputs": [],
            "name": "AccessControlBadConfirmation",
            "type": "error"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                },
                {
                    "internalType": "bytes32",
                    "name": "neededRole",
                    "type": "bytes32"
                }
            ],
            "name": "AccessControlUnauthorizedAccount",
            "type": "error"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "bool",
                                    "name": "immutableFlag",
                                    "type": "bool"
                                },
                                {
                                    "internalType": "enum CachePreset",
                                    "name": "preset",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "custom",
                                    "type": "string"
                                }
                            ],
                            "internalType": "struct CacheControl",
                            "name": "cache",
                            "type": "tuple"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "uint16",
                                    "name": "methods",
                                    "type": "uint16"
                                },
                                {
                                    "internalType": "bytes32[]",
                                    "name": "origins",
                                    "type": "bytes32[]"
                                },
                                {
                                    "internalType": "enum CORSPreset",
                                    "name": "preset",
                                    "type": "uint8"
                                },
                                {
                                    "internalType": "string",
                                    "name": "custom",
                                    "type": "string"
                                }
                            ],
                            "internalType": "struct CORSPolicy",
                            "name": "cors",
                            "type": "tuple"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "uint16",
                                    "name": "code",
                                    "type": "uint16"
                                },
                                {
                                    "internalType": "string",
                                    "name": "location",
                                    "type": "string"
                                }
                            ],
                            "internalType": "struct Redirect",
                            "name": "redirect",
                            "type": "tuple"
                        }
                    ],
                    "internalType": "struct HeaderInfo",
                    "name": "header",
                    "type": "tuple"
                }
            ],
            "name": "InvalidHeader",
            "type": "error"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes32",
                    "name": "role",
                    "type": "bytes32"
                }
            ],
            "name": "InvalidRole",
            "type": "error"
        },
        {
            "inputs": [
                {
                    "internalType": "string",
                    "name": "reason",
                    "type": "string"
                },
                {
                    "internalType": "bytes32",
                    "name": "role",
                    "type": "bytes32"
                }
            ],
            "name": "_403",
            "type": "error"
        },
        {
            "inputs": [
                {
                    "internalType": "string",
                    "name": "reason",
                    "type": "string"
                },
                {
                    "internalType": "bool",
                    "name": "isImmutable",
                    "type": "bool"
                }
            ],
            "name": "_404",
            "type": "error"
        },
        {
            "inputs": [
                {
                    "internalType": "string",
                    "name": "reason",
                    "type": "string"
                },
                {
                    "internalType": "uint16",
                    "name": "methodsAllowed",
                    "type": "uint16"
                },
                {
                    "internalType": "bool",
                    "name": "isImmutable",
                    "type": "bool"
                }
            ],
            "name": "_405",
            "type": "error"
        },
        {
            "inputs": [
                {
                    "internalType": "string",
                    "name": "reason",
                    "type": "string"
                },
                {
                    "components": [
                        {
                            "internalType": "int256",
                            "name": "start",
                            "type": "int256"
                        },
                        {
                            "internalType": "int256",
                            "name": "end",
                            "type": "int256"
                        }
                    ],
                    "internalType": "struct Range",
                    "name": "range",
                    "type": "tuple"
                },
                {
                    "internalType": "int256",
                    "name": "outOfBounds",
                    "type": "int256"
                }
            ],
            "name": "_416",
            "type": "error"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                },
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "uint16",
                                    "name": "status",
                                    "type": "uint16"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "bool",
                                                    "name": "immutableFlag",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "enum CachePreset",
                                                    "name": "preset",
                                                    "type": "uint8"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "custom",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct CacheControl",
                                            "name": "cache",
                                            "type": "tuple"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint16",
                                                    "name": "methods",
                                                    "type": "uint16"
                                                },
                                                {
                                                    "internalType": "bytes32[]",
                                                    "name": "origins",
                                                    "type": "bytes32[]"
                                                },
                                                {
                                                    "internalType": "enum CORSPreset",
                                                    "name": "preset",
                                                    "type": "uint8"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "custom",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct CORSPolicy",
                                            "name": "cors",
                                            "type": "tuple"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint16",
                                                    "name": "code",
                                                    "type": "uint16"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "location",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct Redirect",
                                            "name": "redirect",
                                            "type": "tuple"
                                        }
                                    ],
                                    "internalType": "struct HeaderInfo",
                                    "name": "headerInfo",
                                    "type": "tuple"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "mimeType",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "charset",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "encoding",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "language",
                                                    "type": "bytes2"
                                                }
                                            ],
                                            "internalType": "struct ResourceProperties",
                                            "name": "properties",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "size",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "version",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "lastModified",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "header",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct ResourceMetadata",
                                    "name": "metadata",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "etag",
                                    "type": "bytes32"
                                }
                            ],
                            "internalType": "struct HEADResponse",
                            "name": "head",
                            "type": "tuple"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "headerAddress",
                            "type": "bytes32"
                        }
                    ],
                    "indexed": false,
                    "internalType": "struct DEFINEResponse",
                    "name": "response",
                    "type": "tuple"
                }
            ],
            "name": "DEFINESuccess",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                },
                {
                    "components": [
                        {
                            "internalType": "uint16",
                            "name": "status",
                            "type": "uint16"
                        },
                        {
                            "components": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bool",
                                            "name": "immutableFlag",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "enum CachePreset",
                                            "name": "preset",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "string",
                                            "name": "custom",
                                            "type": "string"
                                        }
                                    ],
                                    "internalType": "struct CacheControl",
                                    "name": "cache",
                                    "type": "tuple"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint16",
                                            "name": "methods",
                                            "type": "uint16"
                                        },
                                        {
                                            "internalType": "bytes32[]",
                                            "name": "origins",
                                            "type": "bytes32[]"
                                        },
                                        {
                                            "internalType": "enum CORSPreset",
                                            "name": "preset",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "string",
                                            "name": "custom",
                                            "type": "string"
                                        }
                                    ],
                                    "internalType": "struct CORSPolicy",
                                    "name": "cors",
                                    "type": "tuple"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint16",
                                            "name": "code",
                                            "type": "uint16"
                                        },
                                        {
                                            "internalType": "string",
                                            "name": "location",
                                            "type": "string"
                                        }
                                    ],
                                    "internalType": "struct Redirect",
                                    "name": "redirect",
                                    "type": "tuple"
                                }
                            ],
                            "internalType": "struct HeaderInfo",
                            "name": "headerInfo",
                            "type": "tuple"
                        },
                        {
                            "components": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes2",
                                            "name": "mimeType",
                                            "type": "bytes2"
                                        },
                                        {
                                            "internalType": "bytes2",
                                            "name": "charset",
                                            "type": "bytes2"
                                        },
                                        {
                                            "internalType": "bytes2",
                                            "name": "encoding",
                                            "type": "bytes2"
                                        },
                                        {
                                            "internalType": "bytes2",
                                            "name": "language",
                                            "type": "bytes2"
                                        }
                                    ],
                                    "internalType": "struct ResourceProperties",
                                    "name": "properties",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "size",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "version",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "lastModified",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "header",
                                    "type": "bytes32"
                                }
                            ],
                            "internalType": "struct ResourceMetadata",
                            "name": "metadata",
                            "type": "tuple"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "etag",
                            "type": "bytes32"
                        }
                    ],
                    "indexed": false,
                    "internalType": "struct HEADResponse",
                    "name": "response",
                    "type": "tuple"
                }
            ],
            "name": "DELETESuccess",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "headerAddress",
                    "type": "bytes32"
                }
            ],
            "name": "HeaderCreated",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "headerAddress",
                    "type": "bytes32"
                }
            ],
            "name": "HeaderUpdated",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "string",
                    "name": "path",
                    "type": "string"
                }
            ],
            "name": "MetadataDeleted",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "string",
                    "name": "path",
                    "type": "string"
                }
            ],
            "name": "MetadataUpdated",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                },
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "uint16",
                                    "name": "status",
                                    "type": "uint16"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "bool",
                                                    "name": "immutableFlag",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "enum CachePreset",
                                                    "name": "preset",
                                                    "type": "uint8"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "custom",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct CacheControl",
                                            "name": "cache",
                                            "type": "tuple"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint16",
                                                    "name": "methods",
                                                    "type": "uint16"
                                                },
                                                {
                                                    "internalType": "bytes32[]",
                                                    "name": "origins",
                                                    "type": "bytes32[]"
                                                },
                                                {
                                                    "internalType": "enum CORSPreset",
                                                    "name": "preset",
                                                    "type": "uint8"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "custom",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct CORSPolicy",
                                            "name": "cors",
                                            "type": "tuple"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint16",
                                                    "name": "code",
                                                    "type": "uint16"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "location",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct Redirect",
                                            "name": "redirect",
                                            "type": "tuple"
                                        }
                                    ],
                                    "internalType": "struct HeaderInfo",
                                    "name": "headerInfo",
                                    "type": "tuple"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "mimeType",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "charset",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "encoding",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "language",
                                                    "type": "bytes2"
                                                }
                                            ],
                                            "internalType": "struct ResourceProperties",
                                            "name": "properties",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "size",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "version",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "lastModified",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "header",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct ResourceMetadata",
                                    "name": "metadata",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "etag",
                                    "type": "bytes32"
                                }
                            ],
                            "internalType": "struct HEADResponse",
                            "name": "head",
                            "type": "tuple"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "dataPoints",
                                    "type": "bytes32[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "totalChunks",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct ResourceResponse",
                            "name": "resource",
                            "type": "tuple"
                        }
                    ],
                    "indexed": false,
                    "internalType": "struct LOCATEResponse",
                    "name": "response",
                    "type": "tuple"
                }
            ],
            "name": "PATCHSuccess",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                },
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "uint16",
                                    "name": "status",
                                    "type": "uint16"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "bool",
                                                    "name": "immutableFlag",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "enum CachePreset",
                                                    "name": "preset",
                                                    "type": "uint8"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "custom",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct CacheControl",
                                            "name": "cache",
                                            "type": "tuple"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint16",
                                                    "name": "methods",
                                                    "type": "uint16"
                                                },
                                                {
                                                    "internalType": "bytes32[]",
                                                    "name": "origins",
                                                    "type": "bytes32[]"
                                                },
                                                {
                                                    "internalType": "enum CORSPreset",
                                                    "name": "preset",
                                                    "type": "uint8"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "custom",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct CORSPolicy",
                                            "name": "cors",
                                            "type": "tuple"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint16",
                                                    "name": "code",
                                                    "type": "uint16"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "location",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct Redirect",
                                            "name": "redirect",
                                            "type": "tuple"
                                        }
                                    ],
                                    "internalType": "struct HeaderInfo",
                                    "name": "headerInfo",
                                    "type": "tuple"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "mimeType",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "charset",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "encoding",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "language",
                                                    "type": "bytes2"
                                                }
                                            ],
                                            "internalType": "struct ResourceProperties",
                                            "name": "properties",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "size",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "version",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "lastModified",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "header",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct ResourceMetadata",
                                    "name": "metadata",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "etag",
                                    "type": "bytes32"
                                }
                            ],
                            "internalType": "struct HEADResponse",
                            "name": "head",
                            "type": "tuple"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "dataPoints",
                                    "type": "bytes32[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "totalChunks",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct ResourceResponse",
                            "name": "resource",
                            "type": "tuple"
                        }
                    ],
                    "indexed": false,
                    "internalType": "struct LOCATEResponse",
                    "name": "response",
                    "type": "tuple"
                }
            ],
            "name": "PUTSuccess",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "string",
                    "name": "path",
                    "type": "string"
                }
            ],
            "name": "ResourceCreated",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "string",
                    "name": "path",
                    "type": "string"
                }
            ],
            "name": "ResourceDeleted",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "bytes32",
                    "name": "role",
                    "type": "bytes32"
                }
            ],
            "name": "ResourceRoleCreated",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "string",
                    "name": "path",
                    "type": "string"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "chunkIndex",
                    "type": "uint256"
                }
            ],
            "name": "ResourceUpdated",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "bytes32",
                    "name": "role",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "internalType": "bytes32",
                    "name": "previousAdminRole",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "internalType": "bytes32",
                    "name": "newAdminRole",
                    "type": "bytes32"
                }
            ],
            "name": "RoleAdminChanged",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "bytes32",
                    "name": "role",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "sender",
                    "type": "address"
                }
            ],
            "name": "RoleGranted",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "bytes32",
                    "name": "role",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "sender",
                    "type": "address"
                }
            ],
            "name": "RoleRevoked",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "oldSiteAdmin",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "newSiteAdmin",
                    "type": "bytes32"
                }
            ],
            "name": "SiteAdminChanged",
            "type": "event"
        },
        {
            "inputs": [],
            "name": "DEFAULT_ADMIN_ROLE",
            "outputs": [
                {
                    "internalType": "bytes32",
                    "name": "",
                    "type": "bytes32"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "string",
                                    "name": "path",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "ifModifiedSince",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "ifNoneMatch",
                                    "type": "bytes32"
                                }
                            ],
                            "internalType": "struct HEADRequest",
                            "name": "head",
                            "type": "tuple"
                        },
                        {
                            "components": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bool",
                                            "name": "immutableFlag",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "enum CachePreset",
                                            "name": "preset",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "string",
                                            "name": "custom",
                                            "type": "string"
                                        }
                                    ],
                                    "internalType": "struct CacheControl",
                                    "name": "cache",
                                    "type": "tuple"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint16",
                                            "name": "methods",
                                            "type": "uint16"
                                        },
                                        {
                                            "internalType": "bytes32[]",
                                            "name": "origins",
                                            "type": "bytes32[]"
                                        },
                                        {
                                            "internalType": "enum CORSPreset",
                                            "name": "preset",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "string",
                                            "name": "custom",
                                            "type": "string"
                                        }
                                    ],
                                    "internalType": "struct CORSPolicy",
                                    "name": "cors",
                                    "type": "tuple"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint16",
                                            "name": "code",
                                            "type": "uint16"
                                        },
                                        {
                                            "internalType": "string",
                                            "name": "location",
                                            "type": "string"
                                        }
                                    ],
                                    "internalType": "struct Redirect",
                                    "name": "redirect",
                                    "type": "tuple"
                                }
                            ],
                            "internalType": "struct HeaderInfo",
                            "name": "data",
                            "type": "tuple"
                        }
                    ],
                    "internalType": "struct DEFINERequest",
                    "name": "defineRequest",
                    "type": "tuple"
                }
            ],
            "name": "DEFINE",
            "outputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "uint16",
                                    "name": "status",
                                    "type": "uint16"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "bool",
                                                    "name": "immutableFlag",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "enum CachePreset",
                                                    "name": "preset",
                                                    "type": "uint8"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "custom",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct CacheControl",
                                            "name": "cache",
                                            "type": "tuple"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint16",
                                                    "name": "methods",
                                                    "type": "uint16"
                                                },
                                                {
                                                    "internalType": "bytes32[]",
                                                    "name": "origins",
                                                    "type": "bytes32[]"
                                                },
                                                {
                                                    "internalType": "enum CORSPreset",
                                                    "name": "preset",
                                                    "type": "uint8"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "custom",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct CORSPolicy",
                                            "name": "cors",
                                            "type": "tuple"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint16",
                                                    "name": "code",
                                                    "type": "uint16"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "location",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct Redirect",
                                            "name": "redirect",
                                            "type": "tuple"
                                        }
                                    ],
                                    "internalType": "struct HeaderInfo",
                                    "name": "headerInfo",
                                    "type": "tuple"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "mimeType",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "charset",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "encoding",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "language",
                                                    "type": "bytes2"
                                                }
                                            ],
                                            "internalType": "struct ResourceProperties",
                                            "name": "properties",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "size",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "version",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "lastModified",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "header",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct ResourceMetadata",
                                    "name": "metadata",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "etag",
                                    "type": "bytes32"
                                }
                            ],
                            "internalType": "struct HEADResponse",
                            "name": "head",
                            "type": "tuple"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "headerAddress",
                            "type": "bytes32"
                        }
                    ],
                    "internalType": "struct DEFINEResponse",
                    "name": "defineResponse",
                    "type": "tuple"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "string",
                            "name": "path",
                            "type": "string"
                        },
                        {
                            "internalType": "uint256",
                            "name": "ifModifiedSince",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "ifNoneMatch",
                            "type": "bytes32"
                        }
                    ],
                    "internalType": "struct HEADRequest",
                    "name": "deleteRequest",
                    "type": "tuple"
                }
            ],
            "name": "DELETE",
            "outputs": [
                {
                    "components": [
                        {
                            "internalType": "uint16",
                            "name": "status",
                            "type": "uint16"
                        },
                        {
                            "components": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bool",
                                            "name": "immutableFlag",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "enum CachePreset",
                                            "name": "preset",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "string",
                                            "name": "custom",
                                            "type": "string"
                                        }
                                    ],
                                    "internalType": "struct CacheControl",
                                    "name": "cache",
                                    "type": "tuple"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint16",
                                            "name": "methods",
                                            "type": "uint16"
                                        },
                                        {
                                            "internalType": "bytes32[]",
                                            "name": "origins",
                                            "type": "bytes32[]"
                                        },
                                        {
                                            "internalType": "enum CORSPreset",
                                            "name": "preset",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "string",
                                            "name": "custom",
                                            "type": "string"
                                        }
                                    ],
                                    "internalType": "struct CORSPolicy",
                                    "name": "cors",
                                    "type": "tuple"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint16",
                                            "name": "code",
                                            "type": "uint16"
                                        },
                                        {
                                            "internalType": "string",
                                            "name": "location",
                                            "type": "string"
                                        }
                                    ],
                                    "internalType": "struct Redirect",
                                    "name": "redirect",
                                    "type": "tuple"
                                }
                            ],
                            "internalType": "struct HeaderInfo",
                            "name": "headerInfo",
                            "type": "tuple"
                        },
                        {
                            "components": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes2",
                                            "name": "mimeType",
                                            "type": "bytes2"
                                        },
                                        {
                                            "internalType": "bytes2",
                                            "name": "charset",
                                            "type": "bytes2"
                                        },
                                        {
                                            "internalType": "bytes2",
                                            "name": "encoding",
                                            "type": "bytes2"
                                        },
                                        {
                                            "internalType": "bytes2",
                                            "name": "language",
                                            "type": "bytes2"
                                        }
                                    ],
                                    "internalType": "struct ResourceProperties",
                                    "name": "properties",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "size",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "version",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "lastModified",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "header",
                                    "type": "bytes32"
                                }
                            ],
                            "internalType": "struct ResourceMetadata",
                            "name": "metadata",
                            "type": "tuple"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "etag",
                            "type": "bytes32"
                        }
                    ],
                    "internalType": "struct HEADResponse",
                    "name": "deleteResponse",
                    "type": "tuple"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "DPR",
            "outputs": [
                {
                    "internalType": "contract IDataPointRegistry",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "DPS",
            "outputs": [
                {
                    "internalType": "contract IDataPointStorage",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "string",
                                    "name": "path",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "ifModifiedSince",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "ifNoneMatch",
                                    "type": "bytes32"
                                }
                            ],
                            "internalType": "struct HEADRequest",
                            "name": "head",
                            "type": "tuple"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "int256",
                                    "name": "start",
                                    "type": "int256"
                                },
                                {
                                    "internalType": "int256",
                                    "name": "end",
                                    "type": "int256"
                                }
                            ],
                            "internalType": "struct Range",
                            "name": "rangeChunks",
                            "type": "tuple"
                        }
                    ],
                    "internalType": "struct LOCATERequest",
                    "name": "getRequest",
                    "type": "tuple"
                }
            ],
            "name": "GET",
            "outputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "uint16",
                                    "name": "status",
                                    "type": "uint16"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "bool",
                                                    "name": "immutableFlag",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "enum CachePreset",
                                                    "name": "preset",
                                                    "type": "uint8"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "custom",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct CacheControl",
                                            "name": "cache",
                                            "type": "tuple"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint16",
                                                    "name": "methods",
                                                    "type": "uint16"
                                                },
                                                {
                                                    "internalType": "bytes32[]",
                                                    "name": "origins",
                                                    "type": "bytes32[]"
                                                },
                                                {
                                                    "internalType": "enum CORSPreset",
                                                    "name": "preset",
                                                    "type": "uint8"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "custom",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct CORSPolicy",
                                            "name": "cors",
                                            "type": "tuple"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint16",
                                                    "name": "code",
                                                    "type": "uint16"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "location",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct Redirect",
                                            "name": "redirect",
                                            "type": "tuple"
                                        }
                                    ],
                                    "internalType": "struct HeaderInfo",
                                    "name": "headerInfo",
                                    "type": "tuple"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "mimeType",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "charset",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "encoding",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "language",
                                                    "type": "bytes2"
                                                }
                                            ],
                                            "internalType": "struct ResourceProperties",
                                            "name": "properties",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "size",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "version",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "lastModified",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "header",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct ResourceMetadata",
                                    "name": "metadata",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "etag",
                                    "type": "bytes32"
                                }
                            ],
                            "internalType": "struct HEADResponse",
                            "name": "head",
                            "type": "tuple"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "dataPoints",
                                    "type": "bytes32[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "totalChunks",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct ResourceResponse",
                            "name": "resource",
                            "type": "tuple"
                        }
                    ],
                    "internalType": "struct LOCATEResponse",
                    "name": "getResponse",
                    "type": "tuple"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "string",
                            "name": "path",
                            "type": "string"
                        },
                        {
                            "internalType": "uint256",
                            "name": "ifModifiedSince",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "ifNoneMatch",
                            "type": "bytes32"
                        }
                    ],
                    "internalType": "struct HEADRequest",
                    "name": "headRequest",
                    "type": "tuple"
                }
            ],
            "name": "HEAD",
            "outputs": [
                {
                    "components": [
                        {
                            "internalType": "uint16",
                            "name": "status",
                            "type": "uint16"
                        },
                        {
                            "components": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bool",
                                            "name": "immutableFlag",
                                            "type": "bool"
                                        },
                                        {
                                            "internalType": "enum CachePreset",
                                            "name": "preset",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "string",
                                            "name": "custom",
                                            "type": "string"
                                        }
                                    ],
                                    "internalType": "struct CacheControl",
                                    "name": "cache",
                                    "type": "tuple"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint16",
                                            "name": "methods",
                                            "type": "uint16"
                                        },
                                        {
                                            "internalType": "bytes32[]",
                                            "name": "origins",
                                            "type": "bytes32[]"
                                        },
                                        {
                                            "internalType": "enum CORSPreset",
                                            "name": "preset",
                                            "type": "uint8"
                                        },
                                        {
                                            "internalType": "string",
                                            "name": "custom",
                                            "type": "string"
                                        }
                                    ],
                                    "internalType": "struct CORSPolicy",
                                    "name": "cors",
                                    "type": "tuple"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "uint16",
                                            "name": "code",
                                            "type": "uint16"
                                        },
                                        {
                                            "internalType": "string",
                                            "name": "location",
                                            "type": "string"
                                        }
                                    ],
                                    "internalType": "struct Redirect",
                                    "name": "redirect",
                                    "type": "tuple"
                                }
                            ],
                            "internalType": "struct HeaderInfo",
                            "name": "headerInfo",
                            "type": "tuple"
                        },
                        {
                            "components": [
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes2",
                                            "name": "mimeType",
                                            "type": "bytes2"
                                        },
                                        {
                                            "internalType": "bytes2",
                                            "name": "charset",
                                            "type": "bytes2"
                                        },
                                        {
                                            "internalType": "bytes2",
                                            "name": "encoding",
                                            "type": "bytes2"
                                        },
                                        {
                                            "internalType": "bytes2",
                                            "name": "language",
                                            "type": "bytes2"
                                        }
                                    ],
                                    "internalType": "struct ResourceProperties",
                                    "name": "properties",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "size",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "version",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "lastModified",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "header",
                                    "type": "bytes32"
                                }
                            ],
                            "internalType": "struct ResourceMetadata",
                            "name": "metadata",
                            "type": "tuple"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "etag",
                            "type": "bytes32"
                        }
                    ],
                    "internalType": "struct HEADResponse",
                    "name": "head",
                    "type": "tuple"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "string",
                    "name": "_path",
                    "type": "string"
                }
            ],
            "name": "OPTIONS",
            "outputs": [
                {
                    "components": [
                        {
                            "internalType": "uint16",
                            "name": "status",
                            "type": "uint16"
                        },
                        {
                            "internalType": "uint16",
                            "name": "allow",
                            "type": "uint16"
                        }
                    ],
                    "internalType": "struct OPTIONSResponse",
                    "name": "optionsResponse",
                    "type": "tuple"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "string",
                                    "name": "path",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "ifModifiedSince",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "ifNoneMatch",
                                    "type": "bytes32"
                                }
                            ],
                            "internalType": "struct HEADRequest",
                            "name": "head",
                            "type": "tuple"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "chunkIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "publisher",
                                    "type": "address"
                                }
                            ],
                            "internalType": "struct DataRegistration[]",
                            "name": "data",
                            "type": "tuple[]"
                        }
                    ],
                    "internalType": "struct PATCHRequest",
                    "name": "patchRequest",
                    "type": "tuple"
                }
            ],
            "name": "PATCH",
            "outputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "uint16",
                                    "name": "status",
                                    "type": "uint16"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "bool",
                                                    "name": "immutableFlag",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "enum CachePreset",
                                                    "name": "preset",
                                                    "type": "uint8"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "custom",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct CacheControl",
                                            "name": "cache",
                                            "type": "tuple"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint16",
                                                    "name": "methods",
                                                    "type": "uint16"
                                                },
                                                {
                                                    "internalType": "bytes32[]",
                                                    "name": "origins",
                                                    "type": "bytes32[]"
                                                },
                                                {
                                                    "internalType": "enum CORSPreset",
                                                    "name": "preset",
                                                    "type": "uint8"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "custom",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct CORSPolicy",
                                            "name": "cors",
                                            "type": "tuple"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint16",
                                                    "name": "code",
                                                    "type": "uint16"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "location",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct Redirect",
                                            "name": "redirect",
                                            "type": "tuple"
                                        }
                                    ],
                                    "internalType": "struct HeaderInfo",
                                    "name": "headerInfo",
                                    "type": "tuple"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "mimeType",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "charset",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "encoding",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "language",
                                                    "type": "bytes2"
                                                }
                                            ],
                                            "internalType": "struct ResourceProperties",
                                            "name": "properties",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "size",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "version",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "lastModified",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "header",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct ResourceMetadata",
                                    "name": "metadata",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "etag",
                                    "type": "bytes32"
                                }
                            ],
                            "internalType": "struct HEADResponse",
                            "name": "head",
                            "type": "tuple"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "dataPoints",
                                    "type": "bytes32[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "totalChunks",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct ResourceResponse",
                            "name": "resource",
                            "type": "tuple"
                        }
                    ],
                    "internalType": "struct LOCATEResponse",
                    "name": "patchResponse",
                    "type": "tuple"
                }
            ],
            "stateMutability": "payable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "string",
                                    "name": "path",
                                    "type": "string"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "ifModifiedSince",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "ifNoneMatch",
                                    "type": "bytes32"
                                }
                            ],
                            "internalType": "struct HEADRequest",
                            "name": "head",
                            "type": "tuple"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "bytes2",
                                    "name": "mimeType",
                                    "type": "bytes2"
                                },
                                {
                                    "internalType": "bytes2",
                                    "name": "charset",
                                    "type": "bytes2"
                                },
                                {
                                    "internalType": "bytes2",
                                    "name": "encoding",
                                    "type": "bytes2"
                                },
                                {
                                    "internalType": "bytes2",
                                    "name": "language",
                                    "type": "bytes2"
                                }
                            ],
                            "internalType": "struct ResourceProperties",
                            "name": "properties",
                            "type": "tuple"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "bytes",
                                    "name": "data",
                                    "type": "bytes"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "chunkIndex",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "address",
                                    "name": "publisher",
                                    "type": "address"
                                }
                            ],
                            "internalType": "struct DataRegistration[]",
                            "name": "data",
                            "type": "tuple[]"
                        }
                    ],
                    "internalType": "struct PUTRequest",
                    "name": "putRequest",
                    "type": "tuple"
                }
            ],
            "name": "PUT",
            "outputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "uint16",
                                    "name": "status",
                                    "type": "uint16"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "bool",
                                                    "name": "immutableFlag",
                                                    "type": "bool"
                                                },
                                                {
                                                    "internalType": "enum CachePreset",
                                                    "name": "preset",
                                                    "type": "uint8"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "custom",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct CacheControl",
                                            "name": "cache",
                                            "type": "tuple"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint16",
                                                    "name": "methods",
                                                    "type": "uint16"
                                                },
                                                {
                                                    "internalType": "bytes32[]",
                                                    "name": "origins",
                                                    "type": "bytes32[]"
                                                },
                                                {
                                                    "internalType": "enum CORSPreset",
                                                    "name": "preset",
                                                    "type": "uint8"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "custom",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct CORSPolicy",
                                            "name": "cors",
                                            "type": "tuple"
                                        },
                                        {
                                            "components": [
                                                {
                                                    "internalType": "uint16",
                                                    "name": "code",
                                                    "type": "uint16"
                                                },
                                                {
                                                    "internalType": "string",
                                                    "name": "location",
                                                    "type": "string"
                                                }
                                            ],
                                            "internalType": "struct Redirect",
                                            "name": "redirect",
                                            "type": "tuple"
                                        }
                                    ],
                                    "internalType": "struct HeaderInfo",
                                    "name": "headerInfo",
                                    "type": "tuple"
                                },
                                {
                                    "components": [
                                        {
                                            "components": [
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "mimeType",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "charset",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "encoding",
                                                    "type": "bytes2"
                                                },
                                                {
                                                    "internalType": "bytes2",
                                                    "name": "language",
                                                    "type": "bytes2"
                                                }
                                            ],
                                            "internalType": "struct ResourceProperties",
                                            "name": "properties",
                                            "type": "tuple"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "size",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "version",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "lastModified",
                                            "type": "uint256"
                                        },
                                        {
                                            "internalType": "bytes32",
                                            "name": "header",
                                            "type": "bytes32"
                                        }
                                    ],
                                    "internalType": "struct ResourceMetadata",
                                    "name": "metadata",
                                    "type": "tuple"
                                },
                                {
                                    "internalType": "bytes32",
                                    "name": "etag",
                                    "type": "bytes32"
                                }
                            ],
                            "internalType": "struct HEADResponse",
                            "name": "head",
                            "type": "tuple"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "bytes32[]",
                                    "name": "dataPoints",
                                    "type": "bytes32[]"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "totalChunks",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct ResourceResponse",
                            "name": "resource",
                            "type": "tuple"
                        }
                    ],
                    "internalType": "struct LOCATEResponse",
                    "name": "putResponse",
                    "type": "tuple"
                }
            ],
            "stateMutability": "payable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes32",
                    "name": "_newSiteAdmin",
                    "type": "bytes32"
                }
            ],
            "name": "changeSiteAdmin",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes32",
                    "name": "_role",
                    "type": "bytes32"
                }
            ],
            "name": "createResourceRole",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes32",
                    "name": "role",
                    "type": "bytes32"
                }
            ],
            "name": "getRoleAdmin",
            "outputs": [
                {
                    "internalType": "bytes32",
                    "name": "",
                    "type": "bytes32"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "getSiteAdminRole",
            "outputs": [
                {
                    "internalType": "bytes32",
                    "name": "",
                    "type": "bytes32"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes32",
                    "name": "role",
                    "type": "bytes32"
                },
                {
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                }
            ],
            "name": "grantRole",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes32",
                    "name": "role",
                    "type": "bytes32"
                },
                {
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                }
            ],
            "name": "hasRole",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes32",
                    "name": "role",
                    "type": "bytes32"
                },
                {
                    "internalType": "address",
                    "name": "callerConfirmation",
                    "type": "address"
                }
            ],
            "name": "renounceRole",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes32",
                    "name": "role",
                    "type": "bytes32"
                },
                {
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                }
            ],
            "name": "revokeRole",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes4",
                    "name": "interfaceId",
                    "type": "bytes4"
                }
            ],
            "name": "supportsInterface",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        }
    ],
    "bytecode": "0x",
    "deployedBytecode": "0x",
    "linkReferences": {},
    "deployedLinkReferences": {}
}
