+
     °³jÀ  ã                   ó®   € ^ RI Ht ^ RIHtHtHtHt ^ RIt^ RIHt ^ RI	H
t ^ RIHt  ! R R]4      t ! R	 R
]4      t ! R R]4      t ! R R]4      tR# )é    )ÚSequence)ÚAnyÚCallableÚOptionalÚUnionN)Únn©Ú
transforms)Ú	Transformc                   óf   a a€ ] tR t^t oRtV3R lV 3R lltV3R lR ltV3R lR ltRtVt	V ;t
# )	ÚComposea_  Composes several transforms together.

This transform does not support torchscript.
Please, see the note below.

Args:
    transforms (list of ``Transform`` objects): list of transforms to compose.

Example:
    >>> transforms.Compose([
    >>>     transforms.CenterCrop(10),
    >>>     transforms.PILToTensor(),
    >>>     transforms.ConvertImageDtype(torch.float),
    >>> ])

.. note::
    In order to script the transformations, please use ``torch.nn.Sequential`` as below.

    >>> transforms = torch.nn.Sequential(
    >>>     transforms.CenterCrop(10),
    >>>     transforms.Normalize((0.485, 0.456, 0.406), (0.229, 0.224, 0.225)),
    >>> )
    >>> scripted_transforms = torch.jit.script(transforms)

    Make sure to use only scriptable transformations, i.e. that work with ``torch.Tensor``, does not require
    `lambda` functions or ``PIL.Image``.

c                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# ©é   r
   ÚreturnN©r   r   )ÚformatÚ__classdict__s   "€Úe/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchvision/transforms/v2/_container.pyÚ__annotate__ÚCompose.__annotate__)   ó    ø€ ÷ %ñ %¡8©HÕ#5ð %¸$ñ %ó    c                ó˜   <€ \         SV `  4        \        V\        4      '       g   \	        R 4      hV'       g   \        R4      hWn        R# ©ú5Argument transforms should be a sequence of callablesúPass at least one transformN)ÚsuperÚ__init__Ú
isinstancer   Ú	TypeErrorÚ
ValueErrorr
   ©Úselfr
   Ú	__class__s   &&€r   r   ÚCompose.__init__)   s;   ø€ Ü‰ÑÔÜ˜*¤h×/Ò/ÜÐSÓTÐTßÜÐ:Ó;Ð;Ø$Žr   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# ©r   Úinputsr   ©r   )r   r   s   "€r   r   r   1   s   ø€ ÷ ñ ™sð ¡sñ r   c                ón   € \        V4      ^8„  pV P                   F  pV! V!  pV'       d   TMV3pK  	  X# ©é   )Úlenr
   ©r$   r)   Úneeds_unpackingÚ	transformÚoutputss   &*   r   ÚforwardÚCompose.forward1   s9   € Ü˜f›+¨™/ˆØŸœˆIÙ Ñ(ˆGß /‘W°g°ZŠFñ )ð ˆr   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   ©Ústr)r   r   s   "€r   r   r   8   ó   ø€ ÷ (ñ (™Cñ (r   c                óv   € . pV P                    F  pVP                  R V 24       K  	  RP                  V4      # ©z    Ú
©r
   ÚappendÚjoin©r$   Úformat_stringÚts   &  r   Ú
