+
    ‰vjLE  ã                  ór  a € 0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RIH
t
 ^ RIHt ^ RIHt ]'       d/   ^ RIHt ^ R	IHt ^ R
IHt ^ RIHt  ! R R]4      t ! R R]4      t ^ R
IHt ^ RIHt ^ RIHt R R ltR R lt R t!R#R R llt"Rt#R] 2t$]PJ                  PM                  ]PJ                  PO                  ](4      4      t) ! R R4      t* ! R R]*4      t+]f
   Rt,R ]-R!&   R#  ! R" R!]*4      t,R#   ] d1    ^ RIt]P8                  ! R4      t]P=                  R4       R;t;tt L·i ; i)$é    )ÚannotationsN)ÚTYPE_CHECKING)ÚBinaryIO)ÚCallable)Ú	TypedDict)Úversion)Ú	Generator)ÚLiteral)ÚImage)Ú	ImageDrawc                  ó@   € ] tR t^t$ R]R&   R]R&   R]R&   R]R&   RtR# )	ÚInternalTextÚlistÚstartÚendÚxposÚboolÚ	was_guard© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__Ú__static_attributes__r   ó    ÚR/var/www/html/daimler-pipeline/venv/lib/python3.14/site-packages/barcode/writer.pyr   r      s   ‡ Ø‹Ø‹	Ø‹
Ø�r   r   c                  ó@   € ] tR t^t$ R]R&   R]R&   R]R&   R]R&   RtR# )	Ú	CallbacksúCallable | NoneÚ
initializer   Úpaint_moduleÚ
paint_textÚfinishr   Nr   r   r   r   r    r       s   ‡ Ø#Ó#ØÓØ#Ó#Ø×r   r    )Ú	ImageFontÚ	pyBarcodez'Pillow not found. Image output disabledc               ó$   € V ^8„  d   QhRRRRRR/# )é   ÚmmÚfloatÚdpiÚintÚreturnr   )Úformats   "r   Ú__annotate__r0   -   s!   € ÷ ñ ˆeð ˜#ð  %ñ r   c                ó    € W,          R ,          # )gffffff9@r   )r*   r,   s   &&r   Úmm2pxr2   -   s   € Ø�H˜ÕÐr   c               ó    € V ^8„  d   QhRRRR/# )r)   Úptr+   r.   r   )r/   s   "r   r0   r0   1   s   € ÷ ñ ˆeð ˜ñ r   c                ó   € V R ,          # )g¾þÐ>é“Ö?r   )r4   s   &r   Úpt2mmr6   1   s   € Ø�ÕÐr   c                óZ   € VP                  4        F  w  r#V P                  W#4       K  	  R # ©N)ÚitemsÚsetAttribute)ÚelementÚ
attributesÚkeyÚvalues   &,  r   Ú_set_attributesr?   5   s%   € Ø ×&Ñ&Ö(‰
ˆØ×Ñ˜SÖ(ó )r   c               ó   € V ^8„  d   QhRR/# )r)   r.   zxml.dom.minidom.Documentr   )r/   s   "r   r0   r0   :   s   € ÷ ñ Ð-Eñ r   c                óò   € \         P                  P                  P                  4       pVf   Q hVP	                  RRR4      pTP                  R RV '       d   TMR 4      p\        VP                  RRR7       V# )NÚsvgz-//W3C//DTD SVG 1.1//ENz0http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtdz1.1zhttp://www.w3.org/2000/svg)r   Úxmlns)ÚxmlÚdomÚminidomÚgetDOMImplementationÚcreateDocumentTypeÚcreateDocumentr?   ÚdocumentElement)Úwith_doctypeÚimpÚdoctypeÚdocuments   &   r   Úcreate_svg_objectrO   :   sr   € Ü
�'‰'�/‰/×
.Ñ
.Ó
0€CØŠ?Ðˆ?Ø×$Ñ$ØØ!Ø:ó€Gð
 ×!Ñ! $¨¿,©wÈDÓQ€HÜØ× Ñ ¨%Ð7Sõð €Or   z	{0:.3f}mmz"Autogenerated with python-barcode c                  ó  € ] tR t^Nt$ RtR]R&   R]R&   R]R&   R]R&   R]R	&   R]R
&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R R ltR R ltR R ltR R lt	R R  lt
R! R" ltR# R$ ltR% R& ltR'tR(# ))Ú
BaseWriteraè  Baseclass for all writers.

Initializes the basic writer options. Child classes can add more attributes and can
set them directly or using ``self.set_options(option=value)``.

:param initialize: Callback for initializing the inheriting writer.
    Is called: ``callback_initialize(raw_code)``
:param paint_module:
    Callback for painting one barcode module.
    Is called: ``callback_paint_module(xpos, ypos, width, color)``
:param paint_text: Callback for painting the text under the barcode.
    Is called: ``callback_paint_text(xpos, ypos)`` using `self.text`
    as text.
:param finish: Callback for doing something with the completely rendered
    output. Is called: ``return callback_finish()`` and must return the
    rendered output.
r    Ú
_callbacksr+   Úmodule_widthÚmodule_heightÚstrÚ	font_pathÚ	font_sizeÚ
quiet_zonez	str | intÚ
backgroundÚ
foregroundÚtextÚhumanÚtext_distanceÚtext_line_distancer   Úcenter_textÚguard_height_factorÚ
margin_topÚmargin_bottomc          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )	r)   r"   r!   r#   r   r$   r%   r.   ÚNoner   )r/   s   "r   r0   ÚBaseWriter.__annotate__r   s<   € ÷ ñ à#ðð ðð $ð	ð
 ðð 
