Ë
    F‚$hÏB  ã                   ó   — d dl Z d dlZd dlmZmZmZ d dlmZ dZdZ	dZ
dZede	d	e
dediZed
e	de
dediZede	de
ded
iZdZ ej                   d ej"                  e«      z   dz   «      ZddddœZg g ‘ddg‘ddg‘ddg‘ddg‘ddg‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d ¢‘g d!¢‘g d"¢‘g d#¢‘g d$¢‘g d%¢‘g d&¢‘g d'¢‘g d(¢‘g d)¢‘g d*¢‘g d+¢‘g d,¢‘g d-¢‘g d.¢‘g d/¢‘g d0¢‘g d1¢‘g d2¢‘g d3¢‘g d4¢‘g d5¢‘g d6¢‘g d7¢‘g d8¢‘g d9¢‘g d:¢‘g d;¢‘Zd<Zd=Zd>Zd?Zd@ZdA„ Z ed«      D � �cg c]>  } d g eddB«      D �cg c]%  }d e ee ej<                  || «      «      «      z  ‘Œ' c}z   ‘Œ@ c}} ZdC„ Z dD„ Z!dE„ Z"dF„ Z#dG„ Z$dH„ Z%dI„ Z&dJ„ Z'dK„ Z(dL„ Z)dM„ Z*dN„ Z+dO„ Z,d\dP„Z-dQ„ Z.dR„ Z/dS„ Z0 G dT„ dU«      Z1 G dV„ dW«      Z2dXe2dYe3e   fdZ„Z4d[„ Z5yc c}w c c}} w )]é    N)ÚLUTÚbaseÚ
exceptions)ÚRSBlocké   é   é   é   é
   é	   é   é   é   é   é   s-   0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:s   ^[s   ]*\Zé   )é   r   r   é   é   é   é   é   é"   )r   r   é&   )r   é   é*   )r   r   é.   )r   é   é2   )r   r   é6   )r   é    é:   )r   r   é>   )r   r   r   éB   )r   r   é0   éF   )r   r   r   éJ   )r   r   r    éN   )r   r   é8   éR   )r   r   r"   éV   )r   r   r#   éZ   )r   r   r   éH   é^   )r   r   r   r'   éb   )r   r   r    r(   éf   )r   r   r    éP   éj   )r   r!   r"   éT   én   )r   r   r"   r+   ér   )r   r   r#   r,   év   )r   r   r   r'   r/   éz   )r   r   r    r(   r0   é~   )r   r   é4   r(   éh   é‚   )r   r   r)   r*   él   é†   )r   r   é<   r+   ép   éŠ   )r   r   r"   r+   r5   éŽ   )r   r   r#   r,   r6   é’   )r   r   r    r(   r0   r8   é–   )r   r   r   éL   r0   é€   éš   )r   r   r    r1   r2   é„   éž   )r   r!   r"   r3   r4   éˆ   é¢   )r   r   r    r*   r4   r@   é¦   )r   r   r"   r+   r5   rA   éª   i7  i%  iT  éì   é   c                 ó   — | j                   S ©N©Ú
data_count)Úblocks    úI/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/qrcode/util.pyÚ_data_countrU   d   s   € Ø×ÑÐó    é)   c                 óî   — | dz  }t        |«      t        t        «      z
  dk\  rD|t        t        |«      t        t        «      z
  z  z  }t        |«      t        t        «      z
  dk\  rŒD| dz  |z  t        z  S )Nr   r   )Ú	BCH_digitÚG15ÚG15_MASK©ÚdataÚds     rT   ÚBCH_type_infor_   r   si   € Ø�‰
€AÜ
�A‹,œ¤3›Ñ
'¨1Ò
,Ø	ŒS”Y˜q“\¤I¬c£NÑ2Ñ3Ñ3ˆô �A‹,œ¤3›Ñ
'¨1Ó
,ð �R‰Z˜1Ñ¤Ñ(Ð(rV   c                 óà   — | dz  }t        |«      t        t        «      z
  dk\  rD|t        t        |«      t        t        «      z
  z  z  }t        |«      t        t        «      z
  dk\  rŒD| dz  |z  S )Nr   r   )rY   ÚG18r\   s     rT   ÚBCH_type_numberrb   z   sb   € Ø�‰
