
    i                       d Z ddlmZ ddlmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZ ddlmZmZmZ ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZm Z  ddl!m"Z"m#Z#m$Z$ ddl%m&Z& ddl'm(Z( ddl)m*Z* ddl+m,Z, ddl-m.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8m9Z9m:Z: ddl;m<Z<m=Z= dZ>erddl?Z?ddlm@Z@ ddlAmBZB ddlCmDZD ddlEmFZGmHZImJZK ddlLmZMm:ZNmOZP ddlQmZR ddlSm&ZTmUZU dd lVmWZW dd!lXmYZY dd"lZm[Z[ dd#l\m]Z^m_Z` dd$lambZb dd%lcmdZd dd&lemfZf eeBe@jg        e,ebe&ee(e0e2e4ee6e$e.efeddf         Zhdd-Zidd0Zjdd2Zkdd5Zldd8Zmdd:Zndd<Zodd>Zpdd@ZqddBZrddEZsddHZtddKZuddMZvddNZwddOZxddSZyddVZzddXZ{dd[Z|dd^Z} ed_ej~        `          ZdddZ edeej        `          ZddiZddlZ G dm dn          Zed(egef         Z G do dp          Z G dq dr          Z G ds dte          Z G du dve          Z G dw dxe          Z G dy dze          Z G d{ d|e          Z G d} d~e          Z G d de          Z G d de          Z G d d(e          ZHdS )a:  
The MIT License (MIT)

Copyright (c) 2015-present Rapptz

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
    )annotations)TYPE_CHECKINGAnyCallableClassVarMapping	GeneratorListOptionalTupleTypeTypeVarUnion   )enumsflagsutils)AssetColour)Invite)Hashable)Object)PermissionOverwritePermissions)AutoModTriggerAutoModRuleActionAutoModRule)Role)EmojiPartialEmoji)Member)ScheduledEvent)StageInstance)GuildSticker)Thread)PartialIntegration)ForumChannelStageChannelForumTag)OnboardingPromptOnboardingPromptOption)AuditLogDiffAuditLogChangesAuditLogEntryN)abc)Guild)ConnectionState)AuditLogChanger0   _AuditLogChange_TriggerMetadata)r   r+   DefaultReaction)r   RoleColours)	Snowflake)ApplicationCommandPermissions)AutoModerationAction)PromptPromptOption)User
