§
    £”jÀG  ã            	       ó  — d Z dZ	 dZddlZd„ Z ej        ddddedd¬¦  «        Zdddi fd„Zn# e$ r dZY nw xY w G d„ d	¦  «        Z	 e	¦   «         Z	d
Z
dZdZdZ ee¦  «        ZdZg d¢Zd„ Zddefd„ZereZd„ ZdZd„ Zddefd„Zd„ Zdd„Zdd„Zedk    rä ed¬¦  «         ddlZddlZddlmZ ddlZ e¦   «         Z dZ!ej"        dd…         D ]‹Z#ej$         %                    e#¦  «        s e&d¦  «         Œ( e'e#¦  «        5 Z(e( )                    ¦   «         Z*ddd¦  «         n# 1 swxY w Y    e&de#›d ee*¦  «        › �¦  «          ee*d¬¦  «         e!dz  Z!ŒŒe!r e&d e¦   «         e z
  d›d�¦  «         dS dS dS ) at  Very simple and fast XML parser, used for intra-paragraph text.

Devised by Aaron Watters in the bad old days before Python had fast
parsers available.  Constructs the lightest possible in-memory
representation; parses most files we have seen in pure python very
quickly.

The output structure is the same as the one produced by pyRXP,
our validating C-based parser, which was written later.  It will
use pyRXP if available.

This is used to parse intra-paragraph markup.

Example parse::

    <this type="xml">text <b>in</b> xml</this>

    ( "this",
      {"type": "xml"},
      [ "text ",
        ("b", None, ["in"], None),
        " xml"
        ]
       None )

    { 0: "this"
      "type": "xml"
      1: ["text ",
          {0: "b", 1:["in"]},
          " xml"]
    }

Ie, xml tag translates to a tuple:
 (name, dictofattributes, contentlist, miscellaneousinfo)

where miscellaneousinfo can be anything, (but defaults to None)
(with the intention of adding, eg, line number information)

special cases: name of "" means "top level, no containing tag".
Top level parse always looks like this::

    ("", list, None, None)

 contained text of None means <simple_tag/>

In order to support stuff like::

    <this></this><one></one>

AT THE MOMENT &amp; ETCETERA ARE IGNORED. THEY MUST BE PROCESSED
IN A POST-PROCESSING STEP.