ñr   c                	ó<  € R VRVRVRV/V n         ^
V n        ^
V n        \        P                  P                  \        RR4      V n        ^
V n        RV n	        RV n
        RV n        R	V n        R	V n        ^V n        ^V n        R
V n        RV n        ^V n        ^V n        R# )r"   r#   r$   r%   ÚfontszDejaVuSansMono.ttfg      @ÚwhiteÚblackÚ Tgš™™™™™ñ?N)rR   rS   rT   ÚosÚpathÚjoinÚPATHrV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   )Úselfr"   r#   r$   r%   s   &&&&&r   Ú__init__ÚBaseWriter.__init__r   s¥   € ð ˜*Ø˜LØ˜*Ø�fð	
ˆŒð ˆÔØˆÔÜŸ™Ÿ™¤d¨GÐ5IÓJˆŒØˆŒØˆŒØ!ˆŒØ!ˆŒØˆŒ	ØˆŒ
ØˆÔØ"#ˆÔØˆÔØ#&ˆÔ ØˆŒØˆÖr   c               ó$   € V ^8„  d   QhRRRRRR/# )r)   Úmodules_per_liner-   Únumber_of_linesr.   Útupler   )r/   s   "r   r0   re   �   s!   € ÷ ñ ¨sð ÀSð ÈUñ r   c                ó
  € ^V P                   ,          WP                  ,          ,           pV P                  V P                  ,           V P                  V,          ,           p\        V P                  P                  4       4      pV P                  '       dn   V P                  '       d\   V\        V P                  4      ^,          V,          V P                  ,           ,          pW@P                  V^,
          ,          ,          pW43# )zÓCalculates the size of the barcode in pixel.

:param modules_per_line: Number of modules in one line.
:param number_of_lines: Number of lines of the barcode.

:returns: Width and height of the barcode in pixel.
)rX   rS   rb   ra   rT   Úlenr[   Ú
splitlinesrW   r6   r]   r^   )ro   rs   rt   ÚwidthÚheightÚnumber_of_text_liness   &&&   r   Úcalculate_sizeÚBaseWriter.calculate_size�   sÂ   € ð �D—O‘OÕ#Ð&6×9JÑ9JÕ&JÕJˆà×Ñ §¡Õ0°4×3EÑ3EÈÕ3WÕWð 	ô  # 4§9¡9×#7Ñ#7Ó#9Ó:ÐØ�>�>ˆ>˜dŸiŸi˜iØÜ�d—n‘nÓ%¨Õ)Ð,@Õ@À4×CUÑCUÕUõˆFð ×-Ñ-Ð1EÈÕ1IÕJÕJˆFØˆ}Ðr   c               ó    € V ^8„  d   QhRRRR/# ©r)   ÚfilenamerU   r.   r   )r/   s   "r   r0   re   £   s   € ÷ "ñ "˜Sð "¨Sñ "r   c                ó   € \         h)z¨Saves the rendered output to `filename`.

