
    #jy                       U d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlmZ d dlmZmZ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 d dlmZmZmZmZm Z m!Z! d d	l"m#Z#m$Z$m%Z%m&Z& d d
l'm(Z( d dl)m*Z* d dl+Z+d dl,m-Z- d dl.m/Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6 d dl7m8Z8 e#rd dl9m:Z: d dl5m6Z6  e-            Z;dZ< ej=        e>          Z?dZ@ eA            ZBdeCd<    eA            ZDdeCd<   dFdZEdGd%ZF G d& d'e2          ZGd ZHd(ZId)ZJd*ZKd+ZLd,ZMd-ZNdHd1ZOdId5ZP ePd6          ZQdJd;ZR G d< d=eS          ZTe+jU        e+jV        z  e+jW        z  e+jX        z  e+jY        z  e+jZ        z  Z[dKd>Z\dLdAZ]dMdEZ^dS )N    )annotationsN)deque)CallableIterableSequence)datedatetimetime	timedeltatimezone)Enum)isclass)IPv4AddressIPv4InterfaceIPv4NetworkIPv6AddressIPv6InterfaceIPv6Network)TYPE_CHECKINGAnyLiteralcast)UUID)ZoneInfo)Reviver)_msgpack)SerializerProtocol)emit_serde_event)SendProtocol)Item)AllowedMsgpackModules    i  set[tuple[str, str]]_warned_unregistered_types_warned_blocked_typesid_list	list[str]returnboolc                    t          |           dk     rdS d                    | dd                   }|| d         ft          j        v S )a  Return True if an lc=2 id refers to a type in SAFE_MSGPACK_TYPES.

    Safe types bypass the ``allowed_json_modules`` gate so that old "json" format
    checkpoints (written before the msgpack migration) can be resumed without
    requiring users to configure an explicit allowlist.
       F.N)lenjoin_lg_msgpackSAFE_MSGPACK_TYPES)r&   module_names     m/lsinfo/ai/hellotax_ai/base_platform/venv/lib/python3.11/site-packages/langgraph/checkpoint/serde/jsonplus.py_is_safe_json_typer4   :   sJ     7||au((73B3<((K%)GGGr"   seenkeytuple[str, str]msgstrargsobjectNonec                    || v st          |           t          k    rd S |                     |           t          j        |g|R   d S N)r.   _MAX_WARNED_TYPESaddloggerwarning)r5   r6   r8   r:   s       r3   
_warn_oncerC   G   sP     d{{c$ii#444HHSMMM
N3r"   c                  r    e Zd ZdZddej        ddd(dZd)dZddddd*dZd+d Z	d+d!Z
d,d"Zd-d%Zd.d'ZdS )/JsonPlusSerializera  Serializer that uses ormsgpack, with optional fallbacks.

    !!! warning

        Security note: This serializer is intended for use within the `BaseCheckpointSaver`
        class and called within the Pregel loop. It should not be used on untrusted
        python objects. If an attacker can write directly to your checkpoint database,
        they may be able to trigger code execution when data is deserialized.

        Set the environment variable ``LANGGRAPH_STRICT_MSGPACK=true`` to restrict
        deserialization to a built-in allowlist of safe types.  You can also pass
        an explicit ``allowed_msgpack_modules`` to the constructor.
    FN)pickle_fallbackallowed_json_modulesallowed_msgpack_modules__unpack_ext_hook__rF   r)   rG   0Iterable[tuple[str, ...]] | Literal[True] | NonerH   ,AllowedMsgpackModules | Literal[True] | NonerI   "Callable[[int, bytes], Any] | Noner(   r<   c                   |t           j        u rt           j        rd }nd}|| _        t	          |          | _        t	          |          | _        |d u| _        ||nt          | j                  | _	        d S NT)
r0   	_SENTINELSTRICT_MSGPACK_ENABLEDrF   _normalize_allowlist_allowed_json_modules_allowed_msgpack_modules_custom_unpack_ext_hook_create_msgpack_ext_hook_unpack_ext_hook)selfrF   rG   rH   rI   s        r3   __init__zJsonPlusSerializer.__init___   s     #k&;;;1 /*.'' +/'. !566 	" )==T(U(U%':$'F$ #.  )$*GHH 	r"   extra_allowlist Iterable[tuple[str, ...] | type]c                   | j         }|du s|du r| S |rt          |          }nt                      }t          t          |                    }||z  }||k    r| S |rt          |          }n6t	          | j         t                    rt          | j                   }n| j         }t          j        |           }t          | j                  |_        t          |          |_         |j        st          |j                   |_
        |S )z8Return a new serializer with a merged msgpack allowlist.TF)rS   set_normalize_module_keystuple
