+
    ˜°³j4>  ã                   óþ   € ^ RI t ^ RIt^ RIHtHt ^ RIHtHt ^ RIH	t	 ^RI
Ht ^RIHt . ROt ! R R]4      t ! R R]4      t]]],          ,          ],          t ! R R	]4      t ! R R
]4      t ! R R]4      tR# )é    N)ÚSizeÚTensor)Ú
functionalÚinit)Ú	Parameter)ÚCrossMapLRN2d)ÚModuleÚLocalResponseNormr   Ú	LayerNormÚ	GroupNormÚRMSNormc                   ór   a a€ ] tR t^t oRt. R	OtR
V3R lV 3R llltV3R lR ltR tV3R lt	Rt
VtV ;t# )r
   a;  Applies local response normalization over an input signal.

The input signal is composed of several input planes, where channels occupy the second dimension.
Applies normalization across channels.

.. math::
    b_{c} = a_{c}\left(k + \frac{\alpha}{n}
    \sum_{c'=\max(0, c-n/2)}^{\min(N-1,c+n/2)}a_{c'}^2\right)^{-\beta}

Args:
    size: amount of neighbouring channels used for normalization
    alpha: multiplicative factor. Default: 0.0001
    beta: exponent. Default: 0.75
    k: additive factor. Default: 1

Shape:
    - Input: :math:`(N, C, *)`
    - Output: :math:`(N, C, *)` (same shape as input)

Examples::

    >>> lrn = nn.LocalResponseNorm(2)
    >>> signal_2d = torch.randn(32, 5, 24, 24)
    >>> signal_4d = torch.randn(16, 5, 7, 7, 7, 7)
    >>> output_2d = lrn(signal_2d)
    >>> output_4d = lrn(signal_4d)