:param filename: Filename without extension.
:param output: The rendered output.

:returns: The full filename with extension.
©ÚNotImplementedError©ro   r€   Úoutputs   &&&r   ÚsaveÚBaseWriter.save£   s
   € ô "Ð!r   c               ó$   € V ^8„  d   QhRRRRRR/# )r)   Úactionz=Literal['initialize', 'paint_module', 'paint_text', 'finish']Úcallbackr   r.   rd   r   )r/   s   "r   r0   re   ­   s(   € ÷ 
+ñ 
+àMð
+ð ð
+ð 
ñ	
+r   c                ó"   € W P                   V&   R# )zÑRegister one of the three callbacks if not given at instance creation.

:param action: One of 'initialize', 'paint_module', 'paint_text', 'finish'.
:param callback: The callback function for the given action.
N)rR   )ro   r‰   rŠ   s   &&&r   Úregister_callbackÚBaseWriter.register_callback­   s   € ð #+�‰˜Ór   c               ó    € V ^8„  d   QhRRRR/# )r)   ÚoptionsÚdictr.   rd   r   )r/   s   "r   r0   re   ¹   s   € ÷ 
(ñ 
( 4ð 
(¨Dñ 
(r   c                ó˜   € VP                  4        F5  w  r#VP                  R4      p\        W4      '       g   K)  \        WV4       K7  	  R# )zºSets the given options as instance attributes (only
if they are known).

:param options: All known instance attributes and more if the child class
    has defined them before this call.
Ú_N)r9   ÚlstripÚhasattrÚsetattr)ro   r�   r=   Úvals   &&  r   Úset_optionsÚBaseWriter.set_options¹   s8   € ð  Ÿ™ž‰HˆCØ—*‘*˜S“/ˆCÜ�t×!Ô!Ü˜ 3Ö'ó (r   c               ó    € V ^8„  d   QhRRRR/# )r)   ÚlinerU   r.   z'Generator[tuple[int, float], str, None]r   )r/   s   "r   r0   re   Å   s   € ÷ ñ ˜3ð Ð#Jñ r   c              #  ó:  "  € VR,          p^p\        \        V4      ^,
          4       Fl  pW,          W^,           ,          8X  d   V^,          pK(  W,          R8X  d   V^3x € M.W,          R8X  d   W P                  3x € MV) V P                  3x € ^pKn  	  R# 5i)a  
Pack line to list give better gfx result, otherwise in can
result in aliasing gaps
'11010111' -> [2, -1, 1, -1, 3]

This method will yield a sequence of pairs (width, height_factor).

