509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    Žý’`S  ã                   @   s¼  d Z ddlmZ ddlmZmZ ddlmZmZ ddlm	Z	 ddl
mZ ddlmZmZ ddlmZmZ ed	d
ƒZeddƒZeddƒZdZeddƒZeddƒZeddƒZeddƒZeddƒZeddƒZdZeddƒZeddƒZeddƒZeddƒZed d!ƒZed"d#ƒZ ed$d%ƒZ!ed&d'ƒZ"ed(d)ƒZ#ed*d+ƒZ$ed,d-ƒZ%ed.d-ƒZ&ed/d0ƒZ'ed1d0ƒZ(ed2d3ƒZ)ed4dƒZ*ed5d6ƒZ+ed7d8ƒZ,ed9d:ƒZ-ed;d<ƒZ.ed=dƒZ/ed>dƒZ0ed?dƒZ1ed@dAƒ Z2Z3edBdCƒ Z4Z5edDd!ƒZ6edEdƒZ7edFdGƒZ8edHdIƒZ9edJdKƒZ:edLdMƒZ;dNZ<dOZ=G dPdQ„ dQe>ƒZ?G dRdS„ dSe@ƒZAG dTdU„ dUeƒZBG dVdW„ dWeBƒZCG dXdY„ dYeCƒZDG dZd[„ d[eCƒZEG d\d]„ d]e>ƒZFG d^d_„ d_eFƒZGd`da„ ZHG dbdc„ dceFƒZIG ddde„ deeIƒZJdS )fz? This module contains the error-related constants and classes. é    )Úabsolute_import)ÚdefaultdictÚ
namedtuple)ÚcopyÚdeepcopy)Úwraps)Úpformat)ÚPYTHON_VERSIONÚMutableMapping)Úcompare_paths_ltÚquote_stringÚErrorDefinitionz
code, ruleNé   údocument is missingé   Zrequiredé   é   Zdependenciesé   é   Zexcludesé!   ú''{0}' is not a document, must be a dicté"   Úemptyé#   Znullableé$   Útypeé%   Úschemaé&   Úitemsé'   Z	minlengthé(   Z	maxlengthéA   ZregexéB   ÚminéC   ÚmaxéD   ZallowedéE   éF   Z	forbiddenéG   éH   Úcontainsé`   éa   Zcoerceéb   Zrename_handleréc   Úreadonlyéd   Zdefault_setteré€   é�   é‚   éƒ   Z	keysrulesé„   Zvaluesrulesé�   é�   é‘   Znoneofé’   Zoneofé“   Zanyofé”   Zallofz0schema definition for field '{0}' must be a dictzvalidation schema missingc                   @   s€   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Ze	dd„ ƒZ
e	dd„ ƒZe	dd„ ƒZe	dd„ ƒZe	dd„ ƒZe	dd„ ƒZdS )ÚValidationErrorz:A simple class to store and query basic error information.c                 C   s.   || _ || _|| _|| _|| _|| _|| _d S ©N)Údocument_pathÚschema_pathÚcodeÚruleÚ
constraintÚvalueÚinfo)Úselfr@   rA   rB   rC   rD   rE   rF   © rH   ú@/opt/alt/python38/lib/python3.8/site-packages/cerberus/errors.pyÚ__init__^   s    zValidationError.__init__c                 C   s   t | ƒt |ƒkS )z:Assumes the errors relate to the same document and schema.)Úhash©rG   ÚotherrH   rH   rI   Ú__eq__q   s    zValidationError.__eq__c                 C   s   t | jƒt | jƒA t | jƒA S )z>Expects that all other properties are transitively determined.)rK   r@   rA   rB   ©rG   rH   rH   rI   Ú__hash__u   s    zValidationError.__hash__c                 C   s,   | j |j krt| j |j ƒS t| j|jƒS d S r?   )r@   r   rA   rL   rH   rH   rI   Ú__lt__y   s    zValidationError.__lt__c              
   C   s>   dj | jjtt| ƒƒ| j| jt| jƒt| j	ƒt| j
ƒ| jd�S )Nz‘{class_name} @ {memptr} ( document_path={document_path},schema_path={schema_path},code={code},constraint={constraint},value={value},info={info} ))Ú
class_nameZmemptrr@   rA   rB   rD   rE   rF   )ÚformatÚ	__class__Ú__name__ÚhexÚidr@   rA   rB   r   rD   rE   rF   rO   rH   rH   rI   Ú__repr__   s    
òÿzValidationError.__repr__c                 C   s   | j r| jd S dS )zX
        A list that contains the individual errors of a bulk validation error.
        r   N)Úis_group_errorrF   rO   rH   rH   rI   Úchild_errors“   s    zValidationError.child_errorsc                 C   s@   | j s
dS ttƒ}| jD ]"}|jt| jƒ }||  |¡ q|S )z�
        Dictionary with errors of an \*of-rule mapped to the index of the definition it
        occurred in. Returns :obj:`None` if not applicable.
        N)Úis_logic_errorr   ÚlistrZ   rA   ÚlenÚappend)rG   ÚresultÚerrorÚirH   rH   rI   Údefinitions_errorsš   s    
z"ValidationError.definitions_errorsc                 C   s   | j r| j d S dS dS )z6Field of the contextual mapping, possibly :obj:`None`.éÿÿÿÿN)r@   rO   rH   rH   rI   Úfield©   s    
zValidationError.fieldc                 C   s   t | jtj@ ƒS )z(``True`` for errors of bulk validations.)ÚboolrB   ÚERROR_GROUPrO   rH   rH   rI   rY   ±   s    zValidationError.is_group_errorc                 C   s   t | jtjtj @ ƒS )z[
        ``True`` for validation errors against different schemas with \*of-rules.
        )re   rB   ÚLOGICALrf   rO   rH   rH   rI   r[   ¶   s    zValidationError.is_logic_errorc                 C   s   t | jtj@ ƒS )z"``True`` for normalization errors.)re   rB   ÚNORMALIZATIONrO   rH   rH   rI   Úis_normalization_error½   s    z&ValidationError.is_normalization_errorN)rU   Ú
__module__Ú__qualname__Ú__doc__rJ   rN   rP   rQ   rX   ÚpropertyrZ   rb   rd   rY   r[   ri   rH   rH   rH   rI   r>   [   s$   




r>   c                   @   s   e Zd ZdZdd„ ZdS )Ú	ErrorListz´
    A list for :class:`~cerberus.errors.ValidationError` instances that can be queried
    with the ``in`` keyword for a particular :class:`~cerberus.errors.ErrorDefinition`.
    c                    s*   t |tƒst‚|j‰ t‡ fdd„| D ƒƒS )Nc                 3   s   | ]}|j ˆ kV  qd S r?   )rB   )Ú.0Úx©Zwanted_coderH   rI   Ú	<genexpr>Î   s     z)ErrorList.__contains__.<locals>.<genexpr>)Ú
isinstancer   Ú	TypeErrorrB   Úany)rG   Zerror_definitionrH   rq   rI   Ú__contains__É   s    
zErrorList.__contains__N)rU   rj   rk   rl   rv   rH   rH   rH   rI   rn   Ã   s   rn   c                   @   s€   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zedd„ ƒZedd„ ƒZdd„ Zdd„ ZdS )ÚErrorTreeNode)ÚdescendantsÚerrorsÚparent_nodeÚpathÚ	tree_rootc                 C   s8   || _ | j j| _|d | j jd … | _tƒ | _i | _d S ©Nr   )rz   r|   Údepthr{   rn   ry   rx   )rG   r{   rz   rH   rH   rI   rJ   Ô   s
    
zErrorTreeNode.__init__c                 C   s"   t |tƒr|| jkS || jkS d S r?   )rs   r   ry   rx   )rG   ÚitemrH   rH   rI   rv   Û   s    

zErrorTreeNode.__contains__c                 C   s   | j |= d S r?   ©rx   )rG   ÚkeyrH   rH   rI   Ú__delitem__á   s    zErrorTreeNode.__delitem__c                 C   s
   t | jƒS r?   )Úiterry   rO   rH   rH   rI   Ú__iter__ä   s    zErrorTreeNode.__iter__c                 C   s>   t |tƒr.| jD ]}|j|jkr|  S qd S | j |¡S d S r?   )rs   r   ry   rB   rx   Úget)rG   r   r`   rH   rH   rI   Ú__getitem__ç   s    


zErrorTreeNode.__getitem__c                 C   s
   t | jƒS r?   )r]   ry   rO   rH   rH   rI   Ú__len__ð   s    zErrorTreeNode.__len__c                 C   s   |   ¡ S r?   )Ú__str__rO   rH   rH   rI   rX   ó   s    zErrorTreeNode.__repr__c                 C   s   || j |< d S r?   r€   )rG   r�   rE   rH   rH   rI   Ú__setitem__ö   s    zErrorTreeNode.__setitem__c                 C   s   t | jƒd t | jƒ S )Nú,)Ústrry   rx   rO   rH   rH   rI   rˆ   ù   s    zErrorTreeNode.__str__c                 C   s
   t | jƒS r?   )r]   r{   rO   rH   rH   rI   r~   ü   s    zErrorTreeNode.depthc                 C   s   | j jS r?   )r|   Ú	tree_typerO   rH   rH   rI   rŒ      s    zErrorTreeNode.tree_typec                 C   sŠ   |   |¡}|| j }|| jkr,t|| ƒ| |< | | }t|ƒ| jd kr||j |¡ |j ¡  |jr†|j	D ]}| j
 |¡ qhn
