code: def _asdict(self):
      
      # Start with any default values we have, and override with loaded values,
      # and then override with flag values.
      retval = {key: self._declarations[key].default_value for
                key in self._declarations if self._declarations[key].has_default}
      retval.update(self._loaded_values)
      # Only update keys that are declared so we don't allow injecting
      # un-declared keys via commandline flags.
      for key, value in self._modules['six'].iteritems(self._flag_values):
        if key in self._declarations:
          retval[key] = value
      return retval
docs: Create a dictionary snapshot of the current config values.