AppCommandWebhookentryr0   dataOptional[str]returnOptional[datetime.datetime]c                *    t          j        |          S N)r   
parse_timerB   rC   s     S/usr/local/lib/hermes-agent/venv/lib/python3.11/site-packages/discord/audit_logs.py_transform_timestamprL   g   s    D!!!    intr   c                     t          |          S rH   r   rJ   s     rK   _transform_colorrP   k   s    $<<rM   r8   c                     t          |          S rH   )rN   rJ   s     rK   _transform_snowflakerR   o   s    t99rM   Optional[Snowflake])Optional[Union[abc.GuildChannel, Object]]c                x    |d S | j                             t          |                    pt          |          S Nid)guildget_channelrN   r   rJ   s     rK   _transform_channelr[   s   s5    |t;""3t99--@4@rM   List[Snowflake]-List[Union[abc.GuildChannel, Thread, Object]]c                       fd|D             S )Nc                ~    g | ]9}j                             t          |                    pt          |           :S )rW   )rY   get_channel_or_threadrN   r   ).0rC   rB   s     rK   
<listcomp>z2_transform_channels_or_threads.<locals>.<listcomp>|   s=    ]]]PTEK--c$ii88KFdOOO]]]rM    rJ   s   ` rK   _transform_channels_or_threadsrd   y   s!     ^]]]X\]]]]rM   Union[Member, User, None]c                N    |d S |                      t          |                    S rH   )_get_memberrN   rJ   s     rK   _transform_member_idrh      s&    |tSYY'''rM   Optional[Guild]c                X    |d S | j                             t          |                    S rH   )_state
_get_guildrN   rJ   s     rK   _transform_guild_idrm      s(    |t<""3t99---rM   List[Union[Role, Object]]c                       fd|D             S )Nc                    g | ]?}j                             t          |                    pt          |t                     @S )type)rY   get_rolerN   r   r   )ra   role_idrB   s     rK   rb   z$_transform_roles.<locals>.<listcomp>   sB    aaaQXEK  W..L&t2L2L2LaaarM   rc   rJ   s   ` rK   _transform_rolesru      s    aaaa\`aaaarM   List[Union[ForumTag, Object]]c                    | j         t          t                    r;t          j        t                    r!fdt          t          |          D             S d |D             S )Nc                p    g | ]2}j                             |          pt          |t                     3S rX   rr   )parentget_tagr   r+   )ra   tag_idthreads     rK   rb   z1_transform_applied_forum_tags.<locals>.<listcomp>   s<    oooV\%%f--Q61Q1Q1QooorM   c                :    g | ]}t          |t                     S ry   )r   r+   )ra   r}   s     rK   rb   z1_transform_applied_forum_tags.<locals>.<listcomp>   s%    @@@Ff8,,,@@@rM   )target
isinstancer'   r{   r)   maprN   )rB   rC   r~   s     @rK   _transform_applied_forum_tagsr      sl    \F&&!! pj&M&M poooo`cdgim`n`noooo@@4@@@@rM   1Union[int, flags.ChannelFlags, flags.InviteFlags]c                   t           j        j        t           j        j        t           j        j        t           j        j        t           j        j        t           j        j        f}t           j        j        t           j        j	        t           j        j
        f}| j        |v rt          j                            |          S | j        |v rt          j                            |          S |S rH   )r   AuditLogActionchannel_createchannel_updatechannel_deletethread_createthread_updatethread_deleteinvite_createinvite_updateinvite_deleteactionr   ChannelFlags_from_valueInviteFlags)rB   rC   channel_audit_log_typesinvite_audit_log_typess       rK   _transform_overloaded_flagsr      s    
 	+++*** 	*** |...!--d333	/	/	/ ,,T222KrM   List[ForumTagPayload]List[ForumTag]c                       fd|D             S )Nc                F    g | ]}t          j        j        |           S ))staterC   )r+   	from_datark   )ra   drB   s     rK   rb   z)_transform_forum_tags.<locals>.<listcomp>   s+    IIIqHU\:::IIIrM   rc   rJ   s   ` rK   _transform_forum_tagsr      s    IIIIDIIIIrM   DefaultReactionPayloadOptional[PartialEmoji]c                    |d S |                     d          pd}t          j        |d          pd }t          j        | j        ||          S )N
emoji_name emoji_id)r   namerX   )getr   _get_as_snowflaker"   
with_staterk   )rB   rC   r   r   s       rK   _transform_default_reactionr      sS    |t,''-2J&tZ88@DH"J8TTTTrM    List[PermissionOverwritePayload](List[Tuple[Object, PermissionOverwrite]]c                   g }|D ]}t          t          |d                             }t          t          |d                             }t          j        ||          }|d         }t          |d                   }d }	|dk    r| j                            |          }	n|dk    r|                     |          }	|	#t          ||dk    rt          nt                    }	|
                    |	|f           |S )Nallowdenyrr   rX   01rz   )r   rN   r   	from_pairrY   rs   rg   r   r   r#   append)
rB   rC   
overwriteselemr   r   owow_typeow_idr   s
             rK   _transform_overwritesr      s     J ( (CW..//3tF|,,-- *5$77v,DJc>>[))%00FF^^&&u--F>u7c>>44vNNNF62,''''rM   Optional[Asset]c                    |d S | j         t          j        j        u r%t	          j        | j        | j        j        |          S t	          j	        | j        | j
        |d          S )Nrolepath)r   r   r   guild_updater   _from_guild_iconrk   rY   rX   
_from_icon
_target_idrJ   s     rK   _transform_iconr      sY    |t|u+888%elEKNDIIIe.>6RRRRrM   c                J    |d S t          j        | j        | j        |          S rH   )r   _from_avatarrk   r   rJ   s     rK   _transform_avatarr      s&    |telE,<dCCCrM   c                J    |d S t          j        | j        | j        |          S rH   )r   !_from_scheduled_event_cover_imagerk   r   rJ   s     rK   _transform_cover_imager      s'    |t25<AQSWXXXrM   r   str9Callable[[AuditLogEntry, Optional[str]], Optional[Asset]]c                     d fd}|S )	NrB   r0   rC   rD   rE   r   c                Z    |d S t          j        | j        | j        j        |          S )Nr   )r   _from_guild_imagerk   rY   rX   )rB   rC   r   s     rK   
_transformz+_guild_hash_transformer.<locals>._transform   s.    <4&u|U[^TPTUUUUrM   rB   r0   rC   rD   rE   r   rc   )r   r   s   ` rK   _guild_hash_transformerr      s/    V V V V V V
 rM   List[AutoModerationAction]List[AutoModRuleAction]c                    d |D             S )Nc                6    g | ]}t          j        |          S rc   )r   r   )ra   r   s     rK   rb   z._transform_automod_actions.<locals>.<listcomp>   s$    CCCF'//CCCrM   rc   rJ   s     rK   _transform_automod_actionsr      s    CCdCCCCrM   r"   c                "    t          |          S )N)r   r!   rJ   s     rK   _transform_default_emojir      s    T""""rM   List[PromptPayload]List[OnboardingPrompt]c                       fd|D             S )Nc                R    g | ]#}t          j        |j        j                   $S )rC   r   rY   )r,   	from_dictrk   rY   )ra   promptrB   s     rK   rb   z1_transform_onboarding_prompts.<locals>.<listcomp>   s1    nnn_e&F%,ekZZZnnnrM   rc   rJ   s   ` rK   _transform_onboarding_promptsr      s    nnnnimnnnnrM   List[PromptOptionPayload]List[OnboardingPromptOption]c                       fd|D             S )Nc                R    g | ]#}t          j        |j        j                   $S r   )r-   r   rk   rY   )ra   optionrB   s     rK   rb   z8_transform_onboarding_prompt_options.<locals>.<listcomp>  s3    tttek",&TYT_```tttrM   rc   rJ   s   ` rK   $_transform_onboarding_prompt_optionsr      s!     utttosttttrM   E)boundenumType[E]!Callable[[AuditLogEntry, int], E]c                     d fd}|S )	NrB   r0   rC   rN   rE   r   c                .    t          j        |          S rH   )r   try_enum)rB   rC   r   s     rK   r   z%_enum_transformer.<locals>._transform	  s    ~dD)))rM   )rB   r0   rC   rN   rE   r   rc   )r   r   s   ` rK   _enum_transformerr     )    * * * * * * rM   FclsType[F]-Callable[[AuditLogEntry, Union[int, str]], F]c                     d fd}|S )	NrB   r0   rC   Union[int, str]rE   r   c                H                         t          |                    S rH   )r   rN   )rB   rC   r   s     rK   r   z%_flag_transformer.<locals>._transform  s    s4yy)))rM   )rB   r0   rC   r   rE   r   rc   )r   r   s   ` rK   _flag_transformerr     r   rM   r   _Union[enums.ChannelType, enums.StickerType, enums.WebhookType, str, enums.OnboardingPromptType]c                   | j         j                            d          rt          j        t          j        |          S | j         j                            d          r|S | j         j                            d          rt          j        t          j        |          S | j         j                            d          rt          j        t          j        |          S t          j        t          j        |          S )Nsticker_integration_webhook_onboarding_prompt_)	r   r   
