code: def matching_supported(self, options=None):
          
          if self.is_comment:
              return False
  
          if self.is_html_rule:  # HTML rules are not supported yet
              return False
  
          options = options or {}
          keys = set(options.keys())
          if not keys.issuperset(self._options_keys):
              # some of the required options are not given
              return False
  
          return True
docs: Return whether this rule can return meaningful result,
          given the `options` dict. If some options are missing,
          then rule shouldn't be matched against, and this function
          returns False.
  
          No options:
          >>> rule = AdblockRule("swf|")
          >>> rule.matching_supported({})
          True
  
          Option is used in the rule, but its value is not available
          at matching time:
          >>> rule = AdblockRule("swf|$third-party")
          >>> rule.matching_supported({})
          False
  
          Option is used in the rule, and option value is available
          at matching time:
          >>> rule = AdblockRule("swf|$third-party")
          >>> rule.matching_supported({'domain': 'example.com', 'third-party': False})
          True
  
          Rule is a comment:
          >>> rule = AdblockRule("!this is not a rule")
          >>> rule.matching_supported({})
          False