:param line: A string matching the writer spec (only contain 0 or 1 or G).
Ú Ú1ÚGN)Úrangerw   r`   )ro   rš   ÚcÚis   &&  r   ÚpackedÚBaseWriter.packedÅ   s‡   é € ð 	��ˆØˆÜ”s˜4“y 1•}Ö%ˆAØ�w˜$ 1�u�+Ô%Ø�Q•’à•7˜c”>Ø˜a˜&“LØ•W ”^Ø×6Ñ6Ð7Ó7à˜2˜t×7Ñ7Ð8Ò8Ø’ó &ùs   ‚BBc               ó   € V ^8„  d   QhRR/# ©r)   Úcodeú	list[str]r   )r/   s   "r   r0   re   Ý   s   € ÷ S+ñ S+˜9ñ S+r   c           	     ó8  € V P                   R,          e   V P                   R,          ! V4       V P                  pV P                  p\        V4      ^8w  d   \	        R4      hV^ ,          pV P
                  pTpR. R. R. RR/pV P                  V4       Fð  w  r‰V^8  d   V P                  p
MsV P                  p
VR,          '       d&   V	^8X  d   VR,          P                  V4       RVR&   M3VR,          '       g%   V	^8w  d   VR,          P                  V4       RVR&   W9,          V n        V P                   R	,          ! WRV P                  \        V4      ,          V
4       WPP                  \        V4      ,          ,          pKò  	  X	^8w  d   VR,          P                  V4       W0n        TpW P                  ,          pV P                  '       Ed±   V P                   R
,          Ee›   VR,          '       gX   W P                  ,          pV P                  '       d   WkV,
          R,          ,           MTpV P                   R
,          ! WR4       EM4V^V P                  ,          ,
          .VR&   VR,          P                  ^ 4       \!        VR,          VR,          4       F1  w  rÍVR,          P                  WÜV,
          ^,          ,           4       K3  	  VR,          P                  VR,          R,          ^V P                  ,          ,           4       V\#        V P$                  4      ,          pV P                  P'                  R4      p\!        WçR,          4       F$  w  rõWðn        V P                   R
,          ! WR4       K&  	  V P                   R,          ! 4       # )zæRenders the barcode to whatever the inheriting writer provides,
using the registered callbacks.

:parameters:
    code : List
        List consisting of a single string matching the writer spec
        (only contain 0 or 1 or G).
r"   ú"Only one line of code is supportedr   r   r   r   FTr#   r$   g       @rœ   r%   éÿÿÿÿ)rR   ra   rT   rw   rƒ   rX   r¢   rY   rZ   ÚappendrS   Úabsr[   r]   r_   ÚpopÚzipr6   rW   Úsplit)ro   r¦   ÚyposÚbase_heightrš   r   Úbxsr[   ÚmodÚheight_factorÚcolorÚbxeÚsÚeÚblocksÚtext_s   &&              r   ÚrenderÚBaseWriter.renderÝ   sæ  € ð �?‰?˜<Õ(Ò4Ø�O‰O˜LÖ)¨$Ô/Ø�‰ˆØ×(Ñ(ˆÜˆt‹9˜Œ>Ü%Ð&JÓKÐKØ�A�wˆà�‰ˆØˆà�RØ�2Ø�Bà˜ð
ˆð #'§+¡+¨dÖ"3ÑˆCØ�QŒwØŸ™‘àŸ™�à˜×$Ô$¨¸!Ô);à˜•K×&Ñ& tÔ,Ø(-�D˜Ò%Ø˜k×*Ô*¨}ÀÔ/Aà˜•M×(Ñ(¨Ô.Ø(,�D˜Ñ%à!,Õ!<ˆDÔà�O‰O˜NÖ+Ø˜D×-Ñ-´°C³Õ8¸%ôð ×%Ñ%¬¨C«Õ0Õ0ŠDñ) #4ð,  Ô!Ø�U•×"Ñ" 4Ô(Ø!,ÔàˆØ×"Ñ"Õ"ˆà�9�9‰9˜Ÿ™¨Õ6ÓBØ˜—=”=à×*Ñ*Õ*�Ø26×2B×2BÐ2B�s C�i¨3Õ.Ö.È�Ø—‘ Ö-¨dÖ9ð !$ a¨$×*;Ñ*;Õ&;Õ ;Ð<��V‘ð �W•×!Ñ! !Ô$Ü  W¥¨t°E­{Ö;‘D�AØ˜•L×'Ñ'¨°­U°a­K­Ö8ñ <ð �V•×#Ñ# D¨¥K°¥O°a¸$×:KÑ:KÕ6KÕ$KÔLàœ˜dŸn™nÓ-Õ-�ð Ÿ™Ÿ™¨Ó-�Ü#& v°F­|Ö#<‘K�EØ %”IØ—O‘O LÖ1°$Ö=ñ $=ð �‰˜xÖ(Ó*Ð*r   c               ó    € V ^8„  d   QhRRRR/# ©r)   Úfpr   r.   rd   r   )r/   s   "r   r0   re   2  s   € ÷ "ñ " ð "¨dñ "r   c                	ó   € \         hr8   r‚   ©ro   Úcontentr¿   s   &&&r   ÚwriteÚBaseWriter.write2  s   € Ü!Ð!r   )rR   rY   r_   rV   rW   rZ   r`   r\   rb   ra   rT   rS   rX   r[   r]   r^   N)r   r   r   r   Ú__doc__r   rp   r|   r†   rŒ   r—   r¢   r»   rÃ   r   r   r   r   rQ   rQ   N   s•   ‡ ñð$ ÓØÓØÓØƒNØÓØÓØÓØÓØ
ƒIØƒJØÓØÓØÓØÓØÓØÓõõ:õ("õ
+õ
(õõ0S+÷j"ñ "r   rQ   c                  ód   a € ] tR tRtR V 3R lltR R ltR tR tR tR	 R
 lt	R R lt
RtV ;t# )Ú	SVGWriteri6  c               ó   € V ^8„  d   QhRR/# ©r)   r.   rd   r   )r/   s   "r   r0   ÚSVGWriter.__annotate__7  s   € ÷ -ñ -˜$ñ -r   c                	ó¤   <€ \         SV `  V P                  V P                  V P                  V P
                  4       R V n        RV n        V  V  V  R# )FTN)Úsuperrp   Ú_initÚ_create_moduleÚ_create_textÚ_finishÚcompressrK   )ro   Ú	__class__s   &€r   rp   ÚSVGWriter.__init__7  sJ   ø€ Ü‰ÑØ�J‰JØ×ÑØ×ÑØ�L‰Lô		
ð $ˆŒØ"&ˆÔÙÙÛr   c               ó   € V ^8„  d   QhRR/# r¥   r   )r/   s   "r   r0   rÊ   D  s   € ÷ 0ñ 0˜)ñ 0r   c                	ób  € \        V4      ^8w  d   \        R4      hV^ ,          pV P                  \        V4      ^4      w  r4\        V P                  4      V n        V P
                  P                  V n        R\        P                  V4      R\        P                  V4      /p\        V P                  3/ VB  \        '       d9   V P                  P                  V P
                  P                  \        4      4       V P
                  P                  R4      pRR/p\        V3/ VB  V P                  P                  V4      V n        V P                   eZ   V P
                  P                  R4      pRR	RR	R