| |¡ d S r}   )Ú	_path_of_r~   rx   rw   r]   ry   r^   ÚsortrY   rZ   r|   Úadd)rG   r`   Z
error_pathr�   ÚnodeÚchild_errorrH   rH   rI   r�     s    




zErrorTreeNode.addc                 C   s   t || jd ƒS )NÚ_path)ÚgetattrrŒ   ©rG   r`   rH   rH   rI   r�     s    zErrorTreeNode._path_of_N)rU   rj   rk   Ú	__slots__rJ   rv   r‚   r„   r†   r‡   rX   r‰   rˆ   rm   r~   rŒ   r�   r�   rH   rH   rH   rI   rw   Ñ   s    	

rw   c                       s:   e Zd ZdZddd„Z‡ fdd„Zdd„ Zd	d
„ Z‡  ZS )Ú	ErrorTreezw
    Base class for :class:`~cerberus.errors.DocumentErrorTree` and
    :class:`~cerberus.errors.SchemaErrorTree`.
    rH   c                 C   s8   d | _ | | _d| _tƒ | _i | _|D ]}|  |¡ q$d S )NrH   )rz   r|   r{   rn   ry   rx   r�   ©rG   ry   r`   rH   rH   rI   rJ      s    zErrorTree.__init__c                    s6   |   |¡s"| j |¡ | j ¡  ntt| ƒ |¡ dS )zl
        Add an error to the tree.

        :param error: :class:`~cerberus.errors.ValidationError`
        N)r�   ry   r^   rŽ   Úsuperr–   r�   r”   ©rT   rH   rI   r�   )  s    
zErrorTree.addc                 C   s"   |   |¡}|dk	r|jS tƒ S dS )z«
        Returns all errors for a particular path.

        :param path: :class:`tuple` of :term:`hashable` s.
        :rtype: :class:`~cerberus.errors.ErrorList`
        N)Úfetch_node_fromry   rn   )rG   r{   r�   rH   rH   rI   Úfetch_errors_from5  s    
zErrorTree.fetch_errors_fromc                 C   s&   | }|D ]}|| }|dkr q"q|S )z¦
        Returns a node for a path.

        :param path: Tuple of :term:`hashable` s.
        :rtype: :class:`~cerberus.errors.ErrorTreeNode` or :obj:`None`
        NrH   )rG   r{   Úcontextr�   rH   rH   rI   rš   B  s    zErrorTree.fetch_node_from)rH   )	rU   rj   rk   rl   rJ   r�   r›   rš   Ú__classcell__rH   rH   r™   rI   r–     s
   
	r–   c                   @   s   e Zd ZdZdZdS )ÚDocumentErrorTreezv
    Implements a dict-like class to query errors by indexes following the structure of a
    validated document.
    ZdocumentN©rU   rj   rk   rl   rŒ   rH   rH   rH   rI   rž   Q  s   rž   c                   @   s   e Zd ZdZdZdS )ÚSchemaErrorTreezq
    Implements a dict-like class to query errors by indexes following the structure of
    the used schema.
    r   NrŸ   rH   rH   rH   rI   r    Z  s   r    c                   @   sP   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dd„ Z
dd„ ZdS )ÚBaseErrorHandlerziBase class for all error handlers.
    Subclasses are identified as error-handlers with an instance-test.c                 O   s   dS )z%Optionally initialize a new instance.NrH   ©rG   ÚargsÚkwargsrH   rH   rI   rJ   g  s    zBaseErrorHandler.__init__c                 C   s   t ‚dS )a,  
        Returns errors in a handler-specific format.

        :param errors: An object containing the errors.
        :type errors: :term:`iterable` of
                      :class:`~cerberus.errors.ValidationError` instances or a
                      :class:`~cerberus.Validator` instance
        N©ÚNotImplementedError©rG   ry   rH   rH   rI   Ú__call__k  s    	zBaseErrorHandler.__call__c                 C   s   t ‚dS )z5Be a superhero and implement an iterator over errors.Nr¥   rO   rH   rH   rI   r„   v  s    zBaseErrorHandler.__iter__c                 C   s   t ‚dS )z´
        Add an error to the errors' container object of a handler.

        :param error: The error to add.
        :type error: :class:`~cerberus.errors.ValidationError`
        Nr¥   r”   rH   rH   rI   r�   z  s    zBaseErrorHandler.addc                 C   s   dS )zò
        Optionally emits an error in the handler's format to a stream. Or light a LED,
        or even shut down a power plant.

        :param error: The error to emit.
        :type error: :class:`~cerberus.errors.ValidationError`
        NrH   r”   rH   rH   rI   Úemitƒ  s    zBaseErrorHandler.emitc                 C   s   dS )z�
        Gets called when a validation ends.

        :param validator: The calling validator.
        :type validator: :class:`~cerberus.Validator`
        NrH   ©rG   Z	validatorrH   rH   rI   Úend�  s    zBaseErrorHandler.endc                 C   s   |D ]}|   |¡ qdS )zã
        Adds all errors to the handler's container object.

        :param errors: The errors to add.
        :type errors: :term:`iterable` of
                      :class:`~cerberus.errors.ValidationError` instances
        N)r�   r—   rH   rH   rI   Úextend–  s    zBaseErrorHandler.extendc                 C   s   dS )zŸ
        Gets called when a validation starts.

        :param validator: The calling validator.
        :type validator: :class:`~cerberus.Validator`
        NrH   rª   rH   rH   rI   Ústart¡  s    zBaseErrorHandler.startN)rU   rj   rk   rl   rJ   r¨   r„   r�   r©   r«   r¬   r­   rH   rH   rH   rI   r¡   c  s   	
	r¡   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚToyErrorHandlerc                 O   s   t dƒ‚d S )NzThis is not supposed to happen.)ÚRuntimeErrorr¢   rH   rH   rI   r¨   ¬  s    zToyErrorHandler.__call__c                 C   s   d S r?   rH   rO   rH   rH   rI   Úclear¯  s    zToyErrorHandler.clearN)rU   rj   rk   r¨   r°   rH   rH   rH   rI   r®   «  s   r®   c                    s$   t ˆ ƒ‡ fdd„ƒ}tdk r |S ˆ S )zùCerberus error messages expect regular binary strings.
    If unicode is used in a ValidationError message can't be printed.

    This decorator ensures that if legacy Python is used unicode
    strings are encoded before passing to a function.
    c                    sV   dd„ }t |ƒ}||jƒ|_||jƒ|_||jƒ|_||jƒ|_||jƒ|_ˆ | |ƒS )Nc                 S   s   t | tƒr|  d¡S | S )z1Helper encoding unicode strings into binary utf-8zutf-8)rs   ZunicodeÚencode)rE   rH   rH   rI   Ú_encode½  s    

z0encode_unicode.<locals>.wrapped.<locals>._encode)r   r@   rA   rD   rE   rF   )Úobjr`   r²   ©ÚfrH   rI   Úwrapped»  s    zencode_unicode.<locals>.wrappedr   )r   r	   )rµ   r¶   rH   r´   rI   Úencode_unicode³  s    r·   c                %   @   sæ   e Zd ZdZdddddddd	d
ddddddddddddddddddddddddd d!d"d#œ$ZdDd%d&„Zd'd(„ Zd)d*„ Zed+d,„ ƒZ	e
d-d.„ ƒZd/d0„ Zd1d2„ Zd3d4„ Zd5d6„ Zd7d8„ Zd9d:„ Zd;d<„ ZdEd>d?„ZdFd@dA„ZdGdBdC„Zd$S )HÚBasicErrorHandlerz�
    Models cerberus' legacy. Returns a :class:`dict`. When mangled through :class:`str`
    a pretty-formatted representation of that tree is returned.
    z{0}r   zrequired fieldzunknown fieldzfield '{0}' is requiredz%depends on these values: {constraint}z&{0} must not be present with '{field}'r   zempty values not allowedznull value not allowedzmust be of {constraint} typezmust be of dict typez'length of list should be {0}, it is {1}zmin length is {constraint}zmax length is {constraint}z)value does not match regex '{constraint}'zmin value is {constraint}zmax value is {constraint}zunallowed value {value}zunallowed values {0}zmissing members {0}z&field '{field}' cannot be coerced: {0}z&field '{field}' cannot be renamed: {0}zfield is read-onlyz.default value for '{field}' cannot be set: {0}z'mapping doesn't validate subschema: {0}z.one or more sequence-items don't validate: {0}z2one or more keys of a mapping  don't validate: {0}z3one or more values in a mapping don't validate: {0}z one or more definitions validatez#none or more than one rule validatezno definitions validatez&one or more definitions don't validate)$r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r%   r'   r(   r)   r*   r+   r.   r/   r0   r2   r4   r5   r6   r7   é…   r:   r;   r<   r=   Nc                 C   s   |d kri n|| _ d S r?   ©Útree)rG   r»   rH   rH   rI   rJ   û  s    zBasicErrorHandler.__init__c                 C   s   |   ¡  |  |¡ | jS r?   )r°   r¬   Úpretty_treer§   rH   rH   rI   r¨   þ  s    