€AÜ
�A‹,œ¤3›Ñ
'¨1Ò
,Ø	ŒS”Y˜q“\¤I¬c£NÑ2Ñ3Ñ3ˆô �A‹,œ¤3›Ñ
'¨1Ó
,à�B‰J˜!ÑÐrV   c                 ó4   — d}| dk7  r|dz  }| dz  } | dk7  rŒ|S )Nr   r   © )r]   Údigits     rT   rY   rY   �   s0   € Ø€EØ
�!Š)Ø�‰
ˆØ�‰
ˆð �!‹)ð €LrV   c                 ó   — t         | dz
     S ©Nr   )ÚPATTERN_POSITION_TABLE©Úversions    rT   Úpattern_positionrk   ‰   s   € Ü! '¨A¡+Ñ.Ð.rV   c                 óž   — | dk(  rd„ S | dk(  rd„ S | dk(  rd„ S | dk(  rd„ S | d	k(  rd
„ S | dk(  rd„ S | dk(  rd„ S | dk(  rd„ S t        d| z   «      ‚)z>
    Return the mask function for the given mask pattern.
    r   c                 ó   — | |z   dz  dk(  S ©Nr   r   rd   ©ÚiÚjs     rT   ú<lambda>zmask_func.<locals>.<lambda>’   ó   € ˜Q ™U a™K¨1Ñ,€ rV   r   c                 ó   — | dz  dk(  S rn   rd   ro   s     rT   rr   zmask_func.<locals>.<lambda>”   ó   € ˜A ™E Q™J€ rV   r   c                 ó   — |dz  dk(  S ©Nr   r   rd   ro   s     rT   rr   zmask_func.<locals>.<lambda>–   ru   rV   r   c                 ó   — | |z   dz  dk(  S rw   rd   ro   s     rT   rr   zmask_func.<locals>.<lambda>˜   rs   rV   r	   c                 óp   — t        j                  | dz  «      t        j                  |dz  «      z   dz  dk(  S ©Nr   r   r   )ÚmathÚfloorro   s     rT   rr   zmask_func.<locals>.<lambda>š   s/   € œTŸZ™Z¨¨A©Ó.´·±¸AÀ¹EÓ1BÑBÀaÑGÈ1ÑL€ rV   é   c                 ó*   — | |z  dz  | |z  dz  z   dk(  S rz   rd   ro   s     rT   rr   zmask_func.<locals>.<lambda>œ   s    € ˜Q ™U a™K¨1¨q©5°A©+Ñ5¸Ñ:€ rV   r   c                 ó0   — | |z  dz  | |z  dz  z   dz  dk(  S rz   rd   ro   s     rT   rr   zmask_func.<locals>.<lambda>ž   ó%   € ˜a !™e q™[¨A°©E°Q©;Ñ6¸!Ñ;¸qÑ@€ rV   r   c                 ó0   — | |z  dz  | |z   dz  z   dz  dk(  S )Nr   r   r   rd   ro   s     rT   rr   zmask_func.<locals>.<lambda>    r€   rV   zBad mask pattern: )Ú	TypeError)Úpatterns    rT   Ú	mask_funcr„   �   s}   € ð �!‚|Ù,Ð,Ø�!‚|Ù&Ð&Ø�!‚|Ù&Ð&Ø�!‚|Ù,Ð,Ø�!‚|ÙLÐLØ�!‚|Ù:Ð:Ø�!‚|Ù@Ð@Ø�!‚|Ù@Ð@Ü
Ð(¨7Ñ2Ó
3Ð3rV   c                 ó:   — | dk  rt         S | dk  rt        S t        S )Nr   é   )ÚMODE_SIZE_SMALLÚMODE_SIZE_MEDIUMÚMODE_SIZE_LARGEri   s    rT   Úmode_sizes_for_versionrŠ   ¤   s"   € Ø�‚|ÜÐØ	�2ŠÜÐäÐrV   c                 ó‚   — | t         t        t        t        fvrt	        d| › d�«      ‚t        |«       t        |«      |    S )NúInvalid mode (ú))ÚMODE_NUMBERÚMODE_ALPHA_NUMÚMODE_8BIT_BYTEÚ
MODE_KANJIr‚   Úcheck_versionrŠ   )Úmoderj   s     rT   Úlength_in_bitsr”   ­   s?   € Ø”K¤´ÄÐLÑLÜ˜.¨¨¨aÐ0Ó1Ð1ä�'Ôä! 'Ó*¨4Ñ0Ð0rV   c                 ó6   — | dk  s| dkD  rt        d| › d�«      ‚y )Nr   é(   zInvalid version (was z, expected 1 to 40))Ú
ValueErrorri   s    rT   r’   r’   ¶   s*   € Ø�‚{�g ’lÜÐ0°°	Ð9LÐMÓNÐNð #rV   c                 ó’   — t        | «      }d}t        | |«      }|t        | |«      z  }|t        | |«      z  }|t	        | |«      z  }|S ©Nr   )ÚlenÚ_lost_point_level1Ú_lost_point_level2Ú_lost_point_level3Ú_lost_point_level4)ÚmodulesÚmodules_countÚ
lost_points      rT   r¡   r¡   »   sX   € Ü˜“L€Mà€Jä# G¨]Ó;€JØÔ$ W¨mÓ<Ñ<€JØÔ$ W¨mÓ<Ñ<€JØÔ$ W¨mÓ<Ñ<€JàÐrV   c           	      óÔ  ‡	— d}t        |«      }dg|dz   z  Š	|D ]O  }| |   }|d   }d}|D ])  }||   |k(  r|dz  }Œ|dk\  r‰	|xx   dz  cc<   d}||   }Œ+ |dk\  sŒC‰	|xx   dz  cc<   ŒQ |D ]S  }| d   |   }d}|D ]/  }| |   |   |k(  r|dz  }Œ|dk\  r‰	|xx   dz  cc<   d}| |   |   }Œ1 |dk\  sŒG‰	|xx   dz  cc<   ŒU |t        ˆ	fd„t        d|dz   «      D «       «      z  }|S )Nr   r   r}   c              3   ó4   •K  — | ]  }‰|   |d z
  z  –— Œ y­w)r   Nrd   )Ú.0Úeach_lengthÚ	containers     €rT   ú	<genexpr>z%_lost_point_level1.<locals>.<genexpr>ë   s'   øè ø€ ò àð 	�+Ñ +°¡/Õ2ñùs   ƒ)ÚrangeÚsum)
rŸ   r    r¡   Úmodules_rangeÚrowÚthis_rowÚprevious_colorÚlengthÚcolr¦   s
            @rT   r›   r›   È   sn  ø€ Ø€Jä˜-Ó(€MØ��} qÑ(Ñ)€Iàò #ˆØ˜3‘<ˆØ! !™ˆØˆØ ò 	/ˆCØ˜‰} Ò.Ø˜!‘‘à˜Q’;Ø˜fÓ%¨Ñ*Ó%Ø�Ø!)¨#¡‘ð	/ð �Q‹;Ø�fÓ Ñ"Ôð#ð ò #ˆØ  ™ C™ˆØˆØ ò 	3ˆCØ�s‰|˜CÑ  NÒ2Ø˜!‘‘à˜Q’;Ø˜fÓ%¨Ñ*Ó%Ø�Ø!(¨¡¨cÑ!2‘ð	3ð �Q‹;Ø�fÓ Ñ"Ôð#ð ”#ó ä   M°AÑ$5Ó6ôó ñ €Jð
 ÐrV   c                 óà   — d}t        |dz
  «      }|D ]X  }| |   }| |dz      }t        |«      }|D ]9  }||dz      }	|	||dz      k7  rt        |d «       Œ#|	||   k7  rŒ,|	||   k7  rŒ5|dz  }Œ; ŒZ |S )Nr   r   r   ©r¨   ÚiterÚnext)