extra_reprÚCompose.extra_repr8   ó8   € ØˆØ—”ˆAØ× Ñ  4¨ s Ö,ñ !à�y‰y˜Ó'Ð'r   r	   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r3   rC   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r%   r   s   @@r   r   r      s-   ù‡ € ñ÷:%ó %÷ð ÷(÷ (ð (r   r   c                   ó”   a a€ ] tR t^?t oRt]P                  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R
tVtV ;t# )ÚRandomApplya¶  Apply randomly a list of transformations with a given probability.

.. note::
    In order to script the transformation, please use ``torch.nn.ModuleList`` as input instead of list/tuple of
    transforms as shown below:

    >>> transforms = transforms.RandomApply(torch.nn.ModuleList([
    >>>     transforms.ColorJitter(),
    >>> ]), p=0.3)
    >>> scripted_transforms = torch.jit.script(transforms)

    Make sure to use only scriptable transformations, i.e. that work with ``torch.Tensor``, does not require
    `lambda` functions or ``PIL.Image``.

Args:
    transforms (sequence or torch.nn.Module): list of transformations
    p (float): probability of applying the list of transforms
c                ód   <€ V ^8„  d   QhRS[ S[S[,          S[P                  3,          RS[RR/# ©r   r
   Úpr   N)r   r   r   r   Ú
ModuleListÚfloat)r   r   s   "€r   r   ÚRandomApply.__annotate__U   s7   ø€ ÷ ñ ¡5©±(Õ);¹R¿]¹]Ð)JÕ#Kð ÑPUð Ð`dñ r   c                óü   <€ \         SV `  4        \        V\        \        P
                  34      '       g   \        R 4      hV'       g   \        R4      hWn        RTu;8:  d   R8:  g   M \        R4      hW n	        R# )zJArgument transforms should be a sequence of callables or a `nn.ModuleList`r   g        g      ð?z@`p` should be a floating point value in the interval [0.0, 1.0].N)
r   r   r    r   r   rT   r!   r"   r
   rS   )r$   r
   rS   r%   s   &&&€r   r   ÚRandomApply.__init__U   s`   ø€ Ü‰ÑÔä˜*¤x´·±Ð&?×@Ò@ÜÐhÓiÐißÜÐ:Ó;Ð;Ø$Œà�q–˜C–ÜÐ_Ó`Ð`ØŽr   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# r6   )Údictr8   r   )r   r   s   "€r   r   rV   b   s   ø€ ÷ <ñ <±$±s¹C°xµ.ñ <r   c                ó6   € R V P                   RV P                  /# ©r
   rS   r\   )r$   s   &r   Ú _extract_params_for_v1_transformÚ,RandomApply._extract_params_for_v1_transformb   s   € Ø˜dŸo™o¨s°D·F±FÐ;Ð;r   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# r(   r*   )r   r   s   "€r   r   rV   e   s   ø€ ÷ 	ñ 	™sð 	¡sñ 	r   c                óÞ   € \        V4      ^8„  p\        P                  ! ^4      V P                  8¼  d   V'       d   V# V^ ,          # V P                   F  pV! V!  pV'       d   TMV3pK  	  X# r,   )r.   ÚtorchÚrandrS   r
   r/   s   &*   r   r3   ÚRandomApply.forwarde   s^   € Ü˜f›+¨™/ˆä�:Š:�a‹=˜DŸF™FÔ"ß,�6Ð;°&¸µ)Ð;àŸœˆIÙ Ñ(ˆGß /‘W°g°ZŠFñ )ð ˆr   c                ó    <€ V ^8„  d   QhRS[ /# r6   r7   )r   r   s   "€r   r   rV   p   r9   r   c                óv   € . pV P                    F  pVP                  R V 24       K  	  RP                  V4      # r;   r=   r@   s   &  r   rC   ÚRandomApply.extra_reprp   rE   r   ©rS   r
   )g      à?)rF   rG   rH   rI   rJ   Ú_transformsrP   Ú_v1_transform_clsr   r]   r3   rC   rK   rL   rM   rN   s   @@r   rP   rP   ?   sE   ù‡ € ñð& $×/Ñ/Ð÷õ ÷<ð <÷	ð 	÷(÷ (ð (r   rP   c                   óX   a a€ ] tR t^wt oRtRV3R lV 3R llltV3R lR ltRtVtV ;t	# )ÚRandomChoicea–  Apply single transformation randomly picked from a list.

This transform does not support torchscript.

Args:
    transforms (sequence or torch.nn.Module): list of transformations
    p (list of floats or None, optional): probability of each transform being picked.
        If ``p`` doesn't sum to 1, it is automatically normalized. If ``None``
        (default), all transforms have the same probability.
c                óZ   <€ V ^8„  d   QhRS[ S[,          RS[S[S[,          ,          RR/# rR   )r   r   r   ÚlistrU   )r   r   s   "€r   r   ÚRandomChoice.__annotate__ƒ   s7   ø€ ÷ .ñ .á™XÕ&ð.ñ ‘D™•KÕ ð.ð 
ñ	.r   c                óš  <€ \        V\        4      '       g   \        R 4      hV'       g   \        R4      hVf   ^.\	        V4      ,          pM<\	        V4      \	        V4      8w  d$   \        R\	        V4       R\	        V4       24      h\
        SV `  4        Wn        \        V4      pV Uu. uF  qDV,          NK  	  upV n	        R# u upi )r   r   Nz4Length of p doesn't match the number of transforms: z != )
r    r   r!   r"   r.   r   r   r
   ÚsumrS   )r$   r
   rS   ÚtotalÚprobr%   s   &&&  €r   r   ÚRandomChoice.__init__ƒ   s²   ø€ ô
 ˜*¤h×/Ò/ÜÐSÓTÐTßÜÐ:Ó;Ð;ØŠ9Ø�”c˜*“oÕ%‰AÜ�‹V”s˜:“Ô&ÜÐSÔTWÐXYÓTZÐS[Ð[_Ô`cÐdnÓ`oÐ_pÐqÓrÐrä‰ÑÔà$ŒÜ�A“ˆÙ+,Ó-©1 4˜—,�,©1Ñ-ˆŽùÒ-s   Â-Cc                ó&   <€ V ^8„  d   QhRS[ RS[ /# r(   r*   )r   r   s   "€r   r   rn   —   s   ø€ ÷ "ñ "™sð "¡sñ "r   c                ó°   € \        \        P                  ! \        P                  ! V P                  4      ^4      4      pV P
                  V,          pV! V!  # r,   )Úintra   ÚmultinomialÚtensorrS   r
   )r$   r)   Úidxr1   s   &*  r   r3   ÚRandomChoice.forward—   s?   € Ü”%×#Ò#¤E§L¢L°·±Ó$8¸!Ó<Ó=ˆØ—O‘O CÕ(ˆ	Ù˜&Ñ!Ð!r   rg   )N©
rF   rG   rH   rI   rJ   r   r3   rK   rL   rM   rN   s   @@r   rk   rk   w   s#   ù‡ € ñ	÷.õ .÷("÷ "ð "r   rk   c                   óT   a a€ ] tR t^�t oRtV3R lV 3R lltV3R lR ltRtVtV ;t	# )ÚRandomOrderz®Apply a list of transformations in a random order.

This transform does not support torchscript.

Args:
    transforms (sequence or torch.nn.Module): list of transformations
c                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# r   r   )r   r   s   "€r   r   ÚRandomOrder.__annotate__¦   r   r   c                ó˜   <€ \        V\        4      '       g   \        R 4      hV'       g   \        R4      h\        SV `  4        Wn        R# r   )r    r   r!   r"   r   r   r
   r#   s   &&€r   r   ÚRandomOrder.__init__¦   s;   ø€ Ü˜*¤h×/Ò/ÜÐSÓTÐTßÜÐ:Ó;Ð;Ü‰ÑÔØ$Žr   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# r(   r*   )r   r   s   "€r   r   r   ®   s   ø€ ÷ ñ ™sð ¡sñ r   c                óÎ   € \        V4      ^8„  p\        P                  ! \        V P                  4      4       F)  pV P                  V,          pV! V!  pV'       d   TMV3pK+  	  X# r,   )r.   ra   Úrandpermr
   )r$   r)   r0   ry   r1   r2   s   &*    r   r3   ÚRandomOrder.forward®   sU   € Ü˜f›+¨™/ˆÜ—>’>¤# d§o¡oÓ"6Ö7ˆCØŸ™¨Õ,ˆIÙ Ñ(ˆGß /‘W°g°ZŠFñ 8ð ˆr   r	   r{   rN   s   @@r   r}   r}   �   s#   ù‡ € ñ÷%ó %÷÷ ð r   r}   )Úcollections.abcr   Útypingr   r   r   r   ra   r   Útorchvisionr
   rh   Útorchvision.transforms.v2r   r   rP   rk   r}   © r   r   Ú<module>r‹      sM   ðÝ $ß 1Ó 1ã å Ý 1Ý /ô1(ˆiô 1(ôh5(�)ô 5(ôp#"�9ô #"ôL�)ö r   