
    ,g.                     r   d Z ddlmZ ddlZddlmZmZ ddlmZm	Z	 ddl
mZ ddlmZmZ dd	l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mZmZmZmZmZ ej>                  ej>                  ej>                  fD  ci c]  } | jA                         D ]  \  }}||
  c}}} Zd Z!d Z"d Z#d Z$yc c}}} w )zPDF generation management.    )filesN)D50D65   )VERSION
Attachment)W3C_DATE_RE)LOGGERPROGRESS_LOGGER)Matrix   )debugpdfapdfua)build_fonts_dictionary)Stream)add_annotations	add_forms	add_linksadd_outlinesresolve_linkswrite_pdf_attachmentc                    | yt        j                  |       }|t        j                  d| d|        y|j	                         }d}|d   }dD ]  }||   rd}||   |z   }|s|dv d	| }  |d   rW|d
   sJ |d   rF|d   j                  d      sJ |d   sJ t        |d         }t        |d         }||dd|d	z  }n|dz  }d| S )z Tranform W3C date to PDF format.NzInvalid z date:  hour)secondminuter   daymonthyearT)r   r   02dr   tz_hour)+-	tz_minutez+03d'ZzD:)r	   matchr
   warning	groupdict
startswithint)	string	attr_namer(   groupspdf_datefoundkeyr"   r%   s	            o/home/viktor/gitlab-persoonlijk/factuur-applicatie/venv/lib/python3.12/site-packages/weasyprint/pdf/__init__.py_w3c_date_to_pdfr4      s,   ~f%E})GF:>?__FH6NEC D#;Ec{X-H"22C8
CHD f~h))$//
;;;+&&&&+,GF;/0I74.)C99HOHz?    c                 v    d|v r|d   J ||d<   t        | ||       | j                  |       |j                  S )NFont)_use_references
add_object	reference)pdf	resourcesimagesfontss       r3   _reference_resourcesr?   7   sI     (((!	&CF+NN9r5   c                    |j                  di       j                         D ]  \  }}|L||   }|d   }||j                  |d   |<   (|d   }t        |d         }|j	                  |d   |      }||d<   | j                  |       |j                  |d   |<   d|j                  v rD| j                  |j                  d          |j                  d   j                  |j                  d<   d|j                  v st        | |j                  d   ||d         |j                  d<    |j                  d	i       j                         D ]b  \  }}| j                  |       |j                  |d	   |<   d|j                  v s8t        | |j                  d   ||d         |j                  d<   d |j                  d
i       j                         D ](  \  }}	| j                  |	       |	j                  |d
   |<   * |j                  di       j                         D ]*  \  }}
d|
v sd|
d   v s|
d   d   j                  |
d   d<   , y )NXObjectx_objectimage
dpi_ratiosinterpolateSMask	Resourcesr7   PatternShading	ExtGStateG)getitemsr:   maxget_x_objectr9   extrar?   )r;   r<   r=   r2   rB   
image_datarC   	dpi_ratiopatternshadingalphas              r3   r8   r8   @   s^   "y"5;;= MXJ!*-H#,4,>,>	)$S)w'EJ|45I))*]*CYOH%-Jz"x $,$6$6	)S! hnn$NN8>>'23&.nnW&=&G&GHNN7# (..(*>X^^K0&)F:K+MHNN;'5M< "i4::< LWw$+$5$5	)S!'--')=W]];/69J*LGMM+&	L "i4::< 6Ww$+$5$5	)S!6
  mmK4::< @
UeuW~ 5"'."5"?"?E'N3@r5   c                 n   |dz  }t        j                  d       d}|d   }|d   }|rt        |   \  }}	d|	v r|	d   }d|	v r|	d   }t        j                         }
i }t        j
                  t        j                  dt        j
                  t        j                  t              t        j                  d      d	      f      t        j                  dt        j
                  t        j                  t              t        j                  d      d	      f      d
      }|
j                  |       t        j
                  t        j
                         t        j
                         t        j
                         t        j
                         |j                  d      }|
