Ë
    z¾jf  ã                  ó–   — d Z ddlmZ ddlmZmZmZmZ ddlm	Z	 dZ
	 d„ Zd„ Zd	„ Zd
„ Zd„ ZeeeeegZ	  G d„ d«      Z G d„ de«      Zy)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é   )Úo8g»½×Ùß|Û=c                ón   — || k  r| t         k  ryd|z  | z  S || z
  }d| z
  } | t         k  rydd|z  | z  z   S )Ng        ç      à?ç      ð?)ÚEPSILON©ÚmiddleÚposs     úW/var/www/html/candidateportal/venv/lib/python3.12/site-packages/PIL/GimpGradientFile.pyÚlinearr      sT   € Ø
ˆf‚}Ø”GÒØà˜‘9˜vÑ%Ð%à�F‰lˆØ�v‘ˆØ”GÒØà˜˜s™ VÑ+Ñ+Ð+ó    c                óR   — |t        d«      t        t        | t        «      «      z  z  S )Nr   )r   Úmaxr   r   s     r   Úcurvedr   .   s"   € Ø”3�s“8œc¤# f¬gÓ"6Ó7Ñ7Ñ8Ð8r   c                ó\   — t        t         dz  t        t        | |«      z  z   «      dz   dz  S )Ng       @r   )r   r   r   r   s     r   Úsiner   2   s.   € Ü”"��s‘œb¤6¨&°#Ó#6Ñ6Ñ6Ó7¸#Ñ=ÀÑDÐDr   c                ó>   — t        dt        | |«      dz
  dz  z
  «      S ©Nr   é   ©r   r   r   s     r   Úsphere_increasingr   6   s#   € Ü�”v˜f cÓ*¨SÑ0°QÑ6Ñ6Ó7Ð7r   c                ó>   — dt        dt        | |«      dz  z
  «      z
  S r   r   r   s     r   Úsphere_decreasingr   :   s#   € Ø”�cœF 6¨3Ó/°1Ñ4Ñ4Ó5Ñ5Ð5r   c                  ó   — e Zd ZdZdd„Zy)ÚGradientFileNc           	     óÊ  — g }d}| j                   |   \  }}}}}}	t        |«      D �](  }
|
|dz
  z  }||k  r!|dz  }| j                   |   \  }}}}}}	||k  rŒ!||z
  }|t        k  r
 |	dd«      }n |	||z
  |z  ||z
  |z  «      }t        t	        d|d   |d   z
  |z  |d   z   z  dz   «      «      }t        t	        d|d   |d   z
  |z  |d   z   z  dz   «      «      }t        t	        d|d   |d   z
  |z  |d   z   z  dz   «      «      }t        t	        d|d   |d   z
  |z  |d   z   z  dz   «      «      }|j                  ||z   |z   |z   «       �Œ+ dj                  |«      dfS )	Nr   r   r   éÿ   r   é   r   ÚRGBA)ÚgradientÚranger   r	   ÚintÚappendÚjoin)ÚselfÚentriesÚpaletteÚixÚx0Úx1ÚxmÚrgb0Úrgb1ÚsegmentÚiÚxÚwÚscaleÚrÚgÚbÚas                     r   Ú
getpalettezGradientFile.getpaletteE   s¸  € ØˆàˆØ*.¯-©-¸Ñ*;Ñ'ˆˆB��D˜$ ä�w“ó 	*ˆAØ�W˜q‘[Ñ!ˆAà�q’&Ø�a‘�Ø26·-±-ÀÑ2CÑ/��B˜˜D $¨ð �q“&ð �R‘ˆAà”7Š{Ù  SÓ)‘á  b¡¨A¡°°B±¸!©|Ó<�ô ”3�s˜t A™w¨¨a©Ñ0°EÑ9¸DÀ¹GÑCÑDÀsÑJÓKÓLˆAÜ”3�s˜t A™w¨¨a©Ñ0°EÑ9¸DÀ¹GÑCÑDÀsÑJÓKÓLˆAÜ”3�s˜t A™w¨¨a©Ñ0°EÑ9¸DÀ¹GÑCÑDÀsÑJÓKÓLˆAÜ”3�s˜t A™w¨¨a©Ñ0°EÑ9¸DÀ¹GÑCÑDÀsÑJÓKÓLˆAð �N‰N˜1˜q™5 1™9 q™=Ö)ð+	*ð. �x‰x˜Ó  &Ð(Ð(r   )é   )Ú__name__Ú
__module__Ú__qualname__r&   r=   © r   r   r!   r!   B   s   „ Ø€Hô)r   r!   c                  ó   — e Zd ZdZd„ Zy)ÚGimpGradientFilez(File handler for GIMP's gradient format.c           	     óV  — |j                  «       d d dk7  rd}t        |«      ‚|j                  «       }|j                  d«      r|j                  «       j                  «       }t	        |«      }g }t        |«      D ]   }|j                  «       j                  «       }|d d D �cg c]  }t        |«      ‘Œ }	}|	d   |	d   }}
|	d   }|	d	d
 }|	d
d }t        t	        |d   «         }t	        |d   «      }|dk7  rd}t        |«      ‚|j                  |
|||||f«       Œ¢ || _        y c c}w )Né   s   GIMP Gradientznot a GIMP gradient files   Name: é   r   r   r   r$   é   é   zcannot handle HSV colour space)ÚreadlineÚSyntaxErrorÚ
startswithÚstripr(   r'   ÚsplitÚfloatÚSEGMENTSÚOSErrorr)   r&   )r+   ÚfpÚmsgÚlineÚcountr&   r5   Úsr6   r7   r/   r0   r1   r2   r3   r4   Úcspaces                    r   Ú__init__zGimpGradientFile.__init__h   s3  € Ø�;‰;‹=˜˜"ÐÐ!1Ò1Ø,ˆCÜ˜cÓ"Ð"à�{‰{‹}ˆð �?‰?˜9Ô%Ø—;‘;“=×&Ñ&Ó(ˆDä�D“	ˆàˆä�u“ò 	?ˆAØ—‘“×#Ñ#Ó%ˆAØ#$ S b 6Ö*˜a”�q•Ð*ˆAÐ*à�q‘T˜1˜Q™4�ˆBØ�1‘ˆBØ�Q�q�6ˆDØ�Q�r�7ˆDäœs 1 R¡5›zÑ*ˆGÜ˜˜2™“ZˆFà˜Š{Ø6�Ü˜c“lÐ"à�O‰O˜R  R¨¨t°WÐ=Õ>ð!	?ð$ !ˆ�ùò! +s   Â#D&N)r?   r@   rA   Ú__doc__rX   rB   r   r   rD   rD   e   s
   „ Ù2ó!!r   rD   N)rY   Ú
__future__r   Úmathr   r   r   r   Ú_binaryr	   r   r   r   r   r   r   rP   r!   rD   rB   r   r   ú<module>r]      sh   ðñ õ
 #ç #Ó #å à
€Ø ò,ò9òEò8ò6ð �F˜DÐ"3Ð5FÐG€Ø ÷ )ñ  )ôF$!�|õ $!r   