isinstancecopyrQ   rR   rT   rU   rV   )rW   rY   base_allowlistextramergedrH   clones          r3   with_msgpack_allowlistz)JsonPlusSerializer.with_msgpack_allowlist~   s    6T!!^u%<%<K 	# 00NN UUN&u_'='=>>%'^##K 	D&+Fmm##5s;; 	D&+D,I&J&J##&*&C#	$&:4;U&V&V#)=>U)V)V&, 	%=.& &E" r"   )methodr:   kwargsconstructorCallable | type[Any]rf   !None | str | Sequence[None | str]r:   Sequence[Any] | Nonerg   dict[str, Any] | Nonedict[str, Any]c                   ddg |j                             d          |j        R d}|||d<   |||d<   |||d<   |S )Nr+   rh   r,   )lctypeidrf   r:   rg   )
__module__split__name__)rW   rh   rf   r:   rg   outs         r3   _encode_constructor_argsz+JsonPlusSerializer._encode_constructor_args   sn     !LK*0055L{7KLL
 

 "CMCK"CM
r"   valuer   c                   |                     dd           dk    r|                     dd           dk    r|                     dd           v|d         }t          |          }| j        s|rV	 |                     |          S # t          $ r3}|s't
                              d|d         |j                   Y d }~nd }~ww xY wt          |          S )Nro   r+   rp   rh   rq   z5Object %s is not in the deserialization allowlist.
%s)	getr4   rR   _revive_lc2InvalidModuleErrorrA   rB   message
LC_REVIVER)rW   rw   r&   is_safees        r3   _reviverzJsonPlusSerializer._reviver   s    IIdD!!Q&&		&$''=88		$%%1DkG(11G) 	W 	++E222)   " T!$KI   %   s   ,B 
B>)B99B>c                  	 |                      |           |d         ^ }}	 t          j        d                    |                    }t	          ||          	|                    d          }t          |t                    rt	          	|          g}n't          |t                    r	fd|D             }n	g}|                    d          }|                    d          }|D ]h}	 t          |          rt          |t                    r d S |r|r
 ||i |c S |r || c S |r
 |di |c S  |            c S # t          $ r Y ew xY wd S # t          $ r Y d S w xY w)Nrq   r,   rf   c                8    g | ]}|nt          |          S r>   getattr).0mclss     r3   
<listcomp>z2JsonPlusSerializer._revive_lc2.<locals>.<listcomp>   s)    QQQQ!)33aQQQr"   r:   rg    )_check_allowed_json_modules	importlibimport_moduler/   r   ry   r_   r9   listr   
issubclassBaseException	Exception)
rW   rw   modulenamemodrf   methodsr:   rg   r   s
            @r3   rz   zJsonPlusSerializer._revive_lc2   s   ((///+&$	)#((6*:*:;;C#t$$CYYx((F&#&&  "3//0FD))  QQQQ&QQQ%99V$$DYYx((F!  v $:fm+L+L $#tt ( (%vt6v66666 (%vt},,, (%v///////%vxx    H   	 	 	44	sf   CE ,$EE EE !E'E *	E3E 6	E?E 
EE EE 
E"!E"c           	        t          |d                   }|                    d          }t          |t                    r d                    d |D                       }nt          |t
                    r|}nd}d                    |          }t          t          |                    rd S | j        st          d| d| d	|d
          | j        du rd S || j        v rd S t          d| d| d|d          )Nrq   rf   ,c              3     K   | ]}|pd V  	dS )<init>Nr   )r   r   s     r3   	<genexpr>zAJsonPlusSerializer._check_allowed_json_modules.<locals>.<genexpr>   s&      %D%Dam8%D%D%D%D%D%Dr"   r   r,   z)Refused to deserialize JSON constructor: z
 (method: ul   ). No allowed_json_modules configured.