zBasicErrorHandler.__call__c                 C   s
   t | jƒS r?   )r   r¼   rO   rH   rH   rI   rˆ     s    zBasicErrorHandler.__str__c                 C   s&   t | jƒ}|D ]}|  || ¡ q|S r?   )r   r»   Ú_purge_empty_dicts)rG   Zprettyrd   rH   rH   rI   r¼     s    
zBasicErrorHandler.pretty_treec                 C   s^   t |ƒ}|  |¡ |jr$|  |¡ n6|jr6|  |¡ n$|j| jkrZ|  |j	|  
|j|¡¡ d S r?   )r   Ú_rewrite_error_pathr[   Ú_insert_logic_errorrY   Ú_insert_group_errorrB   ÚmessagesÚ_insert_errorr@   Ú_format_messagerd   r”   rH   rH   rI   r�     s    
 ÿzBasicErrorHandler.addc                 C   s
   i | _ d S r?   rº   rO   rH   rH   rI   r°     s    zBasicErrorHandler.clearc                 C   s   |   ¡  d S r?   )r°   rª   rH   rH   rI   r­   !  s    zBasicErrorHandler.startc                 C   s"   | j |j j|j|j||jdœŽS )N)rD   rd   rE   )rÁ   rB   rS   rF   rD   rE   )rG   rd   r`   rH   rH   rI   rÃ   $  s       ÿz!BasicErrorHandler._format_messagec                 C   sÆ   |d }t |ƒdkrT|| jkrD| j|  ¡ }| j|  ||g7  < qÂ|i g| j|< nnt |ƒdkrÂ|| jkrvi g| j|< | j| d }|rš| jt|ƒd�}n|  ¡ }| |dd… |¡ | |j¡ dS )zõ
        Adds an error or sub-tree to :attr:tree.

        :param path: Path to the error.
        :type path: Tuple of strings and integers.
        :param node: An error message or a sub-tree.
        :type node: String or dictionary.
        r   r   rc   rº   N)r]   r»   ÚpoprT   r   rÂ   Úupdate)rG   r{   r�   rd   ÚsubtreeÚnewrH   rH   rI   rÂ   )  s    	

