+
    ŒvjÑ  ã                   óŒ   € ^ RI Ht ^ RIHt ^ RIHt ^ RIHtHt	  ! R R]4      t
 ! R R]
4      tR	 t]R
8X  d
   ]! 4        R# R# )é    )Ú
Standard39)Úcolors)Úcm)Úascii_uppercaseÚdigitsc                   óÌ   a € ] tR t^	t o RtR],          tR],          tR],          tRt	R],          t
R],          tR],          t]t^
],          t^
],          tRR
 ltR tRtV tR	# )ÚBaseLTOLabela  
Base class for LTO labels.

Specification taken from "IBM LTO Ultrium Cartridge Label Specification, Revision 3"
available on  May 14th 2008 from :
http://www-1.ibm.com/support/docview.wss?rs=543&context=STCVQ6R&q1=ssg1*&uid=ssg1S7000429&loc=en_US&cs=utf-8&lang=en+en
gš™™™™™@g333333û?g333333Ã?g      @gQkšwœ¢@gÃõ(\�Âñ?g®Ø_vO¦?Nc                óÜ  € \        W`P                  4      V n        W@n        \	        V4      ^8w  g   V\
        \        ,           9  d   \        RV,          4      hV'       g   \	        V4      ^8”  g   VP                  4       '       g   \        RV,          4      hT\        T;'       g    ^ 4      P                  ^\	        V4      ,
          4      ,           R,          : RV: 2p\	        V4      ^8w  d   \        RV: RV: RV: R24      hWpn        \        P                  ! V VV P                  V P                  V P                  V P                   V P"                  V P$                  RVR	7
       R
# )aÀ  
Initializes an LTO label.

prefix : Up to six characters from [A-Z][0-9]. Defaults to "".
number : Label's number or None. Defaults to None.
subtype : LTO subtype string , e.g. "1" for LTO1. Defaults to "1".
border : None, or the width of the label's border. Defaults to None.
checksum : Boolean indicates if checksum char has to be printed. Defaults to False.
availheight : Available height on the label, or None for automatic. Defaults to None.
zInvalid subtype '%s'zInvalid prefix '%s':Né   NÚLzInvalid set of parameters (z, Ú)T)ÚratioÚ	barHeightÚbarWidthÚgapÚlquietÚrquietÚquietÚchecksumN)ÚmaxÚCODEBARHEIGHTÚheightÚborderÚlenr   Ústring_digitsÚ
ValueErrorÚisalnumÚstrÚzfillÚlabelr   Ú__init__Ú	CODERATIOÚCODEBARWIDTHÚCODEGAPÚ
CODELQUIETÚ
CODERQUIET)ÚselfÚprefixÚnumberÚsubtyper   r   Úavailheightr    s   &&&&&&& Úb/var/www/html/daimler-pipeline/venv/lib/python3.14/site-packages/reportlab/graphics/barcode/lto.pyr!   ÚBaseLTOLabel.__init__   s  € ô  ˜+×'9Ñ'9Ó:ˆŒØŒÜ�‹L˜AÔØœ´Õ>Ô>ÜÐ3°gÕ=Ó>Ð>ßœc &›k¨AœoØ—.‘.×"Ò"ÜÐ2°VÕ;Ó<Ð<Ø"¤S¨¯¨°1Ó%5×%;Ñ%;¸AÄÀFÃ½OÓ%LÕLÈb×QÐQÚ"ð$ˆäˆu‹:˜Œ?ÝÛ#)«6³7ð<ó =ð =àŒ
Ü×Ò˜DØ!Ø"&§.¡.Ø&*§k¡kØ%)×%6Ñ%6Ø $§¡Ø#'§?¡?Ø#'§?¡?Ø"&Ø%-÷		/ó    c                óÔ  € VP                  4        VP                  W#4       V P                  '       dO   VP                  V P                  4       VP	                  ^ ^ V P
                  V P                  V P                  4       \        P                  ! V VV P
                  V P                  ,
          R,          V P                  V P                  ,
          4       VP                  4        R# )z$Draws the LTO label onto the canvas.ç       @N)Ú	saveStateÚ	translater   ÚsetLineWidthÚ	roundRectÚ
LABELWIDTHÚLABELHEIGHTÚ
LABELROUNDr   ÚdrawOnÚCODENOMINALWIDTHr   ÚrestoreState)r'   ÚcanvasÚxÚys   &&&&r,   r8   ÚBaseLTOLabel.drawOnD   s¬   € à×ÑÔØ×Ñ˜ÔØ�;�;ˆ;Ø×Ñ §¡Ô,Ø×Ñ˜Q ØŸ™Ø×(Ñ(ØŸ™ô)ô 	×Ò˜$Ø ØŸ?™?¨4×+@Ñ+@Õ@À#ÕEØ×*Ñ*¨4¯;©;Õ6ô	8ð 	×ÑÖr.   )r   r   r    )Ú NÚ1NFN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r5   r6   r7   r"   r9   r   r#   r$   r%   r&   r!   r8   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r,   r	   r	   	   sq   ø‡ € ñð �r•€JØ˜•(€KØ˜•€JØ€IØ •{ÐØ˜2•I€MØ˜B•;€LØ€GØ�lÕ"€JØ�lÕ"€Jô'/÷Rð r.   r	   c                   ód   a € ] tR t^Tt o RtRt^],          tR],          tRt	^t
R	tR tR tRtV tR# )
ÚVerticalLTOLabelzL
A class for LTO labels with rectangular blocks around the tape identifier.
gÍÌÌÌÌÌÜ?çš™™™™™‰?c                óº   € RV9   d   VR,          V n         VR MRV n         V P                  V P                  ,
          VR&   \        P                  ! V .VO5/ VB  R# )zX
Initializes the label.

colored : boolean to determine if blocks have to be colorized.
ÚcoloredFr+   N)rN   r6   ÚBLOCKHEIGHTr	   r!   )r'   ÚargsÚkwargss   &*,r,   r!   ÚVerticalLTOLabel.__init__h   sZ   € ð ˜ÔØ! )Õ,ˆDŒLØ�yÑ!à ˆDŒLØ $× 0Ñ 0°×1AÑ1AÕ Aˆˆ}ÑÜ×Ò˜dÐ4 TÒ4¨VÔ4r.   c                ó¢  € \         P                  V VVV4       VP                  4        VP                  V P                  4       VP                  ^ ^ ^ 4       VP                  W#4       V P                  V P                  V P                  ,          ,
          R,          p\        V P                  4       EF  pV P                  w  rgV P                  pWPP                  ^,
          8X  d!   V P                  VR p	Vw  rgVR,          pWg3pMV P                  V,          p	VP                  4        VP                  WEV P                  ,          ,           ^ 4       V P                  '       du   V	P                  4       '       d_   VP                  ! \!        \"        V P$                  \'        V	4      ,          \"        P(                  ! ^^^4      4      P+                  4       !   MVP                  ^^^4       VP-                  ^ ^ V P                  V P.                  RR7       VP                  V P                  VP0                  ! V	.VO5!  ,           R,          V P.                  R,          4       VP3                  R4       VP4                  ! V!   VP                  ^ ^ ^ 4       VP7                  ^ ^ V	4       VP9                  4        EK  	  VP9                  4        R# )z5Draws some blocks around the identifier's characters.r0   NT)Úfillg     €V@)r	   r8   r1   r3   Ú	LINEWIDTHÚsetStrokeColorRGBr2   r5   ÚNBBLOCKSÚ
BLOCKWIDTHÚrangeÚ	LABELFONTr    rN   ÚisdigitÚsetFillColorRGBÚgetattrr   ÚCOLORSCHEMEÚintÚColorÚrgbÚrectrO   ÚstringWidthÚrotateÚsetFontÚdrawCentredStringr:   )
r'   r;   r<   r=   ÚxblocksÚiÚfontÚsizeÚnewfontÚparts
   &&&&      r,   r8   ÚVerticalLTOLabel.drawOnv   s(  € ä×Ñ˜DØ"ØØô	ð 	×ÑÔØ×Ñ˜DŸN™NÔ+Ø× Ñ   A qÔ)Ø×Ñ˜ÔØ—?‘? D§M¡M°$·/±/Õ$AÕBÀCÕGˆÜ�t—}‘}×%ˆAØŸ>™>‰LˆTØ—n‘nˆGØ—]‘] QÕ&Ô'Ø—z‘z ! "�~�Ø&‘�Ø˜•�Ø˜,‘à—z‘z !•}�Ø×ÑÔØ×Ñ˜W¨¯©Õ&7Õ8¸!Ô<Ø�|�|ˆ| §¡§¢Ø×&Ò&¬´Ø04×0@Ñ0@ÄÀTÃÕ0KÜ06·²¸QÀÀ1Ó0Eó)GçGJÁsÃuóNð ×&Ñ& q¨!¨QÔ/Ø�K‰K˜˜1˜dŸo™o¨t×/?Ñ/?ÀdˆKÔKØ×Ñ˜dŸo™o¨f×.@Ò.@ÀÐ.PÈÓ.PÕPÐRUÕUØ"×.Ñ.¨sÕ2ô5à�M‰M˜$ÔØ�NŠN˜GÒ$Ø×"Ñ" 1 a¨Ô+Ø×$Ñ$ Q¨¨4Ô0Ø×Ñ×!ñ3 &ð4 	×ÑÖr.   ©rN   N)zHelvetica-Boldé   )
ÚredÚyellowÚ
lightgreenÚ	lightblueÚgreyÚ	orangeredÚpinkÚ	darkgreenÚorangeÚpurple)rA   rB   rC   rD   rE   rZ   r   rX   rO   rU   rW   r^   r!   r8   rF   rG   rH   s   @r,   rK   rK   T   sC   ø‡ € ñð '€IØ�2•€JØ�r•'€KØ€IØ€Hð	€Kò5÷%ð %r.   rK   c                 ó¦  € ^ RI Hp  ^ RIHp V ! RVP                  R7      pVP                  R^4       VP                  w  r4VP                  VR,          V^\        ,          ,
          R4       ^\        ,          ;rV^\        ,          ;rx^
\        ,          p	R\        ,          p
R	p\        R
VR4      P                  W%V4       Wz,          pV^,          p\        R
VRRR7      P                  W%V4       Wz,          pV^,          p\        R
VR4      P                  W%V4       Wz,          pV^,          p\        R
VRRR7      P                  W%V4       Wz,          pV^,          p\        R
VRRR7      P                  W%V4       Wz,          pV^,          p\        R
VRRRR7      P                  W%V4       VP                  4        VP                  4        R# )z
Test this.)ÚCanvas)Ú	pagesizesz
labels.pdf)ÚpagesizeÚ	Helveticar0   zSample LTO labelsg333333@iÒ  ÚRLÚ3rL   )r   Trn   )r   rN   N)Úreportlab.pdfgen.canvasr{   Úreportlab.libr|   ÚA4re   rf   r   r	   r8   rK   ÚshowPageÚsave)r{   r|   r;   Úwidthr   ÚxposÚxorigÚyposÚyorigÚcolwidthÚ
lineheightÚcounts               r,   ÚtestrŽ   �   s�  € å.Ý'á�L¨9¯<©<Ô8€FØ
‡N�N�; Ô#Ø—l‘l�O€UØ
×Ñ˜U 3�Y¨¨q´­t­Ð5HÔIØ”r•6Ð€DØ”r•6Ð€DØ”B�w€HØ”r•€JØ€EÜ��u˜cÓ"×)Ñ)¨&¸Ô=ØÕ€DØ	ˆQ…J€EÜ��u˜cØô ß &¡ v°TÔ :ØÕ€DØ	ˆQ…J€EÜ�T˜5 #Ó&×-Ñ-¨f¸DÔAØÕ€DØ	ˆQ…J€EÜ�T˜5 #Ø!ô#ß#)¡6¨&¸Ô#=ØÕ€DØ	ˆQ…J€EÜ�T˜5 #Ø ô"ß"(¡&¨°tÔ"<ØÕ€DØ	ˆQ…J€EÜ�T˜5 #Ø!¨4ô1ß17±¸ÀdÔ1KØ
‡O�OÔØ
‡K�K†Mr.   Ú__main__N)Ú!reportlab.graphics.barcode.code39r   r‚   r   Úreportlab.lib.unitsr   Ústringr   r   r   r	   rK   rŽ   rA   © r.   r,   Ú<module>r”      sK   ðõ 9Ý  Ý "ß ;ôI�:ô IôVG�|ô GòR#ðJ ˆzÔÙ†Fñ r.   