Unblock with ONE of:
  • JsonPlusSerializer(allowed_json_modules=[u   , ...])
  • (DANGEROUS) JsonPlusSerializer(allowed_json_modules=True)

Note: Prefix allowlists are intentionally unsupported; prefer exact symbols or plain-JSON representations revived without import-time side effects.Tz). Symbol is not in the deserialization allowlist.

Add exactly this symbol to unblock:
  JsonPlusSerializer(allowed_json_modules=[zY, ...])
Or, as a last resort (DANGEROUS):
  JsonPlusSerializer(allowed_json_modules=True))	r^   ry   r_   r   r/   r9   r4   rR   r{   )rW   rw   neededrf   method_displaydotteds         r3   r   z.JsonPlusSerializer._check_allowed_json_modules   sh   uT{##8$$fd## 	& XX%D%DV%D%D%DDDNN$$ 	&#NN%N&!!
 d6ll++ 	F) 		$ZF Z Zn Z Z CIZ Z Z   %--FT///F > > >. > > ;A> > >
 
 	
r"   objtuple[str, bytes]c                   |	dt           fS t          |t                    rd|fS t          |t                    rd|fS 	 dt	          |          fS # t
          j        $ r)}| j        rdt          j	        |          fcY d }~S |d }~ww xY w)Nnullbytes	bytearraymsgpackpickle)
EMPTY_BYTESr_   r   r   _msgpack_enc	ormsgpackMsgpackEncodeErrorrF   r   dumps)rW   r   excs      r3   dumps_typedzJsonPlusSerializer.dumps_typed  s    ;;&&U## 
	C<Y'' 	## ,s"3"333/   ' 7#V\#%6%66666666	s#   A BB;BBBdatac                V   |\  }}|dk    rd S |dk    r|S |dk    rt          |          S |dk    rt          j        || j                  S |dk    r&t	          j        || j        t          j                  S | j        r|dk    rt          j        |          S t          d	|           )
Nr   r   r   json)object_hookr   ext_hookoptionr   zUnknown serialization type: )r   r   loadsr   r   unpackbrV   OPT_NON_STR_KEYSrF   r   NotImplementedError)rW   r   type_data_s       r3   loads_typedzJsonPlusSerializer.loads_typed#  s    uF??4gLk!!U###f__:e????i$ 5i>X    ! 	Nex&7&7<&&&%&LU&L&LMMMr"   )
rF   r)   rG   rJ   rH   rK   rI   rL   r(   r<   )rY   rZ   r(   rE   )
rh   ri   rf   rj   r:   rk   rg   rl   r(   rm   )rw   rm   r(   r   )rw   rm   r(   r<   )r   r   r(   r   )r   r   r(   r   )rt   rr   __qualname____doc__r0   rO   rX   re   rv   r   rz   r   r   r   r   r"   r3   rE   rE   P   s         " !&QU !BF
 
 
 
 
 
>   H 59%)(,     *! ! ! !*   B)
 )
 )
 )
