ó
    ¸Rj™,  ã                   ó–  • S SK r S SKrS SKJrJr  S SKJr  S SKJrJ	r	J
r
Jr  S SKJr  S SKJr  SSKJr  / S	Qr " S
 S\R&                  5      r " S S5      r " S S\R,                  5      rSr " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\R>                  5      r \RC                  \ 5        \RC                  \RD                  5        \RC                  \RF                  5         " S S \5      r$\RC                  \$5        \RC                  \$5         " S! S"\5      r%\RL                  RC                  \%5        \RN                  RC                  \%5        \RP                  RC                  \%5        \RR                  RC                  \%5        \RT                  RC                  \%5        \RB                   " S# S$\5      5       r+\RB                   " S% S&\5      5       r,\RB                   " S' S(\5      5       r-\RB                   " S) S*\5      5       r.\RB                   " S+ S,\5      5       r/\RB                   " S- S.\R`                  5      5       r1\RB                   " S/ S0\R`                  5      5       r2\RB                   " S1 S2\R`                  5      5       r3\RB                   " S3 S4\R`                  5      5       r4\RB                   " S5 S6\R`                  5      5       r5\RB                   " S7 S8\R`                  5      5       r6\RB                   " S9 S:\R`                  5      5       r7g);é    N)ÚformsÚlookups)Úmodels)Ú	DateRangeÚDateTimeTZRangeÚNumericRangeÚRange)ÚCast)ÚPostgresOperatorLookupé   )ÚAttributeSetter)Ú
RangeFieldÚIntegerRangeFieldÚBigIntegerRangeFieldÚDecimalRangeFieldÚDateTimeRangeFieldÚDateRangeFieldÚRangeBoundaryÚRangeOperatorsc                   ó(   • \ rS rSrSrSS jrS rSrg)r   é   z)A class that represents range boundaries.c                 óP   • U(       a  SOSU l         U(       a  SU l        g SU l        g )NÚ[Ú(Ú]Ú)©ÚlowerÚupper)ÚselfÚinclusive_lowerÚinclusive_uppers      ÚQD:\diplom_project\venv\Lib\site-packages\django/contrib/postgres/fields/ranges.pyÚ__init__ÚRangeBoundary.__init__    s   € Þ+‘S°ˆŒ
Þ+�Sˆ�
°ˆ�
ó    c                 óB   • SU R                   < U R                  < S3/ 4$ )NÚ'r   )r    ÚcompilerÚ
connections      r#   Úas_sqlÚRangeBoundary.as_sql$   s   � ØŸ:›: t§z¤zÐ2°BÐ6Ð6r&   r   N)TF)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r$   r+   Ú__static_attributes__© r&   r#   r   r      s   † Ù3ô5õ7r&   r   c                   ó<   • \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSrSrg)r   é(   Ú=z<>z@>z<@z&&z<<z>>z&>z&<z-|-r3   N)r-   r.   r/   r0   ÚEQUALÚ	NOT_EQUALÚCONTAINSÚCONTAINED_BYÚOVERLAPSÚFULLY_LTÚFULLY_GTÚNOT_LTÚNOT_GTÚADJACENT_TOr2   r3   r&   r#   r   r   (   s4   † à€EØ€IØ€HØ€LØ€HØ€HØ€HØ€FØ€FØƒKr&   r   c                   ó¦   ^ • \ rS rSrSrU 4S jr\S 5       r\R                  S 5       r\	U 4S j5       r
S rS rS	 rU 4S
 jrS rU 4S jrSrU =r$ )r   é6   Fc                 óÄ   >• SU;   a#  [        SU R                  R                   S35      e[        U S5      (       a  U R	                  5       U l        [
        TU ]  " U0 UD6  g )NÚdefault_boundsz!Cannot use 'default_bounds' with Ú.Ú
base_field)Ú	TypeErrorÚ	__class__r-   ÚhasattrrF   Úsuperr$   )r    ÚargsÚkwargsrH   s      €r#   r$   ÚRangeField.__init__9   s^   ø€ Ø˜vÓ%ÜØ3°D·N±N×4KÑ4KÐ3LÈAÐNóð ô
 �4˜×&Ñ&Ø"Ÿo™oÓ/ˆDŒOÜ‰Ò˜$Ð) &Ó)r&   c                 ó‚   •  U R                   S   $ ! [         a#    [        SU R                  R                  -  5      ef = f)NÚmodelz$'%s' object has no attribute 'model')Ú__dict__ÚKeyErrorÚAttributeErrorrH   r-   ©r    s    r#   rO   ÚRangeField.modelD   sD   € ð	Ø—=‘= Ñ)Ð)øÜó 	Ü Ø6¸¿¹×9PÑ9PÑPóð ð	ús   ‚ ‘->c                 ó@   • XR                   S'   XR                  l        g )NrO   )rP   rF   rO   )r    rO   s     r#   rO   rT   M   s   € à!&�‰�gÑØ %�‰Õr&   c                 ó\   >• [        U[        [        45      =(       d    [        TU ]  U5      $ ©N)Ú
isinstanceÚlistÚtuplerJ   Ú_choices_is_value)ÚclsÚvaluerH   s     €r#   r[   ÚRangeField._choices_is_valueR   s#   ø€ ä˜%¤$¬ Ó/×S´5±7Ñ3LÈUÓ3SÐSr&   c                 óB   • SR                  U R                  U5      5      $ )Nz%s::{})ÚformatÚdb_type)r    r]   r)   r*   s       r#   Úget_placeholderÚRangeField.get_placeholderV   s   € Ø�‰˜tŸ|™|¨JÓ7Ó8Ð8r&   c                 ó¢   • Uc  g [        U[        5      (       a  U$ [        U[        [        45      (       a  U R	                  US   US   5      $ U$ ©Nr   r   )rX   r	   rY   rZ   Ú
range_type)r    r]   s     r#   Úget_prep_valueÚRangeField.get_prep_valueY   sK   € Ø‰=ØÜ˜œu×%Ñ%ØˆLÜ˜¤¤e˜}×-Ñ-Ø—?‘? 5¨¡8¨U°1©XÓ6Ð6Øˆr&   c                 óH  • [        U[        5      (       aY  [        R                  " U5      nS H)  nX2;   d  M
  U R                  R                  X#   5      X#'   M+     U R                  " S0 UD6nU$ [        U[        [        45      (       a  U R                  US   US   5      nU$ )Nr   r   r   r3   )	rX   ÚstrÚjsonÚloadsrF   Ú	to_pythonrf   rY   rZ   )r    r]   ÚvalsÚends       r#   rm   ÚRangeField.to_pythonb   sŽ   € Ü�eœS×!Ñ!ä—:’:˜eÓ$ˆDÛ)�Ø•;Ø $§¡× 9Ñ 9¸$¹)Ó D�D“Iñ *ð —O’OÑ+ dÑ+ˆEð ˆô ˜¤¤e˜}×-Ñ-Ø—O‘O E¨!¡H¨e°A©hÓ7ˆEØˆr&   c                 óZ   >• [         TU ]  U5        U R                  R                  U5        g rW   )rJ   Úset_attributes_from_namerF   )r    ÚnamerH   s     €r#   rr   Ú#RangeField.set_attributes_from_namen   s"   ø€ Ü‰Ñ(¨Ô.Ø�‰×0Ñ0°Õ6r&   c                 ój  • U R                  U5      nUc  g UR                  (       a  [        R                  " SS05      $ U R                  nSUR
                  0nS H@  n[        X%5      nUc  S XE'   M  [        UR                  U5      nUR                  U5      XE'   MB     [        R                  " U5      $ )NÚemptyTÚboundsr   )
Úvalue_from_objectÚisemptyrk   ÚdumpsrF   Ú_boundsÚgetattrr   ÚattnameÚvalue_to_string)r    Úobjr]   rF   Úresultro   Úvals          r#   r~   ÚRangeField.value_to_stringr   s    € Ø×&Ñ& sÓ+ˆØ‰=ØØ�=�=Ü—:’:˜w¨˜oÓ.Ð.Ø—_‘_ˆ
Ø˜EŸM™MÐ*ˆÛ%ˆCÜ˜%Ó%ˆCØ‰{Ø"�“ä% j×&8Ñ&8¸#Ó>�Ø(×8Ñ8¸Ó=�“ñ &ô �zŠz˜&Ó!Ð!r&   c                 ó\   >• UR                  SU R                  5        [        TU ]  " S0 UD6$ )NÚ
form_classr3   )Ú
setdefaultÚ
form_fieldrJ   Ú	formfield©r    rL   rH   s     €r#   r‡   ÚRangeField.formfieldƒ   s*   ø€ Ø×Ñ˜,¨¯©Ô8Ü‰wÒ Ñ* 6Ñ*Ð*r&   )rF   )r-   r.   r/   r0   Úempty_strings_allowedr$   ÚpropertyrO   ÚsetterÚclassmethodr[   rb   rg   rm   rr   r~   r‡   r2   Ú__classcell__©rH   s   @r#   r   r   6   ss   ø† Ø!Ðõ	*ð ñó ðð ‡\�\ñ&ó ð&ð ôTó ðTò9òò
õ7ò"÷"+ó +r&   r   ú[)c                   óX   ^ • \ rS rSrSr\S.U 4S jjrU 4S jrU 4S jrU 4S jr	Sr
U =r$ )ÚContinuousRangeFieldé‹   zX
Continuous range field. It allows specifying default bounds for list and
tuple inputs.
)rD   c                óT   >• US;  a  [        S5      eXl        [        TU ]  " U0 UD6  g )N)r�   z(]z()z[]z8default_bounds must be one of '[)', '(]', '()', or '[]'.)Ú
ValueErrorrD   rJ   r$   )r    rD   rK   rL   rH   s       €r#   r$   ÚContinuousRangeField.__init__‘   s0   ø€ ØÐ!9Ó9ÜÐWÓXÐXØ,ÔÜ‰Ò˜$Ð) &Ó)r&   c                 óž   >• [        U[        [        45      (       a#  U R                  US   US   U R                  5      $ [
        TU ]  U5      $ re   )rX   rY   rZ   rf   rD   rJ   rg   )r    r]   rH   s     €r#   rg   Ú#ContinuousRangeField.get_prep_value—   sE   ø€ Ü�eœd¤E˜]×+Ñ+Ø—?‘? 5¨¡8¨U°1©X°t×7JÑ7JÓKÐKÜ‰wÑ% eÓ,Ð,r&   c                 ó\   >• UR                  SU R                  5        [        TU ]  " S0 UD6$ )NrD   r3   )r…   rD   rJ   r‡   rˆ   s     €r#   r‡   ÚContinuousRangeField.formfieldœ   s-   ø€ Ø×ÑÐ*¨D×,?Ñ,?Ô@Ü‰wÒ Ñ* 6Ñ*Ð*r&   c                 ó–   >• [         TU ]  5       u  pp4U R                  (       a#  U R                  [        :w  a  U R                  US'   XX44$ )NrD   )rJ   ÚdeconstructrD   ÚCANONICAL_RANGE_BOUNDS)r    rs   ÚpathrK   rL   rH   s        €r#   rœ   Ú ContinuousRangeField.deconstruct    sH   ø€ Ü#(¡7Ñ#6Ó#8Ñ ˆ�DØ×× 4×#6Ñ#6Ô:PÓ#PØ'+×':Ñ':ˆFÐ#Ñ$Ø˜4Ð'Ð'r&   )r-   r.   r/   r0   r1   r�   r$   rg   r‡   rœ   r2   rŽ   r�   s   @r#   r’   r’   ‹   s,   ø† ñð
 .D÷ *ð *õ-õ
+÷(ó (r&   r’   c                   óN   • \ rS rSr\R
                  r\r\	R                  rS rSrg)r   é§   c                 ó   • g)NÚ	int4ranger3   ©r    r*   s     r#   ra   ÚIntegerRangeField.db_type¬   ó   € Ør&   r3   N)r-   r.   r/   r0   r   ÚIntegerFieldrF   r   rf   r   r   r†   ra   r2   r3   r&   r#   r   r   §   s"   † Ø×$Ñ$€JØ€JØ×(Ñ(€Jõr&   r   c                   óN   • \ rS rSr\R
                  r\r\	R                  rS rSrg)r   é°   c                 ó   • g)NÚ	int8ranger3   r¤   s     r#   ra   ÚBigIntegerRangeField.db_typeµ   r¦   r&   r3   N)r-   r.   r/   r0   r   ÚBigIntegerFieldrF   r   rf   r   r   r†   ra   r2   r3   r&   r#   r   r   °   s"   † Ø×'Ñ'€JØ€JØ×(Ñ(€Jõr&   r   c                   óN   • \ rS rSr\R
                  r\r\	R                  rS rSrg)r   é¹   c                 ó   • g)NÚnumranger3   r¤   s     r#   ra   ÚDecimalRangeField.db_type¾   s   € Ør&   r3   N)r-   r.   r/   r0   r   ÚDecimalFieldrF   r   rf   r   r   r†   ra   r2   r3   r&   r#   r   r   ¹   s"   † Ø×$Ñ$€JØ€JØ×(Ñ(€Jõr&   r   c                   óN   • \ rS rSr\R
                  r\r\	R                  rS rSrg)r   éÂ   c                 ó   • g)NÚ	tstzranger3   r¤   s     r#   ra   ÚDateTimeRangeField.db_typeÇ   r¦   r&   r3   N)r-   r.   r/   r0   r   ÚDateTimeFieldrF   r   rf   r   r   r†   ra   r2   r3   r&   r#   r   r   Â   s"   † Ø×%Ñ%€JØ €JØ×)Ñ)€Jõr&   r   c                   óN   • \ rS rSr\R
                  r\r\	R                  rS rSrg)r   éË   c                 ó   • g)NÚ	dateranger3   r¤   s     r#   ra   ÚDateRangeField.db_typeÐ   r¦   r&   r3   N)r-   r.   r/   r0   r   Ú	DateFieldrF   r   rf   r   r   r†   ra   r2   r3   r&   r#   r   r   Ë   s"   † Ø×!Ñ!€JØ€JØ×%Ñ%€Jõr&   r   c                   ó(   ^ • \ rS rSrU 4S jrSrU =r$ )ÚRangeContainséÔ   c                 óÜ   >• [        U R                  [        [        [        45      (       d4  [        U R                  U R                  R                  R                  5      $ [        TU ])  5       $ rW   )rX   ÚrhsrY   rZ   r	   r
   ÚlhsÚfieldrF   rJ   Úget_prep_lookup)r    rH   s    €r#   rÇ   ÚRangeContains.get_prep_lookupÕ   sH   ø€ Ü˜$Ÿ(™(¤T¬5´%Ð$8×9Ñ9Ü˜Ÿ™ $§(¡(§.¡.×";Ñ";Ó<Ð<Ü‰wÑ&Ó(Ð(r&   r3   )r-   r.   r/   r0   rÇ   r2   rŽ   r�   s   @r#   rÁ   rÁ   Ô   s   ø† ÷)ó )r&   rÁ   c                   óT   ^ • \ rS rSrSrSr\R                  rU 4S jr	U 4S jr
SrU =r$ )ÚDateTimeRangeContainséà   zP
Lookup for Date/DateTimeRange containment to cast the rhs to the correct
type.
Úcontainsc                 óô   >• [        U R                  [        R                  5      (       a@  [        R
                  " U R                  5      nUR                  UR                  5      U l        [        TU ]%  X5      $ rW   )
rX   rÄ   ÚdatetimeÚdater   ÚValueÚresolve_expressionÚqueryrJ   Úprocess_rhs)r    r)   r*   r]   rH   s       €r#   rÓ   Ú!DateTimeRangeContains.process_rhsé   sP   ø€ ä�d—h‘h¤§¡×.Ñ.Ü—L’L §¡Ó*ˆEØ×/Ñ/°·±Ó?ˆDŒHÜ‰wÑ" 8Ó8Ð8r&   c                 óü  >• [         TU ]  X5      u  p4Sn[        U R                  [        R
                  5      (       a¶  U R                  R                  (       a›  [        U R                  R                  U R                  R                  R                  5      (       dX  U R                  R                  R                  R                  5       nSR                  UR                  R                  U5      5      nU< U< 3U4$ )NÚ z::{})rJ   Úas_postgresqlrX   rÄ   r   Ú
ExpressionÚ_output_field_or_nonerÅ   Úoutput_fieldrH   rF   Úget_internal_typer`   Ú
data_typesÚget)r    r)   r*   ÚsqlÚparamsÚcast_sqlÚcast_internal_typerH   s          €r#   r×   Ú#DateTimeRangeContains.as_postgresqlð   s¼   ø€ Ü‘gÑ+¨HÓA‰ˆàˆä�t—x‘x¤×!2Ñ!2×3Ñ3Ø—‘×.×.ô Ø—‘×.Ñ.°·±×0EÑ0E×0OÑ0O÷ñ ð "&§¡×!6Ñ!6×!AÑ!A×!SÑ!SÓ!UÐØ—}‘} Z×%:Ñ%:×%>Ñ%>Ð?QÓ%RÓSˆHÚšhÐ'¨Ð/Ð/r&   )rÄ   )r-   r.   r/   r0   r1   Úlookup_namer   r9   Úpostgres_operatorrÓ   r×   r2   rŽ   r�   s   @r#   rÊ   rÊ   à   s*   ø† ñð
 €KØ&×/Ñ/Ðõ9÷0ó 0r&   rÊ   c                   ój   ^ • \ rS rSrSrSSSSSSSS.r\R                  rU 4S	 jr	U 4S
 jr