j                  |       g }t        t        | j                              }i }g g }}|d    }t        t        | j                  |            D ]  \  }\  }}t!        |dd| d|j"                  |z        }||j$                  |j&                  d   z   |j&                  d   z   z  }||j"                  |j&                  d   z   |j&                  d   z   z  }| |j&                  d   z  }| |j&                  d   z  }||z   }||z   }||z  ||z  ||z
  |z  ||z
  |z  f}t)        | j*                  |||||      }|j-                  d|j"                  |z         |
j                  |       |j/                  |       t        j
                  d|
j                  j                  t        j                  ||||g      |j                  |j                  d      } |r
d| d<   || d<   |
j1                  |        |j/                  |        t3        |||
| ||       t5        |d   || |
| ||       t7        |j8                  ||
| ||| j:                  j<                         |j?                  ||       |j&                  jA                         D !"ci c]  \  }!}"|!|"dz   }#}!}"||#d   z   }$||#d   z   }%||#d   z
  }&||#d   z
  }'|$tC        d|#d         z
  }(|%tC        d|#d         z
  })|&tC        d|#d         z   }*|'tC        d|#d         z   }+t        j                  |$|%|&|'g      | d<   t        j                  |(|)|*|+g      | d<    tE        |
| jG                  |d             t        j                  d       t        jH                  d tJ               |
j                  d!<   | jL                  },|,jN                  r,t        jH                  |,jN                        |
j                  d"<   |,jP                  r;t        jH                  d#jS                  |,jP                              |
j                  d$<   |,jT                  r,t        jH                  |,jT                        |
j                  d%<   |,jV                  r;t        jH                  d#jS                  |,jV                              |
j                  d&<   |,jX                  r,t        jH                  |,jX                        |
j                  d'<   |,jZ                  r6t        jH                  t]        |,jZ                  d(            |
j                  d)<   |,j^                  r6t        jH                  t]        |,j^                  d*            |
j                  d+<   |,j`                  r,t        jH                  |,j`                        |
jb                  d,<   |d-   r|,jd                  jA                         D ]c  \  }!}"d.jS                  d/ |!D              }!|!jg                  d0d12      ji                         }!|!sBt        jH                  |"      |
j                  |!<   e |,jj                  jm                         }-|d3   rB|d3   D ]:  }.to        |.tp              stq        |.| jr                  4      }.|-j/                  |.       < g }/|-D ]#  }.tu        |
|.|      }0|0|/j/                  |0       % |/rt        j
                  d5t        j                         i      }1t        |/      D ]:  \  }2}0|1d5   j/                  |0d6          |1d5   j/                  |0j                         < |
j                  |1       d5|
jb                  vr!t        j
                         |
jb                  d5<   |1j                  |
jb                  d5   d7<   |d8    }3tw        |
| j*                  ||3|      }4|
j                  |4       d9|
jb                  v r9t        j
                  d:d;d<d=      }5|
j                  |5       |5j                  |4d><   |4j                  |d?<   ty        |
||       |rt        j                         }6t{        |      D ]=  }7|6j/                  t        jH                  |7d                |6j/                  |7d@          ? t        j
                  d5|6i      }8d5|
jb                  vr!t        j
                         |
jb                  d5<   |8|
jb                  d5   dA<   |rt        j(                  t}        t~              dBz  j                         gt        j
                  dCdDdE      |      }9|
j                  |9       t        j                  t        j
                  dFdGt        jH                  dH      |9j                  dI      g      |
jb                  dJ<   |r |
|,| ||-|       |
S c c}"}!w )KNg      ?zStep 6 - Creating PDFFsrgbpdf_variantmarkz/Lab)}   rZ   r[   )
WhitePointRange)zlab-d50zlab-d65)rJ   rA   rH   rI   
ColorSpaceuncompressed_pdfr   leftrighttopbottom)compress)dfz/Page)TypeParentMediaBoxContentsrG   z/STabsStructParents
   TrimBoxBleedBoxT)transform_pageszStep 7 - Adding PDF metadatazWeasyPrint ProducerTitlez, AuthorSubjectKeywordsCreatorcreatedCreationDatemodifiedModDateLangcustom_metadatar   c              3   B   K   | ]  }|j                         s|  y w)N)isalnum).0chars     r3   	<genexpr>zgenerate_pdf.<locals>.<genexpr>   s     A4$,,.$As   asciiignore)errorsattachments)url_fetcherNamesFEmbeddedFiles