V   N N N N N Nr"   rE      r+               r   r   str | ormsgpack.Extc                    t           d          ret           j                  rQt          j        t
          t           j        j         j        j	                                         df                    S t           d          rdt           j
                  rPt          j        t          t           j        j         j        j	         
                                f                    S t           d          rdt           j                  rPt          j        t          t           j        j         j        j	                                         f                    S t           d          rdt           j                  rPt          j        t          t           j        j         j        j	                                         f                    S t!           t"          j                  rCt          j        t&          t           j        j         j        j	         j        f                    S t!           t*          j                  r6t          j        t&          t          dd j         j        ff                    S t!           t2                    rCt          j        t          t           j        j         j        j	         j        f                    S t!           t6          j                  rKt          j        t          t           j        j         j        j	        t;                     f                    S t!           t<          t>          t@          f          rKt          j        t          t           j        j         j        j	        tC                     f                    S t!           tD          tF          tH          f          rKt          j        t          t           j        j         j        j	        t;                     f                    S t!           tJ          tL          tN          f          rKt          j        t          t           j        j         j        j	        t;                     f                    S t!           tP                    rQt          j        tR          t           j        j         j        j	         *                                df                    S t!           tV                    rPt          j        t&          t           j        j         j        j	         j,         j-         j.        ff                    S t!           t^                    rPt          j        t&          t           j        j         j        j	         j0         j1         j2        ff                    S t!           tf                    rct          j        t          t           j        j         j        j	         j4         j5         j6         j7         j8         j9        d	f                    S t!           tt                    rPt          j        t&          t           j        j         j        j	         ;                                f                    S t!           tx                    rCt          j        t          t           j        j         j        j	         j=        f                    S t!           t|                    rCt          j        t          t           j        j         j        j	         j?        f                    S t!           t                    rJt          j        t&          t           j        j         j        j	         jA         jB        ff                    S t          jD                   r\t          j        t          t           j        j         j        j	         fd
t          jE                   D             f                    S t!           t                    rOt          j        t          t           j        j         j        j	         fd jG        D             f                    S t          jI        J                    d          x}t!           |jK                  r j        jL        r j        jM        sdnd} j        jM        ryt                     }	  jO        j         jP        ||f}t          j        t          t          |                    |R                                 S # |R                                 w xY w S                    d          } jO        j         jP        ||f}t          j        t          t          |                    S t!           t                    rt                     S t          d j        j	         d          )N
model_dumpmodel_validate_jsonget_secret_valuedict_asdictrecompilefromisoformat)hourminutesecondmicrosecondtzinfofoldc                F    i | ]}|j         t          |j                   S r   )r   r   )r   fieldr   s     r3   
<dictcomp>z$_msgpack_default.<locals>.<dictcomp>  s9       ! 
GC$<$<  r"   c                2    i | ]}|t          |          S r   r   )r   kr   s     r3   r   z$_msgpack_default.<locals>.<dictcomp>  s#    ???AQQ???r"   numpyFCAorderzObject of type z is not serializable)Whasattrcallabler   r   ExtEXT_PYDANTIC_V2r   	__class__rr   rt   r   EXT_CONSTRUCTOR_SINGLE_ARGr   EXT_PYDANTIC_V1r   EXT_CONSTRUCTOR_KW_ARGSr_   pathlibPathEXT_CONSTRUCTOR_POS_ARGSpartsr   Patternpatternflagsr   hexdecimalDecimalr9   r\   	frozensetr   r^   r   r   r   r   r   r   r	   EXT_METHOD_SINGLE_ARG	isoformatr   dayssecondsmicrosecondsr   yearmonthdayr
   r   r   r   r   r   r   r   __getinitargs__r   r6   r   rw   r   nodeargdataclassesis_dataclassfieldsr    	__slots__sysmodulesry   ndarrayf_contiguousc_contiguous
