
    di q                       S SK Jr  S SKrS SKrS SKrS SKrS SKJr  S SKJ	r	J
r
JrJrJrJrJr   S SKJr   S SKJr  S SKrS S
KJrJrJr  SSKJrJ r!  SSK"J#r#J$r$  SSK%J&r&J'r'J(r)J*r+J,r-  Sr.S r/ " S S\R`                  5      r " S S\5      r1 " S S\5      r2 " S S\5      r3 " S S\5      r4 " S S\5      r5 " S S\5      r6 " S S \5      r7 " S! S"\5      r8 " S# S$\5      r9 " S% S&\5      r: " S' S(\5      r; " S) S*\5      r< " S+ S,\5      r= " S- S.\5      r> " S/ S0\5      r? " S1 S2\5      r@ " S3 S4\5      rA " S5 S6\5      rB " S7 S8\5      rC " S9 S:\5      rD " S; S<\5      rE " S= S\5      r " S> S?\5      rF " S@ SA\F5      rG " SB SC\F5      rH " SD SE\F5      rI " SF SG\F5      rJ " SH SI\5      rK " SJ SK\5      rL " SL SM\R`                  5      rM " SN SO\5      rN " SP SQ\5      rO " SR SS\5      rP " ST SU\5      rQSaSV jrRSbSW jrSSX rTSY rUSZ rVS[ rWS\ rXS] rYS^ rZ " S_ S`5      r[g! \ a    \" SS0 5      r GN
f = f! \ a    \" S	S0 5      r GNf = f)c    )annotationsN)Iterable)AnyFinalLiteralTupleTypeTypeVarUnion)	UnionTyper    )TypeAliasTyper   )	NODEFAULTUNSET	UnsetType   )Factoryto_builtins)	is_structis_struct_type)_CONCRETE_TYPES_AnnotatedAliasget_class_annotationsget_dataclass_infoget_typeddict_info)'	type_infomulti_type_infor	   MetadataAnyTypeNoneTypeBoolTypeIntType	FloatTypeStrType	BytesTypeByteArrayTypeMemoryViewTypeDateTimeTypeTimeTypeDateTypeTimeDeltaTypeUUIDTypeDecimalTypeExtTypeRawTypeEnumTypeLiteralType
CustomTyper   CollectionTypeListTypeSetTypeFrozenSetTypeVarTupleType	TupleTypeDictTypeFieldTypedDictTypeNamedTupleTypeDataclassType
StructTyper   r   c                     [         $ N)__all__r       Y/var/www/fortnox.synktek.com/backend/venv/lib/python3.13/site-packages/msgspec/inspect.py__dir__rD   W   s    NrB   c                      \ rS rSrSrSrg)r	   [   zThe base Type.r   N__name__
__module____qualname____firstlineno____doc____static_attributes__r   rB   rC   r	   r	   [   s    rB   r	   c                  @    \ rS rSr% SrS\S'   SrS\S'   SrS\S'   S	rg)
r   _   a7  A type wrapping a subtype with additional metadata.

Parameters
----------
type: Type
    The subtype.
extra_json_schema: dict, optional
    A dict of extra fields to set for the subtype when generating a
    json-schema.
extra: dict, optional
    A dict of extra user-defined metadata attached to the subtype.
r	   typeNzUnion[dict, None]extra_json_schemaextrar   )	rH   rI   rJ   rK   rL   __annotations__rQ   rR   rM   r   rB   rC   r   r   _   s%     J+/(/#E#rB   r   c                      \ rS rSrSrSrg)r   r   z%A type corresponding to `typing.Any`.r   NrG   r   rB   rC   r   r   r   s    /rB   r   c                      \ rS rSrSrSrg)r    v   zA type corresponding to `None`.r   NrG   r   rB   rC   r    r    v       )rB   r    c                      \ rS rSrSrSrg)r!   z   zA type corresponding to `bool`.r   NrG   r   rB   rC   r!   r!   z   rX   rB   r!   c                  `    \ rS rSr% SrSrS\S'   SrS\S'   SrS\S'   Sr	S\S'   Sr
S\S	'   S
rg)r"   ~   a  A type corresponding to `int`.

Parameters
----------
gt: int, optional
    If set, an instance of this type must be greater than ``gt``.
ge: int, optional
    If set, an instance of this type must be greater than or equal to ``ge``.
lt: int, optional
    If set, an instance of this type must be less than to ``lt``.
le: int, optional
    If set, an instance of this type must be less than or equal to ``le``.
multiple_of: int, optional
    If set, an instance of this type must be a multiple of ``multiple_of``.
NUnion[int, None]gtgeltlemultiple_ofr   rH   rI   rJ   rK   rL   r^   rS   r_   r`   ra   rb   rM   r   rB   rC   r"   r"   ~   s@       BBBB$(K!(rB   r"   c                  `    \ rS rSr% SrSrS\S'   SrS\S'   SrS\S'   Sr	S\S'   Sr
S\S	'   S
rg)r#      a  A type corresponding to `float`.

