§
    ™ŠtjÞ{  ã                  óþ  — 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l5m6Z6m7Z7 d dl8m9Z9 e#rd dl:m;Z;  e-d¬¦  «        Z<dZ= ej>        e?¦  «        Z@dZA eB¦   «         ZCdeDd<    eB¦   «         ZEdeDd<   dKd„ZFdLd'„ZG G d(„ d)e2¦  «        ZHd ZId*ZJd+ZKd,ZLd-ZMd.ZNd/ZOd0ZPdMd4„ZQdNd6„ZRdOd:„ZS eSd¬;¦  «        ZTdPd@„ZU G dA„ dBeV¦  «        ZWe+jX        e+jY        z  e+jZ        z  e+j[        z  e+j\        z  e+j]        z  Z^dQdC„Z_dRdF„Z`dSdJ„ZadS )Té    )Ú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Ú_DeltaSnapshot)ÚItem)ÚAllowedMsgpackModulesÚcore)Úallowed_objectsó    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     úa/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langgraph/checkpoint/serde/jsonplus.pyÚ_is_safe_json_typer7   <   sJ   € õ ˆ7�|„|�aÒÐØˆuØ—(’(˜7 3 B 3œ<Ñ(Ô(€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)r1   Ú_MAX_WARNED_TYPESÚaddÚloggerÚwarning)r8   r9   r;   r=   s       r6   Ú
_warn_oncerF   I   sP   € ð ˆd€{€{•c˜$‘i”iÕ#4Ò4Ð4ØˆØ‡H‚HˆS�M„M€MÝ
„N�3Ð˜ÐÐÐÐÐÐr%   c                  ó`   — e Zd ZdZddej        ddœdd„Z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__rI   r,   rJ   ú0Iterable[tuple[str, ...]] | Literal[True] | NonerK   ú,AllowedMsgpackModules | Literal[True] | NonerL   ú"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)
r3   Ú	_SENTINELÚSTRICT_MSGPACK_ENABLEDrI   Ú_normalize_allowlistÚ_allowed_json_modulesÚ_allowed_msgpack_modulesÚ_custom_unpack_ext_hookÚ_create_msgpack_ext_hookÚ_unpack_ext_hook)ÚselfrI   rJ   rK   rL   s        r6   Ú__init__zJsonPlusSerializer.__init__a   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)rV   ÚsetÚ_normalize_module_keysÚtupleÚ
isinstanceÚcopyrT   rU   rW   rX   rY   )rZ   r\   Úbase_allowlistÚextraÚmergedrK   Úclones          r6   Úwith_msgpack_allowlistz)JsonPlusSerializer.with_msgpack_allowlist€   s  € ð Ô6ˆØ˜TÐ!Ð! ^°uÐ%<Ð%<ØˆKØð 	#Ý  Ñ0Ô0ˆNˆNå ™UœUˆNÝ&¥u¨_Ñ'=Ô'=Ñ>Ô>ˆØ %Ñ'ˆØ�^Ò#Ð#ØˆKàð 	DÝ&+¨F¡m¤mÐ#Ð#Ý˜Ô5µsÑ;Ô;ð 	DÝ&+¨DÔ,IÑ&JÔ&JÐ#Ð#à&*Ô&CÐ#å”	˜$‘”ˆÝ&:¸4Ô;UÑ&VÔ&VˆÔ#Ý)=Ð>UÑ)VÔ)VˆÔ&ØÔ,ð 	Ý%=ØÔ.ñ&ô &ˆEÔ"ð ˆr%   Úvalueúdict[str, Any]r   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 )NÚlcr.   ÚtypeÚconstructorÚidz5Object %s is not in the deserialization allowlist.
%s)	Úgetr7   rU   Ú_revive_lc2ÚInvalidModuleErrorrD   rE   ÚmessageÚ
LC_REVIVER)rZ   ri   r)   Úis_safeÚes        r6   Ú_reviverzJsonPlusSerializer._reviver    sê   € à�IŠI�d˜DÑ!Ô! QÒ&Ð&Ø—	’	˜& $Ñ'Ô'¨=Ò8Ð8Ø—	’	˜$ Ñ%Ô%Ð1à˜D”kˆGÝ(¨Ñ1Ô1ˆGØÔ)ð 	¨Wð 	ðØ×+Ò+¨EÑ2Ô2Ð2øÝ)ð ð ð Ø"ð ÝŸšØTØ! $œKØœIñô ð øøøøøøøøøðøøøõ ˜%Ñ Ô Ð s   Á,B Â
B>Â)B9Â9B>c           	     ób  — |                       |¦  «         |d         �^ }}	 t          j        d                     |¦  «        ¦  «        }t	          ||¦  «        }t          |¦  «        rt          |t          ¦  «        rd S |                     d¦  «        }|                     d¦  «        }|r
|r ||i |¤ŽS |r ||Ž S |r |di |¤ŽS  |¦   «         S # t          $ rT}t                               dd                     g |¢|‘R ¦  «        d|v t          |¦  «        j        ¦  «         Y d }~d S d }~ww xY w)Nro   r/   r=   ÚkwargszTFailed to revive lc:2 envelope %s (legacy_method_field=%s, error=%s); returning NoneÚmethod© )Ú_check_allowed_json_modulesÚ	importlibÚimport_moduler2   Úgetattrr   Ú
issubclassÚBaseExceptionrp   Ú	ExceptionrD   rE   rm   Ú__name__)	rZ   ri   ÚmoduleÚnameÚmodÚclsr=   ry   Úexcs	            r6   rq   zJsonPlusSerializer._revive_lc2µ   so  € Ø×(Ò(¨Ñ/Ô/Ð/à œ+‰ˆ&�$ð	ÝÔ)¨#¯(ª(°6Ñ*:Ô*:Ñ;Ô;ˆCÝ˜#˜tÑ$Ô$ˆCÝ�s‰|Œ|ð ¥
¨3µÑ >Ô >ð Ø�tØ—9’9˜VÑ$Ô$ˆDØ—Y’Y˜xÑ(Ô(ˆFØð ˜ð Ø�s˜DÐ+ FÐ+Ð+Ð+Øð Ø�s˜D�zÐ!Øð Ø�s�}�}˜V�}�}Ð$à�s‘u”u�øÝð 	ð 	ð 	õ �NŠNðEà—’˜˜6˜ 4˜˜Ñ)Ô)Ø˜EÐ!Ý�S‘	”	Ô"ñô ð ð �4�4�4�4�4øøøøð	øøøs1   ¢AC Á?5C Â5C Â<	C Ã	C Ã
D.ÃA	D)Ä)D.c                ó$  — t          |d         ¦  «        }d                     |¦  «        }t          t          |¦  «        ¦  «        rd S | j        st          d|› d|›d�¦  «        ‚| j        du rd S || j        v rd S t          d|› d|›d�¦  «        ‚)	Nro   r/   z)Refused to deserialize JSON constructor: uk   . 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))ra   r2   r7   ÚlistrU   rr   )rZ   ri   ÚneededÚdotteds       r6   r|   z.JsonPlusSerializer._check_allowed_json_modulesß   së   € Ý�u˜T”{Ñ#Ô#ˆØ—’˜&Ñ!Ô!ˆõ
 �d 6™lœlÑ+Ô+ð 	ØˆFàÔ)ð 		Ý$ðZ¸Fð 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_BYTESrb   r‘   r’   Ú_msgpack_encÚ	ormsgpackÚMsgpackEncodeErrorrI   r”   Údumps)rZ   r�   rˆ   s      r6   Ú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�   Úloadsrw   r—   ÚunpackbrY   ÚOPT_NON_STR_KEYSrI   r”   ÚNotImplementedError)rZ   r›   Útype_Údata_s       r6   Úloads_typedzJsonPlusSerializer.loads_typed  sÓ   € Ø‰ˆˆuØ�FŠ?ˆ?Ø�4Ø�gÒÐØˆLØ�kÒ!Ð!Ý˜UÑ#Ô#Ð#Ø�fŠ_ˆ_Ý”:˜e°´Ð?Ñ?Ô?Ð?Ø�iÒÐÝÔ$Ø Ô 5½iÔ>Xðñ ô ð ð Ô!ð 	N e¨xÒ&7Ð&7Ý”< Ñ&Ô&Ð&å%Ð&LÀUÐ&LÐ&LÑMÔMÐMr%   )
rI   r,   rJ   rM   rK   rN   rL   rO   r+   r?   )r\   r]   r+   rH   )ri   rj   r+   r   )ri   rj   r+   r?   )r�   r   r+   rŽ   )r›   rŽ   r+   r   )rƒ   Ú
__module__Ú__qualname__Ú__doc__r3   rR   r[   rh   rw   rq   r|   rš   r¨   r{   r%   r6   rH   rH   R   sÐ   € € € € € ðð ð" !&ØQUð Ô!ØBFð
ð 
ð 
ð 
ð 
ð 
ð>ð ð ð ð@!ð !ð !ð !ð*(ð (ð (ð (ðT!
ð !
ð !
ð !
ðFð ð ð ðNð Nð Nð Nð Nð Nr%   rH   é   r.   é   é   é   é   é   r�   r   ústr | ormsgpack.Extc                óˆ  ‡ — t          ‰ t          ¦  «        r,t          j        t          t          ‰ j        ¦  «        ¦  «        S 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          ‰ t0          j        ¦  «        r6t          j        t,          t          dd‰ j        ‰ j        ff¦  «        ¦  «        S t          ‰ t8          ¦  «        rCt          j        t          t          ‰ j        j        ‰ j        j        ‰ j        f¦  «        ¦  «        S t          ‰ t<          j        ¦  «        rKt          j        t          t          ‰ j        j        ‰ j        j        tA          ‰ ¦  «        f¦  «        ¦  «        S t          ‰ tB          tD          tF          f¦  «        rKt          j        t          t          ‰ j        j        ‰ j        j        tI          ‰ ¦  «        f¦  «        ¦  «        S t          ‰ tJ          tL          tN          f¦  «        rKt          j        t          t          ‰ j        j        ‰ j        j        tA          ‰ ¦  «        f¦  «        ¦  «        S t          ‰ tP          tR          tT          f¦  «        rKt          j        t          t          ‰ j        j        ‰ j        j        tA          ‰ ¦  «        f¦  «        ¦  «        S t          ‰ tV          ¦  «        rQt          j        tX          t          ‰ j        j        ‰ j        j        ‰  -                    ¦   «         df¦  «        ¦  «        S t          ‰ t\          ¦  «        rPt          j        t,          t          ‰ j        j        ‰ j        j        ‰ j/        ‰ j0        ‰ j1        ff¦  «        ¦  «        S t          ‰ td          ¦  «        rPt          j        t,          t          ‰ j        j        ‰ j        j        ‰ j3        ‰ j4        ‰ j5        ff¦  «        ¦  «        S t          ‰ tl          ¦  «        rct          j        t&          t          ‰ j        j        ‰ j        j        ‰ j7        ‰ j8        ‰ j9        ‰ j:        ‰ j;        ‰ j<        d	œf¦  «        ¦  «        S t          ‰ tz          ¦  «        rPt          j        t,          t          ‰ j        j        ‰ j        j        ‰  >                    ¦   «         f¦  «        ¦  «        S t          ‰ t~          ¦  «        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„          ¦  «        rn‰ jC        ‰ jD        f}t‹          ‰ d
d ¦  «        x}�‰ jC        ‰ jD        |f}t          j        t,          t          ‰ j        j        ‰ j        j        |f¦  «        ¦  «        S t�          jG        ‰ ¦  «        r\t          j        t&          t          ‰ j        j        ‰ j        j        ˆ fd„t�          jH        ‰ ¦  «        D ¦   «         f¦  «        ¦  «        S t          ‰ t’          ¦  «        rOt          j        t&          t          ‰ j        j        ‰ j        j        ˆ fd„‰ jJ        D ¦   «         f¦  «        ¦  «        S t–          jL         M                    d¦  «        x}��t          ‰ |jN        ¦  «        ró‰ j        jO        r‰ j        jP        sdnd}‰ j        jP        ryt£          ‰ ¦  «        }	 ‰ jR        j         ‰ jS        ||f}t          j        t¨          t          |¦  «        ¦  «        | U                    ¦   «          S # | U                    ¦   «          w xY w‰  V                    d¬¦  «        }‰ jR        j         ‰ jS        ||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ÚfoldÚtimeoutc                óF   •— i | ]}|j         t          ‰|j         ¦  «        “ŒS r{   )r…   r   )Ú.0Úfieldr�   s     €r6   ú
<dictcomp>z$_msgpack_default.<locals>.<dictcomp>ñ  s9   ø€ ð ð ð à!ð œ
¥G¨C°´Ñ$<Ô$<ðð ð r%   c                ó2   •— i | ]}|t          ‰|¦  «        “ŒS r{   )r   )rÄ   Úkr�   s     €r6   rÆ   z$_msgpack_default.<locals>.<dictcomp>ÿ  s#   ø€ Ð?Ð?Ð?¨A�Q�  Q™œÐ?Ð?Ð?r%   ÚnumpyÚFÚCÚA©ÚorderzObject of type z is not serializable)Zrb   r    r—   ÚExtÚEXT_DELTA_SNAPSHOTr–   ri   ÚhasattrÚcallabler´   ÚEXT_PYDANTIC_V2Ú	__class__r©   rƒ   r¶   ÚEXT_CONSTRUCTOR_SINGLE_ARGr·   ÚEXT_PYDANTIC_V1r¸   ÚEXT_CONSTRUCTOR_KW_ARGSÚpathlibÚPathÚEXT_CONSTRUCTOR_POS_ARGSÚpartsr¹   ÚPatternÚpatternÚflagsr   ÚhexÚdecimalÚDecimalr<   r_   Ú	frozensetr   ra   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   r9   r   r   ÚnodeÚargr   ÚdataclassesÚis_dataclassÚfieldsr!   Ú	__slots__ÚsysÚmodulesrp   ÚndarrayÚf_contiguousÚc_contiguousÚ
memoryviewÚdtypeÚshapeÚEXT_NUMPY_ARRAYÚreleaseÚtobytesr�   ÚreprÚ	TypeError)r�   r=   rÂ   Únp_modrÎ   ÚmvÚmetaÚbufs   `       r6   Ú_msgpack_defaultr  1  s|	  ø€ Ý�#•~Ñ&Ô&ð dXÝŒ}Õ/µ¸c¼iÑ1HÔ1HÑIÔIÐIÝ	��lÑ	#Ô	#ð bX­°´Ñ(@Ô(@ð bXÝŒ}ÝÝà”MÔ,Ø”MÔ*Ø—N’NÑ$Ô$Ø)ð	ñô ñ

ô 

ð 
	
õ 
�Ð(Ñ	)Ô	)ð VX­h°sÔ7KÑ.LÔ.Lð VXÝŒ}Ý&Ýà”MÔ,Ø”MÔ*Ø×(Ò(Ñ*Ô*ðñô ñ	
ô 	
ð 		
õ 
��fÑ	Ô	ð KX¥(¨3¬8Ñ"4Ô"4ð KXÝŒ}ÝÝà”MÔ,Ø”MÔ*Ø—H’H‘J”Jðñô ñ	
ô 	
ð 		
õ 
��iÑ	 Ô	 ð @X¥X¨c¬kÑ%:Ô%:ð @XÝŒ}Ý#Ýà”MÔ,Ø”MÔ*Ø—K’K‘M”Mðñô ñ	
ô 	
ð 		
õ 
�C�œÑ	&Ô	&ð uXÝŒ}Ý$ÝØ”Ô)¨3¬=Ô+AÀ3Ä9ÐMñô ñ
ô 
ð 	
õ 
�C�œÑ	$Ô	$ð nXÝŒ}Ý$ÝØ�y 3¤;°´	Ð":Ð;ñô ñ
ô 
ð 	
õ 
�C�Ñ	Ô	ð gXÝŒ}Ý&ÝØ”Ô)¨3¬=Ô+AÀ3Ä7ÐKñô ñ
ô 
ð 	
õ 
�C�œÑ	)Ô	)ð `XÝŒ}Ý&ÝØ”Ô)¨3¬=Ô+AÅ3ÀsÁ8Ä8ÐLñô ñ
ô 
ð 	
õ 
�C�#�y­%Ð0Ñ	1Ô	1ð YXÝŒ}Ý&ÝØ”Ô)¨3¬=Ô+AÅ5ÈÁ:Ä:ÐNñô ñ
ô 
ð 	
õ 
�C�+¥}µkÐBÑ	CÔ	Cð RXÝŒ}Ý&ÝØ”Ô)¨3¬=Ô+AÅ3ÀsÁ8Ä8ÐLñô ñ
ô 
ð 	
õ 
�C�+¥}µkÐBÑ	CÔ	Cð KXÝŒ}Ý&ÝØ”Ô)¨3¬=Ô+AÅ3ÀsÁ8Ä8ÐLñô ñ
ô 
ð 	
õ 
�C�Ñ	"Ô	"ð DXÝŒ}Ý!Ýà”MÔ,Ø”MÔ*Ø—M’M‘O”OØ#ð	ñô ñ

ô 

ð 
	
õ 
�C�Ñ	#Ô	#ð xXÝŒ}Ý$Ýà”MÔ,Ø”MÔ*Ø”X˜sœ{¨CÔ,<Ð=ðñô ñ	
ô 	
ð 		
õ 
�C�Ñ	Ô	ð mXÝŒ}Ý$Ýà”MÔ,Ø”MÔ*Ø”X˜sœy¨#¬'Ð2ðñô ñ	
ô 	
ð 		
õ 
�C�Ñ	Ô	ð bXÝŒ}Ý#Ýà”MÔ,Ø”MÔ*à #¤Ø"%¤*Ø"%¤*Ø'*¤Ø"%¤*Ø #¤ðð ðñô ñ
ô 
ð 	
õ" 
�C�Ñ	"Ô	"ð PXÝŒ}Ý$Ýà”MÔ,Ø”MÔ*Ø×'Ò'Ñ)Ô)ðñô ñ	
ô 	
ð 		
õ 
�C�Ñ	"Ô	"ð EXÝŒ}Ý&ÝØ”Ô)¨3¬=Ô+AÀ3Ä7ÐKñô ñ
ô 
ð 	
õ 
�C�Ñ	Ô	ð >XÝŒ}Ý&ÝØ”Ô)¨3¬=Ô+AÀ3Ä9ÐMñô ñ
ô 
ð 	
õ 
�C�Ñ	&Ô	&ð 7XØ!$¤¨3¬7Ð 3ˆÝ˜s I¨tÑ4Ô4Ð4ˆGÐAØ”H˜cœg wÐ/ˆDÝŒ}Ý$ÝØ”Ô)¨3¬=Ô+AÀ4ÐHñô ñ
ô 
ð 	
õ 
Ô	! #Ñ	&Ô	&ð -XåŒ}Ý#Ýà”MÔ,Ø”MÔ*ðð ð ð å%0Ô%7¸Ñ%<Ô%<ðñ ô ðñ	ô 	ñ
ô 
ð 	
õ 
�C�Ñ	Ô	ð XÝŒ}Ý#Ýà”MÔ,Ø”MÔ*Ø?Ð?Ð?Ð?°´Ð?Ñ?Ô?ðñô ñ	
ô 	
ð 		
õ ”K—O’O GÑ,Ô,Ð
,ˆ&Ñ	9½jØˆVŒ^ñ?ô ?Ð	9ð ”yÔ-ÐU°c´iÔ6LÐU��ÐRUˆØŒ9Ô!ð 
	FÝ˜C‘”ˆBðØœ	œ s¤y°%¸Ð<�Ý ”}¥_µlÀ4Ñ6HÔ6HÑIÔIà—
’
‘”��ø�—
’
‘”��øøøà—+’+ C�+Ñ(Ô(ˆCØ”I”M 3¤9¨e°SÐ9ˆDÝ”=¥µ,¸tÑ2DÔ2DÑEÔEÐEå	�C�Ñ	'Ô	'ð XÝ�C‰yŒyÐåÐV¨#¬-Ô*@ÐVÐVÐVÑWÔWÐWs   å;f æf.úSequence[Any]c                ó~   — ddl m} t          | ¦  «        dk    r || Ž S  || d         | d         | d         ¬¦  «        S )Nr   )ÚSendr.   r¬   )rÂ   )Úlanggraph.typesr  r1   )r=   r  s     r6   Ú_send_from_argsr    sR   € à$Ð$Ð$Ð$Ð$Ð$å
ˆ4�y„y�A‚~€~Øˆt�Tˆ{ÐØˆ4��Q”˜˜aœ¨$¨q¬'Ð2Ñ2Ô2Ð2r%   Ú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„   r<   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…   zÒDeserializing 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)r3   r4   r   rF   r'   r(   )r„   r…   r9   r	  s      €r6   Ú_check_allowedz0_create_msgpack_ext_hook.<locals>._check_allowed/  sò   ø€ à�tˆnˆà•+Ô0Ð0Ð0Ø�4à˜dÐ"Ð"åà:Ø$Ø ðð ñô ð õ Ý*ØðMð ØØØñô ð ð �4ØÐ&Ø�oÐ%Ð%Ø�tåà)Ø Øðð ñ	
ô 	
ð 	
õ 	Ý!ØðBàØØØñ		
ô 		
ð 		
ð ˆur%   rz   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…   rz   zMBlocked deserialization of method call %s.%s.%s - not in allowed methods set.F)r3   ÚSAFE_MSGPACK_METHODSr   rD   rE   )r„   r…   rz   r9   s       r6   Ú_check_allowed_methodz7_create_msgpack_ext_hook.<locals>._check_allowed_methodc  sv   € à�t˜VÐ$ˆØ•+Ô2Ð2Ð2Ø�4Ýà0Ø ØØ ð	ð ñ	
ô 	
ð 	
õ 	�Šð*àØØñ	
ô 	
ð 	
ð ˆur%   ÚcodeÚintr›   r‘   r   c           	     ó@
  •— | t           k    r.t          t          j        |‰t          j        ¬¦  «        ¦  «        S | 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 |d         dk    r!|d         dk    rt          |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.   úlanggraph.typesr  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             €€€r6   r    z*_create_msgpack_ext_hook.<locals>.ext_hooky  s=  ø€ ØÕ%Ò%Ð%Ý!ÝÔ!Ø 8µIÔ4Nðñ ô ñô ð ð
 Õ/Ò/Ð/ðÝÔ'Ø 8µIÔ4Nðñ ô �ð &�~ c¨!¤f¨c°!¬fÑ5Ô5ð "ð ˜qœ6�MàG•w�yÔ6°s¸1´vÑ>Ô>ÀÀAÄÑGÔGÈÈAÌÑOÔOÐOøÝð ð ð Ø�t�tðøøøàÕ-Ò-Ð-ðÝÔ'Ø 8µIÔ4Nðñ ô �ð &�~ c¨!¤f¨c°!¬fÑ5Ô5ð "Ø˜qœ6�MØ�q”6Ð.Ò.Ð.°3°q´6¸VÒ3CÐ3CÝ*¨3¨q¬6Ñ2Ô2Ð2àG•w�yÔ6°s¸1´vÑ>Ô>ÀÀAÄÑGÔGÈÈQÌÐPÐPøÝð ð ð Ø�t�tðøøøàÕ,Ò,Ð,ð	ÝÔ'Ø 8µIÔ4Nðñ ô �ð &�~ c¨!¤f¨c°!¬fÑ5Ô5ð "Ø˜qœ6�MàG•w�yÔ6°s¸1´vÑ>Ô>ÀÀAÄÑGÔGÐQÐQÈ#ÈaÌ&ÐQÐQÐQøÝð ð ð Ø�t�tðøøøàÕ*Ò*Ð*ðÝÔ'Ø 8µIÔ4Nðñ ô �ð -Ð,¨S°¬V°S¸´V¸SÀ¼VÑDÔDð "Ø˜qœ6�Mð•wÝ�IÔ3°C¸´FÑ;Ô;¸SÀ¼VÑDÔDÀcÈ!Äfñô à�a”&ñô ð øõ ð ð ð Ø�t�tðøøøà•_Ò$Ð$ð ÝÔ'Ø 8µIÔ4Nðñ ô �ð &�~ c¨!¤f¨c°!¬fÑ5Ô5ð "Ø˜qœ6�Må�iÔ5°c¸!´fÑ=Ô=¸sÀ1¼vÑFÔF�ð3Ø˜3˜=˜=  Q¤˜=˜=Ð(øÝ ð 3ð 3ð 3Ø(˜3œ=Ð2Ð2¨3¨q¬6Ð2Ð2Ð2Ð2Ð2ð3øøøøåð  ð  ð  ð Ø˜qœ6�M�M�MøÝ ð  ð  ð  Ø˜4˜4˜4ð øøøð øøøð •_Ò$Ð$ð ÝÔ'Ø 8µIÔ4Nðñ ô �ð &�~ c¨!¤f¨c°!¬fÑ5Ô5ð "Ø˜qœ6�Må�iÔ5°c¸!´fÑ=Ô=¸sÀ1¼vÑFÔF�ð9Ø˜3˜=˜=  Q¤˜=˜=Ð(øÝ ð 9ð 9ð 9Ø.˜3Ô.Ð8Ð8°°Q´Ð8Ð8Ð8Ð8Ð8ð9øøøøåð  ð  ð  ð Ø˜qœ6�M�M�MøÝ ð  ð  ð  Ø˜4˜4˜4ð øøøð øøøð •_Ò$Ð$ð	Ø#Ð#Ð#Ð#å/8Ô/@Ø 8µIÔ4Nð0ñ 0ô 0Ñ,�	˜5 %¨ð —n’n S°·	²	¸)Ñ0DÔ0D�nÑEÔE�Ø—{’{ 5°�{Ñ6Ô6Ð6øÝð ð ð Ø�t�tðøøøàˆts(  ÁA C Â<C Ã
CÃCÃ"A F Ä#,F Å6F Æ
FÆFÆ$A H Ç%9H È
H-È,H-È<AK ÊAK Ë
K#Ë"K#Ë2A N Ì3.N Í"M0 Í0NÎN ÎNÎN Î
N;ÎN(Î%N;Î(
N7Î2N;Î6N7Î7N;Ï
A Q+ Ð.Q+ Ð:Q ÑQ(Ñ%Q+ Ñ'Q(Ñ(Q+ Ñ+
RÑ6R Ñ=RÒ 
RÒ
RÒRÒRÒ"A*T Ô
TÔT)r„   r<   r…   r<   r+   r,   )r„   r<   r…   r<   rz   r<   r+   r,   ©r  r  r›   r‘   r+   r   r{   )r	  r  r  r    s   `@@@r6   rX   rX   "  sq   øøøø€ ð2ð 2ð 2ð 2ð 2ð 2ðhð ð ð ð,mð mð mð mð mð mð mð mð^ €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    rm	 t          j        |t          t          j        ¬¦  «        }|d         dk    r!|d         dk    rt          |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.   é   ú-é   é   é   r  r  r  rÍ   )rÕ   r—   r£   Ú_msgpack_ext_hook_to_jsonr¤   r‚   rÚ   r  r×   rã   rÖ   rÓ   rú   rÉ   r  rø   r  Útolist)
r  r›   r   Úhex_r!  r"  rù   rÎ   r  r#  s
             r6   r,  r,  ï  s²  € ØÕ)Ò)Ð)ð	ÝÔ#ØÝ2Ý Ô1ðñ ô ˆCð
 �1Œv˜ÒÐ C¨¤F¨fÒ$4Ð$4Ø˜1”v�à˜B˜Q˜B”xÐVÐV $ q¨ t¤*ÐVÐV¨t°B°r°E¬{ÐVÐV¸TÀ"ÀRÀ%¼[ÐVÐVÈ4ÐPRÐPSÐPSÌ9ÐVÐVðð �q”6ˆMøÝð 	ð 	ð 	ØˆFˆFð	øøøà	Õ)Ò	)Ð	)ð	ÝÔ#ØÝ2Ý Ô1ðñ ô ˆCð
 �1ŒvÐ*Ò*Ð*¨s°1¬v¸Ò/?Ð/?Ý& s¨1¤vÑ.Ô.Ð.à�q”6ˆMøÝð 	ð 	ð 	ØˆFˆFð	øøøà	Õ(Ò	(Ð	(ð		ÝÔ#ØÝ2Ý Ô1ðñ ô ˆCð �q”6ˆMøÝð 	ð 	ð 	ØˆFˆFð	øøøà	Õ&Ò	&Ð	&ð		ÝÔ#ØÝ2Ý Ô1ðñ ô ˆCð �q”6ˆMøÝð 	ð 	ð 	ØˆFˆFð	øøøà	•Ò	 Ð	 ð	ÝÔ#ØÝ2Ý Ô1ðñ ô ˆCð �q”6ˆMøÝð 	ð 	ð 	ð ˆFˆFð	øøøð 
•Ò	 Ð	 ð		ÝÔ#ØÝ2Ý Ô1ðñ ô ˆCð �q”6ˆMøÝð 	ð 	ð 	ØˆFˆFð	øøøà	•Ò	 Ð	 ð	ØÐÐÐå+4Ô+<ØÝ2Ý Ô1ð,ñ ,ô ,Ñ(ˆI�u˜e Sð
 —.’. ¨C¯IªI°iÑ,@Ô,@�.ÑAÔAˆCØ—;’;˜u¨E�;Ñ2Ô2×9Ò9Ñ;Ô;Ð;øÝð 	ð 	ð 	ØˆFˆFð	øøøð 
!Ð	 sŒ   �A=B ÂB Â
B!Â B!Â0AD ÄD Ä
DÄDÄ(-E Å
E$Å#E$Å3-F! Æ!
F/Æ.F/Æ>-G, Ç,
G:Ç9G:È	-H7 È7
IÉIÉBK Ë
K$Ë#K$c                  ó   — e Zd ZdZdd„ZdS )rr   z7Exception raised when a module is not in the allowlist.rs   r<   c                ó   — || _         d S rA   )rs   )rZ   rs   s     r6   r[   zInvalidModuleError.__init__M  s   € ØˆŒˆˆr%   N)rs   r<   )rƒ   r©   rª   r«   r[   r{   r%   r6   rr   rr   J  s.   € € € € € ØAÐAðð ð ð ð ð r%   rr   c                óD   — t          j        | t          t          ¬¦  «        S )N)Údefaultr¡   )r—   Úpackbr  Ú_option)r›   s    r6   r–   r–   [  s   € ÝŒ?˜4Õ)9Å'ÐJÑJÔJÐJr%   Ú	allowlistrN   c                ó4   — | du r| S | rt          | ¦  «        S d S rQ   )r`   )r5  s    r6   rT   rT   _  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   rC   r©   rƒ   r   ra   r<   )ró   Ú
normalizedr„   s      r6   r`   r`   j  sv   € õ (+¡u¤u€JØð :ð :ˆÝ�6‰?Œ?ð 	:Ø�NŠN˜FÔ-¨v¬Ð?Ñ@Ô@Ð@Ð@à�NŠN�4¥¥c¨3 h¤°Ñ8Ô8Ñ9Ô9Ð9Ð9ØÐr%   )r)   r*   r+   r,   )
r8   r&   r9   r:   r;   r<   r=   r>   r+   r?   )r�   r   r+   r²   )r=   r  r+   r   )r	  r
  r+   r  r$  )r›   r   r+   r‘   )r5  rN   r+   r
  )ró   r"   r+   r7  )bÚ