memoryviewdtypeshapeEXT_NUMPY_ARRAYreleasetobytesr   repr	TypeError)r   np_modr   mvmetabufs   `     r3   _msgpack_defaultr  B  s	   sL!! _Xhs~&>&> _X}M,M*NN$$)	 

 

 
	
 
(	)	) SXhs7K.L.L SX}&M,M*((** 	
 	
 		
 
f		 HX(38"4"4 HX}M,M*HHJJ 	
 	
 		
 
i	 	  }XXck%:%: }X}#M,M*KKMM 	
 	
 		
 
C	&	& rX}$)3=+A39M 
 
 	
 
C	$	$ kX}$y3;	":; 
 
 	
 
C		 dX}&)3=+A37K 
 
 	
 
C	)	) ]X}&)3=+A3s88L 
 
 	
 
C#y%0	1	1 VX}&)3=+A5::N 
 
 	
 
C+}kB	C	C OX}&)3=+A3s88L 
 
 	
 
C+}kB	C	C HX}&)3=+A3s88L 
 
 	
 
C	"	" AX}!M,M*MMOO#	 

 

 
	
 
C	#	# uX}$M,M*Xs{C,<= 	
 	
 		
 
C		 jX}$M,M*Xsy#'2 	
 	
 		
 
C		 _X}#M,M* #"%*"%*'*"%* #  
 
 	
" 
C	"	" MX}$M,M*'')) 	
 	
 		
 
C	"	" BX}&)3=+A37K 
 
 	
 
C		 ;X}&)3=+A39M 
 
 	
 
C	&	& 4X}$)3=+ACHcgCVW 
 
 	
 
	!#	&	& -X}#M,M*   %0%7%<%<  	 	
 
 	
 
C		 X}#M,M*??????? 	
 	
 		
 KOOG,,
,&	9jV^? ?	9 y-Uci6LURU9! 
	FCB	sy%< }_l46H6HII



++C+((CIM39eS9D=,t2D2DEEE	C	'	' XCyyV#-*@VVVWWWs   #;d3 3e	allowed_modules+set[tuple[str, ...]] | Literal[True] | NoneCallable[[int, bytes], Any]c                2     d fddddfdS )aB  Create msgpack ext hook with allowlist.

    Args:
        allowed_modules: Set of (module, name) tuples that are allowed to be
        deserialized, or True to allow all with warnings for unregistered types, or None to only allow safe types.

    Returns:
        An ext_hook function for use with ormsgpack.unpackb.
    r   r9   r   r(   r)   c           	         | |f}|t           j        v rdS du r/t          d| |d           t          t          |d| || |           dS |v rdS t          d| |d           t          t
          |d| || |           dS )	zDCheck if type is allowed. Returns True if allowed, False if blocked.Tmsgpack_unregistered_allowed)kindr   r   zDeserializing unregistered type %s.%s from checkpoint. This will be blocked in a future version. Set LANGGRAPH_STRICT_MSGPACK=true to block now, or add to allowed_msgpack_modules to allow explicitly: [(%r, %r)]Nmsgpack_blockedzvBlocked deserialization of %s.%s - not in allowed_msgpack_modules. Add to allowed_msgpack_modules to allow: [(%r, %r)]F)r0   r1   r   rC   r$   r%   )r   r   r6   r  s      r3   _check_allowedz0_create_msgpack_ext_hook.<locals>._check_allowed2  s    tn+0004d"":$     *M    4&o%%t)  	
 	
 	
 	!B		
 		
 		
 ur"   rf   c                    | ||f}|t           j        v rdS t          d| ||d           t                              d| ||           dS )z(Check if a method invocation is allowed.Tmsgpack_method_blocked)r  r   r   rf   zMBlocked deserialization of method call %s.%s.%s - not in allowed methods set.F)r0   SAFE_MSGPACK_METHODSr   rA   rB   )r   r   rf   r6   s       r3   _check_allowed_methodz7_create_msgpack_ext_hook.<locals>._check_allowed_methodf  sv    tV$+22240  	 	
 	
 	
 	*	
 	
 	
 ur"   codeintr   r   r   c           	     t	   | t           k    r	 t          j        |t          j                  } 
|d         |d                   s|d         S  t	          t          j        |d                   |d                   |d                   S # t          $ r Y d S w xY w| t          k    r	 t          j        |t          j                  } 
|d         |d                   s|d         S  t	          t          j        |d                   |d                   |d          S # t          $ r Y d S w xY w| t          k    r	 t          j        |t          j                  } 
|d         |d                   s|d         S  t	          t          j        |d                   |d                   di |d         S # t          $ r Y d S w xY w| t          k    r	 t          j        |t          j                  } |d         |d         |d                   s|d         S  t	          t	          t          j        |d                   |d                   |d                   |d                   S # t          $ r Y d S w xY w| t          k    r	 t          j        |t          j                  } 
|d         |d                   s|d         S t	          t          j        |d                   |d                   }	  |di |d         S # t          $ r  |j        di |d         cY S w xY w# t          $ r 	 |d         cY S # t          $ r Y Y d S w xY ww xY w| t          k    r	 t          j        |t          j                  } 
|d         |d                   s|d         S t	          t          j        |d                   |d                   }	  |di |d         S # t          $ r  |j        di |d         cY S w xY w# t          $ r 	 |d         cY S # t          $ r Y Y d S w xY ww xY w| t           k    r}	 dd l}t          j        |t          j                  \  }}}}|                    ||                    |                    }	|	                    ||          S # t          $ r Y d S w xY wd S )	Nr   r   r   r+   r   r  r   r   )r   r   r   r   r   r   r   r   r   r   r   r   	construct	NameErrorr   model_constructr  r   
frombufferr  reshape)r  r   tupr   _np	dtype_strr  r   r  arrr  r  r   s             r3   r   z*_create_msgpack_ext_hook.<locals>.ext_hook|  s   ---'8I4N   &~c!fc!f55 " q6MGwy6s1v>>AGGAOOO   tt---	'8I4N   &~c!fc!f55 "q6MGwy6s1v>>AGGQPP   tt,,,	'8I4N   &~c!fc!f55 "q6MGwy6s1v>>AGGQQ#a&QQQ   tt***'8I4N   -,SVSVSVDD "q6MwI3CF;;SVDDc!f a&      tt_$$ '8I4N   &~c!fc!f55 "q6Mi5c!f==s1vFF33==Q==(  3 3 3(3=223q6222223       q6MMM       444   _$$ '8I4N   &~c!fc!f55 "q6Mi5c!f==s1vFF93==Q==(  9 9 9.3.88Q888889       q6MMM       444   _$$	####/8/@8I4N0 0 0,	5% nnS		)0D0DnEE{{5{666   ttts!  A B <B 
BB)A D! *6D! !
D/.D/>A F9 ?9F9 9
GGAI/ AI/ /
I=<I=A L- .L- <L
 
L*'L- )L**L- -
M8M?M
MMMM$A P %.P O" "P?P PP 
P-PP-
P)$P-(P))P-<A*R' '
R54R5)r   r9   r   r9   r(   r)   )r   r9   r   r9   rf   r9   r(   r)   r  r  r   r   r(   r   r   )r  r  r  r   s   `@@@r3   rU   rU   %  sq    2 2 2 2 2 2h   ,e e e e e e e eN Or"   )r  r  r  r   r   c                   | t           k    r	 t          j        |t          t          j                  }|d         dk    rL|d         dk    r@|d         }|d d          d|dd	          d|d	d
          d|d
