Ë
    ›7šh4	  ã                   óz   — d Z ddgZddlmZmZ ddlZddlmZ ddlm	Z	m
Z
 ej                  dk  reZneZd	„ Zdd
„Zy)z2
Provides facilities for covertion from/to base91
Ú
to_decimalÚfrom_decimalé    )ÚlogÚceilN)Úfindall)Ústring_typeÚint_type)é   c                 ó,  — t        | t        «      st        dt        | «      z  «      ‚t	        d| «      rt        d«      ‚| j                  d«      } d}t        | «      dz
  }t        | «      D ]  \  }}|t        |«      dz
  d||z
  z  z  z  }Œ! | d	k7  r|S dS )
z8
    Takes a base91 char string and returns decimal
    z!expected str or unicode, %s givenz[\x00-\x20\x7c-\xff]zinvalid character in sequenceú!r   é   é!   é[   Ú )
Ú
isinstancer   Ú	TypeErrorÚtyper   Ú
ValueErrorÚlstripÚlenÚ	enumerateÚord)ÚtextÚdecimalÚlengthÚiÚchars        úS/var/www/html/w1hd-tracker/send/venv/lib/python3.12/site-packages/aprslib/base91.pyr   r   "   s¤   € ô
 �dœKÔ(ÜÐ;¼dÀ4»jÑHÓIÐIäÐ&¨Ô-ÜÐ8Ó9Ð9à�;‰;�sÓ€DØ€GÜ�‹Y˜‰]€FÜ˜T“?ò ;‰ˆˆ4Ø”C˜“I ‘N r¨f°q©jÑ'9Ñ:Ñ:‰ð;ð ˜b’jˆ7Ð' aÐ'ó    c                 ó  — g }t        | t        «      st        dt        | «      «      ‚t        |t        «      st        dt        | «      «      ‚| dk  rt	        d«      ‚| dkD  rjt        t        | «      t        d«      z  «      }t        t        |«      dd«      D ]1  }t        | d|z  «      \  }} |j                  t        d|z   «      «       Œ3 dj                  |«      j                  d	«      j                  t        d
|«      d	«      S )zi
    Takes a decimal and returns base91 char string.
    With optional parameter for fix with output
    z!Expected number to be int, got %sz Expected width to be int, got %sr   z&Expected number to be positive integerr   éÿÿÿÿr   r   r   r   )r   r	   r   r   r   r   r   Ú_rangeÚintÚdivmodÚappendÚchrÚjoinr   ÚrjustÚmax)ÚnumberÚwidthr   Úmax_nÚnÚquotients         r   r   r   6   sæ   € ð
 €Dä�fœhÔ'ÜÐ;¼TÀ&»\ÓJÐJÜ˜œxÔ(ÜÐ:¼DÀ»LÓIÐIØ	�!ŠÜÐAÓBÐBØ	�!ŠÜ”S˜“[¤3 r£7Ñ*Ó+ˆäœ˜E›
 B¨Ó+ò 	,ˆAÜ% f¨b°!©eÓ4ÑˆH�fØ�K‰Kœ˜B ™MÓ*Õ+ð	,ð �7‰7�4‹=×Ñ Ó$×*Ñ*¬3¨q°%«=¸#Ó>Ð>r   )r   )Ú__doc__Ú__all__Úmathr   r   ÚsysÚrer   Úaprslibr   r	   Úversion_infoÚxranger"   Úranger   r   © r   r   ú<module>r9      sD   ðñ$ð ˜Ð
(€ß Û 
Ý ß )à×Ñ�dÒØ�Fà€Fò(ô(?r   