startswithr   r   StickerTypeWebhookTypeOnboardingPromptTypeChannelTyperJ   s     rK   _transform_typer    s     |##J// 	7~e/666			%	%n	5	5 7			%	%j	1	1 7~e/666			%	%&:	;	; 7~e8$???~e/666rM   c                  >    e Zd ZddZddZddZer
dd
ZddZdS dS )r.   rE   rN   c                *    t          | j                  S rH   )len__dict__selfs    rK   __len__zAuditLogDiff.__len__)  s    4=!!!rM   &Generator[Tuple[str, Any], None, None]c              #  H   K   | j                                         E d {V  d S rH   )r  itemsr  s    rK   __iter__zAuditLogDiff.__iter__,  s2      =&&(((((((((((rM   r   c                z    d                     d | j                                        D                       }d| dS )N c              3      K   | ]	}d |z  V  
dS )z%s=%rNrc   )ra   items     rK   	<genexpr>z(AuditLogDiff.__repr__.<locals>.<genexpr>0  s&      KKT'D.KKKKKKrM   z<AuditLogDiff >)joinr  r  )r	  valuess     rK   __repr__zAuditLogDiff.__repr__/  sA    KKT]5H5H5J5JKKKKK)))))rM   r  r   c                    d S rH   rc   )r	  r  s     rK   __getattr__zAuditLogDiff.__getattr__5        rM   keyvaluec                    d S rH   rc   )r	  r  r  s      rK   __setattr__zAuditLogDiff.__setattr__7  r  rM   N)rE   rN   )rE   r  rE   r   )r  r   rE   r   )r  r   r  r   rE   r   )	__name__
__module____qualname__r
  r  r  r   r  r  rc   rM   rK   r.   r.   (  s{        " " " ") ) ) )* * * *  @4444??????	@ @rM   r.   c                  z   e Zd ZU i dd eej                  fdd eej                  fdd ee          fdd ee          fdd ee          fdde	fdd	e
fd
defddefddefddefddefdd eej                  fddefddefddefddefi dd ed          fd d! ed"          fd#d$ ed%          fd&d'efd(d)efd*d+d,d-d.d/efd0d1d2d3 eej                  fd4d eej                  fd5d eej                  fd6d eej                  fd7defd8d9efd:d eej                  fd;d eej                  fi d<d eej                  fd=d eej                  fd>d eej                  fd?d@efdAd eej                   fdBd eej!                  fdCde"fdDde#fdEde$fdFde%fdGde&fdHde'fdIde(fdJdKe)fdLdMefdNde*fdOde+fdPe#fd eej,                  fdQZ-dRe.dS<   dqdXZ/drd[Z0dsdbZ1dtdeZ2dudhZ3dvdkZ4dwdnZ5dxdpZ6dS )yr/   verification_levelNexplicit_content_filterr   r   permissionsrX   colorcolourowner_idowner
inviter_idinviter
channel_idchannelafk_channel_idafk_channelsystem_channel_idsystem_channelsystem_channel_flagswidget_channel_idwidget_channelrules_channel_idrules_channelpublic_updates_channel_idpublic_updates_channelpermission_overwritesr   splash_hashsplashsplashesbanner_hashbannerbannersdiscovery_splash_hashdiscovery_splashzdiscovery-splashes	icon_hashiconavatar_hashavatarrate_limit_per_user)slowmode_delayN"default_thread_rate_limit_per_user)default_thread_slowmode_delayNguild_idrY   tags)emojiNdefault_message_notificationsdefault_notificationsvideo_quality_modeprivacy_levelformat_typerr   communication_disabled_untiltimed_out_untilexpire_behavior	mfa_levelstatusentity_typepreferred_locale
image_hashcover_imagetrigger_type
event_typeactionsexempt_channelsexempt_rolesapplied_tagsavailable_tagsr   default_reaction_emojir   rM  user_iduseroptionspromptsdefault_channels)default_channel_idsmodezCClassVar[Mapping[str, Tuple[Optional[str], Optional[Transformer]]]]TRANSFORMERSrB   r0   rC   List[AuditLogChangePayload]c           	        t                      | _        t                      | _        |j        t          j        j        u r}g | j        _        g | j        _        |D ]`}|                     | j        ||	                    d                     |                     | j        ||	                    d                     ad S |D ]A}|d         }|dk    r)| 
                    | j        | j        ||d                    :|dk    r)| 
                    | j        | j        ||d                    i|dk    r|                     |||           |j        t          j        j        u r|                    d          rz|                    d          \  }}}|dk    r*|                     | j        | j        |||d                    n/|dk    r)|                     | j        | j        |||d                    .|d	k    r^|                     | j        |	                    d                     |                     | j        |	                    d                     	 | j        |         \  }}	|r|}n# t$          t&          f$ r d }	Y nw xY w	 |d         }
|	r |	||
          }
n# t&          $ r d }
Y nw xY wt)          | j        ||
           	 |d         }|	r |	||          }n# t&          $ r d }Y nw xY wt)          | j        ||           Ct+          | j        d
          r,| j        j        | j        _        | j        j        | j        _        t+          | j        d          r.| j        j        | j        _        | j        j        | j        _        d S d S )N	old_value	new_valuer  z$addz$removetrigger_metadata$_colorsr(  rU  )r.   beforeafterr   r   r   app_command_permission_updateapp_command_permissions_handle_app_command_permissionsr   _handle_role_handle_trigger_metadataautomod_rule_updater   	partition_handle_trigger_attr_update_handle_coloursrk  
ValueErrorKeyErrorsetattrhasattrr(  r'  rU  expire_behaviour)r	  rB   rC   r   attrr   rr  trigger_attrr  transformerrt  ru  s               rK   __init__zAuditLogChanges.__init__x  s   $0NN#/>>
 <5/MMM24DK/13DJ.  44KHH[))   44JHH[))   
 F <	- <	-D;D v~~!!$+tz5${BSTTT""!!$*dk5${BSTTT )))--eT4@@@!5!IIIdoo^aNbNbI*...*=*='<V##44T[$*eUacghsctuuuuy((44TZeUacghsctuuu x$$T[$((;2G2GHHH$$TZ+1F1FGGG#'#4T#: [  D	 ) # # #"#8k*  8([77F	     DKv...6[)  6'Ku55E	     DJe,,,, 4:x(( 	3#z0DJ $ 2DK4:011 	G*.**DDJ'+/;+FDK(((	G 	Gs6   I&&I<;I< JJ&%J& KK&%K&rE   r   c                (    d| j         d| j        dS )Nz<AuditLogChanges before=z after=r  )rt  ru  r  s    rK   r  zAuditLogChanges.__repr__  s    O$+OO
OOOOrM   firstr.   secondr   List[RolePayload]Nonec                N   t          |d          st          |dg            g }|j        }|D ]f}t          |d                   }|                    |          }	|	#t          |t                    }	|d         |	_        |                    |	           gt          |d|           d S )NrolesrX   rz   r   )	r  r  rY   rN   rs   r   r   r   r   )
r	  r  r  rB   r   rC   gert   r   s
             rK   ry  zAuditLogChanges._handle_role  s    ug&& 	(E7B'''; 	 	A!D'llG::g&&D|t444fI	KK&&&&&rM   diff'Optional[ApplicationCommandPermissions]c                    |d S ddl m} |j        }|j        }|j                             ||||                     d S )Nr   )AppCommandPermissions)rC   rY   r   )discord.app_commandsr  rk   rY   rw  r   )r	  r  rB   rC   r  r   rY   s          rK   rx  z/AuditLogChanges._handle_app_command_permissions  sb     <F 	?>>>>>$++,A,AtSX`e,f,f,fgggggrM   $AuditLogChangeTriggerMetadataPayload	full_datac           	        d }d }t          | j        dt          | j        dd                     }|1t          |j        t
                    r|j        j        j        j        }n|j        }|