zBasicErrorHandler._insert_errorc                 C   sL   |j D ]@}|jr|  |¡ q|jr.|  |¡ q|  |j|  |j|¡¡ qd S r?   )	rZ   r[   r¿   rY   rÀ   rÂ   r@   rÃ   rd   )rG   r`   r‘   rH   rH   rI   rÀ   E  s    
þz%BasicErrorHandler._insert_group_errorc              	   C   st   |j }|  |j|  ||¡¡ |j ¡ D ]H}|D ]>}|jrD|  |¡ q.|jrV|  	|¡ q.|  |j|  ||¡¡ q.q&d S r?   )
rd   rÂ   r@   rÃ   rb   Úvaluesr[   r¿   rY   rÀ   )rG   r`   rd   Údefinition_errorsr‘   rH   rH   rI   r¿   Q  s    
þz%BasicErrorHandler._insert_logic_errorc                 C   s6   |d }|d s|  ¡  n|D ]}|  || ¡ qd S )Nrc   )rÄ   r½   )rG   Z
error_listrÆ   r�   rH   rH   rI   r½   a  s
    
z$BasicErrorHandler._purge_empty_dictsr   c                 C   s*   |j r|  ||¡ n|jr&|  ||¡ dS )zY
        Recursively rewrites the error path to correctly represent logic errors
        N)r[   Ú_rewrite_logic_error_pathrY   Ú_rewrite_group_error_path)rG   r`   ÚoffsetrH   rH   rI   r¾   i  s    z%BasicErrorHandler._rewrite_error_pathc                 C   sD   t |jƒ| }|jD ]*}|j|d … }|j| |_|  ||¡ qd S r?   )r]   r@   rZ   r¾   )rG   r`   rÌ   Úchild_startr‘   Úrelative_pathrH   rH   rI   rË   r  s
    
