
    r)hr                        S SK r S SKJr  S SKJrJrJr  SSKJr  SSKJ	r	J
r
Jr  SSKJrJrJrJrJrJrJr  SSKJr  SS	KJr  SS
KJr  \	R4                  4r " S S5      r " S S\\5      r " S S\5      r " S S\5      r " S S\5      r g)    N)datetime)
NamedTupleTupleUnion   )Action)AnnotationFlagAnnotationNameFileAttachmentAnnotationName)build_obj_dictDestinationNamePDFContentStreamPDFDate	PDFObject	PDFString)create_dictionary_string)create_list_string)iobj_refc            '           \ rS rSr\SSSSSSSSSSSSSS4S\S\S\S\S	\S
\\\	   \\   4   S\S\
S\S\S\S\S\S\S\\\4   S\\   S\S\S\4&S jjrSrg)AnnotationMixin   Nr    subtypexywidthheightflagscontentsdestactioncolormodification_timetitlequad_pointsborder_widthnameink_list	file_spec
field_typedefault_appearancec           	         [        S5      U l        [        U5      U l        SUS SX5-
  S SX$-   S SUS S3	U l        SU S3U l        U(       a  [        U5      OS U l        UU l        [        [        S U 5       5      5      U l	        U(       a
  [        USS	9OS U l        Xl        Xl        U
(       a  SU
S
    SU
S    SU
S    S3OS U l        U(       a
  [        USS	9OS U l        U(       a
  [!        USS	9OS U l        U(       a  [%        S U 5       5      OS U l        S U l        Xl        U(       a  S[%        S U 5       5      -   S-   OS U l        UU l        UU l        g )NAnnot[.2f ]z[0 0 c              3   N   #    U  H  n[         R                  " U5      v   M     g 7fN)r	   coerce).0flags     KC:\Users\13-19\Desktop\Lekcja\testEnv\Lib\site-packages\fpdf/annotations.py	<genexpr>+AnnotationMixin.__init__.<locals>.<genexpr>7   s     I54>00665s   #%T)encryptr   r      c              3   (   #    U  H  oS  v   M
     g7fr0   Nr   )r6   
quad_points     r8   r9   r:   ?   s     G;Z3'(;   c              3   (   #    U  H  oS  v   M
     g7fr>   r   )r6   coords     r8   r9   r:   F   s     AuSkNr@   )r   typer   rectborderf_tvsumtuplefr   r    ar!   ctr   mpdf_listr&   pr(   r)   f_sd_a)selfr   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   valuer,   s                        r8   __init__AnnotationMixin.__init__   s\   . M	G}#wa
3/q3q3qI	l^1-'14
#tUI5IIJ=E	(D94	:?1U1XJaaz58*A6T385$/d=N*D9TX  G;GG 	
 	  8AAAACG 	
 %    )rK   rE   rL   r    rR   r!   rJ   rQ   rF   r)   rN   r(   rP   r&   rD   r   rM   rC   rG   )__name__
__module____qualname____firstlineno__DEFAULT_ANNOT_FLAGSstrintr   r   r	   r   r   rI   r   r
   r   rU   __static_attributes__r   rW   r8   r   r      s    ;N &*!DH!"&+1&1& 1& 	1&
 1& 1& U>*E#J671& 1& 1& 1& 1& $1& 1& 1& 1&  N$@@A!1&" *#1&$ %1&& '1&*  +1& 1&rW   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )PDFAnnotationN   z?A PDF annotation that get serialized as an obj<</>>endobj blockc                 &   > [         TU ]  " U0 UD6  g r4   )superrU   )rS   argskwargs	__class__s      r8   rU   PDFAnnotation.__init__Q   s    $)&)rW   r   )rX   rY   rZ   r[   __doc__rU   r_   __classcell__rg   s   @r8   ra   ra   N   s    E* *rW   ra   c                   ,    \ rS rSrSrSrSS jrS rSrg)	AnnotationDictU   z@A PDF annotation that get serialized as an inline <<dictionary>>)rC   r   rD   rE   rF   rG   rJ   r    rK   r!   rL   rM   r&   rP   r(   r)   rQ   rR   Nc           
      ~    [        [        U 5       Vs0 s H  o3[        X5      _M     snUUS9n[        U5      $ s  snf )N)_security_handler_obj_id)r   dirgetattrpdf_dict)rS   rp   rq   keyobj_dicts        r8   	serializeAnnotationDict.serializem   sB    !03D	:	'$$$	:/

 !!	 ;s   :c                 4   [        U 5       Vs/ s H  oR                  S5      (       a  M  UPM     nnU Vs0 s H  o[        X5      _M     nnUR                  5        VVs0 s H  u  p[	        U5      (       a  M  X_M     nnnSU S3$ s  snf s  snf s  snnf )N__zAnnotationDict(**))rr   
startswithrs   itemscallable)rS   ru   keysdrT   s        r8   __repr__AnnotationDict.__repr__u   s    "4yEyt0DyE045'$$$5*+'')K)JC8E?ZSZ)K"1#Q'' F5Ks   B
B
B!B;Br   NN)	rX   rY   rZ   r[   ri   	__slots__rw   r   r_   r   rW   r8   rm   rm   U   s    FI*"(rW   rm   c                   n   ^  \ rS rSr     SS\S\S\S\S\S\S\4U 4S	 jjjrS
 r	S r
S rS rSrU =r$ )PDFEmbeddedFile|   basenamer    desccreation_datemodification_datecompresschecksumc                   > [         TU ]  X&S9  [        S5      U l        S[	        U5      0nU(       a  [        USS9R                  5       US'   U(       a  [        USS9R                  5       US'   U(       aI  [        R                  " SS	S
9n	U	R                  U R                  5        U	R                  5       n
SU
 S3US'   [        U5      U l        Xl        X0l        SU l        g )N)r    r   EmbeddedFilez/SizeT)with_tzz/CreationDatez/ModDatemd5F)usedforsecurity<>z	/CheckSum)rd   rU   r   rC   lenr   rw   hashlibnewupdate	_contents	hexdigestrt   params	_basename_desc_globally_enclosed)rS   r   r    r   r   r   r   r   r   	file_hashhash_hexrg   s              r8   rU   PDFEmbeddedFile.__init__}   s     	(>(	3x=)&-mT&J&T&T&VF?#!():D!I!S!S!UF:E5AIT^^, **,H$%hZq/F;v&!
"&rW   c                     U R                   $ r4   r   rS   s    r8   globally_enclosed!PDFEmbeddedFile.globally_enclosed   s    &&&rW   c                     Xl         g r4   r   )rS   rT   s     r8   set_globally_enclosed%PDFEmbeddedFile.set_globally_enclosed   s    "'rW   c                     U R                   $ r4   )r   r   s    r8   r   PDFEmbeddedFile.basename   s    ~~rW   c                 B    [        X R                  U R                  5      $ r4   )FileSpecr   r   r   s    r8   r*   PDFEmbeddedFile.file_spec   s    nndjj99rW   )r   r   r   r   rC   ) NNFF)rX   rY   rZ   r[   r]   bytesr   boolrU   r   r   r   r*   r_   rj   rk   s   @r8   r   r   |   s{    
 "&&*'' ' 	'
  ' $' ' ' '6'(: :rW   r   c                   >    \ rS rSr% \\S'   \\S'   \\S'   SS jrSrg)	r      embedded_filer   r   Nc                 "   S[        U R                  5      R                  5       [        S[	        U R
                  R                  5      05      S.nU R                  (       a&  [        U R                  5      R                  5       US'   [        USS9$ )Nz	/Filespec/F)z/Typer   z/EFz/Descr1   )
field_join)r   r   rw   rt   pdf_refr   idr   )rS   rp   rq   rv   s       r8   rw   FileSpec.serialize   sq     DMM*446T74+=+=+@+@#ABC

 99 )$)) 4 > > @HWS11rW   r   r   )	rX   rY   rZ   r[   r   __annotations__r]   rw   r_   r   rW   r8   r   r      s    ""M
I2rW   r   )!r   r   typingr   r   r   actionsr   enumsr	   r
   r   syntaxr   r   r   r   r   r   r   r   rt   r   rO   r   r   PRINTr\   r   ra   rm   r   r   r   rW   r8   <module>r      s      + +  O O   9 2 ' &++- 2& 2&j*OY *$(_ $(N&:& &:R2z 2rW   