Ë
    þÍ:j¬A  ã                   óâ  — d dl Z d dlmZ d dlmZ d dlmZmZ d dlZd dl	m
Z
 d dlm
c mZ d dlmc mZ d dlmZ ddlmZ ddlmZ d	d
lmZmZmZ d	dlmZ d	dlmZmZ g d¢Z G d„ de
j@                  «      Z! G d„ de
jD                  «      Z# G d„ de
jH                  «      Z% G d„ de
j@                  «      Z&de
j@                  dede'ddfd„Z(de)de*e)e)e)e)f   de)dee   de'dede&fd„Z+d ed!d"d#œZ, G d$„ d%e«      Z- G d&„ d'e«      Z. G d(„ d)e«      Z/ G d*„ d+e«      Z0 e«        ed,e-jb                  f¬-«      dd.d/œdee-   de'dede&fd0„«       «       Z2 e«        ed,e.jb                  f¬-«      dd.d/œdee.   de'dede&fd1„«       «       Z3 e«        ed,e/jb                  f¬-«      dd.d/œdee/   de'dede&fd2„«       «       Z4 e«        ed,e0jb                  f¬-«      dd.d/œdee0   de'dede&fd3„«       «       Z5y)4é    N)ÚOrderedDict)Úpartial)ÚAnyÚOptional)ÚTensoré   )ÚImageClassification)Ú_log_api_usage_onceé   )Úregister_modelÚWeightsÚWeightsEnum)Ú_IMAGENET_CATEGORIES)Ú_ovewrite_named_paramÚhandle_legacy_interface)	ÚDenseNetÚDenseNet121_WeightsÚDenseNet161_WeightsÚDenseNet169_WeightsÚDenseNet201_WeightsÚdensenet121Údensenet161Údensenet169Údensenet201c                   óJ  ‡ — e Zd Z	 ddedededededdfˆ fd„Zd	ee   defd
„Z	dee   defd„Z
ej                  j                  dee   defd„«       Zej                  j                  dee   defd„«       Zej                  j                  dedefd„«       Zdedefd„Zˆ xZS )Ú_DenseLayerÚnum_input_featuresÚgrowth_rateÚbn_sizeÚ	drop_rateÚmemory_efficientÚreturnNc                 ó´  •— t         ‰| �  «        t        j                  |«      | _        t        j
                  d¬«      | _        t        j                  |||z  ddd¬«      | _        t        j                  ||z  «      | _	        t        j
                  d¬«      | _
        t        j                  ||z  |dddd¬«      | _        t        |«      | _        || _        y )NT©Úinplacer   F©Úkernel_sizeÚstrideÚbiasé   ©r'   r(   Úpaddingr)   )ÚsuperÚ__init__ÚnnÚBatchNorm2dÚnorm1ÚReLUÚrelu1ÚConv2dÚconv1Únorm2Úrelu2Úconv2Úfloatr    r!   )Úselfr   r   r   r    r!   Ú	__class__s         €úp/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/torchvision/models/densenet.pyr.   z_DenseLayer.__init__    s­   ø€ ô 	‰ÑÔÜ—^‘^Ð$6Ó7ˆŒ