z+BasicErrorHandler._rewrite_group_error_pathc           
      C   sx   t |jƒ| }|j ¡ D ]Z\}}|s&qd|j|f }|j|f }|D ],}|j|d … }	||	 |_|  ||d ¡ qDqd S )Nz%s definition %sr   )r]   r@   rb   r   rC   r¾   )
rG   r`   rÌ   rÍ   ra   rÉ   Únodenamer{   r‘   Zrel_pathrH   rH   rI   rÊ   {  s    
z+BasicErrorHandler._rewrite_logic_error_path)N)r   )r   )r   )rU   rj   rk   rl   rÁ   rJ   r¨   rˆ   rm   r¼   r·   r�   r°   r­   rÃ   rÂ   rÀ   r¿   r½   r¾   rË   rÊ   rH   rH   rH   rI   r¸   Î  sn   Ü'



	
	r¸   c                   @   s   e Zd Zej ¡ Zded< dS )ÚSchemaErrorHandlerzunknown ruler   N)rU   rj   rk   r¸   rÁ   r   rH   rH   rH   rI   rÐ   Œ  s   
rÐ   )Krl   Z
__future__r   Úcollectionsr   r   r   r   Ú	functoolsr   Zpprintr   Zcerberus.platformr	   r
   Zcerberus.utilsr   r   r   ZCUSTOMZDOCUMENT_MISSINGZREQUIRED_FIELDZUNKNOWN_FIELDZDEPENDENCIES_FIELDZDEPENDENCIES_FIELD_VALUEZEXCLUDES_FIELDZDOCUMENT_FORMATZEMPTY_NOT_ALLOWEDZNOT_NULLABLEZBAD_TYPEZBAD_TYPE_FOR_SCHEMAZITEMS_LENGTHZ
MIN_LENGTHZ
MAX_LENGTHZREGEX_MISMATCHZ	MIN_VALUEZ	MAX_VALUEZUNALLOWED_VALUEZUNALLOWED_VALUESZFORBIDDEN_VALUEZFORBIDDEN_VALUESZMISSING_MEMBERSrh   ZCOERCION_FAILEDZRENAMING_FAILEDZREADONLY_FIELDZSETTING_DEFAULT_FAILEDrf   ZMAPPING_SCHEMAZSEQUENCE_SCHEMAZ	KEYSRULESZ	KEYSCHEMAZVALUESRULESZVALUESCHEMAZ	BAD_ITEMSrg   ZNONEOFZONEOFZANYOFZALLOFZSCHEMA_ERROR_DEFINITION_TYPEZSCHEMA_ERROR_MISSINGÚobjectr>   r\   rn   rw   r–   rž   r    r¡   r®   r·   r¸   rÐ   rH   rH   rH   rI   Ú<module>   s~   





































hI7		H ?