__future__r   rc   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   r3   Úlanggraph.checkpoint.serde.baser   Ú&langgraph.checkpoint.serde.event_hooksr   Ú langgraph.checkpoint.serde.typesr   r    Úlanggraph.store.baser!   Ú#langgraph.checkpoint.serde._msgpackr"   rt   r•   Ú	getLoggerrƒ   rD   rB   r_   r'   Ú__annotations__r(   r7   rF   rH   rÕ   rÚ   r×   rã   rÖ   rÓ   rú   rÐ   r  r  rX   Ú_msgpack_ext_hookr,  r‚   rr   r¤   ÚOPT_PASSTHROUGH_DATACLASSÚOPT_PASSTHROUGH_DATETIMEÚOPT_PASSTHROUGH_ENUMÚOPT_PASSTHROUGH_UUIDÚOPT_REPLACE_SURROGATESr4  r–   rT   r`   r{   r%   r6   ú<module>rR     sy  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø €€€Ø €€€Ø 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ð Ð Ø 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ðð ð ð ð ð ð ð ð &Ð %Ð %Ð %Ð %Ð %àð ðð ð ð ð ð ð ˆW VÐ,Ñ,Ô,€
Ø€Ø	ˆÔ	˜8Ñ	$Ô	$€ð Ð Ø36°3±5´5Ð Ð 8Ð 8Ð 8Ñ 8Ø.1¨c©e¬eÐ Ð 3Ð 3Ð 3Ñ 3ð
Hð 
Hð 
Hð 
Hðð ð ð ðPNð PNð PNð PNð PNÐ+ñ PNô PNð PNðj Ð ØÐ ØÐ ØÐ Ø€Ø€Ø€ØÐ ðeXð eXð eXð eXðP3ð 3ð 3ð 3ðFð Fð Fð FðT -Ð,¸TÐBÑBÔBÐ ðXð Xð Xð Xðvð ð ð ð ˜ñ ô ð ð ÔØÔ)ñ*àÔ(ñ)ð Ô$ñ%ð Ô$ñ	%ð
 Ô&ñ'ð ðKð Kð Kð Kðð ð ð ð	ð 	ð 	ð 	ð 	ð 	r%   