S rSrU =r$ )ÚRangeContainedByi  Úcontained_byr£   r«   r±   r½   r·   )ÚsmallintÚintegerÚbigintzdouble precisionÚnumericrÏ   ztimestamp with time zonec                 óÈ   >• [         TU ]  X5      u  p4U R                  R                  R	                  U5      R                  S5      S   nU R                  U   nU< SU< 3U4$ )Nr   r   z::)rJ   rÓ   rÅ   rÚ   Úcast_db_typeÚsplitÚtype_mapping)r    r)   r*   rÄ   Ú
rhs_paramsra   Ú	cast_typerH   s          €r#   rÓ   ÚRangeContainedBy.process_rhs  s^   ø€ Ü™'Ñ-¨hÓC‰ˆà—(‘(×'Ñ'×4Ñ4°ZÓ@×FÑFÀsÓKÈAÑNˆØ×%Ñ% gÑ.ˆ	Û¢	Ð*¨JÐ6Ð6r&   c                 ó  >• [         TU ]  X5      u  p4[        U R                  R                  [
        R                  5      (       a  SU-  nX44$ [        U R                  R                  [
        R                  5      (       a  SU-  nX44$ )Nz%s::numericz%s::integer)rJ   Úprocess_lhsrX   rÅ   rÚ   r   Ú
FloatFieldÚSmallIntegerField)r    r)   r*   rÅ   Ú
lhs_paramsrH   s        €r#   rô   ÚRangeContainedBy.process_lhs  sv   ø€ Ü™'Ñ-¨hÓC‰ˆÜ�d—h‘h×+Ñ+¬V×->Ñ->×?Ñ?Ø #Ñ%ˆCð ˆÐô ˜Ÿ™×-Ñ-¬v×/GÑ/G×HÑHØ #Ñ%ˆCØˆÐr&   c                 óH   • [        5       R                  U R                  5      $ rW   )r   rg   rÄ   rS   s    r#   rÇ   Ú RangeContainedBy.get_prep_lookup"  s   € Ü‹|×*Ñ*¨4¯8©8Ó4Ð4r&   r3   )r-   r.   r/   r0   rã   rï   r   r:   rä   rÓ   rô   rÇ   r2   rŽ   r�   s   @r#   ræ   ræ     sF   ø† Ø €KàØØØ&ØØØ$/ñ€Lð '×3Ñ3Ðõ7õ÷5ð 5r&   ræ   c                   ó0   • \ rS rSrSr\R                  rSrg)ÚFullyLessThani-  Úfully_ltr3   N)	r-   r.   r/   r0   rã   r   r<   rä   r2   r3   r&   r#   rü   rü   -  ó   † à€KØ&×/Ñ/Ór&   rü   c                   ó0   • \ rS rSrSr\R                  rSrg)ÚFullGreaterThani3  Úfully_gtr3   N)	r-   r.   r/   r0   rã   r   r=   rä   r2   r3   r&   r#   r   r   3  rþ   r&   r   c                   ó0   • \ rS rSrSr\R                  rSrg)ÚNotLessThani9  Únot_ltr3   N)	r-   r.   r/   r0   rã   r   r>   rä   r2   r3   r&   r#   r  r  9  ó   † à€KØ&×-Ñ-Ór&   r  c                   ó0   • \ rS rSrSr\R                  rSrg)ÚNotGreaterThani?  Únot_gtr3   N)	r-   r.   r/   r0   rã   r   r?   rä   r2   r3   r&   r#   r  r  ?  r  r&   r  c                   ó0   • \ rS rSrSr\R                  rSrg)ÚAdjacentToLookupiE  Úadjacent_tor3   N)	r-   r.   r/   r0   rã   r   r@   rä   r2   r3   r&   r#   r
  r
  E  s   † à€KØ&×2Ñ2Ór&   r
  c                   ó,   • \ rS rSrSrSr\S 5       rSrg)ÚRangeStartsWithiK  Ú
