code: def _infer_augassign(self, context=None):
      
      if context is None:
          context = contextmod.InferenceContext()
  
      rhs_context = context.clone()
  
      lhs_iter = self.target.infer_lhs(context=context)
      rhs_iter = self.value.infer(context=rhs_context)
      for lhs, rhs in itertools.product(lhs_iter, rhs_iter):
          if any(value is util.Uninferable for value in (rhs, lhs)):
              # Don't know how to process this.
              yield util.Uninferable
              return
  
          try:
              yield from _infer_binary_operation(
                  left=lhs,
                  right=rhs,
                  binary_opnode=self,
                  context=context,
                  flow_factory=_get_aug_flow,
              )
          except exceptions._NonDeducibleTypeHierarchy:
              yield util.Uninferable
docs: Inference logic for augmented binary operations.