PROLOGUES ARE NOT UNDERSTOOD.  OTHER STUFF IS PROBABLY MISSING.
é    Nc                 ó$   — t          | ¦  «         d S )N)Úprint)Úss    úf/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/reportlab/lib/rparsexml.pyÚwarnCBr   >   s   € Ýˆa‰Œˆˆˆó    é   zstring input)ÚErrorOnValidityErrorsÚNoNoDTDWarningÚExpandCharacterEntitiesÚExpandGeneralEntitiesr   ÚsrcNameÚ
ReturnUTF8c                 óT   — |t           _        t          j        | fi |¤Ž}|r|pdd |gd fS )NÚ )ÚpyRXP_parserÚeoCBÚparse)ÚxmlTextÚoneOutermostTagr   ÚentityReplacerÚ	parseOptsÚps         r   Úparsexmlr   I   s=   € Ø �ÔÝÔ˜wÐ3Ð3¨Ð3Ð3ˆØÐ$ 1Ð:¨¨D°!°°TÐ(:Ð:r   c                   ó$   — e Zd Zed„ ¦   «         ZdS )ÚsmartDecodec                 ól   ‡— ddl mŠ ˆfd„}t          |¦  «        t          j        _         || ¦  «        S )Nr   )Údetectc                 ó~   •— t          | t          ¦  «        r| S  ‰| ¦  «        }|                      |d         ¦  «        S )NÚencoding)Ú
isinstanceÚstrÚdecode)r   Úcddr   s     €r   Ú__call__z&smartDecode.__call__.<locals>.__call__T   s:   ø€ Ý˜!�CÑ Ô Ð*¨ (Ø�&˜‘)”)ˆCØ—8’8˜C 
œOÑ,Ô,Ð,r   )Úcharset_normalizerr   Ústaticmethodr   Ú	__class__r%   )r   r%   r   s     @r   r%   zsmartDecode.__call__Q   sQ   ø€ à-Ð-Ð-Ð-Ð-Ð-ð	-ð 	-ð 	-ð 	-ð 	-õ *6°hÑ)?Ô)?�ÔÔ&Ø�˜‘”Ðr   N)Ú__name__Ú
__module__Ú__qualname__r'   r%   © r   r   r   r   P   s-   € € € € € Øðð ñ „\ðð ð r   r   r   ú	<![CDATA[z]]>))z&lt;ú<)z&gt;ú>)z&amp;ú&c                 óŒ   — g }| D ]>}d|v r#t           D ]\  }}|                     ||¦  «        }Œ|                     |¦  «         Œ?|S )Nr0   )ÚreplacelistÚreplaceÚappend)ÚcontentListÚresultÚeÚoldÚnews        r   ÚunEscapeContentListr:   d   sa   € Ø€FØð ð ˆØ�!ˆ8ˆ8Ý)ð (ð (‘
��cØ—I’I˜c 3Ñ'Ô'��Ø�Š�aÑÔÐÐØ€Mr   c                 óz   — t           rt          d¦  «        ‚t          | |¬¦  «        \  }}|r|d         d         S |S )z.official interface: discard unused cursor infoz)pyRXP not found, fallback parser disabled)r   é   r   )ÚRequirePyRXPÚImportErrorÚ	parsexml0)Úxmltextr   r   r   r6   Úcursors         r   ÚparsexmlSimplerB   m   sL   € åð GÝÐEÑFÔFÐFÝ  ¸ÐGÑGÔGÑ€VˆVØð Ø�aŒy˜Œ|Ðàˆr   c                 ód   — t          | d¦  «                             ¦   «         }t          |¦  «        S )NÚr)ÚopenÚreadr   )ÚfilenameÚraws     r   Ú	parseFilerI   z   s)   € Ý
ˆx˜Ñ
Ô
×
"Ò
"Ñ
$Ô
$€CÝ�C‰=Œ=Ðr   c                 ó  — d}d}|€„|                       d|¦  «        }|dk     rng|dz   }d}|D ]W}t          |¦  «        }| |||z   …         |k    r5d}|                       d|¦  «        }|dk     rt          d|z  ¦  «        ‚|dz   }ŒX|€d}|®„|S )zBskip any prologue found after cursor, return index of rest of text)z!DOCTYPEz?xmlz!--Nr.   r   r	   r/   zcan't close prologue %r)ÚfindÚlenÚ
ValueError)	ÚtextrA   Úprologue_elementsÚdoneÚopenbracketÚpastÚfoundr7   Úles	            r   Úskip_prologuerU   €   sÉ   € ð 4ÐØ€DØ
ˆ,à—i’i  VÑ,Ô,ˆØ�qŠ=ˆ=˜%Ø˜1‰}ˆØˆØ"ð 	"ð 	"ˆAÝ�Q‘”ˆBØ�D˜˜b™�LÔ! 1Ò$Ð$Ø�ØŸš 3¨Ñ-Ô-�Ø˜!’8�8Ý$Ð%>ÀÑ%BÑCÔCÐCØ ™�øØˆ=ØˆDð ˆ,ð" €Mr   c                 óp  — t          | ¦  «        } t          }dx}x}}|�|                      ¦   «         } |}|                      d|¦  «        }	| |	dz   |	dz   …         }
d}|	dk     rY|�-| |d…         g}|r ||¦  «        }||||ft	          | ¦  «        fS t          dt          | ||dz   …         ¦  «        z  ¦  «        ‚g }|�t          x}}t          | |¦  «        }�nŽ|	dk     r't          dt          | dd	…         ¦  «        z  ¦  «        ‚|
d
k    rŽ| |	|	dz   …         dk    r}|	dz   }|                      t          |¦  «        }|dk     r*t          dt          | ||dz   …         ¦  «        z  ¦  «        ‚t          }| ||…         g}|t	          t          ¦  «        z   }d}�nÍ|
dk    rœ| |	|	dz   …         dk    r‹|                      d|	dz   ¦  «        }||	k     r*t          dt          | ||dz   …         ¦  «        z  ¦  «        ‚|dz   }| |         dk    r*t          dt          | ||dz   …         ¦  «        z  ¦  «        ‚d|dz   fS |                      d|	¦  «        }|dk     }|dz   }|	dz   }| ||…         }d|vr2|d         dk    r|dd…         }d}|                     ¦   «         }|}|}�nÅd|v r‰d}|s(t	          |dz    
                    d¦  «        ¦  «        dz  rd}|€Y|                      d|¦  «        }|dz   }|dk     }| ||…         }|s(t	          |dz    
                    d¦  «        ¦  «        dz  rd}|®Y|r*t          dt          | |	|	dz   …         ¦  «        z  ¦  «        ‚|}| |dz
           dk    r|dz
  }|dd…         }d}|                     ¦   «         }| 
                    d¦  «        }|d         }| 
                    ¦   «         }|d         }|}|d         }|d         dz   |d<   i x}}d}t	          |¦  «        }||k     �ri||         }|dz   }|                     ¦   «         }|d         dk    rt          dt          |¦  «        z   ¦  «        ‚d|dd…         vrE||k    rt          dt          |¦  «        z   ¦  «        ‚||         } |dz   }|›d| ›�}d|dd…         v°E|                     ¦   «         }| 
                    ¦   «         }!|!d         }"|dt	          |"¦  «         …         }#|#                     ¦   «         }#	 |#d         }$|#d         }%n'#  t          dt          |#||!f¦  «        z   ¦  «        ‚xY w|$|%cxk    rdk    sn |$|%cxk    rd k    rn n