rŸ   r    r¡   rª   r«   r¬   Únext_rowÚmodules_range_iterr¯   Ú	top_rights
             rT   rœ   rœ   ó   s³   € Ø€Jä˜-¨!Ñ+Ó,€MØò  ˆØ˜3‘<ˆØ˜3 ™7Ñ#ˆô " -Ó0ÐØ%ò 	 ˆCØ   q¡Ñ)ˆIØ˜H S¨1¡WÑ-Ò-ô Ð'¨Õ.Ø˜h s™mÒ+ØØ˜h s™mÒ+Øà˜a‘‘
ñ	 ð ð( ÐrV   c                 ó¦  — t        |«      }t        |dz
  «      }d}|D ]½  }| |   }t        |«      }d}|D ]¤  }||dz      s…||dz      r}||dz      su||dz      rm||dz      se||dz      r(||dz      r ||d	z      r||d
z      s||dz      s||dz      r0||dz      s-||dz      s%||d	z      s||d
z      r||dz      r||dz      r|dz  }||dz      sŒ™t        |d «       Œ¦ Œ¿ |D ]î  }t        |«      }d}|D ]Ú  }| |dz      |   sµ| |dz      |   rª| |dz      |   sŸ| |dz      |   r”| |dz      |   s‰| |dz      |   r7| |dz      |   r,| |d	z      |   r!| |d
z      |   s| |dz      |   s| |dz      |   rB| |dz      |   s<| |dz      |   s1| |d	z      |   s&| |d
z      |   r| |dz      |   r| |dz      |   r|dz  }| |dz      |   sŒÏt        |d «       ŒÜ Œð |S )Nr   r   r   r	   r}   r   r   r   r   r   r
   r–   r±   )	rŸ   r    rª   Úmodules_range_shortr¡   r«   r¬   Úmodules_range_short_iterr¯   s	            rT   r�   r�     sÏ  € ô
 ˜-Ó(€MÜ °Ñ 2Ó3ÐØ€Jàò !5ˆØ˜3‘<ˆÜ#'Ð(;Ó#<Ð ØˆØ+ò 	5ˆCà˜S 1™WÒ%Ø˜S 1™WÒ%Ø   q¡Ò)Ø˜S 1™WÒ%Ø   q¡Ò)à˜S 1™WÒ%Ø   q¡Ò)Ø   q¡Ò)Ø$ S¨1¡WÒ-Ø$ S¨1¡WÒ-Ø$ S¨2¡XÒ.Ø# C¨!¡GÒ,Ø$ S¨1¡WÒ-Ø$ S¨1¡WÒ-Ø   q¡Ò)Ø   q¡Ò)Ø   r¡Ò*ð ˜bÑ �
ð ˜˜b™Ó!ÜÐ-¨tÕ4ñ;	5ð	!5ðF ò 5ˆÜ#'Ð(;Ó#<Ð ØˆØ+ò 	5ˆCà˜C !™GÑ$ SÒ)Ø˜C !™GÑ$ SÒ)Ø  a¡Ñ(¨Ò-Ø˜C !™GÑ$ SÒ)Ø  a¡Ñ(¨Ò-à˜C !™GÑ$ SÒ)Ø  a¡Ñ(¨Ò-Ø  a¡Ñ(¨Ò-Ø# C¨!¡GÑ,¨SÒ1Ø# C¨!¡GÑ,¨SÒ1Ø# C¨"¡HÑ-¨cÒ2Ø" 3¨¡7Ñ+¨CÒ0Ø# C¨!¡GÑ,¨SÒ1Ø# C¨!¡GÑ,¨SÒ1Ø  a¡Ñ(¨Ò-Ø  a¡Ñ(¨Ò-Ø  b¡Ñ)¨#Ò.ð ˜bÑ �
Ø�s˜R‘xÑ  Ó%ÜÐ-¨tÕ4ñ1	5ð5ð: ÐrV   c                 óš   — t        t        t         | «      «      }t        |«      |dz  z  }t        t	        |dz  dz
  «      dz  «      }|dz  S )Nr   éd   r   r}   r   )r©   ÚmapÚfloatÚintÚabs)rŸ   r    Ú