Parameters
----------
gt: float, optional
    If set, an instance of this type must be greater than ``gt``.
ge: float, optional
    If set, an instance of this type must be greater than or equal to ``ge``.
lt: float, optional
    If set, an instance of this type must be less than to ``lt``.
le: float, optional
    If set, an instance of this type must be less than or equal to ``le``.
multiple_of: float, optional
    If set, an instance of this type must be a multiple of ``multiple_of``.
NzUnion[float, None]r^   r_   r`   ra   rb   r   rc   r   rB   rC   r#   r#      s@      "B!!B!!B!!B!&*K#*rB   r#   c                  D    \ rS rSr% SrSrS\S'   SrS\S'   SrS\S'   S	r	g)
r$      a  A type corresponding to `str`.

Parameters
----------
min_length: int, optional
    If set, an instance of this type must have length greater than or equal
    to ``min_length``.
max_length: int, optional
    If set, an instance of this type must have length less than or equal
    to ``max_length``.
pattern: str, optional
    If set, an instance of this type must match against this regex pattern.
    Note that the pattern is treated as **unanchored**.
Nr]   
min_length
max_lengthUnion[str, None]patternr   )
rH   rI   rJ   rK   rL   rh   rS   ri   rk   rM   r   rB   rC   r$   r$      s*     $(J '#'J ' $G$rB   r$   c                  6    \ rS rSr% SrSrS\S'   SrS\S'   Srg)r%      a/  A type corresponding to `bytes`.

Parameters
----------
min_length: int, optional
    If set, an instance of this type must have length greater than or equal
    to ``min_length``.
max_length: int, optional
    If set, an instance of this type must have length less than or equal
    to ``max_length``.
Nr]   rh   ri   r   	rH   rI   rJ   rK   rL   rh   rS   ri   rM   r   rB   rC   r%   r%          
 $(J '#'J 'rB   r%   c                  6    \ rS rSr% SrSrS\S'   SrS\S'   Srg)r&      a3  A type corresponding to `bytearray`.

Parameters
----------
min_length: int, optional
    If set, an instance of this type must have length greater than or equal
    to ``min_length``.
max_length: int, optional
    If set, an instance of this type must have length less than or equal
    to ``max_length``.
Nr]   rh   ri   r   rn   r   rB   rC   r&   r&      ro   rB   r&   c                  6    \ rS rSr% SrSrS\S'   SrS\S'   Srg)r'      a4  A type corresponding to `memoryview`.

Parameters
----------
min_length: int, optional
    If set, an instance of this type must have length greater than or equal
    to ``min_length``.
max_length: int, optional
    If set, an instance of this type must have length less than or equal
    to ``max_length``.
Nr]   rh   ri   r   rn   r   rB   rC   r'   r'      ro   rB   r'   c                  (    \ rS rSr% SrSrS\S'   Srg)r(      a[  A type corresponding to `datetime.datetime`.

Parameters
----------
tz: bool
    The timezone-requirements for an instance of this type. ``True``
    indicates a timezone-aware value is required, ``False`` indicates a
    timezone-aware value is required. The default is ``None``, which
    accepts either timezone-aware or timezone-naive values.
NUnion[bool, None]tzr   rH   rI   rJ   rK   rL   rw   rS   rM   r   rB   rC   r(   r(          	 !B rB   r(   c                  (    \ rS rSr% SrSrS\S'   Srg)r)   i  aW  A type corresponding to `datetime.time`.

Parameters
----------
tz: bool
    The timezone-requirements for an instance of this type. ``True``
    indicates a timezone-aware value is required, ``False`` indicates a
    timezone-aware value is required. The default is ``None``, which
    accepts either timezone-aware or timezone-naive values.
Nrv   rw   r   rx   r   rB   rC   r)   r)     ry   rB   r)   c                      \ rS rSrSrSrg)r*   i  z(A type corresponding to `datetime.date`.r   NrG   r   rB   rC   r*   r*     s    2rB   r*   c                      \ rS rSrSrSrg)r+   i  z-A type corresponding to `datetime.timedelta`.r   NrG   r   rB   rC   r+   r+     s    7rB   r+   c                      \ rS rSrSrSrg)r,   i  z$A type corresponding to `uuid.UUID`.r   NrG   r   rB   rC   r,   r,     s    .rB   r,   c                      \ rS rSrSrSrg)r-   i   z*A type corresponding to `decimal.Decimal`.r   NrG   r   rB   rC   r-   r-      s    4rB   r-   c                      \ rS rSrSrSrg)r.   i$  z.A type corresponding to `msgspec.msgpack.Ext`.r   NrG   r   rB   rC   r.   r.   $  s    8rB   r.   c                      \ rS rSrSrSrg)r/   i(  z&A type corresponding to `msgspec.Raw`.r   NrG   r   rB   rC   r/   r/   (  s    0rB   r/   c                  $    \ rS rSr% SrS\S'   Srg)r0   i,  zvA type corresponding to an `enum.Enum` type.

Parameters
----------
cls: type
    The corresponding `enum.Enum` type.
ztyping_Type[enum.Enum]clsr   NrH   rI   rJ   rK   rL   rS   rM   r   rB   rC   r0   r0   ,  s     
 rB   r0   c                  $    \ rS rSr% SrS\S'   Srg)r1   i8  zA type corresponding to a `typing.Literal` type.

Parameters
----------
values: tuple
    A tuple of possible values for this literal instance. Only `str` or
    `int` literals are supported.
z'Union[Tuple[str, ...], Tuple[int, ...]]valuesr   Nr   r   rB   rC   r1   r1   8  s     43rB   r1   c                  $    \ rS rSr% SrS\S'   Srg)r2   iE  zSA custom type.

Parameters
----------
cls: type
    The corresponding custom type.
rP   r   r   Nr   r   rB   rC   r2   r2   E  s     
IrB   r2   c                  8    \ rS rSr% SrS\S'   \SS j5       rSrg)	r   iQ  zkA union type.

Parameters
----------
types: Tuple[Type, ...]
    A tuple of possible types for this union.
Tuple[Type, ...]typesc                :    [        S U R                   5       5      $ )zAA helper for checking whether ``None`` is included in this union.c              3  B   #    U  H  n[        U[        5      v   M     g 7fr@   )
isinstancer    ).0ts     rC   	<genexpr>*UnionType.includes_none.<locals>.<genexpr>_  s     ?Jq:a**Js   )anyr   )selfs    rC   includes_noneUnionType.includes_none\  s     ?DJJ???rB   r   N)returnbool)	rH   rI   rJ   rK   rL   rS   propertyr   rM   r   rB   rC   r   r   Q  s#     @ @rB   c                  @    \ rS rSr% SrS\S'   SrS\S'   SrS\S'   S	rg)
r3   ib  a  A collection type.

This is the base type shared by collection types like `ListType`,
`SetType`, etc.

Parameters
----------
item_type: Type
    The item type.
min_length: int, optional
    If set, an instance of this type must have length greater than or equal
    to ``min_length``.
max_length: int, optional
    If set, an instance of this type must have length less than or equal
    to ``max_length``.
r	   	item_typeNr]   rh   ri   r   	rH   rI   rJ   rK   rL   rS   rh   ri   rM   r   rB   rC   r3   r3   b  s$    " O#'J '#'J 'rB   r3   c                      \ rS rSrSrSrg)r4   iy  aS  A type corresponding to a `list`.

Parameters
----------
item_type: Type
    The item type.
min_length: int, optional
    If set, an instance of this type must have length greater than or equal
    to ``min_length``.
max_length: int, optional
    If set, an instance of this type must have length less than or equal
    to ``max_length``.
r   NrG   r   rB   rC   r4   r4   y      rB   r4   c                      \ rS rSrSrSrg)r7   i  a]  A type corresponding to a variadic `tuple`.

Parameters
----------
item_type: Type
    The item type.
min_length: int, optional
    If set, an instance of this type must have length greater than or equal
    to ``min_length``.
max_length: int, optional
    If set, an instance of this type must have length less than or equal
    to ``max_length``.
r   NrG   r   rB   rC   r7   r7     r   rB   r7   c                      \ rS rSrSrSrg)r5   i  aR  A type corresponding to a `set`.

Parameters
----------
item_type: Type
    The item type.
min_length: int, optional
    If set, an instance of this type must have length greater than or equal
    to ``min_length``.
max_length: int, optional
    If set, an instance of this type must have length less than or equal
    to ``max_length``.
r   NrG   r   rB   rC   r5   r5     r   rB   r5   c                      \ rS rSrSrSrg)r6   i  aX  A type corresponding to a `frozenset`.

Parameters
----------
item_type: Type
    The item type.
min_length: int, optional
    If set, an instance of this type must have length greater than or equal
    to ``min_length``.
max_length: int, optional
    If set, an instance of this type must have length less than or equal
    to ``max_length``.
r   NrG   r   rB   rC   r6   r6     r   rB   r6   c                  $    \ rS rSr% SrS\S'   Srg)r8   i  zA type corresponding to `tuple`.

Parameters
----------
item_types: Tuple[Type, ...]
    A tuple of types for each element in the tuple.
r   
item_typesr   Nr   r   rB   rC   r8   r8     s     ! rB   r8   c                  J    \ rS rSr% SrS\S'   S\S'   SrS\S'   SrS\S	'   S
rg)r9   i  at  A type corresponding to `dict`.

Parameters
----------
key_type: Type
    The key type.
value_type: Type
    The value type.
min_length: int, optional
    If set, an instance of this type must have length greater than or equal
    to ``min_length``.
max_length: int, optional
    If set, an instance of this type must have length less than or equal
    to ``max_length``.
r	   key_type
value_typeNr]   rh   ri   r   r   r   rB   rC   r9   r9     s*      N#'J '#'J 'rB   r9   c                      \ rS rSr% SrS\S'   S\S'   S\S'   SrS	\S
'   \R                  " S S9r	S\S'   \R                  " S S9r
S\S'   Srg)r:   i  a  A record describing a field in an object-like type.

Parameters
----------
name: str
    The field name as seen by Python code (e.g. ``field_one``).
encode_name: str
    The name used when encoding/decoding the field. This may differ if
    the field is renamed (e.g. ``fieldOne``).
type: Type
    The field type.
required: bool, optional
    Whether the field is required. Note that if `required` is False doesn't
    necessarily mean that `default` or `default_factory` will be set -
    optional fields may exist with no default value.
default: Any, optional
    A default value for the field. Will be `NODEFAULT` if no default value
    is set.
default_factory: Any, optional
    A callable that creates a default value for the field. Will be
    `NODEFAULT` if no ``default_factory`` is set.
strnameencode_namer	   rP   Tr   requiredc                     [         $ r@   r   r   rB   rC   <lambda>Field.<lambda>  s    rB   )default_factoryr   defaultc                     [         $ r@   r   r   rB   rC   r   r     s    rB   r   r   N)rH   rI   rJ   rK   rL   rS   r   msgspecfieldr   r   rM   r   rB   rC   r:   r:     sK    . I
JHd==1BCGSC"==9JKOSKrB   r:   c                  .    \ rS rSr% SrS\S'   S\S'   Srg)	r;   i  zA type corresponding to a `typing.TypedDict` type.

Parameters
----------
cls: type
    The corresponding TypedDict type.
fields: Tuple[Field, ...]
    A tuple of fields in the TypedDict.
rP   r   Tuple[Field, ...]fieldsr   Nr   r   rB   rC   r;   r;          
IrB   r;   c                  .    \ rS rSr% SrS\S'   S\S'   Srg)	r<   i  zA type corresponding to a `typing.NamedTuple` type.

Parameters
----------
cls: type
    The corresponding NamedTuple type.
fields: Tuple[Field, ...]
    A tuple of fields in the NamedTuple.
rP   r   r   r   r   Nr   r   rB   rC   r<   r<     r   rB   r<   c                  .    \ rS rSr% SrS\S'   S\S'   Srg)	r=   i  zA type corresponding to a `dataclasses` or `attrs` type.

Parameters
----------
cls: type
    The corresponding dataclass type.
fields: Tuple[Field, ...]
    A tuple of fields in the dataclass.
rP   r   r   r   r   Nr   r   rB   rC   r=   r=     r   rB   r=   c                  f    \ rS rSr% SrS\S'   S\S'   SrS\S	'   SrS
\S'   SrS\S'   Sr	S\S'   Sr
g)r>   i)  az  A type corresponding to a `msgspec.Struct` type.

Parameters
----------
cls: type
    The corresponding Struct type.
fields: Tuple[Field, ...]
    A tuple of fields in the Struct.
tag_field: str or None, optional
    If set, the field name used for the tag in a tagged union.
tag: str, int, or None, optional
    If set, the value used for the tag in a tagged union.
array_like: bool, optional
    Whether the struct is encoded as an array rather than an object.
forbid_unknown_fields: bool, optional
    If ``False`` (the default) unknown fields are ignored when decoding. If
    ``True`` any unknown fields will result in an error.
ztyping_Type[msgspec.Struct]r   r   r   Nrj   	tag_fieldzUnion[str, int, None]tagFr   
array_likeforbid_unknown_fieldsr   )rH   rI   rJ   rK   rL   rS   r   r   r   r   rM   r   rB   rC   r>   r>   )  s@    & 
%$"&I&!%C	%J"'4'rB   r>   c                4    [        U 5      R                  5       $ )a  Get information about multiple msgspec-compatible types.

Parameters
----------
types: an iterable of types
    The types to get info about.

Returns
-------
tuple[Type, ...]

Examples
--------
>>> msgspec.inspect.multi_type_info([int, float, list[str]])  # doctest: +NORMALIZE_WHITESPACE
(IntType(gt=None, ge=None, lt=None, le=None, multiple_of=None),
 FloatType(gt=None, ge=None, lt=None, le=None, multiple_of=None),
 ListType(item_type=StrType(min_length=None, max_length=None, pattern=None),
          min_length=None, max_length=None))
)_Translatorrun)r   s    rC   r   r   E  s    ( u!!##rB   c                     [        U /5      S   $ )a  Get information about a msgspec-compatible type.

Note that if you need to inspect multiple types it's more efficient to call
`multi_type_info` once with a sequence of types than calling `type_info`
multiple times.

Parameters
----------
type: type
    The type to get info about.

Returns
-------
Type

Examples
--------
>>> msgspec.inspect.type_info(bool)
BoolType()

>>> msgspec.inspect.type_info(int)
IntType(gt=None, ge=None, lt=None, le=None, multiple_of=None)

>>> msgspec.inspect.type_info(list[int])  # doctest: +NORMALIZE_WHITESPACE
ListType(item_type=IntType(gt=None, ge=None, lt=None, le=None, multiple_of=None),
         min_length=None, max_length=None)
r   )r   )rP   s    rC   r   r   \  s    8 D6"1%%rB   c                   / n  [         R                  " U 5      nUb  S nO[        U SS 5      nUb  [	        U 5      [
        L a%  UR                  S U R                   5       5        Un OU[        :X  a  U R                  S   n O[	        U5      [        L a  UR                  U R                     n O[[        U SS 5      n[         R                  " X"5      nO:[        U SS 5      nUb  Un O$[	        U 5      [        L a  U R                  n OU nS nOGM  [	        U5      [        L a  UR                  n[        nX#[        U5      4$ ! [         a    S n GN1f = f)N
__origin__c              3  b   #    U  H%  n[        U5      [        R                  L d  M!  Uv   M'     g 7fr@   )rP   r   Meta)r   ms     rC   r   (_origin_args_metadata.<locals>.<genexpr>  s!     U>aT!W=T>s    /	/r   __args____supertype__)r   get	TypeErrorgetattrrP   r   extend__metadata__r   r   _TypeAliasType	__value___types_UnionTyper   tuple)r   metadataoriginargs	supertypes        rC   _origin_args_metadatar   |  sD   H
	$((+F
 DL$/Aw/)U1>>UU5JJqMf/$$QZZ0q*d3(,,V<?D9I$aN*KKC F F|''x((G  	F	s   D= =EEc                8    [        U 5      [        R                  L $ r@   )rP   enumEnumMetar   s    rC   _is_enumr     s    7dmm##rB   c                    [        U S5      $ )N__dataclass_fields__hasattrr   s    rC   _is_dataclassr     s    1,--rB   c                    [        U S5      $ )N__attrs_attrs__r   r   s    rC   	_is_attrsr     s    1'((rB   c                j     [        U [        5      =(       a    [        U S5      $ ! [         a     gf = f)N	__total__F)
issubclassdictr   r   r   s    rC   _is_typeddictr     s2    !T">wq+'>>    "% 
22c                j     [        U [        5      =(       a    [        U S5      $ ! [         a     gf = f)N_fieldsF)r   r   r   r   r   s    rC   _is_namedtupler     s2    !U#=9(== r   c                   U(       a  U R                  5       n UR                  5        H  u  p#X ;   a  X   n[        U[        5      (       a$  [        U[        5      (       a  [	        XC5      X'   MG  [        U[
        [        45      (       a6  [        U[
        [        45      (       a  [        U5      [        U5      -   X'   M  X0U'   M  X0U'   M     U $ r@   )copyitemsr   r   _merge_jsonlistr   )abkeyb_vala_vals        rC   r   r     s    FFH'')JCxeT**z%/F/F(6AFe}55*D%=; ; "%[4;6AF"cF# $ HrB   c                  H    \ rS rSrS rS rS rS r         S	S jrSr	g)
r   i  c                @    [        U5      U l        0 U l        0 U l        g r@   )r   r   
type_hintscache)r   r   s     rC   __init___Translator.__init__  s    5\

rB   c                x     U R                   U   $ ! [         a    [        U5      =o R                   U'   Us $ f = f)z+A cached version of `get_class_annotations`)r   KeyError_get_class_annotations)r   r   outs      rC   r   "_Translator._get_class_annotations  s@    	??1%% 	'=a'@@C//!$J	s    %99c                   ^  SSK Jn  U" [        T R                     5        [	        U 4S jT R                   5       5      $ )Nr   )MsgpackDecoderc              3  F   >#    U  H  nTR                  U5      v   M     g 7fr@   	translate)r   r   r   s     rC   r   "_Translator.run.<locals>.<genexpr>  s     ;
1T^^A&&
   !)_corer  r   r   r   )r   r  s   ` rC   r   _Translator.run  s,    )uTZZ();