|#dd…         }#|#||<   |"}||k     �°i|�|}|��/|                      d|¦  «        }&|&|k     rl|t          k    r4d}| |d…         }'t	          | ¦  «        }|'r|                     |'¦  «         �nÑt          d!|›d"t          | ||dz   …         ¦  «        ›�¦  «        ‚| |&dz            dk    �rF|                      d|&¦  «        }(|(|&k     r*t          d#t          | |&|&dz   …         ¦  «        z  ¦  «        ‚| |&dz   |(…         })|) 
                    ¦   «         }*|*d         }+||+k    r¨| d|…         },t	          |, 
                    d$¦  «        ¦  «        }-| d|…         },t	          |, 
                    d$¦  «        ¦  «        }.t          d%|.›d&|-›d't          |¦  «        ›d&t          |+¦  «        ›d(t          | ||d)z   …         ¦  «        ›�
¦  «        ‚| ||&…         }'|'r|                     |'¦  «         |(dz   }d}nN| ||&…         }'|'r|                     |'¦  «         t          | |&d|¬*¦  «        \  }/}|/r|                     |/¦  «         |�­/|r|r ||¦  «        }||||f}0|0|fS )+z‰simple recursive descent xml parser...
       return (dictionary, endcharacter)
       special case: comment returns (None, endcharacter)Nr.   r	   é   r   zno tags at non-toplevel %sé   z.non top level entry should be at start tag: %sé
   z![é	   r-   zunclosed CDATA %sz!-é   z<!--z--zunterminated comment %sr<   r/   z*invalid comment: contains double dashes %sú=éÿÿÿÿú/ú"ú.zunclosed start tag %sz fz-attribute value must start with double quoteszunclosed value zattvalue,attentry,attlist=ú'zno close bracket for z found after zunclosed close tag %sú
z	at lines z...z close tag name doesn't match ú éd   )Ú
startingatÚtoplevelr   )r   ÚNONAMEÚstriprK   rL   rM   ÚreprrU   ÚCDATAENDMARKERÚCDATAMARKERÚsplitr4   r?   )1r@   re   rf   r   Ú
NameStringÚContentListÚAttDictÚ
ExtraStuffrA   ÚfirstbracketÚafterbracket2charÚ
docontentsÚLÚnameÚ
startcdataÚendcdataÚendcommentdashesÚ
endcommentÚclosebracketÚnocloseÚstartsearchÚpastfirstbracketÚ
tagcontentÚstopÚtaglistÚtaglist0Útaglist0listÚattributenameÚDÚtaglistindexÚlasttaglistindexÚattentryÚnextattentryÚattlistÚnextattnameÚattvalueÚfirstÚlastÚnextopenbracketÚ	remainderÚnextclosebracketÚclosetagcontentsÚclosetaglistÚ	closenameÚprefixÚ
endlinenumÚlinenumÚ	parsetreeÚts1                                                    r   r?   r?   ˜   s¨	  € õ ˜'Ñ"Ô"€Gõ €JØ)-Ð-€KÐ-�'˜JØÐð —-’-‘/”/ˆØ€Fà—<’<  VÑ,Ô,€LØ ¨Q¡¨|¸A©~Ð =Ô>Ðð
 €JØ�A‚~€~ð Ð#à& v w wÔ/Ð0�Ø!ÐL°°ÀÑ1LÔ1L ;Ø" G¨[¸*ÐEÅsÈ7Á|Ä|ÐSÐSå Ð!=ÅÀWÈVÐTZÐ[]ÑT]ÐM]ÔE^Ñ@_Ô@_Ñ!_Ñ`Ô`Ð`à
