class_docstr: Run ZAP authentication in a background thread
class_docstr_tok: ["Run","ZAP","authentication","in","a","background","thread"]
code: def __setattr__(self, key, value):
      for obj in [self] + self.__class__.mro():
          if key in obj.__dict__:
              object.__setattr__(self, key, value)
              return
      setattr(self.thread.authenticator, key, value)
  
imports: import time
  import logging
  from threading import Thread, Event
  import zmq
  from zmq.utils import jsonapi
  from zmq.utils.strtypes import bytes, unicode, b, u
  import sys
  from .base import Authenticator
label_desc: Use image node_id 2 for calling the ThreadAuthenticator obj's underlying member method code with example usage: obj.__setattr__(key, value) without return types