
    Kis                     t   S SK r S SKrS SKrS SKrS SKrS SKJr  S SKJr   S SKJ	r	  Sr\(       Ga  S SKJrJr  S SKJrJrJrJrJrJrJrJrJrJrJrJrJrJr  \\\\   \\\   4   \S   4   r\S	   r\" S
0 S\\S   \\\\4      4   _S\_S\\\\\ 4   4   _S\_S\\!   _S\_S\\\\4      _S\_S\\S   \\\\4      4   _S\_S\_S\_S\\\4   _S\\   _S\S   _S\ _S\_\\\ 4   \\\\\ 4      \\\ 4   \\\   \\S   \\\\4      4   \\   \\S   \\\ 4   \\\ 4   S.ES S!9r"\" S"S#S#5      r#\RH                  " S$5      r%S%r&S& r'S' r(SRS( jr) " S) S*5      r*\(       a  \" S+5      r+\\*\+4   r,S, r-S- r.S.S/S0\/4S1 jr0S2 r1   SS3 jr2 SRS4 jr3S5 r4S6 r5S7 r6     SSS8 jr7   STS9 jr8S: r9S; r:     SUS< jr;\<" \=S=5      r>\>(       a  S> r?OS? r?     SVS@ jr@  SWSA jrASB rBSC rCSD rDSSE jrESRSF jrFSG rGSH rHSI rISJ rJ  SWSK jrKSL rLSM rMSN rNSO rOSP rPSRSQ jrQg! \
 a    Sr	 GNf = f)X    N)datetime)TYPE_CHECKING)BaseExceptionGroupi   )	FrameTypeTracebackType)AnyCallableDictIteratorListLiteralOptionalSetTupleType	TypedDictTypeVarUnioncast)NNN)fatalcriticalerrorwarninginfodebugEventbreadcrumbsvaluescheck_in_idcontextsdistdurationenvironmenterrorsevent_id	exceptionlevelloggermessagemodulesmonitor_slugplatformpythonprofilerelease)check_intransaction)requestserver_namespans