t          j
        d |          }|)|                    d|                    d                    }||                    d          pi                                 |                    d          pi                                 z  }|st          j        j        j        }n[d|v rt          j        j        j        }n@d|v sd|v rt          j        j        j        }n!d|v sd	|v rt          j        j        j        }nd
}t'          j        ||                    d                    | j        _        t'          j        ||                    d                    | j        _        d S )Nr\  c                    | d         dk    S )Nr  r\  rc   )r   s    rK   <lambda>z:AuditLogChanges._handle_trigger_metadata.<locals>.<lambda>  s    DK>,I rM   rn  ro  presetskeyword_filterregex_patternsmention_total_limitmention_raid_protection_enabled)getattrrt  ru  r   r   r   triggerrr   r  r   findr   keysr   AutoModRuleTriggerTypespamkeyword_presetkeywordmention_spamr   r   )r	  rB   rC   r  trigger_valuer\  _elemcombineds           rK   rz  z(AuditLogChanges._handle_trigger_metadata  s    (,?C t{NGDJP^`d<e<eff%,44 @ !& 4 9 ? ).M JII9UUE  %		+uyy7M7M N N$ HH[117R==??488KCXCXC^\^BdBdBfBff 
'$)$@$E$KMM(**$)$@$O$UMM%115E5Q5Q$)$@$H$NMM*h66:[_g:g:g$)$@$M$SMM %'M,6}dhh{F[F[\\+5mTXXkEZEZ[[
rM   r  	List[str]c                    |                      ||           |                      ||          }	 t          ||                              |           d S # t          t          f$ r Y d S w xY wrH   )_create_triggerr  extendAttributeError	TypeError)r	  r  r  rB   r  rC   r  s          rK   r}  z+AuditLogChanges._handle_trigger_attr_update)  s     	UE***&&vu55	GT""))$/////	* 	 	 	DD	s   #A A('A(coloursOptional[RoleColours]c                    |&t          |d                   }|d         }|d         }nd }d }d }|x|_        |_        |t          |          nd x|_        |_        |t          |          nd x|_        |_        d S )Nprimary_colorsecondary_colortertiary_color)r   r'  r(  r  secondary_colourr  tertiary_colour)r	  r  r  r(  r  r  s         rK   r~  zAuditLogChanges._handle_colours4  s    GO455F&'89%&67OOF#"O#))
T[ScSov>N7O7O7Ouyyt4P_PkVO5L5L5Lquud222rM   r   c                    t          |d          s`t          |j        t                    r|j        j        j        }nt          j        t          j        d          }t          |          |_        |j        S )Nr  r  rq   )
r  r   r   r   r  rr   r   r   r  r   )r	  r  rB   r\  s       rK   r  zAuditLogChanges._create_triggerC  sh    tY'' 		=%,44 P$|38  %~e.JBOO)|<<<DL|rM   )rB   r0   rC   rl  r  )
r  r.   r  r.   rB   r0   r   r  rE   r  )r  r.   rB   r0   rC   r  )rB   r0   rC   r  r  rl  )
r  r.   r  r.   rB   r0   r  r   rC   r  )r  r.   r  r  )r  r.   rB   r0   rE   r   )7r   r!  r"  r   r   VerificationLevelContentFilterr   r   rR   rP   rh   r[   r   SystemChannelFlagsr   r   r   r   rm   NotificationLevelVideoQualityModePrivacyLevelStickerFormatTyper  rL   ExpireBehaviourMFALevelEventStatus
EntityTypeLocaler   r  AutoModRuleEventTyper   rd   ru   r   r   r   r   r   r   r   OnboardingModerk  __annotations__r  r  ry  rx  rz  r}  r~  r  rc   rM   rK   r/   r/   =  s%        6Y$8I8I%Ja8b8b1c6Y!$8I8I%J]8^8^1_6Y 	$8I8I+8V8V1W6Y 	$8I8I+8V8V1W	6Y
 	$8I8I+8V8V1W6Y 	$8L1M6Y 	(<L1M6Y 	';O1P6Y 	)=Q1R6Y 	)=O1P6Y 	-AS1T6Y 	2BDV1W6Y 	$8I8I%Jb8c8c1d6Y 	2BDV1W6Y 	/CU1V6Y  	$2JL^1_!6Y" 	 ,@U1V#6Y 6Y$ 	(<S<ST^<_<_1`%6Y& 	(<S<ST]<^<^1_'6Y( 	 2DF]F]^rFsFs1t)6Y* 	&/1J+6Y, 	(<M1N-6Y. 	1I/6Y0 	-1X16Y2 	';N1O36Y4 	56Y6 	(2IK\K\]b]tKuKu1v76Y8 	$8I8I%J`8a8a1b96Y: 	$8I8I%J\8]8]1^;6Y< 	$8I8I%Ja8b8b1c=6Y> 	$1H?6Y@ 	'2CEY1ZA6YB 	$8I8I%J_8`8`1aC6YD 	$8I8I%.8Y8Y1ZE6Y 6Y 6YF 	$8I8I%J[8\8\1]G6YH 	$8I8I%JZ8[8[1\I6YJ 	$8I8I%,8W8W1XK6YL 	-AW1XM6YN 	$8I8I%Jf8g8g1hO6YP 	$8I8I%Jd8e8e1fQ6YR 	$8R1SS6YT 	$8V1WU6YV 	$8H1IW6YX 	$8U1VY6YZ 	$8M1N[6Y\ 	$8S1T]6Y^ 	!$8S1T_6Y` 	';S1Ta6Yb 	&:N1Oc6Yd 	$8\1]e6Yf 	$8U1Vg6Y 6Yh 3EFd1e268I8I%J^8_8_1`k6Y 6Y 6YL 6 6 6 6r\G \G \G \G|P P P P' ' ' '&h h h h +\ +\ +\ +\Z	 	 	 	v v v v     rM   r/   c                      e Zd ZddZdS )_AuditLogProxykwargsr   rE   r  c                \    |                                 D ]\  }}t          | ||           d S rH   )r  r  )r	  r  kvs       rK   r  z_AuditLogProxy.__init__S  s<    LLNN 	  	 DAqD!Q	  	 rM   N)r  r   rE   r  )r   r!  r"  r  rc   rM   rK   r  r  R  s(                   rM   r  c                  $    e Zd ZU ded<   ded<   dS )_AuditLogProxyMemberPrunerN   delete_member_daysmembers_removedNr   r!  r"  r  rc   rM   rK   r  r  X  s*         rM   r  c                  $    e Zd ZU ded<   ded<   dS )'_AuditLogProxyMemberMoveOrMessageDeleteUnion[abc.GuildChannel, Thread]r.  rN   countNr  rc   rM   rK   r  r  ]  s%         ,,,,JJJJJrM   r  c                      e Zd ZU ded<   dS )_AuditLogProxyMemberDisconnectrN   r  Nr  rc   rM   rK   r  r  b           JJJJJrM   r  c                  $    e Zd ZU ded<   ded<   dS )_AuditLogProxyPinActionr  r.  rN   