startswithr   c                 óB   • U R                   R                  R                  $ rW   ©rÅ   rÚ   rF   rS   s    r#   rÚ   ÚRangeStartsWith.output_fieldP  ó   € à�x‰x×$Ñ$×/Ñ/Ð/r&   r3   N©	r-   r.   r/   r0   rã   Úfunctionr‹   rÚ   r2   r3   r&   r#   r  r  K  s   † à€KØ€Hàñ0ó ó0r&   r  c                   ó,   • \ rS rSrSrSr\S 5       rSrg)ÚRangeEndsWithiU  Úendswithr   c                 óB   • U R                   R                  R                  $ rW   r  rS   s    r#   rÚ   ÚRangeEndsWith.output_fieldZ  r  r&   r3   Nr  r3   r&   r#   r  r  U  s   † à€KØ€Hàñ0ó ó0r&   r  c                   ó>   • \ rS rSrSrSr\R                  " 5       rSr	g)ÚIsEmptyi_  ry   r3   N©
r-   r.   r/   r0   rã   r  r   ÚBooleanFieldrÚ   r2   r3   r&   r#   r  r  _  s   † à€KØ€HØ×&Ò&Ó(ƒLr&   r  c                   ó>   • \ rS rSrSrSr\R                  " 5       rSr	g)ÚLowerInclusiveif  Ú	lower_incÚ	LOWER_INCr3   Nr  r3   r&   r#   r  r  f  ó   † à€KØ€HØ×&Ò&Ó(ƒLr&   r  c                   ó>   • \ rS rSrSrSr\R                  " 5       rSr	g)ÚLowerInfiniteim  Ú	lower_infÚ	LOWER_INFr3   Nr  r3   r&   r#   r$  r$  m  r"  r&   r$  c                   ó>   • \ rS rSrSrSr\R                  " 5       rSr	g)ÚUpperInclusiveit  Ú	upper_incÚ	UPPER_INCr3   Nr  r3   r&   r#   r(  r(  t  r"  r&   r(  c                   ó>   • \ rS rSrSrSr\R                  " 5       rSr	g)ÚUpperInfinitei{  Ú	upper_infÚ	UPPER_INFr3   Nr  r3   r&   r#   r,  r,  {  r"  r&   r,  )8rÎ   rk   Údjango.contrib.postgresr   r   Ú	django.dbr   Ú)django.db.backends.postgresql.psycopg_anyr   r   r   r	   Údjango.db.models.functionsr
   Údjango.db.models.lookupsr   Úutilsr   Ú__all__rØ   r   r   ÚFieldr   r�   r’   r   r   r   r   r   ÚDataContainsrÁ   Úregister_lookupÚContainedByÚOverlaprÊ   ræ   r¿   r¹   r§   rõ   r³   rü   r   r  r  r
  Ú	Transformr  r  r  r  r$  r(  r,  r3   r&   r#   Ú<module>r<     sX  ðÛ Û ç 2Ý ÷ó õ ,Ý ;å "ò	€ô7�F×%Ñ%ô 7÷ñ ôO+�—‘ô O+ðd Ð ô(˜:ô (ô8˜
ô ô˜:ô ôÐ,ô ôÐ-ô ô�Zô ô)�G×(Ñ(ô )ð × Ñ ˜=Ô )Ø 
× Ñ ˜7×.Ñ.Ô /Ø 
× Ñ ˜7Ÿ?™?Ô +ô0Ð2ô 0ðD × Ñ Ð4Ô 5Ø × "Ñ "Ð#8Ô 9ô5Ð-ô 5ð@ × Ñ ×  Ñ  Ð!1Ô 2Ø × Ñ × $Ñ $Ð%5Ô 6Ø × Ñ × #Ñ #Ð$4Ô 5Ø × Ñ × !Ñ !Ð"2Ô 3Ø × Ñ × #Ñ #Ð$4Ô 5ð ×Ñô0Ð*ó 0ó ð0ð
 ×Ñô0Ð,ó 0ó ð0ð
 ×Ñô.Ð(ó .ó ð.ð
 ×Ñô.Ð+ó .ó ð.ð
 ×Ñô3Ð-ó 3ó ð3ð
 ×Ñô0�f×&Ñ&ó 0ó ð0ð ×Ñô0�F×$Ñ$ó 0ó ð0ð ×Ñô)ˆf×Ñó )ó ð)ð ×Ñô)�V×%Ñ%ó )ó ð)ð ×Ñô)�F×$Ñ$ó )ó ð)ð ×Ñô)�V×%Ñ%ó )ó ð)ð ×Ñô)�F×$Ñ$ó )ó ñ)r&   