d          d|dd           	S |d         S # t
          $ r Y d S w xY w| t          k    ri	 t          j        |t          t          j                  }|d         dk    r|d         dk    rddlm}  ||d          S |d         S # t
          $ r Y d S w xY w| t          k    r@	 t          j        |t          t          j                  }|d         S # t
          $ r Y d S w xY w| t          k    r@	 t          j        |t          t          j                  }|d         S # t
          $ r Y d S w xY w| t          k    r@	 t          j        |t          t          j                  }|d         S # t
          $ r Y d S w xY w| t          k    r@	 t          j        |t          t          j                  }|d         S # t
          $ r Y d S w xY w| t          k    r	 dd l}t          j        |t          t          j                  \  }}}}	|                    |	|                    |                    }
|
                    ||                                          S # t
          $ r Y d S w xY wd S )Nr   r   uuidr   r   r+      -         zlanggraph.typesSend)r2  r   r   )r   r   r   _msgpack_ext_hook_to_jsonr   r   r   langgraph.typesr2  r   r   r   r   r  r   r$  r  r%  tolist)r  r   r&  hex_r2  r'  r(  r  r   r  r)  s              r3   r3  r3    s   )))	#2 1  C
 1vCFf$4$41vBQBxVV$qt*VVtBrE{VVT"R%[VV4PRPSPS9VV q6M 	 	 	FF		)	)	)	#2 1  C
 1v***s1v/?/?000000tSV}$q6M 	 	 	FF		(	(	(		#2 1  C q6M 	 	 	FF		&	&	&		#2 1  C q6M 	 	 	FF			 	 	#2 1  C q6M 	 	 	 FF	 
	 	 		#2 1  C q6M 	 	 	FF			 	 	+4+<2 1, , ,(IueS
 ..CIIi,@,@.AAC;;uE;2299;;; 	 	 	FF	 
!	 s   A=B B 
B! B!0AD ?D 
DD$-E 
E E /-F 
F+*F+:-G( (
G65G6-H3 3
I IBK 
K K c                      e Zd ZdZddZdS )r{   z7Exception raised when a module is not in the allowlist.r|   r9   c                    || _         d S r>   )r|   )rW   r|   s     r3   rX   zInvalidModuleError.__init__J  s    r"   N)r|   r9   )rt   rr   r   r   rX   r   r"   r3   r{   r{   G  s.        AA     r"   r{   c                D    t          j        | t          t                    S )N)defaultr   )r   packbr  _option)r   s    r3   r   r   X  s    ?4)9'JJJJr"   	allowlistrK   c                4    | du r| S | rt          |           S d S rN   )r]   )r=  s    r3   rQ   rQ   \  s0     D	 %i000tr"   r   r!   set[tuple[str, ...]]c                    t                      }| D ]h}t          |          r"|                    |j        |j        f           3|                    t          t          t          df         |                     i|S )N.)r\   r   r@   rr   rt   r   r^   r9   )r   
normalizedr   s      r3   r]   r]   g  sv     (+uuJ : :6?? 	:NNF-v?@@@@NN4c3h889999r"   )r&   r'   r(   r)   )
r5   r#   r6   r7   r8   r9   r:   r;   r(   r<   )r   r   r(   r   )r  r  r(   r  r*  )r   r   r(   r   )r=  rK   r(   r  )r   r!   r(   r?  )_
__future__r   r`   r   r   r   r   loggingr   r   r   r   collectionsr   collections.abcr   r   r   r	   r   r
   r   r   enumr   inspectr   	ipaddressr   r   r   r   r   r   typingr   r   r   r   r,  r   zoneinfor   r   langchain_core.load.loadr   langgraph.checkpoint.serder   r0   langgraph.checkpoint.serde.baser   &langgraph.checkpoint.serde.event_hooksr    langgraph.checkpoint.serde.typesr   langgraph.store.baser    #langgraph.checkpoint.serde._msgpackr!   r}   r   	getLoggerrt   rA   r?   r\   r$   __annotations__r%   r4   rC   rE   r   r   r   r   r   r   r  r  rU   _msgpack_ext_hookr3  r   r{   r   OPT_PASSTHROUGH_DATACLASSOPT_PASSTHROUGH_DATETIMEOPT_PASSTHROUGH_ENUMOPT_PASSTHROUGH_UUIDOPT_REPLACE_SURROGATESr<  r   rQ   r]   r   r"   r3   <module>rZ     sR   " " " " " " "               				 



       8 8 8 8 8 8 8 8 8 8 > > > > > > > > > > > > > >                            5 4 4 4 4 4 4 4 4 4 4 4                 , , , , , , > > > > > > > > > > > > C C C C C C 9 9 9 9 9 9 % % % % % % >      >=====WYY
		8	$	$  36355  8 8 8 8.1cee  3 3 3 3
H 
H 
H 
H   dN dN dN dN dN+ dN dN dNR     `X `X `X `XF~ ~ ~ ~D -,TBBB Z Z Z Zz        )*() $% $	%
 &' K K K K   	 	 	 	 	 	r"   