/opt/imunify360/venv/lib/python3.11/site-packages/humanize/__pycache__
NameSizeModeActions
filesize.cpython-311.pyc26740644editdlrm
i18n.cpython-311.pyc67290644editdlrm
number.cpython-311.pyc210180644editdlrm
time.cpython-311.pyc225790644editdlrm
__init__.cpython-311.pyc13370644editdlrm
Edit: /opt/imunify360/venv/lib/python3.11/site-packages/humanize/__pycache__/time.cpython-311.pyc (22579B)
§ и)îX�#ãó:—dZddlmZddlZddlZddlZddlZddl m Z ddl m Z ddlm Z ddlmZdd lmZdd lmZgd ¢Ze Gd „d e ¦«¦«ZdEd„ZdFd„ZddœdGd„Z dHdId"„Z dJdKd'„ZdLd*„ZdMdNd.„ZdOd/„ZdPd6„ZdQd<„ZdRd=„Z dSd?„Z! dTdUdD„Z"dS)VzYTime humanizing functions. These are largely borrowed from Django's `contrib.humanize`. é)Ú annotationsN)ÚEnum)Útotal_ordering)ÚAnyé)Ú_gettext)Ú _ngettext)Úintcomma)Ú naturaldeltaÚ naturaltimeÚ naturaldayÚ naturaldateÚ precisedeltacó6—eZdZdZdZdZdZdZdZdZ dZ dd „Z d S)ÚUnitrrééééééÚotherú typing.AnyÚreturncóL—|j|jur|j|jkStS©N)Ú __class__ÚvalueÚNotImplemented)Úselfrs úm/builddir/build/BUILD/imunify360-venv-2.6.3/opt/imunify360/venv/lib/python3.11/site-packages/humanize/time.pyÚ__lt__z Unit.__lt__'s&€Ø Œ>˜Uœ_Ð ,Ð ,Ø”: ¤ Ò+Ð +ÝÐóN)rrrr) Ú__name__Ú __module__Ú __qualname__Ú MICROSECONDSÚ MILLISECONDSÚSECONDSÚMINUTESÚHOURSÚDAYSÚMONTHSÚYEARSr"©r#r!rrsP€€€€€à€LØ€LØ€GØ€GØ €EØ €DØ €FØ €Eððððððr#rrú dt.datetimecó>—tj ¦«Sr)ÚdtÚdatetimeÚnowr/r#r!Ú_nowr5-s€Ý Œ;�?Š?Ñ Ô Ðr#Údeltaú dt.timedeltacóH—|jdkrt¦«}|||zz S|S)zÓReturn an "absolute" value for a timedelta, always representing a time distance. Args: delta (datetime.timedelta): Input timedelta. Returns: datetime.timedelta: Absolute timedelta. r)Údaysr5)r6r4s r!Ú_abs_timedeltar:1s,€ð „z�A‚~€~݉fŒfˆØ�c˜E‘kÑ"Ð"Ø €Lr#©r4rrr4údt.datetime | Noneútuple[typing.Any, typing.Any]cóX—|st¦«}t|tj¦«r|}||z }nht|tj¦«r||z }|}nF t |¦«}tj|¬¦«}||z }n#t tf$rd|fcYSwxYw|t|¦«fS)zˆTurn a value into a date and a timedelta which represents how long ago it was. If that's not possible, return `(None, value)`. ©ÚsecondsN) r5Ú isinstancer2r3Ú timedeltaÚintÚ ValueErrorÚ TypeErrorr:)rr4Údater6s r!Ú_date_and_deltarG@sÍ€ð ð݉fŒfˆÝ�%�œÑ%Ô%ð ØˆØ�e‘ ˆˆÝ �E�2œ<Ñ (Ô (ð Ø�U‰{ˆØˆˆð ݘ‘J”JˆEÝ”L¨Ð/Ñ/Ô/ˆEؘ‘;ˆDˆDøÝ�IÐ&ð ð ð Ø˜�;Ð Ð Ð ð øøøà • Ñ&Ô&Ð &Ð&sÁ)BÂBÂBTr@údt.timedelta | floatÚmonthsÚboolÚ minimum_unitÚstrcó—t| ¦«}|tjtjtjfvrd|›d�}t |¦«‚|}t |tj¦«r|}nL t|¦«}tj|¬¦«}n&#t tf$rt|¦«cYSwxYw|}t|j ¦«}t|j¦«} | dz} | dz} t| dz¦«} | �sk| dk�rd|dkr¨|tjkr)|jdkrt!d d |j¦«|jzS|tjks%|tjkr@d|jcxkrd kr.nn+|jdz } t!d d t| ¦«¦«| zSt#d¦«S|dkrt#d¦«S|dkrt!dd|¦«|zSd|cxkrdkrnnt#d¦«Sd|cxkrdkrnn|dz} t!dd| ¦«| zSd|cxkrdkrnnt#d¦«Sd|kr|dz}t!dd|¦«|zSnÞ| dkrj| dkrt#d¦«S|st!dd| ¦«| zS| st!dd| ¦«| zS| dkrt#d¦«St!d d!| ¦«| zS| dkrh| s| st#d"¦«S| st!d#d$| ¦«| zS|r)| dkrt#d%¦«St!d&d'| ¦«| zSt!d#d$| ¦«| zSt!d(d)| ¦« d*d+¦«t'| ¦«zS),aTReturn a natural representation of a timedelta or number of seconds. This is similar to `naturaltime`, but does not add tense to the result. Args: value (datetime.timedelta, int or float): A timedelta or a number of seconds. months (bool): If `True`, then a number of months (based on 30.5 days) will be used for fuzziness between years. minimum_unit (str): The lowest unit that can be used. Returns: str (str or `value`): A natural representation of the amount of time elapsed unless `value` is not datetime.timedelta or cannot be converted to int. In that case, a `value` is returned unchanged. Raises: OverflowError: If `value` is too large to convert to datetime.timedelta. Examples Compare two timestamps in a custom local timezone:: import datetime as dt from dateutil.tz import gettz berlin = gettz("Europe/Berlin") now = dt.datetime.now(tz=berlin) later = now + dt.timedelta(minutes=30) assert naturaldelta(later - now) == "30 minutes" zMinimum unit 'z' not supportedr?émç€>@rréèú%d microsecondú%d microsecondsi@Bú%d millisecondú%d millisecondsúa momentza secondé<ú %d secondú %d secondséxza minuteéú %d minuteú %d minutesi zan hourú%d hourú%d hoursza dayú%d dayú%d daysza monthú%d monthú %d monthsza yearz1 year, %d dayz1 year, %d daysz1 year, 1 monthz1 year, %d monthz1 year, %d monthsú%d yearú%d yearsú%dú%s)rÚupperr)r(r'rDrAr2rBrCrErLÚabsr@r9Ú microsecondsr Ú_Úreplacer )rrIrKÚtmpÚmsgÚmin_unitr6Ú use_monthsr@r9ÚyearsÚ num_monthsÚ millisecondsÚminutesÚhourss r!r r YsD€õF ˆ|×!Ò!Ñ#Ô#Ô $€CØ •4”<¥Ô!2µDÔ4EÐFÐFÐFØ<˜|Ð<Ð<Ð<ˆÝ˜‰oŒoÐØ€Hå�%�œÑ&Ô&ðØˆˆð ݘ‘J”JˆEÝ”L¨Ð/Ñ/Ô/ˆEˆEøÝ�IÐ&ð ð ð Ý�u‘:”:Ð Ð Ð ð øøøð€Jå�%”-Ñ Ô €GÝ ˆuŒz‰?Œ?€DØ �C‰K€EØ �#‰:€DÝ�T˜T‘\Ñ"Ô"€Jà ñEK�T˜A’X‘XØ �aŠ<ˆ<Ø�4Ô,Ò,Ð,°Ô1CÀdÒ1JÐ1JåÐ.Ð0AÀ5ÔCUÑVÔVØÔ(ñ)ðð �4Ô,Ò,Ð,Ø�DÔ-Ò-Ð-°$¸%Ô:LÐ2XÐ2XÒ2XÐ2XÈyÒ2XÐ2XÐ2XÐ2XÐ2Xà$Ô1°DÑ8� åÐ.Ð0AÅ3À|ÑCTÔCTÑUÔUØ"ñ#ðõ�Z‘=”=Ð à �aŠ<ˆ<Ý�Z‘=”=Ð à �RŠ<ˆ<ݘ[¨,¸Ñ@Ô@À7ÑJÐ Jà �Ð Ð Ò Ð ˜3Ò Ð Ð Ð Ð Ý�Z‘=”=Ð à �'Ð Ð Ò Ð ˜DÒ Ð Ð Ð Ð Ø ‘mˆGݘ[¨,¸Ñ@Ô@À7ÑJÐ Jà �7Ð %Ð %Ò %Ð %˜XÒ %Ð %Ð %Ð %Ð %Ý�Y‘<”<Ð à �'Š>ˆ>ؘt‘OˆEݘY¨ °EÑ:Ô:¸UÑBÐ Bð ð �!ŠˆØ �1Š9ˆ9Ý�W‘:”:Ð àð ?ݘX y°$Ñ7Ô7¸$Ñ>Ð >àð ?ݘX y°$Ñ7Ô7¸$Ñ>Ð >à ˜Š?ˆ?Ý�Y‘<”<Р嘠[°*Ñ=Ô=À ÑJÐJà �!ŠˆØð  $ð Ý�X‘;”;Ð àð OÝÐ-Ð/@À$ÑGÔGÈ$ÑNÐ Nà ð Ø˜QŠˆÝÐ*Ñ+Ô+Ð+õÐ,Ð.AÀ:ÑNÔNØñð õ Ð)Ð+<¸dÑCÔCÀdÑJÐJå �Y  ¨EÑ 2Ô 2× :Ò :¸4ÀÑ FÔ FÍÐRWÉÌÑ XÐXsÁ:$B CÃCFú"dt.datetime | dt.timedelta | floatÚfutureÚwhencóÊ—t|¦«}t|¦«}|p t¦«}t||¬¦«\}}|€t|¦«St |t jt jf¦«r||k}|rtd¦«ntd¦«}t|||¦«}|td¦«krtd¦«St||z¦«S)açReturn a natural representation of a time in a resolution that makes sense. This is more or less compatible with Django's `naturaltime` filter. Args: value (datetime.datetime, datetime.timedelta, int or float): A `datetime`, a `timedelta`, or a number of seconds. future (bool): Ignored for `datetime`s and `timedelta`s, where the tense is always figured out based on the current time. For integers and floats, the return value will be past tense by default, unless future is `True`. months (bool): If `True`, then a number of months (based on 30.5 days) will be used for fuzziness between years. minimum_unit (str): The lowest unit that can be used. when (datetime.datetime): Point in time relative to which _value_ is interpreted. Defaults to the current time in the local timezone. Returns: str: A natural representation of the input in a resolution that makes sense. r;Nz %s from nowz%s agorUr4) Ú_convert_aware_datetimer5rGrLrAr2r3rBrjr ) rrvrIrKrwr4rFr6Úagos r!r r ÝsÒ€õ4 $ EÑ *Ô *€EÝ " 4Ñ (Ô (€Dà ˆ.•$‘&”&€Cå! %¨SÐ1Ñ1Ô1�K€Dˆ%Ø €|Ý�5‰zŒzÐå�%�"œ+¥r¤|Ð4Ñ5Ô5ðØ˜’ˆà$Ð 5�!ˆMÑ Ô Ð ­!¨H©+¬+€CÝ ˜ ¨ Ñ 5Ô 5€Eà •�*‘ ” ÒÐÝ�‰xŒxˆå ˆs�U‰{Ñ Ô Ðr#ú)dt.datetime | dt.timedelta | float | Nonercóª—t|tj¦«r8|j�1tj | ¦«¦«}|S)zIConvert aware datetime to naive datetime and pass through any other type.)rAr2r3ÚtzinfoÚ fromtimestampÚ timestamp)rs r!ryry sC€õ�%�œÑ%Ô%ð=¨%¬,Ð*BÝ” ×)Ò)¨%¯/ª/Ñ*;Ô*;Ñ<Ô<ˆØ €Lr#ú%b %dúdt.date | dt.datetimeÚformatcóØ— tj|j|j|j¦«}n@#t $rt |¦«cYSttf$rt |¦«cYSwxYw|tj  ¦«z }|j dkrtd¦«S|j dkrtd¦«S|j dkrtd¦«S|  |¦«S)zÎReturn a natural day. For date values that are tomorrow, today or yesterday compared to present day return representing string. Otherwise, return a string formatted according to `format`. rÚtodayrÚtomorrowéÿÿÿÿÚ yesterday) r2rFÚyearÚmonthÚdayÚAttributeErrorrLÚ OverflowErrorrDr„r9rjÚstrftime)rr‚r6s r!r r sç€ðÝ”˜œ  E¤K°´Ñ;Ô;ˆˆøÝ ðððå�5‰zŒzÐÐÐÝ �:Ð &ðððå�5‰zŒzÐÐÐðøøøð •B”G—M’M‘O”OÑ #€Eà „z�Q‚€Ý�‰zŒzÐà „z�Q‚€Ý�‰}Œ}Ðà „z�RÒÐÝ�‰~Œ~Ðà �>Š>˜&Ñ !Ô !Ð!ó‚%(¨A%ÁA%Á$A%có€— tj|j|j|j¦«}n@#t $rt |¦«cYSttf$rt |¦«cYSwxYwt|tj  ¦«z ¦«}|j dkrt|d¦«St|¦«S)zKLike `naturalday`, but append a year for dates more than ~five months away.g«ªªªªc@z%b %d %Y) r2rFrˆr‰rŠr‹rLrŒrDr:r„r9r )rr6s r!rr3sÁ€ðÝ”˜œ  E¤K°´Ñ;Ô;ˆˆøÝ ðððå�5‰zŒzÐÐÐÝ �:Ð &ðððå�5‰zŒzÐÐÐðøøøõ ˜5¥2¤7§=¢=¡?¤?Ñ2Ñ 3Ô 3€EØ „z�\Ò!Ð!ݘ% Ñ,Ô,Ð,Ý �eÑ Ô ÐrŽÚfloatÚdivisorÚunitÚsuppressúcollections.abc.Iterable[Unit]útuple[float, float]cóL—||kr||z dfS||vrd|fSt||¦«S)a±Divide `value` by `divisor` returning the quotient and remainder. If `unit` is `minimum_unit`, makes the quotient a float number and the remainder will be zero. The rational is that if `unit` is the unit of the quotient, we cannot represent the remainder because it would require a unit smaller than the `minimum_unit`. >>> from humanize.time import _quotient_and_remainder, Unit >>> _quotient_and_remainder(36, 24, Unit.DAYS, Unit.DAYS, []) (1.5, 0) If unit is in `suppress`, the quotient will be zero and the remainder will be the initial value. The idea is that if we cannot use `unit`, we are forced to use a lower unit so we cannot do the division. >>> _quotient_and_remainder(36, 24, Unit.DAYS, Unit.HOURS, [Unit.DAYS]) (0, 36) In other case return quotient and remainder as `divmod` would do it. >>> _quotient_and_remainder(36, 24, Unit.DAYS, Unit.HOURS, []) (1, 12) r)Údivmod)rr‘r’rKr“s r!Ú_quotient_and_remainderr˜CsB€ð> ˆ|ÒÐØ�w‰ Ð!Ð!à ˆxÐÐØ�%ˆxˆå �%˜Ñ !Ô !Ð!r#Úvalue1Úvalue2Úratiornútyping.Iterable[Unit]cóF—||kr |||z zdfS||vr d|||zzfS||fS)aÛReturn a tuple with two values. If the unit is in `suppress`, multiply `value1` by `ratio` and add it to `value2` (carry to right). The idea is that if we cannot represent `value1` we need to represent it in a lower unit. >>> from humanize.time import _carry, Unit >>> _carry(2, 6, 24, Unit.DAYS, Unit.SECONDS, [Unit.DAYS]) (0, 54) If the unit is the minimum unit, `value2` is divided by `ratio` and added to `value1` (carry to left). We assume that `value2` has a lower unit so we need to carry it to `value1`. >>> _carry(2, 6, 24, Unit.DAYS, Unit.DAYS, []) (2.25, 0) Otherwise, just return the same input: >>> _carry(2, 6, 24, Unit.DAYS, Unit.SECONDS, []) (2, 6) rr/)r™ršr›r’rnr“s r!Ú_carryržksL€ð< ˆxÒÐØ˜ ™Ñ&¨Ð)Ð)à ˆxÐÐØ�&˜6 E™>Ñ)Ð)Ð)à �6ˆ>Ðr#có`—||vr)tD]}||kr||vr|cSŒd}t|¦«‚|S)aèReturn a minimum unit suitable that is not suppressed. If not suppressed, return the same unit: >>> from humanize.time import _suitable_minimum_unit, Unit >>> _suitable_minimum_unit(Unit.HOURS, []).name 'HOURS' But if suppressed, find a unit greater than the original one that is not suppressed: >>> _suitable_minimum_unit(Unit.HOURS, [Unit.HOURS]).name 'DAYS' >>> _suitable_minimum_unit(Unit.HOURS, [Unit.HOURS, Unit.DAYS]).name 'MONTHS' z@Minimum unit is suppressed and no suitable replacement was found)rrD)rnr“r’rms r!Ú_suitable_minimum_unitr ’sQ€ð$�8ÐÐÝð ð ˆDØ�hŠˆ 4¨xÐ#7Ð#7Ø� � � øàPˆÝ˜‰oŒoÐà €Or#ú set[Unit]cór—t|¦«}tD]}||krn| |¦«Œ |S)aExtend suppressed units (if any) with all units lower than the minimum unit. >>> from humanize.time import _suppress_lower_units, Unit >>> [x.name for x in sorted(_suppress_lower_units(Unit.SECONDS, [Unit.DAYS]))] ['MICROSECONDS', 'MILLISECONDS', 'DAYS'] )ÚsetrÚadd)rnr“r’s r!Ú_suppress_lower_unitsr¥¯sH€õ�8‰}Œ}€HÝððˆØ �8Ò Ð Ø ˆEØ� Š �TÑÔÐÐà €Or#r/ú%0.2fúdt.timedelta | int | Noneútyping.Iterable[str]c ó°—t|¦«\}}|€t|¦«Sd„|D¦«}t| ¦«}t ||¦«}~t ||¦«}|j}|j} |j} tt¦«\} } } }}}}}t|d|||¦«\}}t|d|||¦«\}}t|| d|||¦«\}} t| d|||¦«\}} t| d|||¦«\}} t| | d| ||¦«\} } t| d | ||¦«\}} t| d d | ||¦«\} }d d |fdd|fdd|fdd|fdd|fdd| fdd|fdd| fg}g}ttt¦«|¦«D]è\}}|\}}}|d ks|sÍ||krÇd |cxkrdkrnndnt|¦«} t||| ¦«}!||kr5t!j|¦«d d kr|! d|¦«}!nB||kr<|! dd¦«}!| |!t)|¦«z¦«ŒÈ| |!|z¦«||krnŒét+|¦«d kr|d Sd |dd …¦«}"|d }#t/d!¦«|"|#fzS)"a%Return a precise representation of a timedelta. ```pycon >>> import datetime as dt >>> from humanize.time import precisedelta >>> delta = dt.timedelta(seconds=3633, days=2, microseconds=123000) >>> precisedelta(delta) '2 days, 1 hour and 33.12 seconds' ``` A custom `format` can be specified to control how the fractional part is represented: ```pycon >>> precisedelta(delta, format="%0.4f") '2 days, 1 hour and 33.1230 seconds' ``` Instead, the `minimum_unit` can be changed to have a better resolution; the function will still readjust the unit to use the greatest of the units that does not lose precision. For example setting microseconds but still representing the date with milliseconds: ```pycon >>> precisedelta(delta, minimum_unit="microseconds") '2 days, 1 hour, 33 seconds and 123 milliseconds' ``` If desired, some units can be suppressed: you will not see them represented and the time of the other units will be adjusted to keep representing the same timedelta: ```pycon >>> precisedelta(delta, suppress=['days']) '49 hours and 33.12 seconds' ``` Note that microseconds precision is lost if the seconds and all the units below are suppressed: ```pycon >>> delta = dt.timedelta(seconds=90, microseconds=100) >>> precisedelta(delta, suppress=['seconds', 'milliseconds', 'microseconds']) '1.50 minutes' ``` If the delta is too small to be represented with the minimum unit, a value of zero will be returned: ```pycon >>> delta = dt.timedelta(seconds=1) >>> precisedelta(delta, minimum_unit="minutes") '0.02 minutes' >>> delta = dt.timedelta(seconds=0.1) >>> precisedelta(delta, minimum_unit="minutes") '0 minutes' ``` NcóL—h|]!}t| ¦«’Œ"Sr/)rrg)Ú.0Úss r!ú zprecisedelta.. s$€Ð6Ð6Ð6¨•D˜Ÿš™œ”OÐ6Ð6Ð6r#rNrOi€QrZrVg€„.ArPrrrcrdrarbr_r`r]r^r[r\rWrXrSrTrQrRrrerfz, r†z %s and %s)rGrLrrgr r¥r9r@riÚlistr˜ržÚzipÚreversedrCr ÚmathÚmodfrkÚappendr ÚlenÚjoinrj)$rrKr“r‚rFr6Ú suppress_setrnr9ÚsecsÚusecsr'r(r)r*r+r,r-r.rprIrtrsÚmsecsÚ_unusedÚfmtsÚtextsr’ÚfmtÚ singular_txtÚ plural_txtÚ fmt_valueÚ _fmt_valueÚfmt_txtÚheadÚtails$ r!rr¿sh€õP" %Ñ(Ô(�K€Dˆ%Ø €|Ý�5‰zŒzÐà6Ð6¨XÐ6Ñ6Ô6€Lõ�L×&Ò&Ñ(Ô(Ô)€HÝ% h° Ñ=Ô=€HØõ)¨°<Ñ@Ô@€Lð Œ:€DØ Œ=€DØ Ô €EåOSÝ ñPôPÑL€L�, ¨°%¸¸vÀuõ *¨$°°U¸HÀlÑSÔS�K€Eˆ4Ý*¨4°°v¸xÈÑVÔV�L€FˆDõ˜˜d I¨t°X¸|ÑLÔL�J€Dˆ$å)¨$°°e¸XÀ|ÑTÔT�K€Eˆ4Ý+¨D°"°g¸xÈÑVÔV�M€GˆT嘘u c¨7°H¸lÑKÔK�K€Dˆ%å*Ø ˆt�\ 8¨\ñô�L€Eˆ5õ ˜E 1 a¨°xÀÑNÔN�N€Eˆ7ð �J Ð&Ø �[ &Ð)Ø �9˜dÐ#Ø �J Ð&Ø �l GÐ,Ø �l DÐ)Ø Ð,¨eÐ4Ø Ð,¨eÐ4ð €Dð€EÝ�¥$™œ¨Ñ.Ô.ðð‰ ˆˆcØ.1Ñ+ˆ �j )Ø �qŠ=ˆ= ˆ=¨4°8Ò+;Ð+;Ø )Ð/Ð/Ò/Ð/¨aÒ/Ð/Ð/Ð/Ð/˜˜µS¸±^´^ˆJÝ  ¨j¸*ÑEÔEˆGØ�xÒÐ¥D¤I¨iÑ$8Ô$8¸Ô$;¸aÒ$?Ð$?Ø!Ÿ/š/¨$°Ñ7Ô7��ؘ’�Ø!Ÿ/š/¨$°Ñ5Ô5�Ø— ’ ˜W¥x° Ñ':Ô':Ñ:Ñ;Ô;Ð;Øà �LŠL˜ 9Ñ,Ñ -Ô -Ð -à �8Ò Ð Ø ˆEð õ ˆ5�z„z�Q‚€Ø�QŒxˆà �9Š9�U˜3˜B˜3”ZÑ Ô €DØ �Œ9€Då ˆ[‰>Œ>˜T 4˜LÑ (Ð(r#)rr0)r6r7rr7)rrr4r<rr=)Tr@)rrHrIrJrKrLrrL)FTr@N) rrurvrJrIrJrKrLrwr<rrL)rr{rr)r€)rr�r‚rLrrL)rr�rrL) rr�r‘r�r’rrKrr“r”rr•)r™r�ršr�r›r�r’rrnrr“rœrr•)rnrr“rœrr)rnrr“rœrr¡)r@r/r¦) rr§rKrLr“r¨r‚rLrrL)#Ú__doc__Ú __future__rÚcollections.abcÚ collectionsr3r2r±ÚtypingÚenumrÚ functoolsrrÚi18nrrjr Únumberr Ú__all__rr5r:rGr r ryr rr˜ržr r¥rr/r#r!úrÏsgðððð#Ð"Ð"Ð"Ð"Ð"àÐÐÐØÐÐÐØ € € € Ø € € € ØÐÐÐÐÐØ$Ð$Ð$Ð$Ð$Ð$ØÐÐÐÐÐàÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐð ð ð €ðð ð ð ð ð ˆ4ñ ô ñ„ð ð ðððð ð ð ð ð 59ð'ð'ð'ð'ð'ð'ð6Ø!ðAYðAYðAYðAYðAYðLØØ!Ø#ð ,ð,ð,ð,ð,ð^ðððð"ð"ð"ð"ð"ð< ð ð ð ð %"ð%"ð%"ð%"ðP$ð$ð$ð$ðNðððð: ð ð ð ð$"Ø%'Øð f)ðf)ðf)ðf)ðf)ðf)ðf)r#