Ü—W‘W TÔ*ˆŒ
Ü—Y‘YÐ1°7¸[Ñ3HÐVWÐ`aÐhmÔnˆŒ
ä—^‘^ G¨kÑ$9Ó:ˆŒ
Ü—W‘W TÔ*ˆŒ
Ü—Y‘Y˜w¨Ñ4°kÈqÐYZÐdeÐlqÔrˆŒ
ä˜yÓ)ˆŒØ 0ˆÕó    Úinputsc                 ó�   — t        j                  |d«      }| j                  | j                  | j	                  |«      «      «      }|S ©Nr   )ÚtorchÚcatr5   r3   r1   )r:   r>   Úconcated_featuresÚbottleneck_outputs       r<   Úbn_functionz_DenseLayer.bn_function/   s;   € Ü!ŸI™I f¨aÓ0ÐØ ŸJ™J t§z¡z°$·*±*Ð=NÓ2OÓ'PÓQÐØ Ð r=   Úinputc                 ó.   — |D ]  }|j                   sŒ y y)NTF)Úrequires_grad)r:   rF   Útensors      r<   Úany_requires_gradz_DenseLayer.any_requires_grad5   s"   € Øò 	ˆFØ×#Ó#Ùð	ð r=   c                 ó@   ‡ — ˆ fd„}t        j                  |g|¢­ddiŽS )Nc                  ó&   •— ‰j                  | «      S ©N)rE   )r>   r:   s    €r<   Úclosurez7_DenseLayer.call_checkpoint_bottleneck.<locals>.closure=   s   ø€ Ø×#Ñ# FÓ+Ð+r=   Úuse_reentrantF)ÚcpÚ
checkpoint)r:   rF   rN   s   `  r<   Úcall_checkpoint_bottleneckz&_DenseLayer.call_checkpoint_bottleneck;   s#   ø€ ô	,ô �}‰}˜WÐB uÒB¸EÑBÐBr=   c                  ó   — y rM   © ©r:   rF   s     r<   Úforwardz_DenseLayer.forwardB   ó   € àr=   c                  ó   — y rM   rT   rU   s     r<   rV   z_DenseLayer.forwardF   rW   r=   c                 óØ  — t        |t        «      r|g}n|}| j                  rL| j                  |«      r;t        j
                  j                  «       rt        d«      ‚| j                  |«      }n| j                  |«      }| j                  | j                  | j                  |«      «      «      }| j                  dkD  r,t        j                  || j                  | j                   ¬«      }|S )Nz%Memory Efficient not supported in JITr   )ÚpÚtraining)Ú
isinstancer   r!   rJ   rA   ÚjitÚis_scriptingÚ	ExceptionrR   rE   r8   r7   r6   r    ÚFÚdropoutr[   )r:   rF   Úprev_featuresrD   Únew_featuress        r<   rV   z_DenseLayer.forwardL   s¹   € Ü�eœVÔ$Ø"˜G‰Mà!ˆMà× Ò  T×%;Ñ%;¸MÔ%JÜ�y‰y×%Ñ%Ô'ÜÐ GÓHÐHà $× ?Ñ ?ÀÓ NÑà $× 0Ñ 0°Ó ?Ðà—z‘z $§*¡*¨T¯Z©ZÐ8IÓ-JÓ"KÓLˆØ�>‰>˜AÒÜŸ9™9 \°T·^±^ÈdÏmÉmÔ\ˆLØÐr=   ©F)Ú__name__Ú
__module__Ú__qualname__Úintr9   Úboolr.   Úlistr   rE   rJ   rA   r]   ÚunusedrR   Ú_overload_methodrV   Ú__classcell__©r;   s   @r<   r   r      s  ø„ àrwñ1Ø"%ð1Ø47ð1ØBEð1ØRWð1Økoð1à	õ1ð! $ v¡,ð !°6ó !ð t¨F¡|ð ¸ó ð ‡Y�Y×ÑðC°°V±ð CÀò Có ðCð ‡Y�Y×Ñð˜T &™\ð ¨fò ó  ðð ‡Y�Y×Ñð˜Vð ¨ò ó  ðð
˜Vð ¨÷ r=   r   c                   óT   ‡ — e Zd ZdZ	 ddededededededd	fˆ fd
„Zdedefd„Z	ˆ xZ
S )Ú_DenseBlockr   Ú
num_layersr   r   r   r    r!   r"   Nc                 óž   •— t         ‰	| �  «        t        |«      D ]0  }t        |||z  z   ||||¬«      }| j	                  d|dz   z  |«       Œ2 y )N)r   r   r    r!   zdenselayer%dr   )r-   r.   Úranger   Ú
add_module)
r:   rq   r   r   r   r    r!   ÚiÚlayerr;   s
            €r<   r.   z_DenseBlock.__init__c   s_   ø€ ô 	‰ÑÔÜ�zÓ"ò 	=ˆAÜØ" Q¨¡_Ñ4Ø'ØØ#Ø!1ôˆEð �O‰O˜N¨a°!©eÑ4°eÕ<ñ	=r=   Úinit_featuresc                 ó–   — |g}| j                  «       D ]  \  }} ||«      }|j                  |«       Œ  t        j                  |d«      S r@   )ÚitemsÚappendrA   rB   )r:   rw   ÚfeaturesÚnamerv   rc   s         r<   rV   z_DenseBlock.forwardw   sJ   € Ø!�?ˆØŸ:™:›<ò 	*‰KˆD�%Ù  ›?ˆLØ�O‰O˜LÕ)ð	*ô �y‰y˜ 1Ó%Ð%r=   rd   )re   rf   rg   Ú_versionrh   r9   ri   r.   r   rV   rm   rn   s   @r<   rp   rp   `   si   ø„ Ø€Hð "'ñ=àð=ð  ð=ð ð	=ð
 ð=ð ð=ð ð=ð 
