docstr: Params:
      driver (PersistenceDriver)
      data (Bytes): Compressed data
  
  Return: Bytes
docstr_tok: ["Params",":","driver","(","PersistenceDriver",")","data","(","Bytes",")",":","Compressed","data","Return",":","Bytes"]
code: def gz_decompress(driver, data):
      """
      Params:
          driver (PersistenceDriver)
          data (Bytes): Compressed data
  
      Return: Bytes
      """
      try:
          data = zlib.decompress(data, 47)
          LOGGER.debug(
              "LookupTable (%s): Object decompressed to %d byte payload",
              driver.id,
              sys.getsizeof(data),
          )
      except zlib.error:
          LOGGER.warning(
              "LookupTable (%s): Data is not compressed; defaulting to original payload",
              driver.id,
          )
      return data
  
imports: import json
  import sys
  import time
  import zlib
  import boto3
  from botocore.exceptions import ClientError, ConnectTimeoutError, ReadTimeoutError
  import streamalert.shared.helpers.boto
  from streamalert.shared.logger import get_logger
  from streamalert.shared.lookup_tables.cache import DriverCache
  from streamalert.shared.lookup_tables.drivers import PersistenceDriver
  from streamalert.shared.lookup_tables.errors import LookupTablesCommitError, LookupTablesInitializationError
label_desc: Use image node_id 1 for calling the Compression obj's underlying member method code with example usage: obj.gz_decompress(driver, data) and returns: data