dark_countÚpercentÚratings        rT   rž   rž   Z  sN   € Ü”Sœ˜gÓ&Ó'€JÜ�JÓ =°!Ñ#3Ñ4€Gä”�W˜s‘] RÑ'Ó(¨1Ñ,Ó-€FØ�B‰;ÐrV   c              #   óL  K  — t        | «      } d}dt        j                  t        «      z   dz   }t	        | «      |k  r7t        j
                  d|z   dz   «      }t        j
                  d|z   dz   «      }nPdt        |«      j                  d«      z   dz   }t        j
                  ||z   «      }t        j
                  ||z   «      }t        | |«      }|D ]N  \  }}|rt        |t        d	¬
«      –— Œt        ||«      D ]#  \  }}	|rt        nt        }
t        |	|
d	¬
«      –— Œ% ŒP y­w)z›
    An iterator returning QRData chunks optimized to the data content.

    :param minimum: The minimum number of bytes in a row to split as a chunk.
    s   \dó   [ó   ]ó   ^s   +$ó   {Úasciis   ,}F)r“   Ú
check_dataN)Úto_bytestringÚreÚescapeÚ	ALPHA_NUMrš   ÚcompileÚstrÚencodeÚ_optimal_splitÚQRDatarŽ   r�   r�   )r]   ÚminimumÚnum_patternÚalpha_patternÚ	re_repeatÚnum_bitsÚis_numÚchunkÚis_alphaÚ	sub_chunkr“   s              rT   Úoptimal_data_chunksrÜ   b  s  è ø€ ô ˜Ó€DØ€KØœ2Ÿ9™9¤YÓ/Ñ/°$Ñ6€MÜ
ˆ4ƒy�GÒÜ—j‘j ¨Ñ!3°eÑ!;Ó<ˆÜŸ
™
 4¨-Ñ#7¸%Ñ#?Ó@‰àœ3˜w›<×.Ñ.¨wÓ7Ñ7¸%Ñ?ˆ	Ü—j‘j ¨yÑ!8Ó9ˆÜŸ
