{
  "contractName": "Pausable",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "Paused",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "Unpaused",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "paused",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.7.3+commit.9bfce1f6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which allows children to implement an emergency stop mechanism that can be triggered by an authorized account. This module is used through inheritance. It will make available the modifiers `whenNotPaused` and `whenPaused`, which can be applied to the functions of your contract. Note that they will not be pausable by simply including this module, only once the modifiers are put in place.\",\"events\":{\"Paused(address)\":{\"details\":\"Emitted when the pause is triggered by `account`.\"},\"Unpaused(address)\":{\"details\":\"Emitted when the pause is lifted by `account`.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract in unpaused state.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Pausable.sol\":\"Pausable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0x910a2e625b71168563edf9eeef55a50d6d699acfe27ceba3921f291829a8f938\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://248246ac66e6479dce1ad7d4945ec5540c98ceb09881e93c93f7c48d5772925c\",\"dweb:/ipfs/QmXr8tmUiZgEYid6ixeeBRmTdUnASWjKzhP3KRxMPy8fRt\"]},\"@openzeppelin/contracts/utils/Pausable.sol\":{\"keccak256\":\"0x2a245b797741f05f91212b1c2155a1b99a8884e6fd4c27953c4d3073732737f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76325ec3159cd859da98cab114513ec81095fa38e1412ffffb9b789bf14d6b38\",\"dweb:/ipfs/QmNdE2779u3DdRczjpx6RoevVa9kVJsCyEfnXWjkUw79jo\"]}},\"version\":1}",
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "immutableReferences": {},
  "generatedSources": [],
  "deployedGeneratedSources": [],
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.7.0;\n\nimport \"../GSN/Context.sol\";\n\n/**\n * @dev Contract module which allows children to implement an emergency stop\n * mechanism that can be triggered by an authorized account.\n *\n * This module is used through inheritance. It will make available the\n * modifiers `whenNotPaused` and `whenPaused`, which can be applied to\n * the functions of your contract. Note that they will not be pausable by\n * simply including this module, only once the modifiers are put in place.\n */\nabstract contract Pausable is Context {\n    /**\n     * @dev Emitted when the pause is triggered by `account`.\n     */\n    event Paused(address account);\n\n    /**\n     * @dev Emitted when the pause is lifted by `account`.\n     */\n    event Unpaused(address account);\n\n    bool private _paused;\n\n    /**\n     * @dev Initializes the contract in unpaused state.\n     */\n    constructor () {\n        _paused = false;\n    }\n\n    /**\n     * @dev Returns true if the contract is paused, and false otherwise.\n     */\n    function paused() public view returns (bool) {\n        return _paused;\n    }\n\n    /**\n     * @dev Modifier to make a function callable only when the contract is not paused.\n     *\n     * Requirements:\n     *\n     * - The contract must not be paused.\n     */\n    modifier whenNotPaused() {\n        require(!_paused, \"Pausable: paused\");\n        _;\n    }\n\n    /**\n     * @dev Modifier to make a function callable only when the contract is paused.\n     *\n     * Requirements:\n     *\n     * - The contract must be paused.\n     */\n    modifier whenPaused() {\n        require(_paused, \"Pausable: not paused\");\n        _;\n    }\n\n    /**\n     * @dev Triggers stopped state.\n     *\n     * Requirements:\n     *\n     * - The contract must not be paused.\n     */\n    function _pause() internal virtual whenNotPaused {\n        _paused = true;\n        emit Paused(_msgSender());\n    }\n\n    /**\n     * @dev Returns to normal state.\n     *\n     * Requirements:\n     *\n     * - The contract must be paused.\n     */\n    function _unpause() internal virtual whenPaused {\n        _paused = false;\n        emit Unpaused(_msgSender());\n    }\n}\n",
  "sourcePath": "@openzeppelin/contracts/utils/Pausable.sol",
  "ast": {
    "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol",
    "exportedSymbols": {
      "Context": [
        5279
      ],
      "Pausable": [
        6255
      ]
    },
    "id": 6256,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 6167,
        "literals": [
          "solidity",
          "^",
          "0.7",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "33:23:43"
      },
      {
        "absolutePath": "@openzeppelin/contracts/GSN/Context.sol",
        "file": "../GSN/Context.sol",
        "id": 6168,
        "nodeType": "ImportDirective",
        "scope": 6256,
        "sourceUnit": 5280,
        "src": "58:28:43",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": true,
        "baseContracts": [
          {
            "baseName": {
              "id": 6170,
              "name": "Context",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 5279,
              "src": "558:7:43",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Context_$5279",
                "typeString": "contract Context"
              }
            },
            "id": 6171,
            "nodeType": "InheritanceSpecifier",
            "src": "558:7:43"
          }
        ],
        "contractDependencies": [
          5279
        ],
        "contractKind": "contract",
        "documentation": {
          "id": 6169,
          "nodeType": "StructuredDocumentation",
          "src": "88:439:43",
          "text": " @dev Contract module which allows children to implement an emergency stop\n mechanism that can be triggered by an authorized account.\n This module is used through inheritance. It will make available the\n modifiers `whenNotPaused` and `whenPaused`, which can be applied to\n the functions of your contract. Note that they will not be pausable by\n simply including this module, only once the modifiers are put in place."
        },
        "fullyImplemented": true,
        "id": 6255,
        "linearizedBaseContracts": [
          6255,
          5279
        ],
        "name": "Pausable",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": {
              "id": 6172,
              "nodeType": "StructuredDocumentation",
              "src": "572:73:43",
              "text": " @dev Emitted when the pause is triggered by `account`."
            },
            "id": 6176,
            "name": "Paused",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 6175,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6174,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "account",
                  "nodeType": "VariableDeclaration",
                  "scope": 6176,
                  "src": "663:15:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6173,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "663:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "662:17:43"
            },
            "src": "650:30:43"
          },
          {
            "anonymous": false,
            "documentation": {
              "id": 6177,
              "nodeType": "StructuredDocumentation",
              "src": "686:70:43",
              "text": " @dev Emitted when the pause is lifted by `account`."
            },
            "id": 6181,
            "name": "Unpaused",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 6180,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6179,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "account",
                  "nodeType": "VariableDeclaration",
                  "scope": 6181,
                  "src": "776:15:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6178,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "776:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "775:17:43"
            },
            "src": "761:32:43"
          },
          {
            "constant": false,
            "id": 6183,
            "mutability": "mutable",
            "name": "_paused",
            "nodeType": "VariableDeclaration",
            "scope": 6255,
            "src": "799:20:43",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
            },
            "typeName": {
              "id": 6182,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "799:4:43",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            },
            "visibility": "private"
          },
          {
            "body": {
              "id": 6191,
              "nodeType": "Block",
              "src": "913:32:43",
              "statements": [
                {
                  "expression": {
                    "id": 6189,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6187,
                      "name": "_paused",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6183,
                      "src": "923:7:43",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "hexValue": "66616c7365",
                      "id": 6188,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "933:5:43",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "false"
                    },
                    "src": "923:15:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 6190,
                  "nodeType": "ExpressionStatement",
                  "src": "923:15:43"
                }
              ]
            },
            "documentation": {
              "id": 6184,
              "nodeType": "StructuredDocumentation",
              "src": "826:67:43",
              "text": " @dev Initializes the contract in unpaused state."
            },
            "id": 6192,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6185,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "910:2:43"
            },
            "returnParameters": {
              "id": 6186,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "913:0:43"
            },
            "scope": 6255,
            "src": "898:47:43",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 6200,
              "nodeType": "Block",
              "src": "1085:31:43",
              "statements": [
                {
                  "expression": {
                    "id": 6198,
                    "name": "_paused",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6183,
                    "src": "1102:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 6197,
                  "id": 6199,
                  "nodeType": "Return",
                  "src": "1095:14:43"
                }
              ]
            },
            "documentation": {
              "id": 6193,
              "nodeType": "StructuredDocumentation",
              "src": "951:84:43",
              "text": " @dev Returns true if the contract is paused, and false otherwise."
            },
            "functionSelector": "5c975abb",
            "id": 6201,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "paused",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6194,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1055:2:43"
            },
            "returnParameters": {
              "id": 6197,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6196,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 6201,
                  "src": "1079:4:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 6195,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1079:4:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1078:6:43"
            },
            "scope": 6255,
            "src": "1040:76:43",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 6211,
              "nodeType": "Block",
              "src": "1327:65:43",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6206,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "1345:8:43",
                        "subExpression": {
                          "id": 6205,
                          "name": "_paused",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6183,
                          "src": "1346:7:43",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "5061757361626c653a20706175736564",
                        "id": 6207,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1355:18:43",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a",
                          "typeString": "literal_string \"Pausable: paused\""
                        },
                        "value": "Pausable: paused"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a",
                          "typeString": "literal_string \"Pausable: paused\""
                        }
                      ],
                      "id": 6204,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1337:7:43",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 6208,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1337:37:43",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6209,
                  "nodeType": "ExpressionStatement",
                  "src": "1337:37:43"
                },
                {
                  "id": 6210,
                  "nodeType": "PlaceholderStatement",
                  "src": "1384:1:43"
                }
              ]
            },
            "documentation": {
              "id": 6202,
              "nodeType": "StructuredDocumentation",
              "src": "1122:175:43",
              "text": " @dev Modifier to make a function callable only when the contract is not paused.\n Requirements:\n - The contract must not be paused."
            },
            "id": 6212,
            "name": "whenNotPaused",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 6203,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1324:2:43"
            },
            "src": "1302:90:43",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 6221,
              "nodeType": "Block",
              "src": "1592:68:43",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6216,
                        "name": "_paused",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6183,
                        "src": "1610:7:43",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "5061757361626c653a206e6f7420706175736564",
                        "id": 6217,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1619:22:43",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a",
                          "typeString": "literal_string \"Pausable: not paused\""
                        },
                        "value": "Pausable: not paused"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a",
                          "typeString": "literal_string \"Pausable: not paused\""
                        }
                      ],
                      "id": 6215,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1602:7:43",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 6218,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1602:40:43",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6219,
                  "nodeType": "ExpressionStatement",
                  "src": "1602:40:43"
                },
                {
                  "id": 6220,
                  "nodeType": "PlaceholderStatement",
                  "src": "1652:1:43"
                }
              ]
            },
            "documentation": {
              "id": 6213,
              "nodeType": "StructuredDocumentation",
              "src": "1398:167:43",
              "text": " @dev Modifier to make a function callable only when the contract is paused.\n Requirements:\n - The contract must be paused."
            },
            "id": 6222,
            "name": "whenPaused",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 6214,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1589:2:43"
            },
            "src": "1570:90:43",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 6237,
              "nodeType": "Block",
              "src": "1844:66:43",
              "statements": [
                {
                  "expression": {
                    "id": 6230,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6228,
                      "name": "_paused",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6183,
                      "src": "1854:7:43",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "hexValue": "74727565",
                      "id": 6229,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1864:4:43",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "1854:14:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 6231,
                  "nodeType": "ExpressionStatement",
                  "src": "1854:14:43"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 6233,
                          "name": "_msgSender",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5267,
                          "src": "1890:10:43",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$",
                            "typeString": "function () view returns (address payable)"
                          }
                        },
                        "id": 6234,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1890:12:43",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      ],
                      "id": 6232,
                      "name": "Paused",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6176,
                      "src": "1883:6:43",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address)"
                      }
                    },
                    "id": 6235,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1883:20:43",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6236,
                  "nodeType": "EmitStatement",
                  "src": "1878:25:43"
                }
              ]
            },
            "documentation": {
              "id": 6223,
              "nodeType": "StructuredDocumentation",
              "src": "1666:124:43",
              "text": " @dev Triggers stopped state.\n Requirements:\n - The contract must not be paused."
            },
            "id": 6238,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 6226,
                "modifierName": {
                  "id": 6225,
                  "name": "whenNotPaused",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 6212,
                  "src": "1830:13:43",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1830:13:43"
              }
            ],
            "name": "_pause",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6224,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1810:2:43"
            },
            "returnParameters": {
              "id": 6227,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1844:0:43"
            },
            "scope": 6255,
            "src": "1795:115:43",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 6253,
              "nodeType": "Block",
              "src": "2090:69:43",
              "statements": [
                {
                  "expression": {
                    "id": 6246,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6244,
                      "name": "_paused",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6183,
                      "src": "2100:7:43",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "hexValue": "66616c7365",
                      "id": 6245,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2110:5:43",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "false"
                    },
                    "src": "2100:15:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 6247,
                  "nodeType": "ExpressionStatement",
                  "src": "2100:15:43"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 6249,
                          "name": "_msgSender",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5267,
                          "src": "2139:10:43",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$",
                            "typeString": "function () view returns (address payable)"
                          }
                        },
                        "id": 6250,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2139:12:43",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      ],
                      "id": 6248,
                      "name": "Unpaused",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6181,
                      "src": "2130:8:43",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address)"
                      }
                    },
                    "id": 6251,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2130:22:43",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6252,
                  "nodeType": "EmitStatement",
                  "src": "2125:27:43"
                }
              ]
            },
            "documentation": {
              "id": 6239,
              "nodeType": "StructuredDocumentation",
              "src": "1916:121:43",
              "text": " @dev Returns to normal state.\n Requirements:\n - The contract must be paused."
            },
            "id": 6254,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 6242,
                "modifierName": {
                  "id": 6241,
                  "name": "whenPaused",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 6222,
                  "src": "2079:10:43",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2079:10:43"
              }
            ],
            "name": "_unpause",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6240,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2059:2:43"
            },
            "returnParameters": {
              "id": 6243,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2090:0:43"
            },
            "scope": 6255,
            "src": "2042:117:43",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          }
        ],
        "scope": 6256,
        "src": "528:1633:43"
      }
    ],
    "src": "33:2129:43"
  },
  "legacyAST": {
    "attributes": {
      "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol",
      "exportedSymbols": {
        "Context": [
          5279
        ],
        "Pausable": [
          6255
        ]
      },
      "license": "MIT"
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.7",
            ".0"
          ]
        },
        "id": 6167,
        "name": "PragmaDirective",
        "src": "33:23:43"
      },
      {
        "attributes": {
          "SourceUnit": 5280,
          "absolutePath": "@openzeppelin/contracts/GSN/Context.sol",
          "file": "../GSN/Context.sol",
          "scope": 6256,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 6168,
        "name": "ImportDirective",
        "src": "58:28:43"
      },
      {
        "attributes": {
          "abstract": true,
          "contractDependencies": [
            5279
          ],
          "contractKind": "contract",
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            6255,
            5279
          ],
          "name": "Pausable",
          "scope": 6256
        },
        "children": [
          {
            "attributes": {
              "text": " @dev Contract module which allows children to implement an emergency stop\n mechanism that can be triggered by an authorized account.\n This module is used through inheritance. It will make available the\n modifiers `whenNotPaused` and `whenPaused`, which can be applied to\n the functions of your contract. Note that they will not be pausable by\n simply including this module, only once the modifiers are put in place."
            },
            "id": 6169,
            "name": "StructuredDocumentation",
            "src": "88:439:43"
          },
          {
            "attributes": {},
            "children": [
              {
                "attributes": {
                  "name": "Context",
                  "referencedDeclaration": 5279,
                  "type": "contract Context"
                },
                "id": 6170,
                "name": "UserDefinedTypeName",
                "src": "558:7:43"
              }
            ],
            "id": 6171,
            "name": "InheritanceSpecifier",
            "src": "558:7:43"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "Paused"
            },
            "children": [
              {
                "attributes": {
                  "text": " @dev Emitted when the pause is triggered by `account`."
                },
                "id": 6172,
                "name": "StructuredDocumentation",
                "src": "572:73:43"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "account",
                      "scope": 6176,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 6173,
                        "name": "ElementaryTypeName",
                        "src": "663:7:43"
                      }
                    ],
                    "id": 6174,
                    "name": "VariableDeclaration",
                    "src": "663:15:43"
                  }
                ],
                "id": 6175,
                "name": "ParameterList",
                "src": "662:17:43"
              }
            ],
            "id": 6176,
            "name": "EventDefinition",
            "src": "650:30:43"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "Unpaused"
            },
            "children": [
              {
                "attributes": {
                  "text": " @dev Emitted when the pause is lifted by `account`."
                },
                "id": 6177,
                "name": "StructuredDocumentation",
                "src": "686:70:43"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "account",
                      "scope": 6181,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 6178,
                        "name": "ElementaryTypeName",
                        "src": "776:7:43"
                      }
                    ],
                    "id": 6179,
                    "name": "VariableDeclaration",
                    "src": "776:15:43"
                  }
                ],
                "id": 6180,
                "name": "ParameterList",
                "src": "775:17:43"
              }
            ],
            "id": 6181,
            "name": "EventDefinition",
            "src": "761:32:43"
          },
          {
            "attributes": {
              "constant": false,
              "mutability": "mutable",
              "name": "_paused",
              "scope": 6255,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "bool",
              "visibility": "private"
            },
            "children": [
              {
                "attributes": {
                  "name": "bool",
                  "type": "bool"
                },
                "id": 6182,
                "name": "ElementaryTypeName",
                "src": "799:4:43"
              }
            ],
            "id": 6183,
            "name": "VariableDeclaration",
            "src": "799:20:43"
          },
          {
            "attributes": {
              "implemented": true,
              "isConstructor": true,
              "kind": "constructor",
              "modifiers": [
                null
              ],
              "name": "",
              "scope": 6255,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "text": " @dev Initializes the contract in unpaused state."
                },
                "id": 6184,
                "name": "StructuredDocumentation",
                "src": "826:67:43"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 6185,
                "name": "ParameterList",
                "src": "910:2:43"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 6186,
                "name": "ParameterList",
                "src": "913:0:43"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6183,
                              "type": "bool",
                              "value": "_paused"
                            },
                            "id": 6187,
                            "name": "Identifier",
                            "src": "923:7:43"
                          },
                          {
                            "attributes": {
                              "hexvalue": "66616c7365",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "token": "bool",
                              "type": "bool",
                              "value": "false"
                            },
                            "id": 6188,
                            "name": "Literal",
                            "src": "933:5:43"
                          }
                        ],
                        "id": 6189,
                        "name": "Assignment",
                        "src": "923:15:43"
                      }
                    ],
                    "id": 6190,
                    "name": "ExpressionStatement",
                    "src": "923:15:43"
                  }
                ],
                "id": 6191,
                "name": "Block",
                "src": "913:32:43"
              }
            ],
            "id": 6192,
            "name": "FunctionDefinition",
            "src": "898:47:43"
          },
          {
            "attributes": {
              "functionSelector": "5c975abb",
              "implemented": true,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "paused",
              "scope": 6255,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "text": " @dev Returns true if the contract is paused, and false otherwise."
                },
                "id": 6193,
                "name": "StructuredDocumentation",
                "src": "951:84:43"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 6194,
                "name": "ParameterList",
                "src": "1055:2:43"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "scope": 6201,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 6195,
                        "name": "ElementaryTypeName",
                        "src": "1079:4:43"
                      }
                    ],
                    "id": 6196,
                    "name": "VariableDeclaration",
                    "src": "1079:4:43"
                  }
                ],
                "id": 6197,
                "name": "ParameterList",
                "src": "1078:6:43"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 6197
                    },
                    "children": [
                      {
                        "attributes": {
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 6183,
                          "type": "bool",
                          "value": "_paused"
                        },
                        "id": 6198,
                        "name": "Identifier",
                        "src": "1102:7:43"
                      }
                    ],
                    "id": 6199,
                    "name": "Return",
                    "src": "1095:14:43"
                  }
                ],
                "id": 6200,
                "name": "Block",
                "src": "1085:31:43"
              }
            ],
            "id": 6201,
            "name": "FunctionDefinition",
            "src": "1040:76:43"
          },
          {
            "attributes": {
              "name": "whenNotPaused",
              "virtual": false,
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "text": " @dev Modifier to make a function callable only when the contract is not paused.\n Requirements:\n - The contract must not be paused."
                },
                "id": 6202,
                "name": "StructuredDocumentation",
                "src": "1122:175:43"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 6203,
                "name": "ParameterList",
                "src": "1324:2:43"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "tryCall": false,
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a",
                                  "typeString": "literal_string \"Pausable: paused\""
                                }
                              ],
                              "overloadedDeclarations": [
                                -18,
                                -18
                              ],
                              "referencedDeclaration": -18,
                              "type": "function (bool,string memory) pure",
                              "value": "require"
                            },
                            "id": 6204,
                            "name": "Identifier",
                            "src": "1337:7:43"
                          },
                          {
                            "attributes": {
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "!",
                              "prefix": true,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6183,
                                  "type": "bool",
                                  "value": "_paused"
                                },
                                "id": 6205,
                                "name": "Identifier",
                                "src": "1346:7:43"
                              }
                            ],
                            "id": 6206,
                            "name": "UnaryOperation",
                            "src": "1345:8:43"
                          },
                          {
                            "attributes": {
                              "hexvalue": "5061757361626c653a20706175736564",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "token": "string",
                              "type": "literal_string \"Pausable: paused\"",
                              "value": "Pausable: paused"
                            },
                            "id": 6207,
                            "name": "Literal",
                            "src": "1355:18:43"
                          }
                        ],
                        "id": 6208,
                        "name": "FunctionCall",
                        "src": "1337:37:43"
                      }
                    ],
                    "id": 6209,
                    "name": "ExpressionStatement",
                    "src": "1337:37:43"
                  },
                  {
                    "id": 6210,
                    "name": "PlaceholderStatement",
                    "src": "1384:1:43"
                  }
                ],
                "id": 6211,
                "name": "Block",
                "src": "1327:65:43"
              }
            ],
            "id": 6212,
            "name": "ModifierDefinition",
            "src": "1302:90:43"
          },
          {
            "attributes": {
              "name": "whenPaused",
              "virtual": false,
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "text": " @dev Modifier to make a function callable only when the contract is paused.\n Requirements:\n - The contract must be paused."
                },
                "id": 6213,
                "name": "StructuredDocumentation",
                "src": "1398:167:43"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 6214,
                "name": "ParameterList",
                "src": "1589:2:43"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "tryCall": false,
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a",
                                  "typeString": "literal_string \"Pausable: not paused\""
                                }
                              ],
                              "overloadedDeclarations": [
                                -18,
                                -18
                              ],
                              "referencedDeclaration": -18,
                              "type": "function (bool,string memory) pure",
                              "value": "require"
                            },
                            "id": 6215,
                            "name": "Identifier",
                            "src": "1602:7:43"
                          },
                          {
                            "attributes": {
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6183,
                              "type": "bool",
                              "value": "_paused"
                            },
                            "id": 6216,
                            "name": "Identifier",
                            "src": "1610:7:43"
                          },
                          {
                            "attributes": {
                              "hexvalue": "5061757361626c653a206e6f7420706175736564",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "token": "string",
                              "type": "literal_string \"Pausable: not paused\"",
                              "value": "Pausable: not paused"
                            },
                            "id": 6217,
                            "name": "Literal",
                            "src": "1619:22:43"
                          }
                        ],
                        "id": 6218,
                        "name": "FunctionCall",
                        "src": "1602:40:43"
                      }
                    ],
                    "id": 6219,
                    "name": "ExpressionStatement",
                    "src": "1602:40:43"
                  },
                  {
                    "id": 6220,
                    "name": "PlaceholderStatement",
                    "src": "1652:1:43"
                  }
                ],
                "id": 6221,
                "name": "Block",
                "src": "1592:68:43"
              }
            ],
            "id": 6222,
            "name": "ModifierDefinition",
            "src": "1570:90:43"
          },
          {
            "attributes": {
              "implemented": true,
              "isConstructor": false,
              "kind": "function",
              "name": "_pause",
              "scope": 6255,
              "stateMutability": "nonpayable",
              "virtual": true,
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "text": " @dev Triggers stopped state.\n Requirements:\n - The contract must not be paused."
                },
                "id": 6223,
                "name": "StructuredDocumentation",
                "src": "1666:124:43"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 6224,
                "name": "ParameterList",
                "src": "1810:2:43"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 6227,
                "name": "ParameterList",
                "src": "1844:0:43"
              },
              {
                "attributes": {},
                "children": [
                  {
                    "attributes": {
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 6212,
                      "type": "modifier ()",
                      "value": "whenNotPaused"
                    },
                    "id": 6225,
                    "name": "Identifier",
                    "src": "1830:13:43"
                  }
                ],
                "id": 6226,
                "name": "ModifierInvocation",
                "src": "1830:13:43"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6183,
                              "type": "bool",
                              "value": "_paused"
                            },
                            "id": 6228,
                            "name": "Identifier",
                            "src": "1854:7:43"
                          },
                          {
                            "attributes": {
                              "hexvalue": "74727565",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "token": "bool",
                              "type": "bool",
                              "value": "true"
                            },
                            "id": 6229,
                            "name": "Literal",
                            "src": "1864:4:43"
                          }
                        ],
                        "id": 6230,
                        "name": "Assignment",
                        "src": "1854:14:43"
                      }
                    ],
                    "id": 6231,
                    "name": "ExpressionStatement",
                    "src": "1854:14:43"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "tryCall": false,
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address_payable",
                                  "typeString": "address payable"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6176,
                              "type": "function (address)",
                              "value": "Paused"
                            },
                            "id": 6232,
                            "name": "Identifier",
                            "src": "1883:6:43"
                          },
                          {
                            "attributes": {
                              "arguments": [
                                null
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "tryCall": false,
                              "type": "address payable",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    null
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5267,
                                  "type": "function () view returns (address payable)",
                                  "value": "_msgSender"
                                },
                                "id": 6233,
                                "name": "Identifier",
                                "src": "1890:10:43"
                              }
                            ],
                            "id": 6234,
                            "name": "FunctionCall",
                            "src": "1890:12:43"
                          }
                        ],
                        "id": 6235,
                        "name": "FunctionCall",
                        "src": "1883:20:43"
                      }
                    ],
                    "id": 6236,
                    "name": "EmitStatement",
                    "src": "1878:25:43"
                  }
                ],
                "id": 6237,
                "name": "Block",
                "src": "1844:66:43"
              }
            ],
            "id": 6238,
            "name": "FunctionDefinition",
            "src": "1795:115:43"
          },
          {
            "attributes": {
              "implemented": true,
              "isConstructor": false,
              "kind": "function",
              "name": "_unpause",
              "scope": 6255,
              "stateMutability": "nonpayable",
              "virtual": true,
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "text": " @dev Returns to normal state.\n Requirements:\n - The contract must be paused."
                },
                "id": 6239,
                "name": "StructuredDocumentation",
                "src": "1916:121:43"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 6240,
                "name": "ParameterList",
                "src": "2059:2:43"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 6243,
                "name": "ParameterList",
                "src": "2090:0:43"
              },
              {
                "attributes": {},
                "children": [
                  {
                    "attributes": {
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 6222,
                      "type": "modifier ()",
                      "value": "whenPaused"
                    },
                    "id": 6241,
                    "name": "Identifier",
                    "src": "2079:10:43"
                  }
                ],
                "id": 6242,
                "name": "ModifierInvocation",
                "src": "2079:10:43"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6183,
                              "type": "bool",
                              "value": "_paused"
                            },
                            "id": 6244,
                            "name": "Identifier",
                            "src": "2100:7:43"
                          },
                          {
                            "attributes": {
                              "hexvalue": "66616c7365",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "token": "bool",
                              "type": "bool",
                              "value": "false"
                            },
                            "id": 6245,
                            "name": "Literal",
                            "src": "2110:5:43"
                          }
                        ],
                        "id": 6246,
                        "name": "Assignment",
                        "src": "2100:15:43"
                      }
                    ],
                    "id": 6247,
                    "name": "ExpressionStatement",
                    "src": "2100:15:43"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "tryCall": false,
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address_payable",
                                  "typeString": "address payable"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6181,
                              "type": "function (address)",
                              "value": "Unpaused"
                            },
                            "id": 6248,
                            "name": "Identifier",
                            "src": "2130:8:43"
                          },
                          {
                            "attributes": {
                              "arguments": [
                                null
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "tryCall": false,
                              "type": "address payable",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    null
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 5267,
                                  "type": "function () view returns (address payable)",
                                  "value": "_msgSender"
                                },
                                "id": 6249,
                                "name": "Identifier",
                                "src": "2139:10:43"
                              }
                            ],
                            "id": 6250,
                            "name": "FunctionCall",
                            "src": "2139:12:43"
                          }
                        ],
                        "id": 6251,
                        "name": "FunctionCall",
                        "src": "2130:22:43"
                      }
                    ],
                    "id": 6252,
                    "name": "EmitStatement",
                    "src": "2125:27:43"
                  }
                ],
                "id": 6253,
                "name": "Block",
                "src": "2090:69:43"
              }
            ],
            "id": 6254,
            "name": "FunctionDefinition",
            "src": "2042:117:43"
          }
        ],
        "id": 6255,
        "name": "ContractDefinition",
        "src": "528:1633:43"
      }
    ],
    "id": 6256,
    "name": "SourceUnit",
    "src": "33:2129:43"
  },
  "compiler": {
    "name": "solc",
    "version": "0.7.3+commit.9bfce1f6.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.3.3",
  "updatedAt": "2021-02-01T23:13:33.282Z",
  "devdoc": {
    "details": "Contract module which allows children to implement an emergency stop mechanism that can be triggered by an authorized account. This module is used through inheritance. It will make available the modifiers `whenNotPaused` and `whenPaused`, which can be applied to the functions of your contract. Note that they will not be pausable by simply including this module, only once the modifiers are put in place.",
    "events": {
      "Paused(address)": {
        "details": "Emitted when the pause is triggered by `account`."
      },
      "Unpaused(address)": {
        "details": "Emitted when the pause is lifted by `account`."
      }
    },
    "kind": "dev",
    "methods": {
      "constructor": {
        "details": "Initializes the contract in unpaused state."
      },
      "paused()": {
        "details": "Returns true if the contract is paused, and false otherwise."
      }
    },
    "version": 1
  },
  "userdoc": {
    "kind": "user",
    "methods": {},
    "version": 1
  }
}