€Að
 Ðå &Ð&ˆJ˜Ý" 7¨FÑ3Ô3ˆF‰Fà	�aŠˆÝÐMÕPTÐU\Ð]`Ð^`Ð]`ÔUaÑPbÔPbÑbÑcÔcÐcà	˜DÒ	 Ð	  W¨\¸,Àq¹.Ð-HÔ%IÈ;Ò%VÐ%Vð & a™ˆJØ—|’|¥N°JÑ?Ô?ˆHØ˜ŠzˆzÝ Ð!4µt¸GÀFÈ6ÐRTÉ9ÐDTÔ<UÑ7VÔ7VÑ!VÑWÔWÐWÝ$ˆJØ" :¨xÐ#7Ô8Ð9ˆKØ�c¥.Ñ1Ô1Ñ1ˆFØˆJ‰Jà	˜DÒ	 Ð	  W¨\¸,Àq¹.Ð-HÔ%IÈ6Ò%QÐ%Qà&Ÿ|š|¨D°,¸q±.ÑAÔAÐØ Ò,Ð,Ý Ð!:½TÀ'È&ÐQWÐXZÑQZÐJZÔB[Ñ=\Ô=\Ñ!\Ñ]Ô]Ð]Ø)¨!Ñ+ˆJØ�zÔ" CÒ'Ð'Ý Ð!MÕPTÐU\Ð]cÐdjÐkmÑdmÐ]mÔUnÑPoÔPoÑ!oÑpÔpÐpØ˜* Q™,Ð'Ð'ð
 #Ÿ<š<¨¨\Ñ:Ô:ˆLØ" 1’nˆGØ& q™.ˆKØ+¨A™~ÐØ Ð!1°,Ð!>Ô?ˆJà˜*Ð$Ð$Ø˜b”> 3Ò&Ð&ð ",¨C¨R¨C¤�JØ!%�JØ!×'Ò'Ñ)Ô)�Ø!�
Ø$�‘à˜*Ð$Ð$à�Dàð ¥# z°#¡~×&<Ò&<¸SÑ&AÔ&AÑ"BÔ"BÀAÑ"Eð Ø˜Ø˜,Ø'.§|¢|°C¸Ñ'EÔ'E˜Ø&2°1¡n˜Ø".¨q¢.˜Ø%,Ð-=¸lÐ-JÔ%K˜
à"ð #¥c¨:°c©>×*@Ò*@ÀÑ*EÔ*EÑ&FÔ&FÈÑ&Ið #Ø!"˜Dð ˜,ð ð lÝ$Ð%<½tÀGÈLÐYeÐfhÑYhÐLhÔDiÑ?jÔ?jÑ%jÑkÔkÐkØ$�ð ˜<¨™>Ô*¨CÒ/Ð/à#/°¡>�LØ!+¨C¨R¨C¤�JØ!%�Jà'×-Ò-Ñ/Ô/�
Ø$×*Ò*¨3Ñ/Ô/�ð # 1œ:�Ø'Ÿ~š~Ñ/Ô/�ð $ A”�à!�
à ,¨RÔ 0�à% bœk¨$Ñ.�˜‘Ø Ð �˜!Ø �Ý#& w¡<¤<Ð à"Ð#3Ò3Ñ3à& |Ô4�HØ#/°¡>�LØ'Ÿ~š~Ñ/Ô/�HØ ”{ CÒ'Ð'Ý(Ð)XÕ[_Ð`hÑ[iÔ[iÑ)iÑjÔjÐjØ X¨a¨b¨b¤\Ð1Ð1à'Ð(8Ò8Ð8Ý",Ð->ÅÀhÁÄÑ-OÑ"PÔ"PÐPØ'.¨|Ô'<˜Ø'3°A¡~˜Ø.6¨h¨h¸¸Ð#E˜ð  X¨a¨b¨b¤\Ð1Ð1ð  (Ÿ~š~Ñ/Ô/�HØ&ŸnšnÑ.Ô.�GØ")¨"¤+�KØ'Ð(:­#¨kÑ*:Ô*:Ð):Ð(:Ô;�HØ'Ÿ~š~Ñ/Ô/�HðjØ (¨¤˜°(¸2´,¨T¨TøðjÝ(Ð)EÅdÈHÐV^Ð_fÐKgÑFhÔFhÑ)hÑiÔiÐiøøøØ˜dÐ'Ð'Ò'Ð' CÒ'Ð'Ð'Ð'¨5°$Ð+;Ð+;Ò+;Ð+;¸Ò+;Ð+;Ð+;Ð+;Ð+;Ø#+¨A¨b¨D¤>˜à'/�A�mÑ$Ø$/�Mð7 #Ð#3Ò3Ñ3ð: ÐàˆØ
Ñ
 Ø%Ÿlšl¨3°Ñ7Ô7ˆOØ˜vÒ%Ð%à�’<�<à#�JØ '¨¨¨Ô 0�IÝ  ™\œ\�FØ ð ,ØŸš Ñ+Ô+Ð+ùå$˜*ÐQUÐQUÐQUÕVZÐ[bÐciÐkqÐrtÑktÐctÔ[uÑVvÔVvÐVvÐ%wÑxÔxÐxà˜¨Ñ*Ô+¨SÒ0Ñ0à#*§<¢<°°_Ñ#EÔ#EÐ Ø# OÒ3Ð3Ý$Ð%<½tÀGÈOÐ]lÐmoÑ]oÐLoÔDpÑ?qÔ?qÑ%qÑrÔrÐrØ#*¨?¸1Ñ+<Ð>NÐ+NÔ#OÐ Ø/×5Ò5Ñ7Ô7�ð
 )¨œO�	à˜’?�?Ø$ W f WÔ-�FÝ!$ V§\¢\°$Ñ%7Ô%7Ñ!8Ô!8�JØ$ [ j [Ô1�FÝ! &§,¢,¨tÑ"4Ô"4Ñ5Ô5�GÝ$˜*Ø�w�w 
 
 
­D°©J¬J¨J¨J½¸Y¹¼¸¸ÍÈgÐV\Ð^dÐehÑ^hÐVhÔNiÑIjÔIjÐIjð&lñ mô mð mà# F¨?Ð$:Ô;�	Øð (à—H’H˜YÑ'Ô'Ð'Ø)¨!Ñ+�à!�
�
ð $ F¨?Ð$:Ô;�	Øð (Ø—H’H˜YÑ'Ô'Ð'õ '0°ÀOÐ^bð  tBð  'Cñ  'Cô  'CÑ#�˜FØð (Ø—H’H˜YÑ'Ô'Ð'ði Ñ
 ðt ð EØÐD¨¨¸Ñ)DÔ)D˜;Ø	�W˜k¨:Ð6€AØˆvˆ;Ðs   Ó:T Ô$T/c           	      ó8  — t          | t          t          f¦  «        r| S | \  }}}}|si }g }|                     ¦   «         D ]1}||         }|                     |›dt          |¦  «        ›�¦  «         Œ2d                     |¦  «        }|s|rt          d¦  «        ‚|�wt          t          t          |¦  «        ¦  «        }	d                     |	¦  «        }
|s|
S |
                     d¦  «        }dd                     |¦  «        z   }
d|›d|›d	|
›d
|›d�	S d|›d|›d�S )z!pretty printer mainly for testingr\   rc   zname missing with attributes???Nrb   z   z
   r.   z>