õ=ð(& Vð &°÷ &r=   rp   c                   ó,   ‡ — e Zd Zdededdfˆ fd„Zˆ xZS )Ú_Transitionr   Únum_output_featuresr"   Nc                 ó  •— t         ‰| �  «        t        j                  |«      | _        t        j
                  d¬«      | _        t        j                  ||ddd¬«      | _        t        j                  dd¬«      | _
        y )NTr$   r   Fr&   r   )r'   r(   )r-   r.   r/   r0   Únormr2   Úrelur4   ÚconvÚ	AvgPool2dÚpool)r:   r   r€   r;   s      €r<   r.   z_Transition.__init__€   s^   ø€ Ü‰ÑÔÜ—N‘NÐ#5Ó6ˆŒ	Ü—G‘G DÔ)ˆŒ	Ü—I‘IÐ0Ð2EÐSTÐ]^ÐejÔkˆŒ	Ü—L‘L¨Q°qÔ9ˆ�	r=   )re   rf   rg   rh   r.   rm   rn   s   @r<   r   r      s"   ø„ ð:¨3ð :ÀSð :ÈT÷ :ñ :r=   r   c                   ór   ‡ — e Zd ZdZ	 	 	 	 	 	 	 ddedeeeeef   dededededed	d
fˆ fd„Zde	d	e	fd„Z
ˆ xZS )r   aK  Densenet-BC model class, based on
    `"Densely Connected Convolutional Networks" <https://arxiv.org/pdf/1608.06993.pdf>`_.

    Args:
        growth_rate (int) - how many filters to add each layer (`k` in paper)
        block_config (list of 4 ints) - how many layers in each pooling block
        num_init_features (int) - the number of filters to learn in the first convolution layer
        bn_size (int) - multiplicative factor for number of bottle neck layers
          (i.e. bn_size * k features in the bottleneck layer)
        drop_rate (float) - dropout rate after each dense layer
        num_classes (int) - number of classification classes
        memory_efficient (bool) - If True, uses checkpointing. Much more memory efficient,
          but slower. Default: *False*. See `"paper" <https://arxiv.org/pdf/1707.06990.pdf>`_.
    r   Úblock_configÚnum_init_featuresr   r    Únum_classesr!   r"   Nc                 ó"  •— t         ‰| �  «        t        | «       t        j                  t        dt        j                  d|dddd¬«      fdt        j                  |«      fdt        j                  d	¬
«      fdt        j                  ddd¬«      fg«      «      | _
        |}t        |«      D ]‰  \  }	}
t        |
|||||¬«      }| j                  j                  d|	dz   z  |«       ||
|z  z   }|	t        |«      dz
  k7  sŒSt        ||dz  ¬«      }| j                  j                  d|	dz   z  |«       |dz  }Œ‹ | j                  j                  dt        j                  |«      «       t        j                   ||«      | _        | j%                  «       D ]ú  }t'        |t        j                  «      r*t        j(                  j+                  |j,                  «       ŒGt'        |t        j                  «      rUt        j(                  j/                  |j,                  d«       t        j(                  j/                  |j0                  d«       Œ¶t'        |t        j                   «      sŒÑt        j(                  j/                  |j0                  d«       Œü y )NÚconv0r*   é   r   Fr+   Únorm0Úrelu0Tr$   Úpool0r   )r'   r(   r,   )rq   r   r   r   r    r!   zdenseblock%d)r   r€   ztransition%dÚnorm5r   )r-   r.   r
   r/   Ú