RV P                    2/p\        V3/ VB  V P                  P                  V4       R# R# )é   r©   ry   rz   ÚgÚidÚbarcode_groupNÚrectz100%Ústyleúfill:)rw   rƒ   r|   rO   rK   Ú	_documentrJ   Ú_rootÚSIZEr/   r?   ÚCOMMENTÚappendChildÚcreateCommentÚcreateElementÚ_grouprY   )ro   r¦   rš   ry   rz   r<   ÚgrouprY   s   &&      r   rÍ   ÚSVGWriter._initD  sb  € Üˆt‹9˜Œ>Ü%Ð&JÓKÐKØ�A�wˆØ×+Ñ+¬C°«I°qÓ9‰ˆÜ*¨4×+<Ñ+<Ó=ˆŒØ—^‘^×3Ñ3ˆŒ
à”T—[‘[ Ó'Ø”d—k‘k &Ó)ð
ˆ
ô 	˜Ÿ
™
Ñ1 jÒ1ß‹7Ø�J‰J×"Ñ" 4§>¡>×#?Ñ#?ÄÓ#HÔIð —‘×,Ñ,¨SÓ1ˆØ˜OÐ,ˆ
Ü˜Ñ, Ò,Ø—j‘j×,Ñ,¨UÓ3ˆŒØ�?‰?Ò&ØŸ™×5Ñ5°fÓ=ˆJà˜Ø˜&Ø˜5 §¡Ð 1Ð2ðˆJô
 ˜JÑ5¨*Ò5Ø�K‰K×#Ñ# JÖ/ñ 'r   c                	óz  € W@P                   8w  d«   V P                  P                  R 4      pR\        P	                  V4      R\        P	                  V4      R\        P	                  V4      R\        P	                  V P
                  4      RRV R2/p\        V3/ VB  V P                  P                  V4       R# R# )	rÚ   ÚxÚyry   rz   rÛ   rÜ   Ú;N)	rY   rÝ   rã   rß   r/   rT   r?   rä   rá   )ro   r   r°   ry   rµ   r;   r<   s   &&&&&  r   rÎ   ÚSVGWriter._create_moduleb  s™   € à—O‘OÔ#Ø—n‘n×2Ñ2°6Ó:ˆGà”T—[‘[ Ó&Ø”T—[‘[ Ó&ØœŸ™ UÓ+Øœ$Ÿ+™+ d×&8Ñ&8Ó9Ø˜5   qÐ)ðˆJô ˜GÑ2 zÒ2Ø�K‰K×#Ñ# GÖ,ñ $r   c                	óP  € V P                   R 8w  d   V P                   MV P                  pVP                  R4       Fç  pV P                  P	                  R4      pR\
        P                  V4      R\
        P                  V4      RRV P                   RV P                   R2/p\        V3/ VB  V P                  P                  V4      pVP                  V4       V P                  P                  V4       V\        V P                  4      V P                  ,           ,          pKé  	  R	# )
rj   Ú
r[   rè   ré   rÛ   rÜ   z;font-size:zpt;text-anchor:middle;N)r\   r[   r¯   rÝ   rã   rß   r/   rZ   rW   r?   ÚcreateTextNoderá   rä   r6   r^   )ro   r   r°   ÚbarcodetextÚsubtextr;   r<   Útext_elements   &&&     r   rÏ   ÚSVGWriter._create_textp  sò   € ð %)§J¡J°"Ô$4�d—j’j¸$¿)¹)ˆØ"×(Ñ(¨Ö.ˆGØ—n‘n×2Ñ2°6Ó:ˆGà”T—[‘[ Ó&Ø”T—[‘[ Ó&ØØ˜DŸO™OÐ,ð -!Ø!%§¡Ð 0Ð0FðHð	ˆJô ˜GÑ2 zÒ2ØŸ>™>×8Ñ8¸ÓAˆLØ×Ñ Ô-Ø�K‰K×#Ñ# GÔ,Ø”E˜$Ÿ.™.Ó)¨D×,CÑ,CÕCÕCŠDó /r   c                	ó¶   € V P                   '       d   V P                  P                  R R7      # V P                  P                  R\        P
                  R R7      # )zUTF-8)Úencoding)ÚindentÚnewlrô   z    )rÑ   rÝ   ÚtoxmlÚtoprettyxmlrk   Úlinesep©ro   s   &r   rÐ   ÚSVGWriter._finish„  sJ   € Ø�=�=ˆ=Ø—>‘>×'Ñ'°Ð'Ó9Ð9à�~‰~×)Ñ)Ø¤§¡°gð *ó 
ð 	
r   c               ó    € V ^8„  d   QhRRRR/# r   r   )r/   s   "r   r0   rÊ   Œ  s   € ÷ 
ñ 
˜Sð 
¨Sñ 
r   c                	ó€  € V P                   '       dQ   V R 2p\        P                  ! VR4      ;_uu_ 4       pVP                  V4       VP	                  4        RRR4       V# V R2p\        VR4      ;_uu_ 4       pVP                  V4       RRR4       V#   + '       g   i     T# ; i  + '       g   i     T# ; i)z.svgzÚwbNz.svg)rÑ   ÚgzipÚopenrÃ   Úclose)ro   r€   r…   Ú	_filenameÚfs   &&&  r   r†   ÚSVGWriter.saveŒ  sž   € Ø�=�=ˆ=Ø#˜* EÐ*ˆIÜ—’˜9 d×+Ô+¨qØ—‘˜”Ø—‘”	÷ ,ð Ðð $˜* DÐ)ˆIÜ�i ×&Ô&¨!Ø—‘˜”÷ 'àÐ÷ ,Ö+ð Ðú÷ 'Ö&àÐús   ·"BÁ<B,ÂB)	Â,B=	c               ó    € V ^8„  d   QhRRRR/# r¾   r   )r/   s   "r   r0   rÊ   ˜  s   € ÷ ñ  ð ¨dñ r   c                ó(   € VP                  V4       R# )ú_Write `content` into a file-like object.

Content should be a barcode rendered by this writer.
N)rÃ   rÁ   s   &&&r   rÃ   ÚSVGWriter.write˜  s   € ð
 	�‰�Ör   )rÝ   rä   rÞ   rÑ   rK   )r   r   r   r   rp   rÍ   rÎ   rÏ   rÐ   r†   rÃ   r   Ú__classcell__©rÒ   s   @r   rÇ   rÇ   6  s1   ø† ÷-ð -õ0ò<-òDò(
õ
÷ó r   rÇ   ztype | NoneÚImageWriterc                  ó”   a € ] tR tRt$ R]R&   R]R&   R]R&   RR V 3R llltR	 R
 ltR R ltR tR R lt	R R lt
R R ltRtV ;t# )r  i¤  rU   r/   Úmoder-   r,   c               ó   € V ^8„  d   QhRR/# rÉ   r   )r/   s   "r   r0   ÚImageWriter.__annotate__©  s   € ÷ 	$ñ 	$Àñ 	$r   c                ó¨   <€ \         SV `  V P                  V P                  V P                  V P
                  4       Wn        W n        W0n        V  V  R# )a  Initialise a new write instance.

:params format: The file format for the generated image. This parameter can
    take any value that Pillow accepts.
:params mode: The colour-mode for the generated image. Set this to RGBA if
    you wish to use colours with transparency.
N)	rÌ   rp   rÍ   Ú_paint_moduleÚ_paint_textrÐ   r/   r  r,   )ro   r/   r  r,   rÒ   s   &&&&€r   rp   ÚImageWriter.__init__©  sI   ø€ ô ‰GÑØ—
‘
Ø×"Ñ"Ø× Ñ Ø—‘ô	ð !ŒKØŒIØŒHÙÛr   c               ó    € V ^8„  d   QhRRRR/# )r)   r¦   r§   r.   rd   r   )r/   s   "r   r0   r  ½  s   € ÷ 		5ñ 		5˜ið 		5¨Dñ 		5r   c                	óÐ  € \         f   \        R4      h\        V4      ^8w  d   \        R4      hV^ ,          pV P	                  \        V4      ^4      w  r4\        \        W0P                  4      4      \        \        W@P                  4      4      3p\        P                  ! V P                  WPP                  4      V n        \         P                  ! V P                  4      V n        R # )Nz&Pillow not found. Cannot create image.r©   )r   ÚRuntimeErrorrw   rƒ   r|   r-   r2   r,   r   Únewr  rY   Ú_imageÚDrawÚ_draw)ro   r¦   rš   ry   rz   Úsizes   &&    r   rÍ   ÚImageWriter._init½  s    € ÜÒ Ü"Ð#KÓLÐLÜ�4‹y˜AŒ~Ü)Ð*NÓOÐOØ˜•7ˆDØ ×/Ñ/´°D³	¸1Ó=‰MˆEÜœ˜e§X¡XÓ.Ó/´´U¸6Ç8Á8Ó5LÓ1MÐNˆDÜŸ)š) D§I¡I¨t·_±_ÓEˆDŒKÜ"Ÿš¨¯©Ó4ˆDŽJr   c               ó$   € V ^8„  d   QhRRRRRR/# )r)   r   r+   r°   ry   r   )r/   s   "r   r0   r  È  s&   € ÷ 	Bñ 	B eð 	B°5ð 	BÀñ 	Br   c                	ó&  € \        WP                  4      \        W P                  4      3\        W,           V P                  4      ^,
          \        W P                  ,           V P                  4      3.pV P                  P	                  WTVR7       R# )rÖ   )ÚoutlineÚfillN)r2   r,   rT   r  Ú	rectangle)ro   r   r°   ry   rµ   r  s   &&&&& r   r  ÚImageWriter._paint_moduleÈ  sm   € ä�tŸX™XÓ&¬¨d·H±HÓ(=Ð>ä˜$�,¨¯©Ó1°AÕ5Ü˜$×!3Ñ!3Õ3°T·X±XÓ>ððˆDð �J‰J× Ñ  ¸5Ð ÖAr   c           	     	ó`  € \         f   Q hV P                  R8w  d   V P                  MV P                  p\        \	        \        V P                  4      V P                  4      4      pV^ 8:  d   R # \         P                  ! V P                  V4      pVP                  R4       F‰  p\	        WP                  4      \	        W P                  4      3pV P                  P                  WvWPP                  RR7       V\        V P                  4      ^,          V P                  ,           ,          pK‹  	  R # )Nrj   rí   Úmd)Úfontr   Úanchor)r&   r\   r[   r-   r2   r6   rW   r,   ÚtruetyperV   r¯   r  rZ   r^   )ro   r   r°   rï   rW   r%  rð   Úposs   &&&     r   r  ÚImageWriter._paint_textÒ  sã   € ÜÒ(Ð(Ð(ð )-¯
