+
    UBi                        R t ^ RIHt ^ RIHtHtHtHt ^RIH	t	 Rt
]
'       d   ^ RIHt ^ RIHt Rt R R	 ltR
 R ltR R ltR R ltR R lt]]]]].t  ! R R4      t ! R R]4      tR# )z
Stuff to translate curve segments to palette values (derived from
the corresponding code in GIMP, written by Federico Mena Quintero.
See the GIMP distribution for more information.)
)annotations)logpisinsqrt)o8F)Callable)IOg|=c               $    V ^8  d   QhRRRRRR/#    middlefloatposreturn )formats   "9/usr/lib/python3.14/site-packages/PIL/GimpGradientFile.py__annotate__r   $   s!     , ,5 ,u , ,    c                    W8:  d   V \         8  d   R # RV,          V ,          # W,
          pRV ,
          p V \         8  d   R# RRV,          V ,          ,           # )g              ?      ?)EPSILONr   r   s   &&r   linearr   $   sP    
}G9v%%lvGsV+++r   c               $    V ^8  d   QhRRRRRR/# r   r   )r   s   "r   r   r   3   s!     9 95 9u 9 9r   c                b    V\        R 4      \        \        V \        4      4      ,          ,          # )r   )r   maxr   r   s   &&r   curvedr   3   s"    3s8c#fg"67788r   c               $    V ^8  d   QhRRRRRR/# r   r   )r   s   "r   r   r   7   s&     E E EU Eu Er   c                    \        \        ) R ,          \        \        W4      ,          ,           4      R,           R ,          # )g       @r   )r   r   r   r   s   &&r   siner"   7   s,    "sb6&#6667#=DDr   c               $    V ^8  d   QhRRRRRR/# r   r   )r   s   "r   r   r   ;   s!     8 8e 8% 8E 8r   c                T    \        R \        W4      R ,
          ^,          ,
          4      # r   r   r   r   s   &&r   sphere_increasingr'   ;   s!    vf*S0Q6677r   c               $    V ^8  d   QhRRRRRR/# r   r   )r   s   "r   r   r   ?   s!     6 6e 6% 6E 6r   c                T    R \        R \        W4      ^,          ,
          4      ,
          # r%   r&   r   s   &&r   sphere_decreasingr*   ?   s!    cF6/144555r   c                  6    ] tR t^Gt$ RtR]R&   RR R lltRtR# )GradientFileNzblist[tuple[float, float, float, list[float], list[float], Callable[[float, float], float]]] | Nonegradientc                    V ^8  d   QhRRRR/# )r   entriesintr   ztuple[bytes, str]r   )r   s   "r   r   GradientFile.__annotate__V   s     ) )# )0A )r   c           	     	>   V P                   f   Q h. p^ pV P                   V,          w  rErgr\        V4       EF  p
W^,
          ,          pW[8  d#   V^,          pV P                   V,          w  rErgrK(  WT,
          pV\        8  d   V	! RR4      pM#V	! Wd,
          V,          W,
          V,          4      p\        \	        ^V^ ,          V^ ,          ,
          V,          V^ ,          ,           ,          R,           4      4      p\        \	        ^V^,          V^,          ,
          V,          V^,          ,           ,          R,           4      4      p\        \	        ^V^,          V^,          ,
          V,          V^,          ,           ,          R,           4      4      p\        \	        ^V^,          V^,          ,
          V,          V^,          ,           ,          R,           4      4      pVP                  W,           V,           V,           4       EK  	  RP                  V4      R3# )Nr   r   RGBA)r-   ranger   r   r0   appendjoin)selfr/   paletteixx0x1xmrgb0rgb1segmentixwscalergbas   &&                r   
getpaletteGradientFile.getpaletteV   s   }}(((*.--*;'$wAq[!A&a26--2C/$A7{S)A!|< 3stAwa0E9DGCDsJKLA3stAwa0E9DGCDsJKLA3stAwa0E9DGCDsJKLA3stAwa0E9DGCDsJKLA NN1519q=)+  . xx &((r   r   )   )__name__
__module____qualname____firstlineno__r-   __annotations__rH   __static_attributes__r   r   r   r,   r,   G   s      	 
	) )r   r,   c                  &    ] tR t^wtRtR R ltRtR# )GimpGradientFilez(File handler for GIMP's gradient format.c                    V ^8  d   QhRRRR/# )r   fpz	IO[bytes]r   Noner   )r   s   "r   r   GimpGradientFile.__annotate__z   s     D D9 D Dr   c           	     	   VP                  4       P                  R 4      '       g   Rp\        V4      hVP                  4       pVP                  R4      '       d   VP                  4       P                  4       p\	        V4      p. V n        \        V4       F  pVP                  4       P                  4       pVR,           Uu. uF  p\        V4      NK  	  ppV^ ,          V^,          rV^,          pVR,          pVR,          p\        \	        V^,          4      ,          p\	        V^,          4      pV^ 8w  d   Rp\        V4      hV P
                  P                  WWW34       K  	  R# u upi )s   GIMP Gradientznot a GIMP gradient files   Name: :N   N:      N:rZ   rX   Nzcannot handle HSV colour spaceN)readline
startswithSyntaxErrorstripr0   r-   r4   splitr   SEGMENTSOSErrorr5   )r7   rT   msglinecountr@   srA   rB   r:   r;   r<   r=   r>   r?   cspaces   &&              r   __init__GimpGradientFile.__init__z   s#   {{}''(899,Cc""{{} ??9%%;;=&&(DD	uA##%A#$S6*6aq6A*qT1Q41BS6DT7Ds1R5z*G2ZF{6cl"MM  ""D!BC! *s   E*)r-   N)rK   rL   rM   rN   __doc__rg   rP   r   r   r   rR   rR   w   s    2D Dr   rR   N)ri   
__future__r   mathr   r   r   r   _binaryr   TYPE_CHECKINGcollections.abcr   typingr	   r   r   r   r"   r'   r*   r`   r,   rR   r   r   r   <module>rp      sx    
 # # # (
 ,9E86 FD"35FG -) -)`"D| "Dr   