Sequentialr   r4   r0   r2   Ú	MaxPool2dr{   Ú	enumeraterp   rt   Úlenr   ÚLinearÚ
classifierÚmodulesr\   ÚinitÚkaiming_normal_ÚweightÚ	constant_r)   )r:   r   rˆ   r‰   r   r    rŠ   r!   Únum_featuresru   rq   ÚblockÚtransÚmr;   s                 €r<   r.   zDenseNet.__init__˜   s  ø€ ô 	‰ÑÔÜ˜DÔ!ô Ÿ™ÜàœbŸi™i¨Ð+<È!ÐTUÐ_`ÐglÔmÐnØœbŸn™nÐ->Ó?Ð@ØœbŸg™g¨dÔ3Ð4ØœbŸl™l°qÀÈAÔNÐOð	óó	
ˆŒð )ˆÜ& |Ó4ò 	1‰MˆAˆzÜØ%Ø#/ØØ'Ø#Ø!1ôˆEð �M‰M×$Ñ$ ^°q¸1±uÑ%=¸uÔEØ'¨*°{Ñ*BÑBˆLØ”C˜Ó%¨Ñ)Ó)Ü#°|ÐYeÐijÑYjÔk�Ø—‘×(Ñ(¨¸1¸q¹5Ñ)AÀ5ÔIØ+¨qÑ0‘ð	1ð" 	�‰× Ñ  ¬"¯.©.¸Ó*FÔGô Ÿ)™) L°+Ó>ˆŒð —‘“ò 	-ˆAÜ˜!œRŸY™YÔ'Ü—‘×'Ñ'¨¯©Õ1Ü˜AœrŸ~™~Ô.Ü—‘×!Ñ! !§(¡(¨AÔ.Ü—‘×!Ñ! !§&¡&¨!Õ,Ü˜AœrŸy™yÕ)Ü—‘×!Ñ! !§&¡&¨!Õ,ñ	-r=   Úxc                 óÐ   — | j                  |«      }t        j                  |d¬«      }t        j                  |d«      }t	        j
                  |d«      }| j                  |«      }|S )NTr$   )r   r   r   )r{   r`   rƒ   Úadaptive_avg_pool2drA   Úflattenr—   )r:   r¡   r{   Úouts       r<   rV   zDenseNet.forwardÔ   sU   € Ø—=‘= Ó#ˆÜ�f‰f�X tÔ,ˆÜ×#Ñ# C¨Ó0ˆÜ�m‰m˜C Ó#ˆØ�o‰o˜cÓ"ˆØˆ
r=   )é    ©é   é   é   é   é@   é   r   iè  F)re   rf   rg   Ú__doc__rh   Útupler9   ri   r.   r   rV   rm   rn   s   @r<   r   r   ˆ   s”   ø„ ñð" Ø2AØ!#ØØØØ!&ñ:-àð:-ð ˜C  c¨3Ð.Ñ/ð:-ð ð	:-ð
 ð:-ð ð:-ð ð:-ð ð:-ð 
õ:-ðx˜ð  F÷ r=   r   ÚmodelÚweightsÚprogressr"   c                 ó6  — t        j                  d«      }|j                  |d¬«      }t        |j	                  «       «      D ]D  }|j                  |«      }|sŒ|j                  d«      |j                  d«      z   }||   ||<   ||= ŒF | j                  |«       y )Nz]^(.*denselayer\d+\.(?:norm|relu|conv))\.((?:[12])\.(?:weight|bias|running_mean|running_var))$T)r²   Ú
check_hashr   r   )ÚreÚcompileÚget_state_dictrj   ÚkeysÚmatchÚgroupÚload_state_dict)r°   r±   r²   ÚpatternÚ
state_dictÚkeyÚresÚnew_keys           r<   Ú_load_state_dictrÁ   Ý   s—   € ô
 �j‰jØhó€Gð ×'Ñ'°ÀdÐ'ÓK€JÜ�J—O‘OÓ%Ó&ò  ˆØ�m‰m˜CÓ ˆÚØ—i‘i “l S§Y¡Y¨q£\Ñ1ˆGØ",¨S¡/ˆJ�wÑØ˜3‘ð ð 
×Ñ˜*Õ%r=   r   rˆ   r‰   Úkwargsc                 óŒ   — |�#t        |dt        |j                  d   «      «       t        | ||fi |¤Ž}|�t	        |||¬«       |S )NrŠ   Ú
categories)r°   r±   r²   )r   r•   Úmetar   rÁ   )r   rˆ   r‰   r±   r²   rÂ   r°   s          r<   Ú	_densenetrÆ   ð   sO   € ð ÐÜ˜f m´S¸¿¹ÀlÑ9SÓ5TÔUä�[ ,Ð0AÑLÀVÑL€EàÐÜ˜u¨gÀÕIà€Lr=   )é   rÇ   z*https://github.com/pytorch/vision/pull/116z'These weights are ported from LuaTorch.)Úmin_sizerÄ   ÚrecipeÚ_docsc            
       óR   — e Zd Z ed eed¬«      i e¥dddddœid	d