©
°bÔ(8˜$Ÿ*š*¸d¿i¹iˆKäœE¤%¨¯©Ó"7¸¿¹ÓBÓCˆIØ˜AŒ~ÙÜ×%Ò% d§n¡n°iÓ@ˆDØ&×,Ñ,¨TÖ2�ä˜$§¡Ó)Ü˜$§¡Ó)ð�ð —
‘
—‘Ø t·/±/È$ð  ô ð œ˜dŸn™nÓ-°Õ1°D×4KÑ4KÕKÕK’ó 3r   c               ó   € V ^8„  d   QhRR/# )r)   r.   ÚT_Imager   )r/   s   "r   r0   r  ç  s   € ÷ 	ñ 	˜Wñ 	r   c                	ó   € V P                   # r8   )r  rú   s   &r   rÐ   ÚImageWriter._finishç  s   € Ø—;‘;Ðr   c               ó    € V ^8„  d   QhRRRR/# r   r   )r/   s   "r   r0   r  ê  s   € ÷ 	ñ 	 ð 	°ñ 	r   c                	ó–   € V R V P                   P                  4        2pVP                  WP                   P                  4       4       V# )Ú.)r/   Úlowerr†   Úupperr„   s   &&&r   r†   ÚImageWriter.saveê  s>   € Ø"˜ 1 T§[¡[×%6Ñ%6Ó%8Ð$9Ð:ˆHØ�K‰K˜§+¡+×"3Ñ"3Ó"5Ô6ØˆOr   c               ó    € V ^8„  d   QhRRRR/# r¾   r   )r/   s   "r   r0   r  ï  s   € ÷ 	1ñ 	1 Xð 	1°$ñ 	1r   c                ó>   € VP                  W P                  R7       R# )r  )r/   N)r†   r/   rÁ   s   &&&r   rÃ   ÚImageWriter.writeï  s   € ð
 �L‰L˜§K¡KˆLÖ0r   )r  r  r,   r/   r  )ÚPNGÚRGBi,  )r   r   r   r   r   rp   rÍ   r  r  rÐ   r†   rÃ   r   r	  r
  s   @r   r  r  ¤  sA   ø‡ Ø‹Ø‹	Ø‹÷	$ò 	$õ(		5õ	Bò	Lõ*	õ	÷
	1ó 	1r   )F).Ú__conditional_annotations__Ú
__future__r   rÿ   rk   Úxml.dom.minidomrD   Útypingr   r   r   r   Úbarcode.versionr   r	   r
   Ú	PIL.Imager   r+  ÚPIL.ImageDrawr   ÚT_ImageDrawr   r    ÚPILr&   ÚImportErrorÚloggingÚ	getLoggerÚlogÚinfor2   r6   r?   rO   rß   rà   rl   ÚdirnameÚabspathÚ__file__rn   rQ   rÇ   r  r   )r9  s   @r   Ú<module>rJ     s  øðß "Ð "ã Û 	Û Ý  Ý Ý Ý å #çÝ Ýå*Ý6ô�yô ô�Iô ð	)ÝÝÝõõò)÷
ð €Ø.¨w¨iÐ
8€Ø	‡w�w‡��r—w‘w—‘ xÓ0Ó1€÷e"ñ e"ôPg�
ô gðT 	‚=Ø#€K�Õ#ôP1�jö P1øð ô )Ûà
×
Ò
˜KÓ
(€CØ‡H�HÐ6Ô7Ø$(Ð(€EÐ(ˆIš	ð)ús   Á,C? Ã?4D6Ä5D6