z
</r/   z/>)r!   r"   ÚbytesÚkeysr4   ri   ÚjoinrM   ÚlistÚmapÚpprettyprintrl   )Ú	parsedxmlru   ÚattdictÚtextlistÚextrar‰   ÚkÚvÚ
attributesÚtextlistpprintÚ
textpprintÚnllists               r   rŸ   rŸ   €  sP  € å�)�S¥˜KÑ(Ô(ð ØÐØ'0Ñ$€Tˆ7�H˜eØÐ˜B�GØ€GØ�\Š\‰^Œ^ð /ð /ˆØ�AŒJˆØ�Š ! ! !¥T¨!¡W¤W WÐ-Ñ.Ô.Ð.Ð.Ø—’˜'Ñ"Ô"€JØð <�Jð <ÝÐ:Ñ;Ô;Ð;ØÐå�c¥,°Ñ9Ô9Ñ:Ô:ˆØ—Y’Y˜~Ñ.Ô.ˆ
Øð 	ØÐà×!Ò! $Ñ'Ô'ˆØ˜WŸ\š\¨&Ñ1Ô1Ñ2ˆ
ˆ
Ø'+ t t¨Z¨Z¨Z¸¸¸ÀTÀTÀTÐJÐJð ð ˜˜˜z˜z˜zÐ*Ð*r   c                 ó  — ddl m } ddlm}  |¦   «         }t          | d¬¦  «        }t          d |¦   «         |z
  ¦  «         |dz  r ||¦  «         |dz  r/t          d¦  «         t	          |¦  «        }t          |¦  «         d S d S )	Nr   ©Útime)Úpprintr	   )r   ÚDONEr[   z============== reformatting)r¬   r­   rB   r   rŸ   )r   Údumpr¬   r­   Únowr„   r   s          r   Ú	testparser±   š  sµ   € ØÐÐÐÐÐØÐÐÐÐÐØ
ˆ$‰&Œ&€CÝ�q¨Ð+Ñ+Ô+€AÝ	ˆ&�$�$‘&”&˜‘*ÑÔÐØˆA�vð Øˆˆq‰	Œ	ˆ	àˆA�vð ÝÐ+Ñ,Ô,Ð,Ý˜‰OŒOˆÝˆa‰Œˆˆˆðð r   c                 ó(   — t          d| ¬¦  «         d S )Na-  <this type="xml">text &lt;&gt;<b>in</b> <funnytag foo="bar"/> xml</this>
                 <!-- comment -->
                 <![CDATA[
                 <this type="xml">text <b>in</b> xml</this> ]]>
                 <tag with="<brackets in values>">just testing brackets feature</tag>
                 ©r¯   )r±   r³   s    r   Útestr´   ¨  s-   € Ýð ð
 ð ñ  ô  ð  ð  ð  r   Ú__main__r³   r«   z!!!!! no file at {f!r}zparsing z |t|=z	timed at z.2fz secs.)r   )+Ú__doc__r=   ÚsimpleparseÚpyRXPUr   ÚParserr   r   r>   r   rg   ÚNAMEKEYÚCONTENTSKEYrk   rL   ÚLENCDATAMARKERrj   r2   r:   rB   rI   ÚverboserU   r?   rŸ   r±   r´   r)   ÚsysÚosr¬   Ú	reportlabr°   ÚseenÚargvÚfÚpathÚisfiler   rE   Ú_frF   r˜   r,   r   r   ú<module>rÇ      sq  ðð5ð 5ðn €ðà€KØ€M€M€Mðð ð à �6”=Ø./Ø'(Ø01Ø./Ø!'Ø .Ø%&ðñ ô €Lð +,°ÀTÐTVð ;ð ;ð ;ð ;ð ;øð ð ð ð Ø€K€K€Kðøøøð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð ˆk‰mŒm€à	€Ø
€Ø€Ø€Ø��[Ñ!Ô!€Ø€Ø<Ð<Ð<€ðð ð ð -.°4ÐGZð ð ð ð ð ð Ø€Hðð ð ð €ðð ð ð0 #$¨aà*ðfð fð fð fðP+ð +ð +ð4ð ð ð ð ð  ð  ð  ð ˆZÒÐØ€Dˆa€L�L„L€LØ€N€N€N€N€N€N€NØÐÐÐÐÐØÐÐÐØ
ˆ$‰&Œ&€CØ€DØŒX�a�b�bŒ\ð ð ˆØŒw�~Š~˜aÑ Ô ð 	ØˆEÐ*Ñ+Ô+Ð+Ð+à��a‘”ð ˜BØ—G’G‘I”I�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð àˆEÐ/˜QÐ/Ð/ s s¨1¡v¤vÐ/Ð/Ñ0Ô0Ð0ØˆI�a˜QÐÑÔÐØ�A‰IˆDˆDØð 2ØˆÐ0˜$˜$™&œ& ™*Ð0Ð0Ð0Ð0Ñ1Ô1Ð1Ð1Ð1ð# Ðð 2ð 2s   †(/ ¯9¸9ÄD'Ä'D+	Ä.D+	