c          
      ó6   <€ V ^8„  d   QhRS[ RS[RS[RS[RR/# ©é   ÚsizeÚalphaÚbetaÚkÚreturnN©ÚintÚfloat)ÚformatÚ__classdict__s   "€Ú_/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/nn/modules/normalization.pyÚ__annotate__ÚLocalResponseNorm.__annotate__4   ó5   ø€ ÷ ñ ÙðÙ %ðÙ49ðÙEJðà	ñó    c                óT   <€ \         SV `  4        Wn        W n        W0n        W@n        R # ©N©ÚsuperÚ__init__r   r   r   r   ©Úselfr   r   r   r   Ú	__class__s   &&&&&€r   r%   ÚLocalResponseNorm.__init__4   ó$   ø€ ô 	‰ÑÔØŒ	ØŒ
ØŒ	ØŽr    c                ó&   <€ V ^8„  d   QhRS[ RS[ /# ©r   Úinputr   ©r   )r   r   s   "€r   r   r   =   s   ø€ ÷ Vñ V™Vð V©ñ Vr    c                ó„   € \         P                  ! WP                  V P                  V P                  V P
                  4      # ©z
Runs the forward pass.
)ÚFÚlocal_response_normr   r   r   r   ©r'   r-   s   &&r   ÚforwardÚLocalResponseNorm.forward=   s+   € ô ×$Ò$ U¯I©I°t·z±zÀ4Ç9Á9ÈdÏfÉfÓUÐUr    c                ó:   € RP                   ! R/ V P                  B # ©ú0
Return the extra representation of the module.
z){size}, alpha={alpha}, beta={beta}, k={k}© ©r   Ú__dict__©r'   s   &r   Ú
extra_reprÚLocalResponseNorm.extra_reprC   ó   € ð ;×AÒAÑRÀDÇMÁMÑRÐRr    c                óJ   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[;R&   # ©r   r   r   r   r   r   )r   r   s   "€r   r   r      s;   ø‡ ‚ ñ> �Iñ? ñ@ �LñA ñB �KñC ñD �HòE r    ©r   r   r   r   )r   r   r   r   )ç-Cëâ6?ç      è?g      ð?)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__constants__r%   r4   r=   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r(   r   s   @@r   r
   r
      s5   ù‡ € ñò: 3€M÷õ ÷Vð VòS÷g … r    c                   ór   a a€ ] tR t^Jt oR	V3R lV 3R llltV3R lR ltV3R lR ltV3R ltRtVt	V ;t
# )
r   c          
      ó6   <€ V ^8„  d   QhRS[ RS[RS[RS[RR/# r   r   )r   r   s   "€r   r   ÚCrossMapLRN2d.__annotate__P   r   r    c                óT   <€ \         SV `  4        Wn        W n        W0n        W@n        R # r"   r#   r&   s   &&&&&€r   r%   ÚCrossMapLRN2d.__init__P   r*   r    c                ó&   <€ V ^8„  d   QhRS[ RS[ /# r,   r.   )r   r   s   "€r   r   rR   Y   s   ø€ ÷ Wñ W™Vð W©ñ Wr    c                ó„   € \         P                  ! WP                  V P                  V P                  V P
                  4      # r0   )Ú_cross_map_lrn2dÚapplyr   r   r   r   r3   s   &&r   r4   ÚCrossMapLRN2d.forwardY   s+   € ô  ×%Ò% e¯Y©Y¸¿
¹
ÀDÇIÁIÈtÏvÉvÓVÐVr    c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   ©Ústr)r   r   s   "€r   r   rR   _   s   ø€ ÷ Sñ S™Cñ Sr    c                ó:   € RP                   ! R/ V P                  B # r7   r:   r<   s   &r   r=   ÚCrossMapLRN2d.extra_repr_   r?   r    c                óJ   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[;R&   # rA   r   )r   r   s   "€r   r   rR   J   s1   ø‡ ‚ Ù
�Iñ á�Lñ ñ �Kñ ñ �Hò	 r    rB   )rC   rD   é   )rE   rF   rG   rH   r%   r4   r=   rK   rL   rM   rN   rO   s   @@r   r   r   J   s.   ù‡ € ÷õ ÷Wð W÷Sð S÷+ … r    c                   ó�   a a€ ] tR t^it oRt. ROtRV3R lV 3R llltV3R lR ltV3R lR ltV3R lR	 lt	V3R
 lt
RtVtV ;t# )r   aÄ  Applies Layer Normalization over a mini-batch of inputs.

This layer implements the operation as described in
the paper `Layer Normalization <https://arxiv.org/abs/1607.06450>`__

.. math::
    y = \frac{x - \mathrm{E}[x]}{ \sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta

The mean and standard-deviation are calculated over the last `D` dimensions, where `D`
is the dimension of :attr:`normalized_shape`. For example, if :attr:`normalized_shape`
is ``(3, 5)`` (a 2-dimensional shape), the mean and standard-deviation are computed over
the last 2 dimensions of the input (i.e. ``input.mean((-2, -1))``).
:math:`\gamma` and :math:`\beta` are learnable affine transform parameters of
:attr:`normalized_shape` if :attr:`elementwise_affine` is ``True``.
The variance is calculated via the biased estimator, equivalent to
`torch.var(input, correction=0)`.

.. note::
    Unlike Batch Normalization and Instance Normalization, which applies
    scalar scale and bias for each entire channel/plane with the
    :attr:`affine` option, Layer Normalization applies per-element scale and
    bias with :attr:`elementwise_affine`.

This layer uses statistics computed from input data in both training and
evaluation modes.

Args:
    normalized_shape (int or list or torch.Size): input shape from an expected input
        of size

        .. math::
            [* \times \text{normalized\_shape}[0] \times \text{normalized\_shape}[1]
                \times \ldots \times \text{normalized\_shape}[-1]]

        If a single integer is used, it is treated as a singleton list, and this module will
        normalize over the last dimension which is expected to be of that specific size.
    eps: a value added to the denominator for numerical stability. Default: 1e-5
    elementwise_affine: a boolean value that when set to ``True``, this module
        has learnable per-element affine parameters initialized to ones (for weights)
        and zeros (for biases). Default: ``True``
    bias: If set to ``False``, the layer will not learn an additive bias (only relevant if
        :attr:`elementwise_affine` is ``True``). Default: ``True``

Attributes:
    weight: the learnable weights of the module of shape
        :math:`\text{normalized\_shape}` when :attr:`elementwise_affine` is set to ``True``.
        The values are initialized to 1.
    bias:   the learnable bias of the module of shape
            :math:`\text{normalized\_shape}` when :attr:`elementwise_affine` is set to ``True``.
            The values are initialized to 0.

Shape:
    - Input: :math:`(N, *)`
    - Output: :math:`(N, *)` (same shape as input)

Examples::

    >>> # NLP Example
    >>> batch, sentence_length, embedding_dim = 20, 5, 10
    >>> embedding = torch.randn(batch, sentence_length, embedding_dim)
    >>> layer_norm = nn.LayerNorm(embedding_dim)
    >>> # Activate module
    >>> layer_norm(embedding)
    >>>
    >>> # Image Example
    >>> N, C, H, W = 20, 5, 10, 10
    >>> input = torch.randn(N, C, H, W)
    >>> # Normalize over the last three dimensions (i.e. the channel and spatial dimensions)
    >>> # as shown in the image below
    >>> layer_norm = nn.LayerNorm([C, H, W])
    >>> output = layer_norm(input)

.. image:: ../_static/img/nn/layer_norm.jpg
    :scale: 50 %

c          
      ó6   <€ V ^8„  d   QhRS[ RS[RS[RS[RR/# )r   Únormalized_shapeÚepsÚelementwise_affineÚbiasr   N©Ú_shape_tr   Úbool)r   r   s   "€r   r   ÚLayerNorm.__annotate__¼   s=   ø€ ÷  ñ  á"ð ñ ð ñ !ð	 ñ
 ð ð 
ñ r    c                ó.  <€ R VRV/p\         SV `  4        \        V\        P                  4      '       d   V3p\        V4      V n        W n        W0n        V P                  '       d{   \        \        P                  ! V P                  3/ VB 4      V n        V'       d1   \        \        P                  ! V P                  3/ VB 4      V n        M7V P                  RR4       M$V P                  RR4       V P                  RR4       V P                  4        R# )ÚdeviceÚdtyperg   NÚweight)r$   r%   Ú
isinstanceÚnumbersÚIntegralÚtuplerd   re   rf   r   ÚtorchÚemptyro   rg   Úregister_parameterÚreset_parameters)	r'   rd   re   rf   rg   rm   rn   Úfactory_kwargsr(   s	   &&&&&&& €r   r%   ÚLayerNorm.__init__¼   sé   ø€ ð # F¨G°UÐ;ˆÜ‰ÑÔÜÐ&¬×(8Ñ(8×9Ò9à 0Ð2ÐÜ %Ð&6Ó 7ˆÔØŒØ"4ÔØ×"×"Ð"Ü#Ü—’˜D×1Ñ1ÑD°^ÑDóˆDŒK÷ Ü%Ü—K’K × 5Ñ 5ÑH¸ÑHó�•	ð ×'Ñ'¨°Õ5à×#Ñ# H¨dÔ3Ø×#Ñ# F¨DÔ1à×ÑÖr    c                ó   <€ V ^8„  d   QhRR/# ©r   r   Nr9   )r   r   s   "€r   r   rk   Ý   ó   ø€ ÷ 'ñ ' $ñ 'r    c                óÎ   € V P                   '       dS   \        P                  ! V P                  4       V P                  e#   \        P
                  ! V P                  4       R # R # R # r"   )rf   r   Úones_ro   rg   Úzeros_r<   s   &r   rw   ÚLayerNorm.reset_parametersÝ   sB   € Ø×"×"Ð"Ü�JŠJ�t—{‘{Ô#Ø�y‰yÒ$Ü—’˜DŸI™IÖ&ñ %ñ #r    c                ó&   <€ V ^8„  d   QhRS[ RS[ /# r,   r.   )r   r   s   "€r   r   rk   ã   s   ø€ ÷ 
ñ 
™Vð 
©ñ 
r    c                ó„   € \         P                  ! WP                  V P                  V P                  V P
                  4      # r"   )r1   Ú
layer_normrd   ro   rg   re   r3   s   &&r   r4   ÚLayerNorm.forwardã   s.   € Ü�|Š|Ø×(Ñ(¨$¯+©+°t·y±yÀ$Ç(Á(ó
ð 	
r    c                ó    <€ V ^8„  d   QhRS[ /# r[   r\   )r   r   s   "€r   r   rk   è   ó   ø€ ÷ 
ñ 
™Cñ 
r    c                óZ   € R P                   ! R/ V P                  BRV P                  RJ/B # )zW{normalized_shape}, eps={eps}, elementwise_affine={elementwise_affine}, bias={use_bias}Úuse_biasNr9   ©r   r;   rg   r<   s   &r   r=   ÚLayerNorm.extra_reprè   ó<   € ðß$™fð%ñ VØ'+§}¡}ñVØ?C¿y¹yÐPTÐ?TòVð	
r    c                óR   <€ V ^8„  d   Qh/ S[ S[R3,          ;R&   S[;R&   S[;R&   # )r   .rd   re   rf   ©rs   r   r   rj   )r   r   s   "€r   r   rk   i   s9   ø‡ ‚ ñ^ ™C ˜H•oÑ%ñ_ ñ` 
�Jña ñb Ñòc r    )rg   rf   re   rd   ro   ©rd   re   rf   )çñhãˆµøä>TTNN©rE   rF   rG   rH   rI   rJ   r%   rw   r4   r=   rK   rL   rM   rN   rO   s   @@r   r   r   i   sE   ù‡ € ñKòZ F€M÷
 õ  ÷B'ð '÷
ð 
÷

ð 
÷ … r    c                   ó˜   a a€ ] tR t^ït oRt. ROtRRR/V3R lV 3R lllltV3R lR ltV3R lR	 ltV3R
 lR lt	V3R lt
RtVtV ;t# )r   a¾  Applies Group Normalization over a mini-batch of inputs.

This layer implements the operation as described in
the paper `Group Normalization <https://arxiv.org/abs/1803.08494>`__

.. math::
    y = \frac{x - \mathrm{E}[x]}{ \sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta

The input channels are separated into :attr:`num_groups` groups, each containing
``num_channels / num_groups`` channels. :attr:`num_channels` must be divisible by
:attr:`num_groups`. The mean and standard-deviation are calculated
separately over each group. :math:`\gamma` and :math:`\beta` are learnable
per-channel affine transform parameter vectors of size :attr:`num_channels` if
:attr:`affine` is ``True``.
The variance is calculated via the biased estimator, equivalent to
`torch.var(input, correction=0)`.

This layer uses statistics computed from input data in both training and
evaluation modes.

Args:
    num_groups (int): number of groups to separate the channels into
    num_channels (int): number of channels expected in input
    eps: a value added to the denominator for numerical stability. Default: 1e-5
    affine: a boolean value that when set to ``True``, this module
        has learnable per-channel affine parameters initialized to ones (for weights)
        and zeros (for biases). Default: ``True``
    bias: If set to ``False``, the layer will not learn an additive bias (only relevant if
        :attr:`affine` is ``True``). Default: ``True``

Shape:
    - Input: :math:`(N, C, *)` where :math:`C=\text{num\_channels}`
    - Output: :math:`(N, C, *)` (same shape as input)

Examples::

    >>> input = torch.randn(20, 6, 10, 10)
    >>> # Separate 6 channels into 3 groups
    >>> m = nn.GroupNorm(3, 6)
    >>> # Separate 6 channels into 6 groups (equivalent with InstanceNorm)
    >>> m = nn.GroupNorm(6, 6)
    >>> # Put all 6 channels into a single group (equivalent with LayerNorm)
    >>> m = nn.GroupNorm(1, 6)
    >>> # Activating the module
    >>> output = m(input)
Trg   c                ó<   <€ V ^8„  d   QhRS[ RS[ RS[RS[RS[RR/# )r   Ú
num_groupsÚnum_channelsre   Úaffinerg   r   N©r   r   rj   )r   r   s   "€r   r   ÚGroupNorm.__annotate__%  sG   ø€ ÷   ñ   áð  ñ ð  ñ ð	  ñ
 ð  ñ ð  ð 
ñ  r    c               óö  <€ R VRV/p\         S	V `  4        W!,          ^ 8w  d   \        RV RV R24      hWn        W n        W0n        W@n        V P                  '       dg   \        \        P                  ! V3/ VB 4      V n
        V'       d'   \        \        P                  ! V3/ VB 4      V n        M7V P                  RR4       M$V P                  RR4       V P                  RR4       V P                  4        R# )rm   rn   znum_channels (z#) must be divisible by num_groups (Ú)rg   Nro   )r$   r%   Ú
ValueErrorr“   r”   re   r•   r   rt   ru   ro   rg   rv   rw   )
r'   r“   r”   re   r•   rm   rn   rg   rx   r(   s
   &&&&&&&$ €r   r%   ÚGroupNorm.__init__%  sß   ø€ ð # F¨G°UÐ;ˆÜ‰ÑÔØÕ$¨Ô)ÜØ   Ð.QÐR\ÐQ]Ð]^Ð_óð ð %ŒØ(ÔØŒØŒØ�;�;ˆ;Ü#¤E§K¢K°Ñ$OÀÑ$OÓPˆDŒKßÜ%¤e§k¢k°,Ñ&QÀ.Ñ&QÓR�•	à×'Ñ'¨°Õ5à×#Ñ# H¨dÔ3Ø×#Ñ# F¨DÔ1à×ÑÖr    c                ó   <€ V ^8„  d   QhRR/# r{   r9   )r   r   s   "€r   r   r—   G  r|   r    c                óÎ   € V P                   '       dS   \        P                  ! V P                  4       V P                  e#   \        P
                  ! V P                  4       R # R # R # r"   )r•   r   r~   ro   rg   r   r<   s   &r   rw   ÚGroupNorm.reset_parametersG  s?   € Ø�;�;ˆ;Ü�JŠJ�t—{‘{Ô#Ø�y‰yÒ$Ü—’˜DŸI™IÖ&ñ %ñ r    c                ó&   <€ V ^8„  d   QhRS[ RS[ /# r,   r.   )r   r   s   "€r   r   r—   M  s   ø€ ÷ Vñ V™Vð V©ñ Vr    c                ó„   € \         P                  ! WP                  V P                  V P                  V P
                  4      # r"   )r1   Ú
group_normr“   ro   rg   re   r3   s   &&r   r4   ÚGroupNorm.forwardM  s'   € Ü�|Š|˜E§?¡?°D·K±KÀÇÁÈDÏHÉHÓUÐUr    c                ó    <€ V ^8„  d   QhRS[ /# r[   r\   )r   r   s   "€r   r   r—   P  r†   r    c                óZ   € R P                   ! R/ V P                  BRV P                  RJ/B # )zI{num_groups}, {num_channels}, eps={eps}, affine={affine}, bias={use_bias}rˆ   Nr9   r‰   r<   s   &r   r=   ÚGroupNorm.extra_reprP  r‹   r    c                óJ   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[;R&   S[;R&   # )r   r“   r”   re   r•   r–   )r   r   s   "€r   r   r—   ï   s>   ø‡ ‚ ñb �Oñc ñd Ññe ñf 
�Jñg ñh �Lòi r    )r•   rg   re   r”   r“   ro   )r“   r”   re   r•   )r�   TNNr�   rO   s   @@r   r   r   ï   sP   ù‡ € ñ-ò^ D€Mñ  ð ÷  ö   ÷D'ð '÷Vð V÷
ð 
÷C … r    c                   ó�   a a€ ] tR tRt oRt. ROtRV3R lV 3R llltV3R lR ltV3R lR ltV3R	 lR
 lt	V3R lt
RtVtV ;t# )r   iW  a  Applies Root Mean Square Layer Normalization over a mini-batch of inputs.

This layer implements the operation as described in
the paper `Root Mean Square Layer Normalization <https://arxiv.org/pdf/1910.07467.pdf>`__

.. math::
    y_i = \frac{x_i}{\mathrm{RMS}(x)} * \gamma_i, \quad
    \text{where} \quad \text{RMS}(x) = \sqrt{\epsilon + \frac{1}{n} \sum_{i=1}^{n} x_i^2}

The RMS is taken over the last ``D`` dimensions, where ``D``
is the dimension of :attr:`normalized_shape`. For example, if :attr:`normalized_shape`
is ``(3, 5)`` (a 2-dimensional shape), the RMS is computed over
the last 2 dimensions of the input.

Args:
    normalized_shape (int or list or torch.Size): input shape from an expected input
        of size

        .. math::
            [* \times \text{normalized\_shape}[0] \times \text{normalized\_shape}[1]
                \times \ldots \times \text{normalized\_shape}[-1]]

        If a single integer is used, it is treated as a singleton list, and this module will
        normalize over the last dimension which is expected to be of that specific size.
    eps (float, optional): a value added to the denominator for numerical stability.
        If not specified, uses the machine epsilon of the computation (opmath) type:
        fp16/bf16 and fp32 inputs use ``torch.finfo(torch.float32).eps``, while fp64
        inputs use ``torch.finfo(torch.float64).eps``. Default: ``None``
    elementwise_affine: a boolean value that when set to ``True``, this module
        has learnable per-element affine parameters initialized to ones (for weights). Default: ``True``.

Shape:
    - Input: :math:`(N, *)`
    - Output: :math:`(N, *)` (same shape as input)

Examples::

    >>> rms_norm = nn.RMSNorm([2, 3])
    >>> input = torch.randn(2, 2, 3)
    >>> rms_norm(input)

c                ó>   <€ V ^8„  d   QhRS[ RS[R,          RS[RR/# )r   rd   re   Nrf   r   rh   )r   r   s   "€r   r   ÚRMSNorm.__annotate__ˆ  s7   ø€ ÷  ñ  á"ð ñ �T�\ð ñ !ð	 ð 
ñ r    c                óv  <€ R VRV/p\         SV `  4        \        V\        P                  4      '       d   V3p\        V4      V n        W n        W0n        V P                  '       d1   \        \        P                  ! V P                  3/ VB 4      V n        MV P                  RR4       V P                  4        R# )rm   rn   ro   N)r$   r%   rp   rq   rr   rs   rd   re   rf   r   rt   ru   ro   rv   rw   )r'   rd   re   rf   rm   rn   rx   r(   s   &&&&&& €r   r%   ÚRMSNorm.__init__ˆ  s¡   ø€ ð # F¨G°UÐ;ˆÜ‰ÑÔÜÐ&¬×(8Ñ(8×9Ò9à 0Ð2ÐÜ %Ð&6Ó 7ˆÔØŒØ"4ÔØ×"×"Ð"Ü#Ü—’˜D×1Ñ1ÑD°^ÑDóˆD�Kð ×#Ñ# H¨dÔ3Ø×ÑÖr    c                ó   <€ V ^8„  d   QhRR/# r{   r9   )r   r   s   "€r   r   r©      s   ø€ ÷ $ñ $ $ñ $r    c                ón   € V P                   '       d#   \        P                  ! V P                  4       R# R# )zC
Resets parameters based on their initialization used in __init__.
N)rf   r   r~   ro   r<   s   &r   rw   ÚRMSNorm.reset_parameters   s%   € ð ×"×"Ð"Ü�JŠJ�t—{‘{Ö#ñ #r    c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# )r   Úxr   )rt   r   )r   r   s   "€r   r   r©   §  s'   ø€ ÷ Kñ K™Ÿ™ð K©%¯,©,ñ Kr    c                ón   € \         P                  ! WP                  V P                  V P                  4      # r0   )r1   Úrms_normrd   ro   re   )r'   r°   s   &&r   r4   ÚRMSNorm.forward§  s%   € ô �zŠz˜!×2Ñ2°D·K±KÀÇÁÓJÐJr    c                ó    <€ V ^8„  d   QhRS[ /# r[   r\   )r   r   s   "€r   r   r©   ­  s   ø€ ÷ 
ñ 
™Cñ 
r    c                ó:   € RP                   ! R/ V P                  B # )r8   zF{normalized_shape}, eps={eps}, elementwise_affine={elementwise_affine}r9   r:   r<   s   &r   r=   ÚRMSNorm.extra_repr­  s)   € ð
6ß6<±fð=ñ NØ?C¿}¹}ñNð	
r    c                ó`   <€ V ^8„  d   Qh/ S[ S[R3,          ;R&   S[R,          ;R&   S[;R&   # )r   .rd   Nre   rf   r�   )r   r   s   "€r   r   r©   W  s>   ø‡ ‚ ñZ ™C ˜H•oÑ%ñ[ ñ\ 
��Ññ] ñ^ Ñò_ r    )rf   re   rd   ro   rŽ   )NTNNr�   rO   s   @@r   r   r   W  sE   ù‡ € ñ)òV F€M÷
 õ  ÷0$ð $÷Kð K÷
ð 
÷m … r    )r
   r   r   r   r   )rq   rt   r   r   Útorch.nnr   r1   r   Útorch.nn.parameterr   Ú
_functionsr   rW   Úmoduler	   Ú__all__r
   r   Úlistri   r   r   r   r9   r    r   Ú<module>r¾      s   ðã ã ß ß *Ý (å 9Ý ò V€ô7S˜ô 7SôtS�Fô Sð8 ��c•�?˜TÕ!€ôC
�ô C
ôLe
�ô e
ôP]
ˆfö ]
r    