™
 =°9Ñ#<Ó=ˆÜ˜d KÓ0€HØ!ò E‰ˆ�ÙÜ˜¤[¸UÔCÓCä'5°e¸]Ó'Kò EÑ#�˜)Ù)1•~´~�Ü˜Y¨T¸eÔDÓDñEñ	Eùs   ‚D"D$c              #   óÌ   K  — | rUt        j                  || «      }|sn<|j                  «       |j                  «       }}|r	d| d | f–— d| || f–— | |d  } | rŒU| rd| f–— y y ­w)NFT)rË   ÚsearchÚstartÚend)r]   rƒ   Úmatchrß   rà   s        rT   rÑ   rÑ   |  s}   è ø€ Ù
Ü—	‘	˜' 4Ó(ˆÙØØ—[‘[“] E§I¡I£KˆsˆÙØ˜˜f˜u˜Ð%Ò%Ø�D˜˜s�OÐ#Ò#Ø�C�Dˆzˆò ñ Ø�TˆkÓð ùs   ‚AA$Á
A$c                 óZ   — t        | t        «      st        | «      j                  d«      } | S )z^
    Convert data to a (utf-8 encoded) byte-string if it isn't a byte-string
    already.
    zutf-8)Ú
isinstanceÚbytesrÏ   rÐ   ©r]   s    rT   rÊ   rÊ   Š  s'   € ô
 �dœEÔ"Ü�4‹y×Ñ Ó(ˆØ€KrV   c                 óp   — | j                  «       rt        S t        j                  | «      rt        S t
        S )z<
    Calculate the optimal mode for this chunk of data.
    )ÚisdigitrŽ   ÚRE_ALPHA_NUMrá   r�   r�   rå   s    rT   Úoptimal_moderé   ”  s-   € ð ‡|�|„~ÜÐÜ×Ñ˜$ÔÜÐÜÐrV   c                   ó*   — e Zd ZdZdd„Zd„ Zd„ Zd„ Zy)rÒ   zS
    Data held in a QR compatible format.

    Doesn't currently handle KANJI.
    Nc                 óî   — |rt        |«      }|€t        |«      | _        || _        y|| _        |t        t        t
        fvrt        d|› d�«      ‚|r|t        |«      k  rt        d|› �«      ‚|| _        y)zg
        If ``mode`` isn't provided, the most compact QR data type possible is
        chosen.
        NrŒ   r�   z-Provided data can not be represented in mode )	rÊ   ré   r“   rŽ   r�   r�   r‚   r—   r]   )Úselfr]   r“   rÉ   s       rT   Ú__init__zQRData.__init__¦  s‚   € ñ
 Ü  Ó&ˆDàˆ<Ü$ TÓ*ˆDŒIð ˆ�	ð ˆDŒIØœK¬¼ÐHÑHÜ .°°°aÐ 8Ó9Ð9Ù˜d¤\°$Ó%7Ò7Ü Ð#PÐQUÐPVÐ!WÓXÐXàˆ�	rV   c                 ó,   — t        | j                  «      S rP   )rš   r]   ©rì   s    rT   Ú__len__zQRData.__len__¹  s   € Ü�4—9‘9‹~ÐrV   c                 óÄ  — | j                   t        k(  ret        dt        | j                  «      d«      D ]A  }| j                  ||dz    }t
        t        |«         }|j                  t        |«      |«       ŒC y | j                   t        k(  r°t        dt        | j                  «      d«      D ]Œ  }| j                  ||dz    }t        |«      dkD  rE|j                  t        j                  |d   «      dz  t        j                  |d   «      z   d«       Œh|j                  t        j                  |«      d«       ŒŽ y | j                  }|D ]  }|j                  |d«       Œ y )	Nr   r   r   r   é-   r   r   r
   )r“   rŽ   r¨   rš   r]   ÚNUMBER_LENGTHÚputr¾   r�   rÍ   Úfind)rì   Úbufferrp   ÚcharsÚ