message_idNr  rc   rM   rK   r  r  f  s%         ,,,,OOOOOrM   r  c                      e Zd ZU ded<   dS )!_AuditLogProxyStageInstanceActionzabc.GuildChannelr.  Nr  rc   rM   rK   r  r  k  s         rM   r  c                      e Zd ZU ded<   dS )_AuditLogProxyMessageBulkDeleterN   r  Nr  rc   rM   rK   r  r  o  r  rM   r  c                  .    e Zd ZU ded<   ded<   ded<   dS )_AuditLogProxyAutoModActionr   automod_rule_nameautomod_rule_trigger_typez)Optional[Union[abc.GuildChannel, Thread]]r.  Nr  rc   rM   rK   r  r  s  s6         """"666666rM   r  c                      e Zd ZU ded<   dS )*_AuditLogProxyMemberKickOrMemberRoleUpdaterD   integration_typeNr  rc   rM   rK   r  r  y  s         ######rM   r  c                     e Zd ZdZdPdZdQdZdRdZdSdZdTdZdUdZ	dVd!Z
ej        dWd#            Zej        dXd%            Zej        dYd'            Zej        dZd)            Zej        d[d+            Zej        d[d,            Zd\d/Zd]d1Zd^d3Zd_d5Zd`d7Zdad9Zd^d:Zdbd<Zdcd>Zddd@ZdedBZdfdDZdgdFZdhdHZ didJZ!djdLZ"dkdNZ#dOS )lr0   aj  Represents an Audit Log entry.

    You retrieve these via :meth:`Guild.audit_logs`.

    .. container:: operations

        .. describe:: x == y

            Checks if two entries are equal.

        .. describe:: x != y

            Checks if two entries are not equal.

        .. describe:: hash(x)

            Returns the entry's hash.

    .. versionchanged:: 1.7
        Audit log entries are now comparable and hashable.

    Attributes
    -----------
    action: :class:`AuditLogAction`
        The action that was done.
    user: Optional[:class:`abc.User`]
        The user who initiated this action. Usually a :class:`Member`\, unless gone
        then it's a :class:`User`.
    user_id: Optional[:class:`int`]
        The user ID who initiated this action.

        .. versionadded:: 2.2
    id: :class:`int`
        The entry ID.
    guild: :class:`Guild`
        The guild that this entry belongs to.
    target: Any
        The target that got changed. The exact type of this depends on
        the action being done.
    reason: Optional[:class:`str`]
        The reason this action was done.
    extra: Any
        Extra information that this entry has that might be useful.
        For most actions, this is ``None``. However in some cases it
        contains extra information. See :class:`AuditLogAction` for
        which actions have this field filled out.
    usersMapping[int, User]integrations Mapping[int, PartialIntegration]app_commandsMapping[int, AppCommand]automod_rulesMapping[int, AutoModRule]webhooksMapping[int, Webhook]rC   AuditLogEntryPayloadrY   r2   c                   |j         | _         || _        || _        || _        || _        || _        || _        |                     |           d S rH   )rk   rY   _users_integrations_app_commands_automod_rules	_webhooks
_from_data)r	  r  r  r  r  r  rC   rY   s           rK   r  zAuditLogEntry.__init__  sR     (-|!
*/?K7C9F08rM   rE   r  c           
        t          j        t           j        |d                   | _        t	          |d                   | _        |                    d          | _        |                    d          }d | _        t          | j        t           j                  r|r| j        t           j        j
        u r>t          t	          |d                   t	          |d                             | _        n| j        t           j        j        u s| j        t           j        j        u rht	          |d                   }t          t	          |d	                   | j                            |          pt#          |
                    | _        n| j        t           j        j        u r*t'          t	          |d	                             | _        n| j        t           j        j        u r*t+          t	          |d	                             | _        no| j        t           j        j        t           j        j        fv r,|                    d          }t1          |          | _        n| j        j                            d          rht	          |d                   }t7          | j                            |          pt#          |
          t	          |d                             | _        n| j        t           j        j        u sH| j        t           j        j        u s0| j        t           j        j        u s| j        t           j        j        u rtA          j!        |d          }d }|r*| j                            |          pt#          |
          }tE          |d         t          j        t           j#        t	          |d                             |          | _        n| j        j        $                    d          rt	          |d                   }|                    d          }|dk    r| %                    |          | _        n6|dk    rS| j        &                    |          }|0t#          |tN                    }|                    d          |_        || _        n| j        j        $                    d          rYt	          |d                   }tQ          | j        )                    |          pt#          |tT                              | _        nd| j        j        $                    d          rEt	          |d                   }	| +                    |	          pt#          |	tX                    | _        |                    d g           | _-        tA          j!        |d!          | _.        | %                    | j.                  | _/        tA          j!        |d"          | _0        d S )#Naction_typerX   reasonrf  r  r  )r  r  r-  r  rW   )r  r.  )r  r  )r  pinr  )r.  r  auto_moderation_rule_name!auto_moderation_rule_trigger_type)r  r  r.  
overwrite_rr   r   r   rz   	role_namestage_instance)r.  app_commandapplication_idrq   changesrd  	target_id)1r   r   r   r   rN   rX   r   r   extrar   member_pruner  member_movemessage_deleter  rY   r`   r   member_disconnectr  message_bulk_deleter  kickmember_role_updater  r   endswithr  automod_block_messageautomod_flag_messageautomod_timeout_memberautomod_quarantine_userr   r   r  r  r   rg   rs   r   r  rZ   r*   _get_integration_by_app_idr(   _changesrd  re  r   )
r	  rC   r  r-  r  r.  instance_idthe_typer   app_ids
             rK   r  zAuditLogEntry._from_data  s1   ,1N5;OQUVcQd,e,e4: &*XXh%7%7##  	
 dk5#788 F	pU F	p{e2???6'*51E+F'G'G$'.?(@$A$A  

  4 @@@DKSXSgSvDvDv |!455
DeGn-- J<<ZHHaFV`LaLaLa  

  4 FFF;#eGnBUBUVVV

 4 HHH<3uW~CVCVWWW

!5!:E<P<c ddd#(99-?#@#@ GYijjj

!**511 /p |!455
4 J<<ZHHaFV`LaLaLa"5#677  


 u3III;%"6"KKK;%"6"MMM;%"6"NNN"4ULII
  d"j>>zJJcfXbNcNcNcG8&+,G&H.3n4c%@c:d6e6e/ / $  

 !,,\:: p!%+.. 99V,,s??!%!1!1+!>!>DJJ__:..{;;D|%4@@@$)IIk$:$:	!%DJ!,,-=>> p |!455
> J22:>>j&J]iBjBjBj  

 !,,];; pU#3455!<<VDDov\nHoHoHo
 B//&+&=dI&N&N373C3CDL3Q3Q	1$DDrM   rd  Optional[int]re   c                r    |d S | j                             |          p| j                            |          S rH   )rY   
get_memberr  r   )r	  rd  s     rK   rg   zAuditLogEntry._get_member,  s5    ?4z$$W--I1I1IIrM   integration_idOptional[PartialIntegration]c                >    |d S | j                             |          S rH   )r  r   )r	  r   s     rK   _get_integrationzAuditLogEntry._get_integration2  $    !4!%%n555rM   r  c                d    |d S t          j        | j                                        |          S )N)r  )r   r   r  r  )r	  r  s     rK   r  z(AuditLogEntry._get_integration_by_app_id8  s3    !4 y+2244^TTTTrM   app_command_idOptional[AppCommand]c                >    |d S | j                             |          S rH   )r  r   )r	  r&  s     rK   _get_app_commandzAuditLogEntry._get_app_command?  r$  rM   r   c                8    d| j          d| j         d| j        dS )Nz<AuditLogEntry id=z action=z user=r  )rX   r   re  r  s    rK   r  zAuditLogEntry.__repr__E  s)    VDGVVT[VV	VVVVrM   datetime.datetimec                4    t          j        | j                  S )zE:class:`datetime.datetime`: Returns the entry's creation time in UTC.)r   snowflake_timerX   r  s    rK   
created_atzAuditLogEntry.created_atH  s     #DG,,,rM   
TargetTypec                    | j         j        d S 	 t          | d| j         j        z             } || j                  S # t          $ r" | j        Y d S t          | j                  cY S w xY w)N_convert_target_rW   )r   target_typer  r   r  r   )r	  	converters     rK   r   zAuditLogEntry.targetM  s    ;"*4	.&84;;R&RSSI 9T_---  	. 	. 	.&ttT_------	.s   = A)A)(A)&Optional[enums.AuditLogActionCategory]c                    | j         j        S )zUOptional[:class:`AuditLogActionCategory`]: The category of the action, if applicable.)r   categoryr  s    rK   r6  zAuditLogEntry.category[  s     {##rM   r/   c                4    t          | | j                  }| `|S )z=:class:`AuditLogChanges`: The list of changes this entry has.)r/   r  )r	  objs     rK   r	  zAuditLogEntry.changes`  s     dDM22M
rM   r.   c                    | j         j        S )z0:class:`AuditLogDiff`: The target's prior state.)r	  rt  r  s    rK   rt  zAuditLogEntry.beforeg  s     |""rM   c                    | j         j        S )z5:class:`AuditLogDiff`: The target's subsequent state.)r	  ru  r  s    rK   ru  zAuditLogEntry.afterl  s     |!!rM   r
  rN   c                    | j         S rH   )rY   r	  r
  s     rK   _convert_target_guildz#AuditLogEntry._convert_target_guildq  s
    zrM   Union[abc.GuildChannel, Object]c                V    | j                             |          pt          |          S rV   )rY   rZ   r   r<  s     rK   _convert_target_channelz%AuditLogEntry._convert_target_channelt  s(    z%%i00HFi4H4H4HHrM   %Optional[Union[Member, User, Object]]c                `    |d S |                      |          pt          |t                    S Nrz   rg   r   r#   r<  s     rK   _convert_target_userz"AuditLogEntry._convert_target_userw  s5     4	**Of	.O.O.OOrM   Union[Role, Object]c                b    | j                             |          pt          |t                    S rC  )rY   rs   r   r   r<  s     rK   _convert_target_rolez"AuditLogEntry._convert_target_role  s*    z""9--P941P1P1PPrM   r   c                   | j         t          j        j        u r| j        n| j        }|j        |j        |j        |j	        |j
        d d}t          | j        || j        |j                  }	 |j        |_        n# t           $ r Y nw xY w|S )N)max_agemax_usescode	temporaryusesr.  )r   rC   rY   r.  )r   r   r   r   rt  ru  rJ  rK  rL  rM  rN  r   rk   rY   r.  r,  r  )r	  r
  	changesetfake_payloadr8  s        rK   _convert_target_invitez$AuditLogEntry._convert_target_invite  s     $(;%2F2T#T#TDKKZ^Zd	 !(!*N",N'
 '
 4;\U^Ufggg	#+CKK 	 	 	D	
s   ,A9 9
BBUnion[Emoji, Object]c                b    | j                             |          pt          |t                    S rC  )rk   	get_emojir   r    r<  s     rK   _convert_target_emojiz#AuditLogEntry._convert_target_emoji  s*    {$$Y//S6YU3S3S3SSrM   c                `    |d S |                      |          pt          |t                    S rC  rD  r<  s     rK   _convert_target_messagez%AuditLogEntry._convert_target_message  s5     4	**Of	.O.O.OOrM   Union[StageInstance, Object]c                b    | j                             |          pt          |t                    S rC  )rY   get_stage_instancer   r%   r<  s     rK   _convert_target_stage_instancez,AuditLogEntry._convert_target_stage_instance  s+    z,,Y77c6YUb;c;c;ccrM   Union[GuildSticker, Object]c                b    | j                             |          pt          |t                    S rC  )rk   get_stickerr   r&   r<  s     rK   _convert_target_stickerz%AuditLogEntry._convert_target_sticker  s*    {&&y11\Vy|5\5\5\\rM   Union[Thread, Object]c                b    | j                             |          pt          |t                    S rC  )rY   
get_threadr   r'   r<  s     rK   _convert_target_threadz$AuditLogEntry._convert_target_thread  s*    z$$Y//T6YV3T3T3TTrM   Union[ScheduledEvent, Object]c                b    | j                             |          pt          |t                    S rC  )rY   get_scheduled_eventr   r$   r<  s     rK   %_convert_target_guild_scheduled_eventz3AuditLogEntry._convert_target_guild_scheduled_event  s+    z--i88eFiVd<e<e<eerM   !Union[PartialIntegration, Object]c                X    |                      |          pt          |t                    S Nrq   )r#  r   r(   r<  s     rK   _convert_target_integrationz)AuditLogEntry._convert_target_integration  s)    $$Y//]6)J\3]3]3]]rM   Union[AppCommand, Object]c                b    |                      |          }|sddlm} t          ||          }|S Nr   r>   rq   )r)  r  r?   r   )r	  r
  r   r?   s       rK   _convert_target_app_commandz)AuditLogEntry._convert_target_app_command  sF    &&y11 	8000000IJ777FrM   -Union[PartialIntegration, AppCommand, Object]c                >   |                      |          p|                     |          }|sp	 ddlm} | j        }t          |t                    r|j        n|j        }||k    rt          n|}t          ||          S # t          $ r t          |          cY S w xY w|S rn  )r  r)  r  r?   r  r   r(   r  rX   r   r  )r	  r
  r   r?   
target_appr  rr   s          rK   *_convert_target_integration_or_app_commandz8AuditLogEntry._convert_target_integration_or_app_command  s    00;;_t?T?TU^?_?_ 	44444444 "Z
6@M_6`6`s22fpfs-6&-@-@))j id3333 " ) ) )i((((()
 s   ?A> >BBUnion[AutoModRule, Object]c                b    | j                             |          pt          |t                    S rj  )r  r   r   r   r<  s     rK   _convert_target_auto_moderationz-AuditLogEntry._convert_target_auto_moderation  s+    "&&y11XVIK5X5X5XXrM   Union[Webhook, Object]c                d    ddl m} | j                            |          pt	          ||          S )Nr   r@   rq   )webhookrA   r  r   r   )r	  r
  rA   s      rK   _convert_target_webhookz%AuditLogEntry._convert_target_webhook  s<    $$$$$$~!!),,Oyw0O0O0OOrM   r   c                .    t          |t                    S rj  )r   r,   r<  s     rK   !_convert_target_onboarding_promptz/AuditLogEntry._convert_target_onboarding_prompt  s    i&67777rM   N)r  r  r  r  r  r  r  r  r  r  rC   r  rY   r2   )rC   r  rE   r  )rd  r  rE   re   )r   r  rE   r!  )r  r  rE   r!  )r&  r  rE   r'  r  )rE   r+  )rE   r/  )rE   r4  )rE   r/   )rE   r.   )r
  rN   rE   r2   )r
  rN   rE   r>  )r
  r  rE   rA  )r
  rN   rE   rF  )r
  r  rE   r   )r
  rN   rE   rR  )r
  rN   rE   rX  )r
  rN   rE   r\  )r
  rN   rE   r`  )r
  rN   rE   rd  )r
  rN   rE   rh  )r
  rN   rE   rl  )r
  rN   rE   rp  )r
  rN   rE   rt  )r
  rN   rE   rw  )r
  rN   rE   r   )$r   r!  r"  __doc__r  r  rg   r#  r  r)  r  r   cached_propertyr.  r   r6  r	  rt  ru  r=  r@  rE  rH  rQ  rU  rW  r[  r_  rc  rg  rk  ro  rs  rv  rz  r|  rc   rM   rK   r0   r0   }  s       . .`   (hE hE hE hETJ J J J6 6 6 6U U U U6 6 6 6W W W W - - - - . . . . $ $ $ $     # # # # " " " "   I I I IP P P PQ Q Q Q   *T T T TP P P Pd d d d] ] ] ]U U U Uf f f f^ ^ ^ ^      (Y Y Y YP P P P8 8 8 8 8 8rM   )rB   r0   rC   rD   rE   rF   )rB   r0   rC   rN   rE   r   )rB   r0   rC   r8   rE   rN   )rB   r0   rC   rS   rE   rT   )rB   r0   rC   r\   rE   r]   )rB   r0   rC   rS   rE   re   )rB   r0   rC   rS   rE   ri   )rB   r0   rC   r\   rE   rn   )rB   r0   rC   r\   rE   rv   )rB   r0   rC   rN   rE   r   )rB   r0   rC   r   rE   r   )rB   r0   rC   r   rE   r   )rB   r0   rC   r   rE   r   r   )r   r   rE   r   )rB   r0   rC   r   rE   r   )rB   r0   rC   r   rE   r"   )rB   r0   rC   r   rE   r   )rB   r0   rC   r   rE   r   )r   r   rE   r   )r   r   rE   r   )rB   r0   rC   r   rE   r   )r}  
__future__r   typingr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   assetr   r(  r   inviter   mixinsr   objectr   r&  r   r   automodr   r   r   r   r   rM  r    partial_emojir"   memberr#   scheduled_eventr$   r  r%   stickerr&   threadsr'   r  r(   r.  r)   r*   r+   
onboardingr,   r-   __all__datetimer1   rY   r2   r   r3   types.audit_logr4   AuditLogChangePayloadr0   r  r5   r  types.channelPermissionOverwritePayloadForumTagPayloadr6   r   types.inviteInvitePayload
types.roleRolePayloadr7   types.snowflaker8   types.commandr9   types.automodr:   types.onboardingr;   PromptPayloadr<   PromptOptionPayloadre  r=   r  r?   ry  rA   GuildChannelr/  rL   rP   rR   r[   rd   rh   rm   ru   r   r   r   r   r   r   r   r   r   r   r   r   r   Enumr   r   	BaseFlagsr   r   r  r.   Transformerr/   r  r  r  r  r  r  r  r  r  rc   rM   rK   <module>r     s   0 # " " " " " z z z z z z z z z z z z z z z z z z z z z z z z z z z z ! ! ! ! ! ! ! ! ! !                               9 9 9 9 9 9 9 9 C C C C C C C C C C             ' ' ' ' ' '       + + + + + + ) ) ) ) ) ) ! ! ! ! ! !       , , , , , , 9 9 9 9 9 9 9 9 9 9 @ @ @ @ @ @ @ @  ,OOO&&&&&&         
         
 655555<<<<<<<<******<<<<<<333333^^^^^^^^((((((      !	J*" " " "      A A A A^ ^ ^ ^( ( ( (. . . .b b b bA A A A   2J J J JU U U U   2S S S SD D D DY Y Y Y   D D D D# # # #o o o ou u u u GCuz"""    GCu'''   7 7 7 7@ @ @ @ @ @ @ @$ -s23R R R R R R R Rj                      
    n   
    ^       n   
           n   7 7 7 7 7. 7 7 7$ $ $ $ $ $ $ $]8 ]8 ]8 ]8 ]8H ]8 ]8 ]8 ]8 ]8rM   