full_fontsAcroFormz/Fontz/Type1z/ZapfDingbats)rh   SubtypeBaseFontZaDbr7   r   DestszsRGB2014.icc   z
/DeviceRGB)N	Alternatez/OutputIntentz
/GTS_PDFA1zsRGB IEC61966-2.1)rh   SOutputConditionIdentifierDestOutputProfileOutputIntents)Ar   infoVARIANTSpydyfPDF
DictionaryArrayr   r   r9   r:   listr   pages	enumeratezipr   heightwidthbleedr   r>   	transformappendadd_pager   r   r   formsfont_configfont_mappaintrM   minr   make_bookmark_treeStringr   metadatatitleauthorsjoindescriptionkeywords	generatorrx   r4   rz   langcatalogcustomencodedecoder   copy
isinstancer   r   r   r   r8   sortedr   __package__
read_bytes):documenttargetzoomoptionsscalerY   rW   variantvariant_function
propertiesr;   r=   color_spacer<   	pdf_namespage_links_and_anchorsannot_files	pdf_pagespage_streamsrd   page_numberpagelinks_and_anchorsmatrix
page_widthpage_heightr`   rb   ra   rc   page_rectanglestreampdf_pager2   valuer   	trim_lefttrim_top
trim_righttrim_bottom
bleed_left	bleed_topbleed_rightbleed_bottomr   r   
attachmentpdf_attachmentspdf_attachmentcontentisubset	pdf_fontsdingbats
name_arrayanchordestsprofiles:                                                             r3   generate_pdfr   r   s\
   4KE01 D6?Dm$G'/'8$*Zf%DZf%D
))+CF"";;(8(8++c*[[!78:
 )    ;;(8(8++c*[[!78:
 )   	$ 	K NN;  %%'##%##%##%!++" I NN9I "-"?@K "|I-..H2; 6739 ??..d- q!eVQe0CDJJF++djj.AAC
KK$**U++djj.BBDv

6**ftzz%((z!{" 5L#+T\U"Vc\U$:< NNNIvthX2$++"57vF###ii))T3v$>?((",,%
  #HV(3H_%X"#VS(ItLa &(C;	 	JJXy&  ))	+ 	

65! 6:ZZ5E5E5GHzsEedl"HH5=(	u%U7^+
uX. Rv!77
s2uU|44	 3r5>#::"SU8_%==#kkx[+: ;${{	;,>  ?}??D h11%1NO78 !<<+gY(?@CHHZ  H~~!LL8"\\$))H4D4D*EF#ll8+?+?@$||DIIh6G6G,HI#ll8+=+=>#(<<X--y9$; #llX..
;=}}#ll8==9F !"////1 	4JC''A3AAC**WX*6==?C %U 3		4 &&++-K}!-0 	+Jj*5'H,@,@B
z*		+
 O! 3
-c:xH%"">23 ""GU[[]#;<!*?!; 	>A~G##N3$78G##N$<$<=	> 	w#++%#(#3#3#5CKK 070A0AG_- &&F&X^^Xvw8INN9S[[ ##'%
 
 	x $..	&!++IfCF+ [[]
Y' 	)Fell6!956fQi(	)   ':!67#++%#(#3#3#5CKK (-GW%,,K >1==?@1<@A 	w',{{'!-2\\:M-N%,%6%6	 4
 (O$ 8\;	J J{ Is   .l1)%__doc__importlib.resourcesr   r   tinycss2.color4r   r   r   r   r   htmlr	   loggerr
   r   r   r   r   r   r   r>   r   r   r   anchorsr   r   r   r   r   r   r   rM   r4   r?   r8   r   )variantsnamedatas   000r3   <module>r      s      %  $ "  ,      )  
 !%u~~u~~N* * (*t 	$J**
</@dY}*s   >"B2