docs: def from_array(array):
          """
          Deserialize a new ChatMember from a given dictionary.
  
          :return: new ChatMember instance.
          :rtype: ChatMember
          """
          if array is None or not array:
              return None
          # end if
          assert_type_or_raise(array, dict, parameter_name="array")
  
          data = {}
          data['user'] = User.from_array(array.get('user'))
          data['status'] = u(array.get('status'))
          data['until_date'] = int(array.get('until_date')) if array.get('until_date') is not None else None
          data['can_be_edited'] = bool(array.get('can_be_edited')) if array.get('can_be_edited') is not None else None
          data['can_change_info'] = bool(array.get('can_change_info')) if array.get('can_change_info') is not None else None
          data['can_post_messages'] = bool(array.get('can_post_messages')) if array.get('can_post_messages') is not None else None
          data['can_edit_messages'] = bool(array.get('can_edit_messages')) if array.get('can_edit_messages') is not None else None
          data['can_delete_messages'] = bool(array.get('can_delete_messages')) if array.get('can_delete_messages') is not None else None
          data['can_invite_users'] = bool(array.get('can_invite_users')) if array.get('can_invite_users') is not None else None
          data['can_restrict_members'] = bool(array.get('can_restrict_members')) if array.get('can_restrict_members') is not None else None
          data['can_pin_messages'] = bool(array.get('can_pin_messages')) if array.get('can_pin_messages') is not None else None
          data['can_promote_members'] = bool(array.get('can_promote_members')) if array.get('can_promote_members') is not None else None
          data['can_send_messages'] = bool(array.get('can_send_messages')) if array.get('can_send_messages') is not None else None
          data['can_send_media_messages'] = bool(array.get('can_send_media_messages')) if array.get('can_send_media_messages') is not None else None
          data['can_send_other_messages'] = bool(array.get('can_send_other_messages')) if array.get('can_send_other_messages') is not None else None
          data['can_add_web_page_previews'] = bool(array.get('can_add_web_page_previews')) if array.get('can_add_web_page_previews') is not None else None
          data['_raw'] = array
          return ChatMember(**data)