
    li!                     v    d dl Z d dlmZ d dlmZ d dlmZmZmZm	Z	m
Z
 ddlmZ ddlmZ  G d	 d
e          ZdS )    N)date)Decimal)DictListOptionalTupleUnion   )
SexLiteral   )BaseProviderc                       e Zd ZdZddee         deeeee	ef         f         fdZ
	 d	deee                  dee         deeeeeeef         ee         e	f         f         fdZdS )
Providerzc
    This provider is a collection of functions to generate personal profiles and identities.

    Nsexreturnc                    ||                      ddg          n|}|dk    r| j                                        }n|dk    r| j                                        }| j                                        ||| j                                        | j                                        | j                                        dS )zE
        Generates a basic profile with personal information
        NFM)usernamenamer   addressmail	birthdate)random_element	generatorname_female	name_male	user_namer   
free_emaildate_of_birth)selfr   sex_r   s       p/var/www/html/Pagina-Ingenieria-Requisitos/venv/lib/python3.11/site-packages/faker/providers/profile/__init__.pysimple_profilezProvider.simple_profile   s     36+t""C:...33;;>--//DDS[[>++--D0022~--//N--//5577
 
 	
    fieldsc                     g  j                                          j                                          j                                          j                                          j                                          j                                         fd                                         t          t          j        g dddg                                         fdt          d                     dd	                    D             d
}t          |fi  j                             |          }t!                    dk    r fd|                                D             }|S )z~
        Generates a complete profile.
        If "fields" is not empty, only the fields in the list will be returned
        N )ABABO+-c                 B    g | ]}j                                         S  )r   url).0_r!   s     r#   
<listcomp>z$Provider.profile.<locals>.<listcomp>4   s'    VVV**,,VVVr%      r      )jobcompanyssn	residencecurrent_locationblood_groupwebsiter   c                 $    i | ]\  }}|v 	||S r0   r0   )r2   kvr&   s      r#   
<dictcomp>z$Provider.profile.<locals>.<dictcomp>:   s$    ;;;$!QqF{{A{{{r%   )r   r7   r8   r9   r   latitude	longitudejoinr   list	itertoolsproductrange
random_intdictr$   lenitems)r!   r&   r   ds   ``  r#   profilezProvider.profile#   sR    >F >%%''~--//>%%''//11!%!8!8!:!:DN<T<T<V<V W774#6#6tI<MNcNcNcfikneo<p<p7q7q#r#rssVVVVeAtqRS?T?T6U6UVVV
 
 99dn33C8899v;;??;;;;!''));;;Ar%   )N)NN)__name__
__module____qualname____doc__r   r   r   strr	   r   r$   r   r   r   rN   r0   r%   r#   r   r      s         

 
(:"6 
$sERUW[]gRgLhGhBi 
 
 
 
& OS tCy)7?
7K	c5eGW$45tCy$FGG	H     r%   r   )rF   datetimer   decimalr   typingr   r   r   r   r	   r   r(   r   r   r0   r%   r#   <module>rW      s                    5 5 5 5 5 5 5 5 5 5 5 5 5 5                  1 1 1 1 1| 1 1 1 1 1r%   