dœ¥¬«      ZeZy)r   z<https://download.pytorch.org/models/densenet121-a639ec97.pthéà   ©Ú	crop_sizeih¿y úImageNet-1Kg²�ï§Æ›R@g‘í|?5þV@©zacc@1zacc@5gyé&1¬@g¸…ëQØ>@©Ú
num_paramsÚ_metricsÚ_opsÚ
_file_size©ÚurlÚ
transformsrÅ   N©	re   rf   rg   r   r   r	   Ú_COMMON_METAÚIMAGENET1K_V1ÚDEFAULTrT   r=   r<   r   r     sQ   „ ÙØJÙÐ.¸#Ô>ð
Øð
à!àØ#Ø#ñ ðð Ø ò
ô€Mð  �Gr=   r   c            
       óR   — e Zd Z ed eed¬«      i e¥dddddœid	d
dœ¥¬«      ZeZy)r   z<https://download.pytorch.org/models/densenet161-8d451a50.pthrÌ   rÍ   i(£µrÏ   gF¶óýÔHS@g¤p=
×cW@rÐ   g¶óýÔxé@gV-²�—[@rÑ   rÖ   NrÙ   rT   r=   r<   r   r     sQ   „ ÙØJÙÐ.¸#Ô>ð
Øð
à"àØ#Ø#ñ ðð Ø!ò
ô€Mð  �Gr=   r   c            
       óR   — e Zd Z ed eed¬«      i e¥dddddœid	d
dœ¥¬«      ZeZy)r   z<https://download.pytorch.org/models/densenet169-b2777c0a.pthrÌ   rÍ   ihç× rÏ   gfffffæR@gÝ$�•3W@rÐ   gáz®Gá
@g´Èv¾ŸZK@rÑ   rÖ   NrÙ   rT   r=   r<   r   r   3  sQ   „ ÙØJÙÐ.¸#Ô>ð
Øð
à"àØ#Ø#ñ ðð Ø ò
ô€Mð  �Gr=   r   c            
       óR   — e Zd Z ed eed¬«      i e¥dddddœid	d