bit_lengthr]   Úcs          rT   ÚwritezQRData.write¼  s&  € Ø�9‰9œÒ#Ü˜1œc $§)¡)›n¨aÓ0ò 3�ØŸ	™	 ! a¨!¡eÐ,�Ü*¬3¨u«:Ñ6�
Ø—
‘
œ3˜u›: zÕ2ñ3ð �Y‰Yœ.Ò(Ü˜1œc $§)¡)›n¨aÓ0ò 9�ØŸ	™	 ! a¨!¡eÐ,�Ü�u“: ’>Ø—J‘JÜ!Ÿ™ u¨Q¡xÓ0°2Ñ5¼	¿¹ÀuÈQÁxÓ8PÑPÐRTõð —J‘JœyŸ~™~¨eÓ4°aÕ8ñ9ð —9‘9ˆDØò !�Ø—
‘
˜1˜aÕ ñ!rV   c                 ó,   — t        | j                  «      S rP   )Úreprr]   rï   s    rT   Ú__repr__zQRData.__repr__Ò  s   € Ü�D—I‘I‹ÐrV   )NT)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rí   rð   rú   rý   rd   rV   rT   rÒ   rÒ   Ÿ  s   „ ñóò&ò!ó,rV   rÒ   c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú	BitBufferc                 ó    — g | _         d| _        y r™   )rö   r®   rï   s    rT   rí   zBitBuffer.__init__×  s   € Ø!#ˆŒØˆ�rV   c                 óp   — dj                  | j                  D �cg c]  }t        |«      ‘Œ c}«      S c c}w )Nú.)Újoinrö   rÏ   )rì   Úns     rT   rý   zBitBuffer.__repr__Û  s'   € Ø�x‰x¨¯©Ö5 Aœ˜Q�Ò5Ó6Ð6ùÒ5s   š3c                 ón   — t        j                  |dz  «      }| j                  |   d|dz  z
  z	  dz  dk(  S )Nr
   r   r   )r{   r|   rö   )rì   ÚindexÚ	buf_indexs      rT   ÚgetzBitBuffer.getÞ  s:   € Ü—J‘J˜u q™yÓ)ˆ	Ø—‘˜YÑ'¨A°¸±	©MÑ:¸aÑ?ÀAÑEÐErV   c                 ód   — t        |«      D ]"  }| j                  |||z
  dz
  z	  dz  dk(  «       Œ$ y rg   )r¨   Úput_bit)rì   Únumr®   rp   s       rT   rô   zBitBuffer.putâ  s8   € Ü�v“ò 	?ˆAØ�L‰L˜3 6¨A¡:°¡>Ñ2°aÑ7¸AÑ=Õ>ñ	?rV   c                 ó   — | j                   S rP   )r®   rï   s    rT   rð   zBitBuffer.__len__æ  s   € Ø�{‰{ÐrV   c                 ó  — | j                   dz  }t        | j                  «      |k  r| j                  j                  d«       |r'| j                  |xx   d| j                   dz  z	  z  cc<   | xj                   dz  c_         y )Nr
   r   rE   r   )r®   rš   rö   Úappend)rì   Úbitr  s      rT   r  zBitBuffer.put_bité  se   € Ø—K‘K 1Ñ$ˆ	Üˆt�{‰{Ó˜yÒ(Ø�K‰K×Ñ˜qÔ!ÙØ�K‰K˜	Ó" d¨t¯{©{¸Q©Ñ&?Ñ?Ó"Ø�Š�qÑŽrV   N)	rþ   rÿ   r   rí   rý   r  rô   rð   r  rd   rV   rT   r  r  Ö  s!   „ òò7òFò?òórV   r  rö   Ú	rs_blocksc           	      ó  — d}d}d}g }g }|D �]~  }|j                   }|j                  |z
  }	t        ||«      }t        ||	«      }t        |«      D �
cg c]  }
d| j                  |
|z      z  ‘Œ }}
||z  }|	t
        j                  v r(t        j                  t
        j                  |	   d«      }nUt        j                  dgd«      }t        |	«      D ]0  }
|t        j                  dt        j                  |
«      gd«      z  }Œ2 t        j                  |t        |«      dz
  «      }||z  }g }t        |«      |	z
  }t        |	«      D ]"  }
|
|z   }|j                  |dk\  r||   nd«       Œ$ |j                  |«       |j                  |«       �Œ� g }t        |«      D ],  }
|D ]%  }|
t        |«      k  sŒ|j                  ||
   «       Œ' Œ. t        |«      D ],  }
|D ]%  }|
t        |«      k  sŒ|j                  ||
   «       Œ' Œ. |S c c}
w )Nr   éÿ   r   )rR   Útotal_countÚmaxr¨   rö   r   Ú
rsPoly_LUTr   Ú
PolynomialÚgexprš   r  )rö   r  ÚoffsetÚ
maxDcCountÚ
maxEcCountÚdcdataÚecdataÚrs_blockÚdcCountÚecCountrp   Ú
current_dcÚrsPolyÚrawPolyÚmodPolyÚ
current_ecÚ
mod_offsetÚmodIndexr]   ÚdcÚecs                        rT   Úcreate_bytesr-  ò  s  € Ø€Fà€JØ€Jà €FØ €Fàó "ˆØ×%Ñ%ˆØ×&Ñ&¨Ñ0ˆä˜ WÓ-ˆ
Ü˜ WÓ-ˆ
ä@EÀgÃÖO¸1�d˜VŸ]™]¨1¨v©:Ñ6Ó6ÐOˆ
ÐOØ�'Ñˆð ”c—n‘nÑ$Ü—_‘_¤S§^¡^°GÑ%<¸aÓ@‰Fä—_‘_ a S¨!Ó,ˆFÜ˜7“^ò H�Ø¤$§/¡/°1´d·i±iÀ³lÐ2CÀQÓ"GÑG‘ðHô —/‘/ *¬c°&«k¸A©oÓ>ˆà˜FÑ"ˆØˆ
Ü˜“\ GÑ+ˆ
Ü�w“ò 	KˆAØ˜:‘~ˆHØ×Ñ°HÀ²M˜g hÒ/ÈÕJð	Kð 	�‰�jÔ!Ø�‰�jÖ!ð9"ð< €DÜ�:Óò #ˆØò 	#ˆBØ”3�r“7‹{Ø—‘˜B˜q™EÕ"ñ	#ð#ô �:Óò #ˆØò 	#ˆBØ”3�r“7‹{Ø—‘˜B˜q™EÕ"ñ	#ð#ð
 €KùòC Ps   ÁHc                 ó,  — t        «       }|D ]^  }|j                  |j                  d«       |j                  t        |«      t	        |j                  | «      «       |j                  |«       Œ` t        j                  | |«      }t        d„ |D «       «      }t        |«      |kD  r%t        j                  dt        |«      ›d|›d�«      ‚t        t        |t        |«      z
  d«      «      D ]  }|j                  d«       Œ t        |«      dz  }|r$t        d|z
  «      D ]  }|j                  d«       Œ |t        |«      z
  dz  }	t        |	«      D ]7  }
|
dz  d	k(  r|j                  t        d«       Œ"|j                  t        d«       Œ9 t!        ||«      S )
Nr	   c              3   ó:   K  — | ]  }|j                   d z  –— Œ y­w)r
   NrQ   )r¤   rS   s     rT   r§   zcreate_data.<locals>.<genexpr>/  s   è ø€ Ò@¨U�E×$Ñ$ qÕ(Ñ@ùs   ‚z!Code length overflow. Data size (z) > size available (r�   Fr
   r   r   )r  rô   r“   rš   r”   rú   r   r  r©   r   ÚDataOverflowErrorr¨   Úminr  ÚPAD0ÚPAD1r-  )rj   Úerror_correctionÚ	data_liströ   r]   r  Ú	bit_limitÚ_ÚdelimitÚbytes_to_fillrp   s              rT   Úcreate_datar:  &  sj  € Ü‹[€FØò ˆØ�
‰
�4—9‘9˜aÔ Ø�
‰
”3�t“9œn¨T¯Y©Y¸Ó@ÔAØ�
‰
�6Õðô —‘˜wÐ(8Ó9€IÜÑ@°iÔ@Ó@€IÜ
ˆ6ƒ{�YÒÜ×*Ò*ä�6�{šIð'ó
ð 	
ô ”3�y¤3 v£;Ñ.°Ó2Ó3ò ˆØ�‰�uÕðô �&‹k˜A‰o€GÙÜ�q˜7‘{Ó#ò 	"ˆAØ�N‰N˜5Õ!ð	"ð ¤ V£Ñ,°Ñ2€MÜ�=Ó!ò  ˆØˆq‰5�AŠ:Ø�J‰J”t˜QÕà�J‰J”t˜QÕð	 ô ˜ 	Ó*Ð*rV   )r	   )6r{   rË   Úqrcoder   r   r   Úqrcode.baser   rŽ   r�   r�   r‘   r‡   rˆ   r‰   rÍ   rÎ   rÌ   rè   ró   rh   rZ   ra   r[   r2  r3  rU   r¨   r©   r¼   r  ÚBIT_LIMIT_TABLEr_   rb   rY   rk   r„   rŠ   r”   r’   r¡   r›   rœ   r�   rž   rÜ   rÑ   rÊ   ré   rÒ   r  Úlistr-  r:  )r4  rj   s   00rT   ú<module>r?     s›  ðÛ Û 	ç (Ñ (Ý ð €Ø€Ø€Ø€
ð �Ø�AØ�AØ�ð	€ð �Ø�BØ�BØ�ð	Ð ð �Ø�BØ�BØ�ð	€ð =€	Øˆr�z‰z˜% ) "§)¡)¨IÓ"6Ñ6¸ÑAÓB€ð ˜1 Ñ#€ð)Øð)àˆ€Gð)ð ˆ€Gð)ð ˆ€Gð	)ð
 ˆ€Gð)ð ˆ€Gð)ò ð)ò ð)ò ð)ò ð)ò ð)ò ð)ò ð)ò ð)ò ð)ò  ð!)ò" ð#)ò$ ð%)ò& ð')ò( ð))ò* ð+)ò, ð-)ò. ð/)ò0 ð1)ò2 ð3)ò4 ð5)ò6 ð7)ò8 ð9)ò: ð;)ò< ð=)ò> ð?)ò@ ðA)òB ðC)òD ðE)òF #ðG)òH #ðI)òJ #ðK)òL #ðM)òN #ðO)òP #ðQ)Ð ðV R€ðð ð C€à€Ø€òñ " !›H÷ð 	ð €Cñ ˜Q “|öàð 	
‰C‘�K  §¡°Ð9IÓ!JÓKÓLÓLòóó€ò)òòò/ò4ò.ò1òOò

ò(òVò6IòXóEò4òò÷4ñ 4÷nñ ð81˜ð 1¨t°G©}ó 1óh"+ùòyùós   Ä'G
Ä9*GÅ#G
ÇG