;;;rB   c           	        [        U5      u  p#n0 n0 n0 nU H  nS H  n	[        X5      =n
c  M  XU	'   M     S H  n	[        X5      =n
c  M  XU	'   M     UR                  b  [        U[	        UR                  SS95      nUR
                  c  Mw  UR                  UR
                  5        M     U R                  " X#40 UD6nU(       d  U(       a  [        X=(       d    S U=(       d    S S9$ U$ )N)	r_   r^   ra   r`   rb   rk   rh   ri   rw   )titledescriptionexamplesT)str_keys)rQ   rR   )	r   r   rQ   r   _to_builtinsrR   update_translate_innerr   )r   typr   r   r   constrsrQ   rR   metaattrvalr  s               rC   r  _Translator.translate  s    1#6 D
 #4..C;$'DM
 ="4..C;.1d+ = %%1$/% !7!7$G%! zz%TZZ(/ 2 ##A7w7 '@DQU  
rB   Nc                  ^ ^^^ T[         L a
  [        5       $ [        T[        5      (       a2  TR                  b  T R                  TR                  5      $ [        5       $ Tb  T[        S 5      L a
  [        5       $ T[        L a
  [        5       $ T[        L a  [        X4XVUS9$ T[        L a  [        X4XVUS9$ T[        L a
  [        XUS9$ T[         L a	  [#        XS9$ T[$        L a	  ['        XS9$ T[(        L a	  [+        XS9$ T[,        R,                  L a	  [/        US9$ T[,        R0                  L a	  [3        US9$ T[,        R4                  L a
  [7        5       $ T[,        R8                  L a
  [;        5       $ T[<        R>                  L a
  [A        5       $ T[B        RD                  L a
  [G        5       $ T[H        RJ                  L a
  [M        5       $ T[H        RN                  RP                  L a
  [S        5       $ T[T        L a.  [W        U(       a  T R                  US   5      O	[        5       U	U
S9$ T[X        L a.  [[        U(       a  T R                  US   5      O	[        5       U	U
S9$ T[\        L a.  [_        U(       a  T R                  US   5      O	[        5       U	U
S9$ T[`        L ao  US:X  a  SnUc  [c        [        5       XS9$ [e        U5      S:X  a%  US	   S
L a  [c        T R                  US   5      U	U
S9$ [g        [a        U 4S jU 5       5      5      $ T[h        L aR  [k        U(       a  T R                  US   5      O	[        5       U(       a  T R                  US   5      O	[        5       U	U
S9$ T[l        L a4  [a        U 4S jU 5       5      n[e        U5      S:X  a  US   $ [o        U5      $ T[p        L a  [s        [a        [u        U5      5      5      $ [w        T5      (       a  [y        T5      $ [{        T5      (       Ga  U(       a  TU   OTnUT R|                  ;   a  T R|                  U   $ TR~                  n[        USUR                  UR                  UR                  UR                  S9=T R|                  U'   nT R                  U5      m[e        TR                  5      [e        TR                  5      -
  n/ n[        TR                  TR                  [        4U-  TR                  -   5       H  u  nnnU[        L a  Sm[        =nnOC[        U[        5      (       a  Sm[        nUR                  nOSmU[        L a  [        OUn[        n[        UUT R                  TU   5      TUUS9nUR                  U5        M     [a        U5      UlP        U$ [        T5      (       a  U(       a  TU   OTnUT R|                  ;   a  T R|                  U   $ [        US5      =T R|                  U'   n[        U5      u  mm[a        UU 4S j[u        TR                  5       5       5       5      UlP        U$ [        T5      (       d  [        T5      (       Ga  U(       a  TU   OTnUT R|                  ;   a  T R|                  U   $ [        US5      =T R|                  U'   n[        U5      u  nnn  n[        4[e        U5      [e        U5      -
  -  U-   n/ n[        UU5       Hu  u  u  nnnnU[        L a  Sm[        =nnO+U(       a  Sm[        nUnOSmU[        L a  [        OUn[        nUR                  [        UUT R                  U5      TUUS95        Mw     [a        U5      UlP        U$ [        T5      (       a  U(       a  TU   OTnUT R|                  ;   a  T R|                  U   $ [        US5      =T R|                  U'   nT R                  U5      m[a        UU U4S jTR                   5       5      UlP        U$ [        T5      $ )N)r_   r^   ra   r`   rb   )rh   ri   rk   )rh   ri   )rw   r   )r   r      .c              3  F   >#    U  H  nTR                  U5      v   M     g 7fr@   r  r   r   r   s     rC   r   /_Translator._translate_inner.<locals>.<genexpr>l  s     &G$Qt~~a'8'8$r	  r   c              3  Z   >#    U  H   o[         Ld  M  TR                  U5      v   M"     g 7fr@   )
_UnsetTyper  r  s     rC   r   r  u  s%     PDqZ<O***Ds   ++)r   r   r   r   TF)r   r   rP   r   r   r   c              3  d   >#    U  H%  u  p[        UUTR                  U5      UT;   S 9v   M'     g7f))r   r   rP   r   N)r:   r  )r   r   
field_typer   r   s      rC   r   r    s>       )>$D  $
3!X-	 )>s   -0c              3     >#    U  H`  n[        UUTR                  TR                  U[        5      5      UTR                  ;  TR                  R                  U[
        5      S 9v   Mb     g7f))r   r   rP   r   r   N)r:   r  r   r   _field_defaultsr   )r   r   hintsr   r   s     rC   r   r    sb      	 &D  $		$(<=!):)::--11$	B &s   A(A+)]r   r   r   r
   	__bound__r  rP   r    r   r!   intr"   floatr#   r   r$   bytesr%   	bytearrayr&   
memoryviewr'   datetimer(   timer)   dater*   	timedeltar+   uuidUUIDr,   decimalDecimalr-   r   Rawr/   msgpackExtr.   r   r4   setr5   	frozensetr6   r   r7   lenr8   r   r9   r   r   r   r1   sortedr   r0   r   r   __struct_config__r>   r   r   r   r   r   __struct_fields____struct_defaults__zip__struct_encode_fields__r   _Factoryfactoryr   r:   appendr   r   r;   _get_typeddict_infor   r   r   r=   _get_dataclass_infor   r<   r   r2   )r   r   r   r_   r^   ra   r`   rb   rk   rh   ri   rw   r   configr  nposr   r   r   default_objr   r   r   _infodefaultsr  
is_factoryr&  r   s   ``                          @@rC   r  _Translator._translate_inner  s!    897##{{&~~akk229Y!tDz/:$Y:#XbB;OO%Zb[QQ#X%g  %Z
JJ)^ JNN*_!ZOO(###2&&(--r?"(--:($$$ ?"$))^:'//!= '++9'//%%%9$Y+/tAw'WY%% 
 #X+/tAw'WY%% 
 )^ +/tAw'WY%% 
 %Z u}|#I*  TaDHO#NN47+))  !&G$&G!GHH$Y+/tAw'WY+/tAw'WY%%	  %ZPDPPD!$i1n47A)D/A'\uVD\233a[[A;A!!D'qCdjj zz#&((F$. **JJ!,,&,&B&B% DJJsOc //4Eq**+c!2G2G.HHDF25##**t#a&;&;;3.k;
 )+#H099GoX66$H'G&1&9&9O$H+6%+?i[G&/O +d4%#$3 e$336 vCJJ1!!D'qCdjj zz#&$1#r$::DJJsOc1#6OE8  )/u{{}(= CJ J11!!D'qCdjj zz#&$1#r$::DJJsOc&9#&>#AtXq!"D	CM(ABhNHF8;D(8K4'sJ)+#H099Go$H'G&1O$H+6%+?i[G&/O!$(!^^C0!) '(7	 9L. vCJJA!!D'qCdjj zz#&$23$;;DJJsOc//4E 	 II	 	CJ Ja= rB   )r   r   r   )	NNNNNNNNN)
rH   rI   rJ   rK   r   r   r   r  r  rM   r   rB   rC   r   r     s:    
<'Z Y!rB   r   )r   zIterable[Any]r   ztuple[Type, ...])rP   r   r   r	   )\
__future__r   r-  r3  r   r1  collections.abcr   typingr   r   r   r   r	   typing_Typer
   r   r   r   r   	ExceptionrP   r   r   r   r   r   r   r!  r
  r   rA  r   r  _typing_utilsr   r   _utilsr   r   r   r   r   rE  r   rD  rA   rD   Structr   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r7   r5   r6   r8   r9   r:   r;   r<   r=   r>   r   r   r   r   r   r   r   r   r   r   r   rB   rC   <module>rV     s   "     $  1336  = = 5 (V7>> $t $&0d 0*t **t *)d )0+ +0%d %*( ("(D ("(T ("!4 !!t !3t 38D 8/t /5$ 59d 91d 1	 t 	 
4$ 
4	 	@ @"(T (.~  >  n  N  	! 	!(t (.LGNN L@D T D ( (8$.&@))X$.)&W! W!C  1KR01
  3/2r2N3s"   H- I -I III