dœ¥¬«      ZeZy)r   z<https://download.pytorch.org/models/densenet201-c1103571.pthrÌ   rÍ   ihc1rÏ   gÓMbX9S@gHáz®WW@rÐ   gD‹lçû)@gZd;ßWS@rÑ   rÖ   NrÙ   rT   r=   r<   r   r   G  sQ   „ ÙØJÙÐ.¸#Ô>ð
Øð
à"àØ#Ø#ñ ðð Ø ò
ô€Mð  �Gr=   r   Ú
pretrained)r±   T)r±   r²   c                 óL   — t         j                  | «      } t        ddd| |fi |¤ŽS )a{  Densenet-121 model from
    `Densely Connected Convolutional Networks <https://arxiv.org/abs/1608.06993>`_.

    Args:
        weights (:class:`~torchvision.models.DenseNet121_Weights`, optional): The
            pretrained weights to use. See
            :class:`~torchvision.models.DenseNet121_Weights` below for
            more details, and possible values. By default, no pre-trained
            weights are used.
        progress (bool, optional): If True, displays a progress bar of the download to stderr. Default is True.
        **kwargs: parameters passed to the ``torchvision.models.densenet.DenseNet``
            base class. Please refer to the `source code
            <https://github.com/pytorch/vision/blob/main/torchvision/models/densenet.py>`_
            for more details about this class.

    .. autoclass:: torchvision.models.DenseNet121_Weights
        :members:
    r¦   r§   r¬   )r   ÚverifyrÆ   ©r±   r²   rÂ   s      r<   r   r   [  ó,   € ô* "×(Ñ(¨Ó1€Gä�R˜¨"¨g°xÑJÀ6ÑJÐJr=   c                 óL   — t         j                  | «      } t        ddd| |fi |¤ŽS )a{  Densenet-161 model from
    `Densely Connected Convolutional Networks <https://arxiv.org/abs/1608.06993>`_.

    Args:
        weights (:class:`~torchvision.models.DenseNet161_Weights`, optional): The
            pretrained weights to use. See
            :class:`~torchvision.models.DenseNet161_Weights` below for
            more details, and possible values. By default, no pre-trained
            weights are used.
        progress (bool, optional): If True, displays a progress bar of the download to stderr. Default is True.
        **kwargs: parameters passed to the ``torchvision.models.densenet.DenseNet``
            base class. Please refer to the `source code
            <https://github.com/pytorch/vision/blob/main/torchvision/models/densenet.py>`_
            for more details about this class.

    .. autoclass:: torchvision.models.DenseNet161_Weights
        :members:
    é0   )r¨   r©   é$   rª   é`   )r   râ   rÆ   rã   s      r<   r   r   u  rä   r=   c                 óL   — t         j                  | «      } t        ddd| |fi |¤ŽS )a{  Densenet-169 model from
    `Densely Connected Convolutional Networks <https://arxiv.org/abs/1608.06993>`_.

    Args:
        weights (:class:`~torchvision.models.DenseNet169_Weights`, optional): The
            pretrained weights to use. See
            :class:`~torchvision.models.DenseNet169_Weights` below for
            more details, and possible values. By default, no pre-trained
            weights are used.
        progress (bool, optional): If True, displays a progress bar of the download to stderr. Default is True.
        **kwargs: parameters passed to the ``torchvision.models.densenet.DenseNet``
            base class. Please refer to the `source code
            <https://github.com/pytorch/vision/blob/main/torchvision/models/densenet.py>`_
            for more details about this class.

    .. autoclass:: torchvision.models.DenseNet169_Weights
        :members:
    r¦   )r¨   r©   r¦   r¦   r¬   )r   râ   rÆ   rã   s      r<   r   r   �  rä   r=   c                 óL   — t         j                  | «      } t        ddd| |fi |¤ŽS )a{  Densenet-201 model from
    `Densely Connected Convolutional Networks <https://arxiv.org/abs/1608.06993>`_.

    Args:
        weights (:class:`~torchvision.models.DenseNet201_Weights`, optional): The
            pretrained weights to use. See
            :class:`~torchvision.models.DenseNet201_Weights` below for
            more details, and possible values. By default, no pre-trained
            weights are used.
        progress (bool, optional): If True, displays a progress bar of the download to stderr. Default is True.
        **kwargs: parameters passed to the ``torchvision.models.densenet.DenseNet``
            base class. Please refer to the `source code
            <https://github.com/pytorch/vision/blob/main/torchvision/models/densenet.py>`_
            for more details about this class.

    .. autoclass:: torchvision.models.DenseNet201_Weights
        :members:
    r¦   )r¨   r©   ræ   r¦   r¬   )r   râ   rÆ   rã   s      r<   r   r   ©  rä   r=   )6rµ   Úcollectionsr   Ú	functoolsr   Útypingr   r   rA   Útorch.nnr/   Útorch.nn.functionalÚ
functionalr`   Útorch.utils.checkpointÚutilsrQ   rP   r   Útransforms._presetsr	   r
   Ú_apir   r   r   Ú_metar   Ú_utilsr   r   Ú__all__ÚModuler   Ú
ModuleDictrp   r’   r   r   ri   rÁ   rh   r¯   rÆ   rÚ   r   r   r   r   rÛ   r   r   r   r   rT   r=   r<   ú<module>rú      sÌ  ðÛ 	Ý #Ý ß  ã Ý ß Ð ß #Ð #Ý å 5Ý 'ß 6Ñ 6Ý 'ß Bò
€ô>�"—)‘)ô >ôB&�"—-‘-ô &ô>:�"—-‘-ô :ôRˆr�y‰yô Rðj&˜BŸI™Ið &°ð &Àtð &ÐPTó &ð&Øðà˜˜S # sÐ*Ñ+ðð ðð �kÑ"ð	ð
 ðð ðð óð( Ø&Ø:Ø:ñ	€ô˜+ô ô(˜+ô ô(˜+ô ô(˜+ô ñ( ÓÙ ,Ð0C×0QÑ0QÐ!RÔSØ<@ÐSWò K˜HÐ%8Ñ9ð KÈDð KÐcfð KÐksò Kó Tó ðKñ0 ÓÙ ,Ð0C×0QÑ0QÐ!RÔSØ<@ÐSWò K˜HÐ%8Ñ9ð KÈDð KÐcfð KÐksò Kó Tó ðKñ0 ÓÙ ,Ð0C×0QÑ0QÐ!RÔSØ<@ÐSWò K˜HÐ%8Ñ9ð KÈDð KÐcfð KÐksò Kó Tó ðKñ0 ÓÙ ,Ð0C×0QÑ0QÐ!RÔSØ<@ÐSWò K˜HÐ%8Ñ9ð KÈDð KÐcfð KÐksò Kó Tó ñKr=   