stacktracestart_timestampstatusthreads	timestampr1   typeuser_metrics_summaryF)totali     z^[a-zA-Z0-9/+=]*$z
[Filtered]c                 0    U [         -
  R                  5       $ N)epochtotal_secondsvalues    Y/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/posthog/exception_utils.pyto_timestamprF   s   s    EM((**    c                 $    U R                  S5      $ )Nz%Y-%m-%dT%H:%M:%S.%fZ)strftimerC   s    rE   format_timestamprJ   x   s    >>122rG   c                 b    U c  [         R                  " 5       n O[        U 5      n U S   c  Sn SU 0$ )z+Creates a hint with the exc info filled in.Nr   exc_info)sysrL   exc_info_from_errorrL   s    rE   event_hint_with_exc_inforP   }   s9     <<>&x0{!!rG   c                   X    \ rS rSrSrSrS rS r\S 5       r	\S 5       r
\S 5       rS	rg
)AnnotatedValue   z9
Meta information for a data field in the event payload.
rD   metadatac                     Xl         X l        g r@   rT   )selfrD   rU   s      rE   __init__AnnotatedValue.__init__   s    
 rG   c                     [        U[        5      (       d  gU R                  UR                  :H  =(       a    U R                  UR                  :H  $ )NF)
isinstancerR   rD   rU   )rW   others     rE   __eq__AnnotatedValue.__eq__   s7    %00zzU[[(LT]]enn-LLrG   c                      [        SSSS//0S9$ )zxThe value was removed because it could not be parsed. This is done for request body values that are not json nor a form. remz!rawxrT   rR   clss    rE   removed_because_raw_data'AnnotatedValue.removed_because_raw_data   s,     

 
	
rG   c                      [        SSSS//0S9$ )zThe actual value was removed because the size of the field exceeded the configured maximum size (specified with the max_request_body_size sdk option)r`   ra   !configrb   rT   rc   rd   s    rE   removed_because_over_size_limit.AnnotatedValue.removed_because_over_size_limit   s,     !

 
	
rG   c                 (    [        [        SSS//0S9$ )zHThe actual value was removed because it contained sensitive information.ra   ri   srT   )rR   SENSITIVE_DATA_SUBSTITUTErd   s    rE   +substituted_because_contains_sensitive_data:AnnotatedValue.substituted_because_contains_sensitive_data   s,     +!

 
	
rG   )rU   rD   N)__name__
__module____qualname____firstlineno____doc__	__slots__rX   r]   classmethodrf   rj   ro   __static_attributes__ rG   rE   rR   rR      sU     &I!
M 
 
 
 
 
 
rG   rR   Tc                 D    [        U SS 5      =(       d    [        U SS 5      $ )Nrs   rq   getattrrd   s    rE   get_type_namer~      s    3-Oj$1OOrG   c                 .    [        U SS 5      nUS;  a  U$ g )Nrr   )Nbuiltins__builtins__r|   )re   mods     rE   get_type_moduler      s!    
#|T
*C
44
rG   framer   returnc                      U R                   S   nUR                  S5      (       a  g S H  n U R                  U   (       a    gM     g! [        [        4 a     N3f = f! [
         a     MB  f = f)Nrq   zsentry_sdk.T)__traceback_hide____tracebackhide__F)	f_globals
startswithAttributeErrorKeyErrorf_locals	Exception)r   r   	flag_names      rE   should_hide_framer      s    ooj)>>-(( )
 ?		~~i( ) ?  H%   		s"   %A
 A 
AA 
A.-A.c              #   v   #    U nUb0  [        UR                  5      (       d  Uv   UR                  nUb  M/  g g 7fr@   )r   tb_frametb_next)tbtb_s     rE   iter_stacksr      s3     
C
/ ..Ikk /s   399c                    SnS nUb6  [        US5      (       a%   UR                  U5      nUb  UR	                  5       nUc   [
        R                  " U 5      nU(       d  / S / 4$ [        SX-
  5      n[        US-   U-   [        U5      5      n	 XhU  V
s/ s H  n
[        U
R                  S5      US9PM     nn
[        Xa   R                  S5      US9nXaS-   U	  V
s/ s H  n
[        U
R                  S5      US9PM     nn
XU4$ ! [        [        4 a    S n Nf = f! [        [        4 a    / S / 4s $ f = fs  sn
f s  sn
f ! [         a    / S / 4s $ f = f)N   
get_sourcer   r>   z
)
max_length)hasattrr   ImportErrorIOError
splitlines	linecachegetlinesOSErrormaxminlenstrip_stringstrip
IndexError)filenamelinenor   loadermodulecontext_linessource
source_strlower_boundupper_boundlinepre_contextcontext_linepost_contexts                 rE   get_lines_from_filer      s    MFgfl;;	**62J !**,F~	 ''1F 4|a/0Kfqj=0#f+>K 62
2 F+
C2 	 
 $FN$8$8$@ZX 
k:
: F+
C: 	 
 ,667 W% 	J	 ! 	 tR<	 



  4|sS   D D E #D97&E #D> E DDD65D69
E EEc                      U R                   R                  n U R                  S   n U R                  S   nUS-
  nUb  U(       a  [	        X6X%US9$ / S / 4$ ! [         a    S n NMf = f! [         a    / S / 4s $ f = f! [         a    S n NTf = f)Nrq   
__loader__r>   )r   r   )f_codeco_filenamer   r   r   )r   	tb_linenomax_value_lengthabs_pathr   r   r   s          rE   get_source_contextr   (  s    <<++,. ]Fh".f
 	
 tR<    4|  s3   A A) A> A&%A&)A;:A;>BBc                 P     [        U 5      $ ! [         a    [        U 5      s $ f = fr@   )strr   	safe_reprrC   s    rE   safe_strr   B  s+     5z   s   
 %%c                 :     [        U 5      $ ! [         a     gf = f)Nz<broken repr>)reprr   rC   s    rE   r   r   J  s#    E{ s   
 
c                    U(       a  U (       d  U$  UR                  S5      (       a  US S nU R                  SS5      S   nX :X  a  [        R                  R	                  U5      $ [
        R                  U   R                  nU(       d  U$ UR                  UR                  [        R                  S5      S   S5      S   R                  [        R                  5      $ ! [         a    Us $ f = f)Nz.pyc.r>   r      )endswithsplitospathbasenamerM   r*   __file__rsplitseplstripr   )r   r   base_modulebase_module_paths       rE   filename_for_moduler   R  s    6V$$}Hll3*1- 77##H--;;{3<<O~~.55bffa@CQGKRRFF
 	
  s   AC &%C AC C.-C.c                    [        U SS 5      nU(       d  S nS nO,U R                  R                  nU R                  R                  n U R                  S   n	Uc  U R                  nS[        X5      =(       d    S U(       a  [        R                  R                  U5      OS U=(       d    SU	US.n
U(       a  [        XU5      u  U
S'   U
S'   U
S'   U(       a   U
$ ! [
         a    S n	 Nf = f)	Nr   rq   r-   z	<unknown>)r,   r   r   functionr   r   r   r   r   )r}   r   r   co_namer   r   f_linenor   r   r   abspathr   )r   r   include_local_variablesinclude_source_contextr   custom_reprr   r   r   r   rvs              rE   serialize_framer   j  s     UHd+F<<++<<'', NN	 '9AT19BGGOOH-t+
B DV.E
A=2n-r./A I1  s   C C('C(c           	          Sn/ n[         R                  " 5       nUb<  [        U5      (       d  UR                  [	        UU UUS95        UR
                  nUb  M<  UR                  5         USS.$ )NT)r   r   r   rawframesr:   )rM   	_getframer   appendr   f_backreverse)r   r   r   r   r   fs         rE   current_stacktracer     ss     FA
- ##MM,C+A%5	 HH - NNe,,rG   c                     [        U SS 5      $ )Nerrnor|   )	exc_values    rE   	get_errnor     s    9gt,,rG   c                 l    [        U SS5      =(       d    [        U SS5      =(       d    U n[        U5      $ )Nr)   r`   detail)r}   r   )r   r)   s     rE   get_error_messager     s;     		9b) 	9h+	  GrG   c                    0 nU(       a  UR                  5       OSSS.US'   Ub  XXS   S'   Ub  [        U5      n	OSn	U	b5  US   R                  S0 5      R                  S0 5      R                  S	U	5        Ub  XxS   S
'   US:H  n
U
(       d  Ub  XhS   S'   SUS   S'   U
(       a  SUS   ;  a  SUS   S'   [        SL=(       a    [	        U[        5      nU(       a  SUS   S'   [        U 5      US'   [        U 5      US'   [        U5      US'   Uc  SnSn[        nSnO US   nUS   nUS   nUR                  S5      n[        U5       Vs/ s H%  n[        UR                  UR                  UUUUS9PM'     nnU(       a  USS.US'   U$ s  snf )zB
Creates a dict that goes into the events `exception.values` list
genericT)r:   handled	mechanismNexception_idmetar   numberr   r   	parent_idchainedr:   is_exception_groupr   rD   r   r   r   r   )r   r   r   r   r   r   r   r5   )copyr   
setdefaultr   r[   r   r~   r   DEFAULT_MAX_VALUE_LENGTHgetr   r   r   r   )exc_typer   r   client_optionsr   r   r   r   exception_valuer   is_root_exceptionr   r   r   r   r   r   s                    rE   !single_exception_from_error_tupler    s    O%	I$+O K  7C$^4)$$//;FFR	

*Xu
%17$X.$)!64=$[1/8$V,V?;+GG/8$V,+47 J%= =A$%9: / 9OH+H5OF0;OG"&!%3"01J"K!/0H!I)*<=$((7 b/
 "B 	KKll$;#9-#	
 "  
 395(I%
s   
,F	__suppress_context__c              #     #    U u  pn/ n[        5       nUb  Ub  [        U5      U;  a  XU4v   UR                  U5        UR                  [        U5      5        UR                  (       a  UR
                  nOUR                  nUc  g [        U5      nUn[        USS 5      nUb  Ub  [        U5      U;  a  M  g g g g g g 7f)N__traceback__)	setidr   addr  	__cause____context__r:   r}   )rL   r   r   r   seen_exceptionsseen_exception_idscauses          rE   walk_exception_chainr    s     "*R U  %9%77r))
 ""9-""2i=1--!++!--}E{HI6B)  %9%77 & !7 & !s   B5B?9B?c              #      #    U v   g 7fr@   ry   rO   s    rE   r  r  7  s
     s   c                 @   [        U UUUUUUUS9nU/n	UnUS-  n[        US5      =(       a    UR                  n
U
(       at  U=(       a!    [        US5      =(       a    UR                  SLnU(       aB  UR                  n[	        [        U5      U[        USS5      UUUSS9u  p]U	R                  U5        OsU=(       a!    [        US5      =(       a    UR                  SLnU(       aB  UR                  n[	        [        U5      U[        USS5      UUUSS9u  p]U	R                  U5        U=(       a    [        US	5      nU(       aY  [        UR                  5       H@  u  nn[	        [        U5      U[        USS5      UUUUS
U-  S9u  p]U	R                  U5        MB     XY4$ )zl
Creates the list of exceptions.
This can include chained exceptions and exceptions from an ExceptionGroup.
)r   r   r   r   r   r   r   r   r>   r  r  Nr  )r   r   r   r   r   r   r   r	  
exceptionszexceptions[%s])r  r   r  r  exceptions_from_errorr:   r}   extendr	  	enumerater  )r   r   r   r   r   r   r   r   parentr  should_supress_contextexception_has_causer  child_exceptionsexception_has_contentcontextr   idxes                      rE   r  r  <  s     /%!	F JIAL 		12Uy7U7U    0	;/0##4/ 	
 ''E/De5/48-#)"0,\ ./  2	=12%%T1 	
 !++G/Dg!7OT:-#)$0,\ ./ #Gwy,'G	 4 45FC/Da1ot4-#)#'#-	0,\ ./ 6 %%rG   c           
         U u  p4n[         S L=(       a    [        U[         5      nU(       a  [        UUUUUSSS9u  pxO3/ n[        U 5       H"  u  p4nUR	                  [        X4XQU5      5        M$     UR                  5         U$ )Nr   )r   r   r   r   r   r   r   )r   r[   r  r  r   r  r   )	rL   r   r   r   r   r   r   _r  s	            rE   exceptions_from_error_tupler    s     'H+47 J%= /)
J 
';H'E#H1Y (F rG   c                 V     [        U 5      $ ! [         a    [        U 5      SS s $ f = f)Nr>   r   )r   UnicodeDecodeErrorr   rC   s    rE   	to_stringr!    s1    !5z !E{1R  !s   
 ((c              #     #    SU ;   a  U S   v   SU ;   a3  U S   R                  S5      =(       d    S H  nSU;   d  M  US   v   M     SU ;   a4  U S   R                  S5      =(       d    S H  nSU;   d  M  US   v   M     g g 7f)Nr5   r8   r   ry   r&   )r   )eventthreadr&   s      rE   iter_event_stacktracesr%    s     uL!!EI&**84::Fv%\** ; e{+//9?R?Iy(-- @ s   8B5B7Bc              #   z   #    [        U 5       H(  nUR                  S5      =(       d    S H  nUv   M	     M*     g 7f)Nr   ry   )r%  r   )r#  r5   r   s      rE   iter_event_framesr'    s4     ,U3
^^H-33EK 4 4s   9;c                 `    [        U 5       H  n[        UR                  S5      UUUS9  M      U $ )Nr   )in_app_excludein_app_includeproject_root)r%  set_in_app_in_framesr   )r#  r)  r*  r+  r5   s        rE   handle_in_appr-    s5    ,U3
NN8$))%		
 4 LrG   c                 Z   U (       d  g U  H  nUR                  S5      nUb  M  UR                  S5      n[        Xb5      (       a  SUS'   MA  [        Xa5      (       a  SUS'   MX  UR                  S5      nUc  Mn  [        U5      (       a  SUS'   M  [        Xs5      (       d  M  SUS'   M     U $ )Nin_appr   TFr   )r   _module_in_list_is_external_source_is_in_project_root)r   r)  r*  r+  r   current_in_appr   r   s           rE   r,  r,    s    8,%8$ 622"E(O 622#E(O 99Z(x((#E(Ox66"E(O; > MrG   c                     [        U [        5      (       a  [        U S5      $ [        U [        5      (       a,  [	        U 5      S:  a  U S   S L=(       a    [        U S   S5      $ g)N__posthog_exception_capturedr>   F)r[   BaseExceptionr   tupler   r   s    rE   exception_is_already_capturedr9    sb    %''u<== 
E5	!	!c%j1nQxt# 
!H4)
 	
 rG   c                     [        U [        5      (       a  [        U SS5        g [        U [        5      (       a(  [	        U 5      S:  a  U S   b  [        U S   SS5        g g g g )Nr5  Tr>   )r[   r6  setattrr7  r   r8  s    rE   mark_exception_as_capturedr<    s]    %''5t< 
E5	!	!c%j1n8E!H<dC   '5	!rG   c                    [        U [        5      (       a  [        U 5      S:X  a  U u  pnO[        U [        5      (       aV   [	        U 5        [        U SS 5      nUb  [        U 5      nU nOC[        R                  " 5       u  pnX La  S nU n[        U 5      nO[        S[        U 5      -  5      eXU4n[        (       a  [        [        U5      nU$ ! [
         a     Nf = f)N   r  z,Expected Exception object to report, got %s!)r[   r7  r   r6  construct_artificial_tracebackr   r}   r:   rM   rL   
ValueErrorr   r   ExcInfo)r   r   r   r   rL   s        rE   rN   rN   *  s    %CJ!O"'R	E=	)	)	*51 UOT2>E{HI&)lln#H%!	; G$u+UVVR(H} *O/  		s   C 
CCc                 R   [        U SS 5      b  g Sn/ n  [        R                  " U5      nUS-  nUR	                  U5        M/  ! [         a     Of = fUR                  5         S nU H/  n[        R                  " XCUR                  UR                  5      nM1     [        U SU5        g )Nr  r   r>   )r}   rM   r   r@  r   r   typesr   f_lastir   r;  )r  depthr   r   r   s        rE   r?  r?  K  s    q/4(4EF
	MM%(EQJE 	e   		
 NN	B  EMM5>>J  A#s   A 
AAc                 T    [        U 5      n [        U 5      nSS[        XU5      0S.U4$ )Nr   r   )r'   r&   )rN   rP   r  )rL   r   r   hints       rE   event_from_exceptionrH  d  sF     #8,H#H-D 5i	
 	
 
rG   c                 n    U c  gU(       d  gU H#  nX :X  d  U R                  US-   5      (       d  M#    g   g)NFr   Tr   )nameitemsitems      rE   r0  r0  y  s9    |<4??4#:66  rG   c                 8    [         R                  " SU 5      S LnU$ )Nz [\\/](?:dist|site)-packages[\\/])research)r   external_sources     rE   r1  r1    s%     			5x@L  rG   c                 :    Uc  gU R                  U5      (       a  gg)NFTrJ  )r   r+  s     rE   r2  r2    s$     <((rG   c                 V    U R                  S5      SUS-
   R                  SSS9nUS-   $ )z\
Truncate a UTF-8-encodable string to the last full codepoint so that it fits in max_bytes.
utf-8Nr>  ignore)r$   ...)encodedecode)string	max_bytes	truncateds      rE   _truncate_by_bytesr\    s8    
 g&Q7>>wx>XIurG   c                 d     [        U R                  S5      5      $ ! [        [        4 a     g f = f)NrT  )r   rW  UnicodeEncodeErrorr   rC   s    rE   _get_size_in_bytesr_    s3    5<<()) 23 s    //c                     U (       d  U $ Uc  [         n[        U 5      n[        U 5      nUb  X!:  a  [        X5      nOUb  X1:  a  U S US-
   S-   nOU $ [	        UU=(       d    USSUS-
  U//S.S9$ )Nr>  rV  z!limitrb   )r   ra   rT   )r   r_  r   r\  rR   )rD   r   	byte_size	text_sizetruncated_values        rE   r   r     s    -
"5)IE
I!7,U?		9#9 0*q.1E9)	sJNJ?@
 rG   r@   )NTTNN)TTN)NNNNN)NNr   r   N)NN)Rr   r   rO  rM   rC  r   typingr   r   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r6  rA  LogLevelStrr   objectfloatr   rA   compileBASE64_ALPHABETrn   rF   rJ   rP   rR   rz   	Annotatedr~   r   boolr   r   r   r   r   r   r   r   r   r   r   r  r   r   HAS_CHAINED_EXCEPTIONSr  r  r  r!  r%  r'  r-  r,  r9  r<  rN   r?  rH  r0  r1  r2  r\  r_  r   ry   rG   rE   <module>rm     s!    	 	 
    +    .   " d=!=(=2IIJ	!G RSK0	
4!4S#X#770	
 3	0	

 S$sF{"3340	
 C0	
 0	
 30	
 d4S>*0	
 0	
 !4S#X#770	
  [!0	
$ c%0	
( s)0	
* tCH~+0	
. HSM/0	
0 )10	
2 v30	
4 s50	
6 CK($sF{+,V  (sm !4S#X#77 "(+56f% $S&[ 1_0	
b g4En 	q! **12( +
3
	"A
 A
H Ana'(IP
[ T $ +b 4 4  *\ !-6-
 Nb !,BC 7@ \&B "J!.
$NDB$6 *	y  s   H+ +H76H7