ó
    ýÞ jÚË  ã            	      óR  • 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Jr  S SK	J
r
JrJrJr  S SKJr  S SKJr  S SKJr  S SKJrJrJrJrJrJr  S S	KJr  S S
KJrJr  S SKJ r   S SK!J"r"J#r#J$r$J%r%J&r&  S SK'J(r(  S SK)J*r*  S SK+J,r,J-r-  S SK.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?J@r@JArAJBrBJCrCJDrDJErEJFrFJGrGJHrHJIrIJJrJ  S SKKJLrL  S SKMJNrNJOrO  S SKPJQrQ  S SKRJSrS  S SKTJUrU  S SKVJWrW  S SKXJYrY  S SKZJ[r[  S SK\J]r]J^r^  S SK_J`r`  S SKaJbrb  S SKcJdrdJere  S SKfJgrgJhrhJiri  S SKjJkrkJlrlJmrmJnrnJoroJprpJqrqJrrr  \
\&S-  S/\&4   rs\Rè                  S:¬  ru " S  S!\5      rv " S" S#\5      rw " S$ S%5      rx        SFS& jry SG             SHS' jjrzSIS( jr{            SJS) jr|\SSSSSS*SS+.                                 SKS, jj5       r}\SSS*SS-.                                 SLS. jj5       r}SSSSSS*SS+.                                 SMS/ jjr}\F4r~ " S0 S1\5      rSSSSSS*S2.                                       SNS3 jjr€SOS4 jr�    SPS5 jr‚      SQS6 jrƒ      SRS7 jr„SSSSS*S8.                                     SSS9 jjr…SSSSS*S8.                                       STS: jjr†SSSSS*S8.                                 SUS; jjr‡    SVS< jrˆ            SWS= jr‰                SXS> jrŠ              SYS? jr‹SZS@ jrŒSZSA jr�S[SB jrŽ\GR                  " 5       r� " SC SD5      r‘      S\SE jr’g)]é    )ÚannotationsN)ÚdefaultdictÚdeque)ÚCallableÚIterableÚMappingÚSequence)Úcopy)Úpartial)Úsha1)ÚAnyÚLiteralÚ
NamedTupleÚProtocolÚcastÚoverload)Ú	Callbacks)ÚAsyncParentRunManagerÚParentRunManager)ÚRunnableConfig)ÚBaseCheckpointSaverÚChannelVersionsÚ
CheckpointÚPendingWriteÚV)Ú	BaseStore)Úxxh3_128_hexdigest)Úmerge_configsÚpatch_config)ÚCACHE_NS_WRITESÚCONFÚCONFIG_KEY_CHECKPOINT_IDÚCONFIG_KEY_CHECKPOINT_MAPÚCONFIG_KEY_CHECKPOINT_NSÚCONFIG_KEY_CHECKPOINTERÚCONFIG_KEY_NODE_ERRORÚCONFIG_KEY_READÚCONFIG_KEY_RESUME_MAPÚCONFIG_KEY_RUNTIMEÚCONFIG_KEY_SCRATCHPADÚCONFIG_KEY_SENDÚCONFIG_KEY_TASK_IDÚCONFIG_KEY_THREAD_IDÚERRORÚERROR_SOURCE_NODEÚ	INTERRUPTÚ	NO_WRITESÚNS_ENDÚNS_SEPÚNULL_TASK_IDÚPREVIOUSÚPULLÚPUSHÚRESERVEDÚRESUMEÚRETURNÚTASKS)ÚPregelScratchpad)Ú	EMPTY_SEQÚMISSING)ÚBaseChannel)ÚTopic)ÚUntrackedValue)Ú
TAG_HIDDEN)Ú	NodeError)ÚManagedValueMapping)Úget_runnable_for_taskÚ
identifier)Úread_channels)Úlogger)ÚINPUT_CACHE_KEY_TYPEÚ
PregelNode)ÚDEFAULT_RUNTIMEÚExecutionInfoÚRuntime)ÚAllÚCacheKeyÚCachePolicyÚPregelExecutableTaskÚ
PregelTaskÚRetryPolicyÚSendÚTimeoutPolicy)é   é   c                  óh   • \ rS rSrSr\S	S j5       r\S
S j5       r\SS j5       r\SS j5       r	Sr
g)ÚWritesProtocolé]   z}Protocol for objects containing writes to be applied to checkpoint.
Implemented by PregelTaskWrites and PregelExecutableTask.c                ó   • g ©N© ©Úselfs    ÚP/var/www/html/gaurav/venv/lib/python3.13/site-packages/langgraph/pregel/_algo.pyÚpathÚWritesProtocol.patha   s   € Ø58ó    c                ó   • g r\   r]   r^   s    r`   ÚnameÚWritesProtocol.named   s   € Ørc   c                ó   • g r\   r]   r^   s    r`   ÚwritesÚWritesProtocol.writesg   s   € Ø36rc   c                ó   • g r\   r]   r^   s    r`   ÚtriggersÚWritesProtocol.triggersj   s   € Ø),rc   r]   N)Úreturnútuple[str | int | tuple, ...])rm   Ústr)rm   úSequence[tuple[str, Any]])rm   úSequence[str])Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Úpropertyra   re   rh   rk   Ú__static_attributes__r]   rc   r`   rY   rY   ]   sB   † ñAð Û8ó Ø8àÛó ØàÛ6ó Ø6àÛ,ó Û,rc   rY   c                  óB   • \ rS rSr% SrS\S'   S\S'   S\S'   S	\S
'   Srg)ÚPregelTaskWritesén   z�Simplest implementation of WritesProtocol, for usage with writes that
don't originate from a runnable task, eg. graph input, update_state, etc.rn   ra   ro   re   rp   rh   rq   rk   r]   N)rr   rs   rt   ru   rv   Ú__annotations__rx   r]   rc   r`   rz   rz   n   s!   ‡ ñQð (Ó'Ø
ƒIØ%Ó%ØÖrc   rz   c                  ó‚   • \ rS rSr% SrS\S'   S\S'   S\S'   S	\S
'   S\S'   S\S'   SS.             SS jjrSrg)ÚCalléx   ©ÚfuncÚinputÚretry_policyÚcache_policyÚ	callbacksÚtimeoutr   r�   ú&tuple[tuple[Any, ...], dict[str, Any]]r‚   úSequence[RetryPolicy] | Nonerƒ   úCachePolicy | Noner„   r   r…   úTimeoutPolicy | Noner†   N©r†   c               óL   • Xl         X l        X0l        X@l        XPl        X`l        g r\   r€   )r_   r�   r‚   rƒ   r„   r…   r†   s          r`   Ú__init__ÚCall.__init__‰   s$   € ð Œ	ØŒ
Ø(ÔØ(ÔØ"ŒØ�rc   )r„   r…   r�   r‚   rƒ   r†   )r�   r   r‚   r‡   rƒ   rˆ   r„   r‰   r…   r   r†   rŠ   rm   ÚNone)rr   rs   rt   ru   Ú	__slots__r|   r�   rx   r]   rc   r`   r~   r~   x   s�   ‡ ð€Ið ƒNØ1Ó1Ø.Ó.Ø$Ó$ØÓØ!Ó!ð )-ñàðð 6ðð
 3ðð )ðð ðð &ðð 
÷ð rc   r~   c                óÚ  ^^• [        [        [        U S   R                  5       5      S5      5      nU" 5       mU S   R	                  [
        0 5      m[        UU4S jU S   R                  5        5       5      nU(       af  U Vs/ sHY  nUS:X  a<  UR                  (       a*  [        UR                  R	                  S[        5      ;  d  MD  OUR                  U;   d  MW  UPM[     sn$ / $ s  snf )z@Check if the graph should be interrupted based on current state.Úchannel_versionsNÚversions_seenc              3  óP   >#   • U H  u  pUTR                  UT5      :„  v •  M     g 7fr\   )Úget)Ú.0ÚchanÚversionÚnull_versionÚseens      €€r`   Ú	<genexpr>Ú#should_interrupt.<locals>.<genexpr>¥   s*   øé € ð +áC‰MˆDð 	�$—(‘(˜4 Ó.Ö.ÚCùs   ƒ#&Ú*Útags)ÚtypeÚnextÚiterÚvaluesr•   r0   ÚanyÚitemsÚconfigrB   r=   re   )Ú
checkpointÚinterrupt_nodesÚtasksÚversion_typeÚ any_updates_since_prev_interruptÚtaskr™   rš   s         @@r`   Úshould_interruptr¬   ›   sã   ù€ ô œœT *Ð-?Ñ"@×"GÑ"GÓ"IÓJÈDÓQÓR€LÙ“>€LØ�oÑ&×*Ñ*¬9°bÓ9€Dä'*õ +à'Ð(:Ñ;×AÑAÔCó+ó (Ð$ö$ ,ñ ó	
á�ð # cÓ)ð ŸŸÜ!¨¯©¯©¸ÄÓ)KÑKó øð —Y‘Y /Ñ1÷ Ùñ	
ðð ðùò	
s   ÂAC(Ã
C(ÃC(c           	     ó¤  • [        [        5      n[        U[        5      (       a2  / nUR                   H  u  p‰X„:X  d  M  Xh   R                  U	5        M!     O_U V
s/ sH  oªU;   d  M
  U
PM     nn
U V
s/ sH  oªU;  d  M
  U
PM     nn
UR                   H  u  p‰X„;   d  M  Xh   R                  U	5        M!     U(       a@  0 nU H,  n
X   R                  5       nUR                  Xj   5        XËU
'   M.     [        X´5      nO[        X5      nU(       a2  UR                  U V
s0 sH  oªX*   R                  U 5      _M     sn
5        U$ s  sn
f s  sn
f s  sn
f )z´Function injected under CONFIG_KEY_READ in task config, to read current state.
Used by conditional edges to read a copy of the state with reflecting the writes
from that node only.)
r   ÚlistÚ
isinstancero   rh   Úappendr
   ÚupdaterG   r•   )Ú
scratchpadÚchannelsÚmanagedr«   ÚselectÚfreshÚupdatedÚmanaged_keysÚcÚvÚkÚlocal_channelsÚccr¢   s                 r`   Ú
local_readr¾   ¼   s,  € ô %0´Ó$5€GÜ�&œ#×ÑØˆØ—K”K‰DˆAØ�{Ø‘
×!Ñ! !Ö$ò  ñ $*Ó:¡6˜a°'©\Ÿ¡6ˆÐ:Ù#Ó8™V˜°Ñ'7—!™VˆÐ8Ø—K”K‰DˆAØ�{Ø‘
×!Ñ! !Ö$ñ  ö à13ˆÛˆAØ‘×!Ñ!Ó#ˆBØ�I‰I�g‘jÔ!Ø "˜1Óñ ô
 ˜~Ó6‰ä˜xÓ0ˆÞØ�‰¹lÓK¹l¸˜'™*Ÿ.™.¨Ó4Ò4¹lÑKÔLØ€Mùò% ;ùÚ8ùò  Ls   ÁEÁ'EÁ3EÁ?EÄEc                ó   • U b  U S-   $ S$ )zHDefault channel versioning function, increments the current int version.é   r]   )ÚcurrentÚchannels     r`   Ú	incrementrÃ   ã   s   € à!Ñ-ˆ7�Q‰;Ð4°1Ð4rc   c                ó€  • [        US S9n[        S U 5       5      nU H[  nU S   R                  UR                  0 5      R	                  UR
                   Vs0 sH  nXpS   ;   d  M  XpS   U   _M     sn5        M]     Uc  SnO/U" U S   (       a  [        U S   R                  5       5      OSS5      nU VVs1 sH+  nUR
                   H  nU[        ;  d  M  Xq;   d  M  UiM     M-     snn H(  nX   R                  5       (       d  M  Uc  M!  X€S   U'   M*     [        [        5      n	U H‘  nUR                   H~  u  pzU[        [        [        [         ["        [$        [&        4;   a  M0  Xq;   a  X—   R)                  U
5        MJ  [*        R,                  " SUR                   SUR.                   S	U S
35        M€     M“     [1        5       nU	R3                  5        H\  u  p|Xq;   d  M  X   R	                  U5      (       d  M&  Uc  M+  X€S   U'   X   R5                  5       (       d  MK  UR7                  U5        M^     U(       a}  U Hw  nX   R5                  5       (       d  M  X{;  d  M#  X   R	                  [8        5      (       d  MA  Uc  MF  X€S   U'   X   R5                  5       (       d  Mf  UR7                  U5        My     U(       an  UR;                  U5      (       aX  U HR  nX   R=                  5       (       d  M  Uc  M!  X€S   U'   X   R5                  5       (       d  MA  UR7                  U5        MT     U$ s  snf s  snnf )a,  Apply writes from a set of tasks (usually the tasks from a Pregel step)
to the checkpoint and channels, and return managed values writes to be applied
externally.

Args:
    checkpoint: The checkpoint to update.
    channels: The channels to update.
    tasks: The tasks to apply writes from.
    get_next_version: Optional function to determine the next version of a channel.
    trigger_to_nodes: Mapping of channel names to the set of nodes that can be triggered by updates to that channel.

Returns:
    Set of channels that were updated in this step.
c                ó2   • [        U R                  S S 5      $ )NrV   )Útask_path_strra   )Úts    r`   Ú<lambda>Úapply_writes.<locals>.<lambda>   s   € ¬°a·f±f¸R¸a°jÔ(Arc   )Úkeyc              3  ó6   #   • U H  oR                   v •  M     g 7fr\   )rk   )r–   rÇ   s     r`   r›   Úapply_writes.<locals>.<genexpr>  s   é € Ð.© 1—J–Jªùó   ‚r“   r’   NzTask z with path z wrote to unknown channel z, ignoring it.)Úsortedr£   Ú
setdefaultre   r±   rk   Úmaxr¢   r8   Úconsumer   r®   rh   r1   r7   r9   r0   r:   r.   r/   r°   rH   Úwarningra   Úsetr¤   Úis_availableÚaddr=   Ú
isdisjointÚfinish)r¦   r³   r¨   Úget_next_versionÚtrigger_to_nodesÚ	bump_stepr«   r—   Únext_versionÚpending_writes_by_channelÚvalÚupdated_channelsÚvalss                r`   Úapply_writesrà   è   s"  € ô0 �5ÑAÑB€Eô Ñ.©Ó.Ó.€Ió ˆØ�?Ñ#×.Ñ.¨t¯y©y¸"Ó=×DÑDð !ŸMšMóá)�DØÐ&8Ñ9Ñ9ó ;�Ð!3Ñ4°TÑ:Ò:Ù)ñö	
ñ ð ÑØ‰á'ð Ð0×1ô �JÐ1Ñ2×9Ñ9Ó;Ô<ààó
ˆñ ôáˆDØ—M”MˆDØ”xÑó 	ð %)Ñ$4÷ 	á!ñ 	Ùõˆð ‰>×!Ñ!×#Ó#¨Ó(@Ø3?Ð)Ñ*¨4Ó0ñô 7BÄ$Ó6GÐÛˆØŸœ‰IˆDØÜÜÜÜÜÜÜ!ðó ñ ØÓ!Ø)Ñ/×6Ñ6°sÖ;ä—’Ø˜DŸI™I˜; k°$·)±)°Ð<VÐW[ÐV\Ð\jÐköó %ñ ô( "%£ÐØ/×5Ñ5Ö7‰
ˆØÕØ‰~×$Ñ$ T×*Ó*¨|Ó/GØ7CÐ-Ñ.¨tÑ4à‘>×.Ñ.×0Ó0Ø$×(Ñ(¨Ö.ñ 8ö ÛˆDØ‰~×*Ñ*×,Ó,°Õ1MØ‘>×(Ñ(¬×3Ó3¸Ó8PØ;GÐ1Ñ2°4Ñ8à‘~×2Ñ2×4Ó4Ø(×,Ñ,¨TÖ2ñ ö Ð%×0Ñ0Ð1A×BÑBÛˆDØ‰~×$Ñ$×&Ó&¨<Ó+CØ7CÐ-Ñ.¨tÑ4à‘>×.Ñ.×0Ó0Ø$×(Ñ(¨Ö.ñ ð Ðùòcùó*s   ÁL5
Á(L5
Â9L:ÃL:Ã 
L:r]   )ÚstoreÚcheckpointerÚmanagerrÙ   rÞ   rƒ   r„   c               ó   • g r\   r]   ©r¦   Úpending_writesÚ	processesr³   r´   r¥   ÚstepÚstopÚfor_executionrá   râ   rã   rÙ   rÞ   rƒ   r„   s                   r`   Úprepare_next_tasksrë   \  s   € ð&  rc   )rÙ   rÞ   rƒ   r„   c               ó   • g r\   r]   rå   s                   r`   rë   rë   r  s   € ð& '*rc   c               ó  • 0 n[         R                  " U S   R                  SS5      5      n[        U 5      n/ n[	        [
        [           S-  UR                  [        5      5      nU(       a–  UR                  5       (       a�  [        UR                  5       5       Hd  u  nn[        [        U4S40 SU _SU_SU_SU_S	U_S
U_SU_SU_SU_SU_SU_SU	_SU
_SU_SU_SU_SU_6=n(       d  MS  UR                  U5        Mf     U(       aQ  U(       aJ  [        5       nU H.  nUR                  U5      =n(       d  M  UR                  U5        M0     [!        U5      nOU S   (       d  SnOUR#                  5       nU Ha  n[        [$        U4S40 SU _SU_SU_SU_S	U_S
U_SU_SU_SU_SU_SU_SU	_SU
_SU_SU_SU_SU_6=n(       d  MP  UR                  U5        Mc     U Vs0 sH  nUR&                  U_M     sn$ s  snf )a  Prepare the set of tasks that will make up the next Pregel step.

Args:
    checkpoint: The current checkpoint.
    pending_writes: The list of pending writes.
    processes: The mapping of process names to PregelNode instances.
    channels: The mapping of channel names to BaseChannel instances.
    managed: The mapping of managed value names to functions.
    config: The `Runnable` configuration.
    step: The current step.
    for_execution: Whether the tasks are being prepared for execution.
    store: An instance of BaseStore to make it available for usage within tasks.
    checkpointer: `Checkpointer` instance used for saving checkpoints.
    manager: The parent run manager to use for the tasks.
    trigger_to_nodes: Optional: Mapping of channel names to the set of nodes
        that are can be triggered by that channel.
    updated_channels: Optional. Set of channel names that have been updated during
        the previous step. Using in conjunction with trigger_to_nodes to speed
        up the process of determining which nodes should be triggered in the next
        step.

Returns:
    A dictionary of tasks to be executed. The keys are the task ids and the values
    are the tasks themselves. This is the union of all PUSH tasks (Sends)
    and PULL tasks (nodes triggered by edges).
ÚidÚ-Ú Nr¦   Úcheckpoint_id_bytesÚcheckpoint_null_versionræ   rç   r³   r´   r¥   rè   ré   rê   rá   râ   rã   Úinput_cacher„   rƒ   r’   r]   )ÚbinasciiÚ	unhexlifyÚreplacerò   r   r@   rT   r•   r;   rÔ   Ú	enumerateÚprepare_single_taskr7   r°   rÓ   r±   rÎ   Úkeysr6   rî   )r¦   ræ   rç   r³   r´   r¥   rè   ré   rê   rá   râ   rã   rÙ   rÞ   rƒ   r„   ró   rñ   r™   r¨   Útasks_channelÚidxÚ_r«   Útriggered_nodesrÂ   Únode_idsÚcandidate_nodesre   rÇ   s                                 r`   rë   rë   ˆ  sÄ  € ðZ 46€KÜ"×,Ò,¨Z¸Ñ-=×-EÑ-EÀcÈ2Ó-NÓOÐÜ*¨:Ó6€LØ57€Eäœœt™ tÑ+¨X¯\©\¼%Ó-@ÓA€MÞ˜×3Ñ3×5Ñ5Ü × 1Ñ 1Ó 3Ö4‰FˆC�Ü*Ü�s�Øòñ &ðñ %8ð	ñ
 )5ðñ  .ðñ $ðñ "ðñ  ðñ ðñ ðñ ðñ ,ðñ ðñ *ðñ   ð!ñ" (ð#ñ$ *ð%ñ& *ð'ð ˆt÷ ð* —‘˜TÖ"ñ- 5ö> Ö,Ü$'£Eˆã'ˆGØ+×/Ñ/°Ó8Ð8ˆx×8Ø×&Ñ& xÖ0ñ (ô *0°Ó)@‰ØÐ*×+Ø‰à#Ÿ.™.Ó*ˆó  ˆÜ&Ü�4ˆLØò
ñ "ð
ñ !4ð	
ñ
 %1ð
ñ *ð
ñ  ð
ñ ð
ñ ð
ñ ð
ñ ð
ñ ð
ñ (ð
ñ ð
ñ &ð
ñ  ð!
ñ" $ð#
ñ$ &ð%
ñ& &ð'
ð 
ˆ4÷ 
ð* �L‰L˜Öñ-  ñ. #Ó#™U˜ˆA�D‰D�!ŠG™UÑ#Ð#ùÒ#s   Ç#G<c                  ó   • \ rS rSrSS jrSrg)Ú	_TaskIDFni  c                ó   • g r\   r]   )r_   Ú	namespaceÚpartss      r`   Ú__call__Ú_TaskIDFn.__call__  s   € Ørc   r]   N©r  Úbytesr  zstr | bytesrm   ro   )rr   rs   rt   ru   r  rx   r]   rc   r`   r  r    s   † ÷rc   r  )rá   râ   rã   ró   r„   rƒ   c               óÔ
  • U	R                  [        0 5      nUR                  [        S5      nUS   S:”  a  [        O[        nU S   [
        :X  a}  [        U S   [        5      (       ae  [        [        [        [        [        [        [        [        4   U 5      U40 SU_SU_SU_S	U_S
U_SU	_SU
_SU_SU_SU_SU_SU_SU_SU_SU_SU_6$ U S   [
        :X  aY  [        [        [        [        [        4   U 5      U40 SU_SU_SU_S	U_S
U_SU	_SU
_SU_SU_SU_SU_SU_SU_SU_SU_SU_SU_6$ U S   [        :X  Gað  [        [        U S   5      nUU;  a  gUU   nUc  g[        UUS   US   R                  U5      UU5      (       Ga¢  [        [!        UR"                  5      5      nU(       a  U [$         U 3OUnU" UU[        U
5      U[        /UQ76 nU [&         U 3n[)        U	[           R                  [*        5      UU[-        UR/                  5       5      U	[           R                  [0        5      U
U5      n [3        UUUUUUS9nU[4        L a  g U
UUU SS US.nUb  UU:X  d   U S U 35       eU(       Ga›  UR<                  =n (       Ga†  UR>                  (       a  URA                  UR>                  5        [C        5       n!URD                  =(       d    UnU(       ap  URG                  U5      n"[I        [J        [M        U5      =(       d    S!U4[-        [        U"[        5      (       a  U"R/                  5       OU"5      URN                  5      n#OSn#[        [P        UR                  [R        [T        5      5      n$U$RW                  US"   R                  [X        S5      U[[        US#   UUUR                  [\        5      U	R                  S$5      =n%(       a  [        U%5      OSS%9S&9n$UUR^                  S'.n&[a        UUU U![c        [e        U	[        [f        U&5      5      UU(       a  URi                  S(U
 35      OS[j        U[l        U!Rn                  [p        [s        [t        UUU[w        U SS UU!U5      5      [x        U=(       d    UR                  [x        5      [z        0 UR                  [z        0 5      EUUS#   0E[|        S[        U[*        U[R        U$0	S)9UUR~                  =(       d    UU#UU SS UR€                  UR‚                  UR„                  S*9$ g[‡        UUU SS 5      $ gg! [6         a,  n[8        (       a  UR;                  SU SU SS  S35        e SnAff = f)+zƒPrepares a single task for the next Pregel step, given a task path, which
uniquely identifies a PUSH or PULL task within the graph.rð   rº   rÀ   r   éÿÿÿÿr¦   rñ   ræ   r³   r´   r¥   rè   ré   rê   rá   râ   rã   r„   rƒ   Ú	parent_nsÚtask_id_funcrç   Nr’   r“   )rê   ró   r²   zBefore task with name 'z' and path 'rV   Ú'©Úlanggraph_stepÚlanggraph_nodeÚlanggraph_triggersÚlanggraph_pathÚlanggraph_checkpoint_nsú != Ú__dynamic__Úchannel_valuesrî   Úrun_id©Úcheckpoint_idÚcheckpoint_nsÚtask_idÚ	thread_idr  )Úpreviousrá   Úexecution_info©Úmetadatarž   úgraph:step:©Úrun_namer…   Úconfigurable©ÚwritersÚ	subgraphsr†   )Dr•   r!   r$   Ú_xxhash_strÚ
_uuid5_strr7   r¯   r~   Úprepare_push_task_functionalr   Útuplero   ÚintÚprepare_push_task_sendr6   Ú	_triggersrÎ   rk   r3   r2   Ú_scratchpadr*   r   Úencoder(   Ú_proc_inputr>   Ú	ExceptionÚSUPPORTS_EXC_NOTESÚadd_noteÚnoder   r±   r   r„   Úkey_funcrO   r    rF   ÚttlrM   r)   rK   Úoverrider5   rL   r-   rž   rQ   r   r   r   Ú	get_childr,   r+   Úextendr'   r   r¾   rz   r%   r#   r"   rƒ   Úflat_writersr'  r†   rR   )'Ú	task_pathÚtask_id_checksumr¦   rñ   rò   ræ   rç   r³   r´   r¥   rè   ré   rê   rá   râ   rã   ró   r„   rƒ   r$  r  r  re   Úprocrk   r  r  Útask_checkpoint_nsr²   rÝ   Úexcr   r5  rh   Úargs_keyÚ	cache_keyÚruntimeÚridÚadditional_configs'                                          r`   rø   rø     s‘  € ð0 —:‘:œd BÓ'€LØ× Ñ Ô!9¸2Ó>€IØ",¨S¡/°AÓ"5•;¼:€Là��|”tÓ¤
¨9°R©=¼$× ?Ñ ?Ü+Ü””sœE¤3¬¬TÐ1Ñ2°IÓ>Øò
ñ "ð
ñ !4ð	
ñ
 *ð
ñ ð
ñ ð
ñ ð
ñ ð
ñ ð
ñ (ð
ñ ð
ñ &ð
ñ ð
ñ &ð
ñ  &ð!
ñ"  ð#
ñ$ &ð%
ð 	
ð* 
�1‰œÓ	Ü%Ü””sœE�zÑ" IÓ.Øò
ñ "ð
ñ !4ð	
ñ
 *ð
ñ ð
ñ ð
ñ ð
ñ ð
ñ  ð
ñ ð
ñ (ð
ñ ð
ñ &ð
ñ ð
ñ  &ð!
ñ" &ð#
ñ$  ð%
ñ& &ð'
ð 	
ð, 
�1‰œÔ	ä”C˜ 1™Ó&ˆØ�yÓ ØØ˜‰ˆØ"Ñ*ØäØØÐ)Ñ*Ø�Ñ'×+Ñ+¨DÓ1Ø#Ø÷
ò 
ô œV D§M¡MÓ2Ó3ˆHæ<E˜y˜k¬&¨°$°Ñ8È4ˆMÙ"Ø#ØÜ�D“	ØÜðð òˆGð %2 ?´6°(¸7¸)Ð!DÐä$Ø”t‘× Ñ Ô!6Ó7ØØÜ"Ð#5×#<Ñ#<Ó#>Ó?Ø”t‘× Ñ Ô!6Ó7ØØóˆJðÜ!ØØØØ"/Ø +Ø)ñ�ð œ'’>Øð "ð #'Ø"&Ø&.Ø"+¨B¨Q -Ø+=ñˆHð  Ñ+ØÐ"2Ó2ÐV°w°i¸tÐDTÐCUÐ4VÓVÐ2ßØŸ9™9Ð$�4Ö$Ø—}—}Ø Ÿ™¨¯©Ô6Ü5:³W�FØ#'×#4Ñ#4×#D¸�LÞ#Ø#/×#8Ñ#8¸Ó#=˜Ü$,ä /Ü!+¨DÓ!1×!B°]Ø $ðô
 /ô (2°(¼C×'@Ñ'@ð %-§O¡OÔ$5à)1ó	ð )×,Ñ,ó%™	ð  %)˜	Ü"Ü ×!1Ñ!1Ô2DÄoÓ!Vó�Gð &×.Ñ.Ø!+Ð,<Ñ!=×!AÑ!AÄ(ÈDÓ!QØ#Ü'4Ø*4°TÑ*:Ø*<Ø$+Ø&2×&6Ñ&6Ô7KÓ&LØ7=·z±zÀ(Ó7KÐ0K°Õ0K¤3 s¤8ÐRVñ(ð /ð 
�Gð %-Ø $§	¡	ñ)Ð%ô 0ØØØØÜ$Ü)Ø &¬¬^Ð=NÓ(Oóð &*ö $+ð !(× 1Ñ 1°KÀ¸vÐ2FÔ Gà%)ô !3°Gä /°·±Ü /´Ü$.Ø$.Ø$,Ø$+Ü$4Ø(1°"°1¨Ø(,Ø(.Ø(0ó	%&ó2"ô !8Ø$0÷ %QØ'3×'7Ñ'7Ô8OÓ'Pä 9ð <"Ø&2×&6Ñ&6Ô7PÐRTÓ&Uð<"à$-¨z¸$Ñ/?ñ<"ô !9¸$Ü 8Ð:LÜ 5°zÜ 2°Gð7*ñ'ðP !Ø×)Ñ)×9¨\Ø!ØØ! " 1˜Ø $× 1Ñ 1Ø"&§.¡.Ø $§¡ñi5ð 5ðU %ôB " '¨4°¸2¸A°Ó?Ð?ðw
ð 
øôd ó ß%Ò%Ø—L‘LØ1°$°°|ÀIÈbÈqÀMÀ?ÐRSÐTôð ûðús   ÉT1 Ô1
U'Ô;'U"Õ"U'c                óX   • [        U [        5      (       a  U $ [        [        U 5      5      $ r\   )r¯   ÚBaseExceptionr2  ro   )Úvalues    r`   Ú_coerce_pending_errorrI  ü  s#   € Ü�%œ×'Ñ'ØˆÜ”S˜“ZÓ Ð rc   c                ón   • / nU  H,  u  p#nU[         :X  d  M  UR                  [        U5      5        M.     U$ r\   )r.   r°   rI  )ræ   Úerrorsrü   rÂ   rH  s        r`   Ú _read_errors_from_pending_writesrL    s9   € ð #%€FÛ+Ñˆ�EØ”eÕØ�M‰MÔ/°Ó6Ö7ñ ,ð €Mrc   c                ój   • [        U 5       H$  u  p#nX!:X  d  M  U[        :X  d  M  [        U5      s  $    g r\   )Úreversedr.   rI  ©ræ   r  Úpending_task_idrÂ   rH  s        r`   Ú+_read_error_for_task_id_from_pending_writesrQ    s6   € ô ,4°NÖ+CÑ'ˆ %ØÕ%¨'´UÕ*:Ü(¨Ó/Ò/ñ ,Dð rc   c                óœ   • [        U 5       H=  u  p#nX!:X  d  M  U[        :X  d  M  [        U[        5      (       a  Us  $ [        U5      s  $    g r\   )rN  r/   r¯   ro   rO  s        r`   Ú+_read_error_source_node_from_pending_writesrS    sH   € ô ,4°NÖ+CÑ'ˆ %ØÕ%¨'Ô5FÕ*FÜ˜%¤×%Ñ%Ø’Ü�u“:Òñ	 ,Dð
 rc   )rá   râ   rã   r„   rƒ   c               óì  • UR                  [        0 5      nU S   n[        UR                  5      nUR                  nUc  [        S5      e[        nU(       a  U [         U 3OUnU" UU[        U5      U[        [        U S   5      [        U S   5      5      nU SU 3n/ U SS QSP7nUUUUUS	.nUb  UU:X  d   U S
U 35       eU
(       Gaš  [        5       nUR                  =(       d    UnU(       a”  UR                  " UR                  S   0 UR                  S   D6n[        [         [#        UR                  5      =(       d    S4[%        ['        U[        5      (       a  UR)                  5       OU5      UR*                  5      nOSn[-        UR                  [.        5      UU[%        UR)                  5       5      UR                  [0        5      UU	5      n[3        [4        UR                  [6        [8        5      5      n U R;                  U[=        US   UUUR                  [>        5      UR                  S5      =n!(       a  [        U!5      OSS9S9n [A        UUR                  UU[C        [E        USU05      UURF                  =(       d    U(       a  URI                  SU 35      OS[J        U[L        URN                  [P        [S        [T        UUU[W        UUUU5      5      [X        U=(       d    UR                  [X        5      [Z        0 UR                  [Z        0 5      EUUS   0E[\        S[^        U[.        U[6        U 0	S9UUR`                  =(       d    UUUUURb                  S9$ [e        UUU5      $ )zIPrepare a push task with an attached caller. Used for the functional API.r
  Nz1`call` functions must have a `__name__` attributerÀ   é   Ú:rV   Tr  r  r   r  rî   r  r  )rá   r  r   r!  r"  r‹   )3r•   r!   rE   r�   re   Ú
ValueErrorÚPUSH_TRIGGERr3   ro   r7   rÆ   r   r„   r6  r‚   rO   r    rF   r   r¯   r0  r7  r/  r*   r(   r   rM   r)   rK   r8  rL   r-   rQ   r   r   r…   r9  r,   r+   r:  r'   r   r¾   rz   r%   r#   r"   r$   rƒ   r†   rR   )"r<  r=  r¦   rñ   ræ   r³   r´   r¥   rè   ré   rê   rá   râ   rã   r„   rƒ   r  r  r$  ÚcallÚproc_re   rk   r  r  r?  Úin_progress_task_pathr   rh   rA  rB  r²   rC  rD  s"                                     r`   r*  r*     s~  € ð0 —:‘:œd BÓ'€Là�R‰=€DÜ! $§)¡)Ó,€EØ�:‰:€DØ�|ÜÐLÓMÐMä*€HÞ4=�y�k¤& ¨$¨Ñ0À4€MÙØØÜˆD‹	ØÜÜ�i ‘lÓ#ÜˆI�a‰LÓó€Gð *˜?¨!¨G¨9Ð5Ðð 3˜i¨¨˜mÐ2¨TÑ2ÐàØØ&Ø/Ø#5ñ€Hð Ñ#ØÐ*Ó*ÐN¨w¨i°tÐ<LÐ;MÐ,NÓNÐ*ßÜ).«ˆØ×(Ñ(×8¨LˆÞØ#×,Ò,¨d¯j©j¸©mÐM¸t¿z¹zÈ!¹}ÑMˆHÜ)1ä#Ü §	¡	Ó*×;¨mðô #Ü)3°H¼c×)BÑ)B�H—O‘OÔ%Èóð × Ñ ó	*‰Ið ˆIÜ Ø×ÑÔ2Ó3ØØÜÐ1×8Ñ8Ó:Ó;Ø×ÑÔ2Ó3ØØó
ˆ
ô ”w × 0Ñ 0Ô1CÄ_Ó UÓVˆØ×"Ñ"ØÜ(Ø(¨Ñ.Ø0ØØ&×*Ñ*Ô+?Ó@Ø+1¯:©:°hÓ+?Ð$? CÕ$?”s˜3”xÀdñð #ð 	
ˆô $ØØ�J‰JØØÜÜ˜f z°8Ð&<Ó=ØØŸ.™.÷ RÞ?F�G×%Ñ%¨°D°6Ð&:Ô;ÈDä&¨ä# V§]¡]Ü#¤WÜ"Ø"Ø ØÜ(Ð)>ÀÀfÈhÓWó&ô ,Ø$×Q¨×(8Ñ(8Ô9PÓ(Qä-ð 0Ø&×*Ñ*Ô+DÀbÓIð0à! :¨dÑ#3ñ0ô -¨dÜ,Ð.@Ü)¨:Ü&¨ð+ñð: Ø×Ñ×- ØØØ!Ø—L‘LñO(
ð (	
ôT ˜' 4Ð)>Ó?Ð?rc   c               ó
  • [        U 5      S:X  GaL  [        [        U S   5      nU[           R	                  5       (       d  g U[           R                  5       nUS:  d  U[        U5      :¼  a  g UU   n[        U[        5      (       d$  [        R                  " S[        U5       S35        g UR                  U;  a%  [        R                  " SUR                   S35        g UUR                     nUR                  nUc  g [        nU(       a  U [         UR                   3OUR                  nU" UU[        U5      UR                  [        [        U5      5      nO[        R                  " SU  35        g UR                  [         0 5      nU SU 3n/ U S S	 QS
P7nUUR                  UUUS.nUb  UU:X  d   U SU 35       eU
(       Ga%  UR"                  (       a  UR%                  UR"                  5        ['        5       nUR(                  =(       d    UnU(       a„  UR+                  UR,                  5      n [/        [0        [3        U5      =(       d    SUR                  4[5        [        U [        5      (       a  U R7                  5       OU 5      UR8                  5      n!OS n![;        U[            R                  [<        5      UU[5        UR7                  5       5      U[            R                  [>        5      UU	5      n"[        [@        UR                  [B        [D        5      5      n#U#RG                  UUS   R                  [H        S 5      [K        US   UUUR                  [L        5      UR                  S5      =n$(       a  [        U$5      OS S9S9n#UURN                  S.n%[Q        UR                  UR,                  UU[S        [U        UU%5      UR                  U(       a  URW                  SU 35      OS [X        U[Z        UR\                  [^        [a        [b        U"UU[e        UUR                  UU5      5      [f        U=(       d    UR                  [f        5      [h        0 UR                  [h        0 5      EUUS   0E[j        S [l        U[<        U"[B        U#0	S9UURn                  =(       d    UU!UUURp                  URr                  URt                  b  URt                  S9$ URt                  S9$ [w        UUR                  U5      $ )NrU  rÀ   r   zIgnoring invalid packet type z in pending sendszIgnoring unknown node name z Ignoring invalid PUSH task path rV  rV   Fr  r  r  r  rî   r  r  )rá   r  r  r  r!  r"  r%  )<Úlenr   r,  r;   rÔ   r•   r¯   rT   rH   rÒ   rŸ   r5  rX  r3   ro   r7   r!   r   r±   r   r„   r6  ÚargrO   r    rF   r   r0  r7  r/  r*   r(   rM   r)   rK   r8  r5   rL   r-   rž   rQ   r   r   r9  r,   r+   r:  r'   r   r¾   rz   r%   r#   r"   r$   rƒ   r;  r'  r†   rR   )&r<  r=  r¦   rñ   ræ   r³   r´   r¥   rè   ré   rê   rá   râ   rã   r„   rƒ   r  r  rç   rû   ÚsendsÚpacketr>  Ú	proc_noderk   r  r  r$  r?  Útranslated_task_pathr   rh   rA  rB  r²   rC  rD  rE  s&                                         r`   r-  r-  ª  s´  € ô. ˆ9ƒ~˜Ôô ”3˜	 !™Ó%ˆØœ‰×+Ñ+×-Ñ-ØØ (¬¡× 3Ñ 3Ó 5ˆØ�‹7�cœS ›ZÓ'ØØ�s‘ˆÜ˜&¤$×'Ñ'Ü�NŠNØ/´°V³¨~Ð=NÐOôð à�;‰;˜iÓ'Ü�NŠNÐ8¸¿¹¸ÐEVÐWÔXØà˜Ÿ™Ñ%ˆØ—I‘Iˆ	ØÑØäˆæ3<ˆyˆkœ&˜ &§+¡+ Ñ/À&Ç+Á+ð 	ñ ØØÜ�‹IØ�K‰KÜÜ�‹Hó
‰ô 	�ŠÐ9¸)¸ÐEÔFØØ—:‘:œd BÓ'€LØ)˜?¨!¨G¨9Ð5Ðð 3˜Y r¨˜]Ð2¨EÑ2ÐàØ Ÿ+™+Ø&Ø.Ø#5ñ€Hð Ñ#ØÐ*Ó*ÐN¨w¨i°tÐ<LÐ;MÐ,NÓNÐ*ßØ�=�=Ø�O‰O˜DŸM™MÔ*Ü).«ˆØ×(Ñ(×8¨LˆÞØ#×,Ñ,¨V¯Z©ZÓ8ˆHÜ ä#Ü Ó%×6¨Ø—K‘Kðô
 #Ü)3°H¼c×)BÑ)B�H—O‘OÔ%Èóð × Ñ ó
‰Ið ˆIÜ Ø”4‰L×ÑÔ2Ó3ØØÜÐ1×8Ñ8Ó:Ó;Ø”4‰L×ÑÔ2Ó3ØØó
ˆ
ô ”w × 0Ñ 0Ô1CÄ_Ó UÓVˆØ×"Ñ"ØØÐ 0Ñ1×5Ñ5´hÀÓEÜ(Ø(¨Ñ.Ø0ØØ&×*Ñ*Ô+?Ó@Ø+1¯:©:°hÓ+?Ð$? CÕ$?”s˜3”xÀdñð #ð 

ˆð !Ø—I‘Iñ-
Ðô $Ø�K‰KØ�J‰JØØÜÜ˜fÐ&7Ó8ØŸ™æ?F�G×%Ñ%¨°D°6Ð&:Ô;ÈDô '¨ä# V§]¡]Ü#¤WÜ"Ø"Ø ØÜ(Ø0°&·+±+¸vÀxóó&ô ,Ø$×Q¨×(8Ñ(8Ô9PÓ(Qä-ð 0Ø&×*Ñ*Ô+DÀbÓIð0à! :¨dÑ#3ñ0ô -¨dÜ,Ð.@Ü)¨:Ü&¨ð/ñð@ Ø×Ñ×- ØØØ Ø×%Ñ%Ø—n‘nØ&,§n¡nÑ&@�F—N‘NñY-
ð -	
ðX GKÇlÁlñY-
ð -	
ô^ ˜' 6§;¡;Ð0DÓEÐErc   c          #     ó6  • X;  a  gXQ   nUR                   nUc  g[        R                  " US   R                  SS5      5      nUS   S:”  a  [        O[
        nUR                  [        0 5      nUR                  [        S5      nU(       a  U [         U 3OUnU" UU[        U	5      U[        SU R                  5      nU SU 3n/ U R                  SS	 QSPS
P7nU	U[        UUS.nUR                  (       a  UR!                  UR                  5        [#        5       nUR$                  =(       d    UnUR&                  =(       d    UnU(       az  UR)                  U R*                  5      n[-        [.        [1        U5      =(       d    SU4[3        [5        U[        5      (       a  UR7                  5       OU5      UR8                  5      nOSn[;        U[           R                  [<        5      UU[3        UR7                  5       5      U[           R                  [>        5      U	U
5      n [A        [B        UR                  [D        [F        5      5      n!U!RI                  X³S   R                  [J        S5      S9n!UURL                  S.n"[O        UU R*                  UU[Q        [S        UU"5      UU(       a  URU                  SU	 35      OS[V        U[X        URZ                  [\        [_        [`        U UU[c        UUU[        5      5      [d        U=(       d    UR                  [d        5      [f        0 UR                  [f        0 5      EUUS   0E[h        S[        U[<        U [D        U![j        [m        U Rn                  US90
S9[        UUUUURp                  URr                  S9$ )zEPrepare an immediate node-level error handler task for a failed task.Nrî   rï   rð   rº   rÀ   Únode_error_handlerrV  rV   Fr  r  r  )rá   r  r  r!  )r5  Úerrorr"  )r&  r'  ):r5  rô   rõ   rö   r(  r)  r•   r!   r$   r3   ro   r7   rî   ra   rX  r   r±   r   rƒ   r„   r6  r‚   rO   r    rF   r   r¯   r0  r7  r/  r*   r(   r   rM   r)   rK   r8  r5   rž   rQ   r   r   r9  r,   r+   r:  r'   r   r¾   rz   r%   r#   r"   r&   rC   re   r;  r'  )#Úfailed_taskÚhandler_node_nameÚfailed_errorr¦   ræ   rç   r³   r´   r¥   rè   ré   rá   râ   rã   r„   rƒ   r>  ra  rñ   r  r$  r  r  r  r?  rb  r   rh   Úeffective_retry_policyÚeffective_cache_policyrA  rB  r²   rC  rE  s#                                      r`   Úprepare_node_error_handler_taskrk  V  sŒ  € ð( Ó)ØØÑ'€DØ—	‘	€IØÑØä"×,Ò,¨Z¸Ñ-=×-EÑ-EÀcÈ2Ó-NÓOÐØ",¨S¡/°AÓ"5•;¼:€LØ—:‘:œd BÓ'€LØ× Ñ Ô!9¸2Ó>€Iæ5>ˆ9ˆ+”f�XÐ/Ð0Ñ1ÐDUð ñ ØØÜˆD‹	ØÜØØ�‰ó€Gð *˜?¨!¨G¨9Ð5ÐØO˜[×-Ñ-¨b¨qÐ1ÐOÐ3GÐOÈÑOÐàØ+Ü*Ø.Ø#5ñ€Hð ‡}‡}Ø�‰˜Ÿ™Ô&Ü%*£W€Fà!×.Ñ.×>°,ÐØ!×.Ñ.×>°,ÐÞØ)×2Ñ2°;×3DÑ3DÓEˆÜäÜ˜DÓ!×2 ]Ø!ðô
 Ü%/°¼#×%>Ñ%>�—‘Ô!ÀHóð #×&Ñ&ó

‰	ð ˆ	äØŒt‰×ÑÔ.Ó/ØØÜÐ-×4Ñ4Ó6Ó7ØŒt‰×ÑÔ.Ó/ØØó€Jô ”7˜L×,Ñ,Ô-?ÄÓQÓR€GØ×ÑØÐ)9Ñ:×>Ñ>¼xÈÓNð ð €Gð Ø—	‘	ñ)Ðô  ØØ×ÑØØÜÜ˜&Ð"3Ó4Ø&ÞAH�g×'Ñ'¨+°d°VÐ(<Ô=Èdä" GÜ §¡Ü¤ÜØØØÜ$Ø,Ø)ØÜ$ó	ó"ô (Ø ×M L×$4Ñ$4Ô5LÓ$Mä)ð ,Ø"×&Ñ&Ô'@À"ÓEð,à˜z¨$Ñ/ñ,ô )¨$Ü(Ð*<Ü% zÜ" GÜ%¤yØ$×)Ñ)°ñ(ð5ñ	"	
ôF 	ØØØØØ×!Ñ!Ø—.‘.ñ]/ð /rc   c                óX   • U S   R                  5        H  n[        U5      " 5       s  $    g)z6Get the null version for the checkpoint, if available.r’   N)r¢   rŸ   )r¦   r˜   s     r`   rò   rò   ã  s,   € ð Ð0Ñ1×8Ñ8Ö:ˆÜ�GŒ}‹Òñ ;àrc   c                ó  • Uc-  UR                    H  nX   R                  5       (       d  M    g   gUR                    HB  nX   R                  5       (       d  M  UR                  XS5      UR                  XS5      :”  d  MB    g   g)NTF)rk   rÔ   r•   )r³   Úversionsrš   r™   r>  r—   s         r`   r.  r.  ì  sz   € ð �|Ø—M”MˆDØ‰~×*Ñ*×,Ó,Ùñ "ð ð —M”MˆDØ‰~×*Ñ*×,Ó,°·±Øó2à—‘˜Ó,õ2-ñ ñ	 "ð
 rc   c           
     ó´  ^ ^^• [        T5      S:”  a�  T H#  nUS   [        :X  d  M  US   [        :X  d  M!  Um  O   S mT H:  nUS   U:X  d  M  US   [        :X  d  M  US   n[        U[        5      (       d  U/n  O   / nAU(       a  X4;   a  XC   n	UR                  U	5        OS m/ nSSUU U4S jjjn
[        UU[        5       [        5       UU
[        5       S9$ )Nr   rÀ   rU  c                óš   >• Tc  Tb  TR                  U 5      $ g U (       a   TR                  T5        TS   $ TS   $ ! [         a     g f = f)NrU  )Úget_null_resumeÚremoverW  )rÑ   Únull_resume_writeÚparent_scratchpadræ   s    €€€r`   rq  Ú$_scratchpad.<locals>.get_null_resume(  sf   ø€ ØÑ$Ø Ñ,Ø(×8Ñ8¸ÓAÐAØÞðØ×%Ñ%Ð&7Ô8Ø(¨Ñ+Ð+ð ! Ñ#Ð#øô ó Ùðús   ¢= ½
A
Á	A
)rè   ré   Úcall_counterÚinterrupt_counterÚresumerq  Úsubgraph_counter©F)rÑ   Úboolrm   r   )r]  r4   r9   r¯   r®   r°   r<   ÚLazyAtomicCounter)rt  ræ   r  Únamespace_hashÚ
resume_maprè   ré   ÚwÚtask_resume_writeÚmapped_resume_writerq  rs  s   ``         @r`   r/  r/     sû   ú€ ô ˆ>Ó˜QÓãˆAØ�‰t”|Õ#¨¨!©´­Ø$%Ð!Ùñ  ð !%Ðó  ˆAØ�‰t�w� 1 Q¡4¬6¥>Ø$% a¡DÐ!Ü!Ð"3´T×:Ñ:Ø):Ð(;Ð%Ùñ  ð !#ÐØö ˜.Ó6Ø",Ñ"<ÐØ×$Ñ$Ð%8Ô9øð !ÐØÐ÷$ó $ô ØØä&Ó(ä+Ó-Ø Ø'ä*Ó,ñð rc   c               óä  • Ub'  U R                   U;   a  [        XPR                      5      $ [        U R                  [        5      (       a_  0 nU R                   HL  nXr;   a/  X'   R                  5       (       a  X'   R                  5       Xg'   M5  M7  X   R                  U5      Xg'   MN     O‘[        U R                  [        5      (       aZ  U R                  U;   aD  X R                     R                  5       (       a  X R                     R                  5       nO$[        $ [        $ [        SU R                   35      eU(       a  U R                  b  U R                  U5      nUb  XeU R                   '   U$ )zLPrepare input for a PULL task, based on the process's channels and triggers.z2Invalid channels type, expected list or dict, got )Úinput_cache_keyr
   r¯   r³   r®   rÔ   r•   ro   r>   ÚRuntimeErrorÚmapper)r>  r´   r³   rê   r²   ró   rÝ   r—   s           r`   r1  r1  D  s;  € ð Ñ 4×#7Ñ#7¸;Ó#FÜ�K× 4Ñ 4Ñ5Ó6Ð6ô �$—-‘-¤×&Ñ&Ø ˆØ—M”MˆDØÓØ‘>×.Ñ.×0Ñ0Ø (¡× 2Ñ 2Ó 4�C“Iñ 1ð $™M×-Ñ-¨jÓ9�“	ò "ô 
�D—M‘M¤3×	'Ñ	'Ø�=‰=˜HÓ$ØŸ™Ñ&×3Ñ3×5Ñ5ØŸ}™}Ñ-×1Ñ1Ó3‘ä�äˆNäØ@ÀÇÁÀÐPó
ð 	
ö
 ˜Ÿ™Ñ0Ø�k‰k˜#Óˆð ÑØ,/�D×(Ñ(Ñ)à€Jrc   c                óÂ   • [        U SS9nUR                  SR                  S U 5       5      5        UR                  5       nUSS  SUSS  SUSS	  SUS	S
  SUS
S  3	$ )zAGenerate a UUID from the SHA-1 hash of a namespace and str parts.F)Úusedforsecurityrc   c              3  ón   #   • U H,  n[        U[        5      (       a  UR                  5       OUv •  M.     g 7fr\   ©r¯   ro   r0  ©r–   Úps     r`   r›   Ú_uuid5_str.<locals>.<genexpr>w  s'   é € ÐOÉÀA¤j°´C×&8Ñ&8˜Ÿ™œ
¸aÔ?Êùó   ‚35Né   rï   é   é   é   é    )r   r±   ÚjoinÚ	hexdigest)r  r  ÚshaÚhexs       r`   r)  r)  s  sw   € ô ˆy¨%Ñ
0€CØ‡J�Jˆs�x‰xÑOÉÓOÓOÔPØ
�-‰-‹/€CØ�"�1ˆgˆY�a˜˜A˜b˜	�{ ! C¨¨2 J <¨q°°R¸°°¸A¸cÀ"ÀR¸j¸\ÐJÐJrc   c                óˆ   • [        U SR                  S U 5       5      -   5      nUSS  SUSS  SUSS  SUSS  SUSS	  3	$ )
z@Generate a UUID from the XXH3 hash of a namespace and str parts.rc   c              3  ón   #   • U H,  n[        U[        5      (       a  UR                  5       OUv •  M.     g 7fr\   r‰  rŠ  s     r`   r›   Ú_xxhash_str.<locals>.<genexpr>  s'   é € ÐTÉeÈ¬:°a¼×+=Ñ+=˜QŸX™XœZÀ1ÔDÊeùr�  NrŽ  rï   r�  r�  r‘  r’  )r   r“  )r  r  r–  s      r`   r(  r(  |  sf   € ä
Ø�C—H‘HÑTÉeÓTÓTÑTó€Cð �"�1ˆgˆY�a˜˜A˜b˜	�{ ! C¨¨2 J <¨q°°R¸°°¸A¸cÀ"ÀR¸j¸\ÐJÐJrc   c                ó¶   • [        U [        [        45      (       a  SSR                  S U  5       5       3$ [        U [        5      (       a  U S $ [        U 5      $ )z2Generate a string representation of the task path.Ú~z, c              3  ó6   #   • U H  n[        U5      v •  M     g 7fr\   )rÆ   )r–   Úxs     r`   r›   Ú task_path_str.<locals>.<genexpr>‡  s   é € Ð4±¨1”m A×&Ð&²ùrÍ   Ú010d)r¯   r+  r®   r“  r,  ro   )Útups    r`   rÆ   rÆ   „  sa   € ô �cœE¤4˜=×)Ñ)ð ˆD�I‰IÑ4±Ó4Ó4Ð5Ð6ðô �cœ3×Ñð �Dˆzðô
 �‹Xðrc   c                  ó8   • \ rS rSr% SrS\S'   SS jrS	S jrSrg)
r|  i’  ©Ú_counterzCallable[[], int] | Noner£  c                ó   • S U l         g r\   r¢  r^   s    r`   r�   ÚLazyAtomicCounter.__init__—  s	   € Øˆ�rc   c                ó  • U R                   cQ  [           U R                   c%  [        R                  " S5      R                  U l         S S S 5        U R                  5       $ U R                  5       $ ! , (       d  f       U R                  5       $ = f)Nr   )r£  ÚLAZY_ATOMIC_COUNTER_LOCKÚ	itertoolsÚcountÚ__next__r^   s    r`   r  ÚLazyAtomicCounter.__call__š  sd   € Ø�=‰=Ñ Þ)Ø—=‘=Ñ(Ü$-§O¢O°AÓ$6×$?Ñ$?�D”M÷ *ð �}‰}‹Ðˆt�}‰}‹Ð÷ *Ô)ð �}‰}‹Ðús   ”3A/Á/
BN)rm   r�   )rm   r,  )	rr   rs   rt   ru   r�   r|   r�   r  rx   r]   rc   r`   r|  r|  ’  s   ‡ Ø€Ià&Ó&ô÷rc   r|  c           	     ó2  • [        U R                  [        5      (       d  U $ U R                  R                  5        VVs0 sH-  u  p#[        UR	                  U5      [
        5      (       a  M+  X#_M/     nnn[        U R                  X@R                  S9$ s  snnf )zûPop any values belonging to UntrackedValue channels in Send.arg for safe checkpointing.

Send is often called with state to be passed to the dest node, which may contain
UntrackedValues at the top level. Send is not typed and arg may be a nested dict.)r5  r^  r†   )	r¯   r^  Údictr¤   r•   rA   rT   r5  r†   )r`  r³   r»   rº   Úsanitized_args        r`   Ú!sanitize_untracked_values_in_sendr¯  ¢  s}   € ô �f—j‘j¤$×'Ñ'àˆð
 —J‘J×$Ñ$Ô&ôá&‰DˆAÜ˜(Ÿ,™, q›/¬>×:ó 	ˆŠÙ&ð ñ ô
 �V—[‘[ m¿^¹^ÑLÐLùós   ¿)BÁ,B)r¦   r   r§   zAll | Sequence[str]r¨   zIterable[PregelExecutableTask]rm   zlist[PregelExecutableTask]rz  )r²   r<   r³   úMapping[str, BaseChannel]r´   rD   r«   rY   rµ   zlist[str] | strr¶   r{  rm   zdict[str, Any] | Any)rÁ   z
int | NonerÂ   r�   rm   r,  )r¦   r   r³   r°  r¨   zIterable[WritesProtocol]rØ   zGetNextVersion | NonerÙ   zMapping[str, Sequence[str]]rm   zset[str])"r¦   r   ræ   úlist[PendingWrite]rç   úMapping[str, PregelNode]r³   r°  r´   rD   r¥   r   rè   r,  ré   r,  rê   zLiteral[False]rá   úLiteral[None]râ   r³  rã   r³  rÙ   ú"Mapping[str, Sequence[str]] | NonerÞ   úset[str] | Nonerƒ   úSequence[RetryPolicy]r„   r³  rm   zdict[str, PregelTask])"r¦   r   ræ   r±  rç   r²  r³   r°  r´   rD   r¥   r   rè   r,  ré   r,  rê   zLiteral[True]rá   úBaseStore | Nonerâ   úBaseCheckpointSaver | Nonerã   ú/None | ParentRunManager | AsyncParentRunManagerrÙ   r´  rÞ   rµ  rƒ   r¶  r„   r‰   rm   zdict[str, PregelExecutableTask])"r¦   r   ræ   r±  rç   r²  r³   r°  r´   rD   r¥   r   rè   r,  ré   r,  rê   r{  rá   r·  râ   r¸  rã   r¹  rÙ   r´  rÞ   rµ  rƒ   r¶  r„   r‰   rm   z7dict[str, PregelTask] | dict[str, PregelExecutableTask])(r<  ztuple[Any, ...]r=  ú
str | Noner¦   r   rñ   r  rò   úV | Noneræ   r±  rç   r²  r³   r°  r´   rD   r¥   r   rè   r,  ré   r,  rê   r{  rá   r·  râ   r¸  rã   r¹  ró   ú&dict[INPUT_CACHE_KEY_TYPE, Any] | Noner„   r‰   rƒ   r¶  rm   z(None | PregelTask | PregelExecutableTask)rH  r   rm   rG  )ræ   r±  rm   zlist[BaseException])ræ   r±  r  ro   rm   zBaseException | None)ræ   r±  r  ro   rm   rº  )&r<  z!tuple[str, tuple, int, str, Call]r=  rº  r¦   r   rñ   r  ræ   r±  r³   r°  r´   rD   r¥   r   rè   r,  ré   r,  rê   r{  rá   r·  râ   r¸  rã   r¹  r„   r‰   rƒ   r¶  r  ro   r  r  rm   z!PregelTask | PregelExecutableTask)(r<  ztuple[str, tuple]r=  rº  r¦   r   rñ   r  ræ   r±  r³   r°  r´   rD   r¥   r   rè   r,  ré   r,  rê   r{  rá   r·  râ   r¸  rã   r¹  r„   r‰   rƒ   r¶  r  ro   r  r  rç   r²  rm   z(PregelTask | PregelExecutableTask | None)"rf  rQ   rg  ro   rh  rG  r¦   r   ræ   r±  rç   r²  r³   r°  r´   rD   r¥   r   rè   r,  ré   r,  rá   r·  râ   r¸  rã   r¹  r„   r‰   rƒ   r¶  rm   zPregelExecutableTask | None)r¦   r   rm   r»  )r³   r°  rn  r   rš   zChannelVersions | Noner™   r   r>  rJ   rm   r{  )rt  zPregelScratchpad | Noneræ   r±  r  ro   r}  ro   r~  zdict[str, Any] | Nonerè   r,  ré   r,  rm   r<   )r>  rJ   r´   rD   r³   r°  rê   r{  r²   r<   ró   r¼  rm   r   r  )r   zstr | int | tuplerm   ro   )r`  rT   r³   r°  rm   rT   )“Ú
__future__r   rô   r¨  ÚsysÚ	threadingÚcollectionsr   r   Úcollections.abcr   r   r   r	   r
   Ú	functoolsr   Úhashlibr   Útypingr   r   r   r   r   r   Úlangchain_core.callbacksr   Ú langchain_core.callbacks.managerr   r   Úlangchain_core.runnables.configr   Úlanggraph.checkpoint.baser   r   r   r   r   Úlanggraph.store.baser   Úxxhashr   Úlanggraph._internal._configr   r   Úlanggraph._internal._constantsr    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   Úlanggraph._internal._scratchpadr<   Úlanggraph._internal._typingr=   r>   Úlanggraph.channels.baser?   Úlanggraph.channels.topicr@   Ú"langgraph.channels.untracked_valuerA   Úlanggraph.constantsrB   Úlanggraph.errorsrC   Úlanggraph.managed.baserD   Úlanggraph.pregel._callrE   rF   Úlanggraph.pregel._iorG   Úlanggraph.pregel._logrH   Úlanggraph.pregel._readrI   rJ   Úlanggraph.runtimerK   rL   rM   Úlanggraph.typesrN   rO   rP   rQ   rR   rS   rT   rU   ÚGetNextVersionÚversion_infor3  rY   rz   r~   r¬   r¾   rÃ   rà   rë   rX  r  rø   rI  rL  rQ  rS  r*  r-  rk  rò   r.  r/  r1  r)  r(  rÆ   ÚLockr§  r|  r¯  r]   rc   r`   Ú<module>rÞ     s¶	  ðÝ "ã Û Û 
Û ß *ß AÓ AÝ Ý Ý ÷÷ õ /ß TÝ :÷õ õ +Ý %ç C÷÷ ÷ ÷ ÷ ÷ ÷ ó õ< =ß :Ý /Ý *Ý =Ý *Ý &Ý 6ß DÝ .Ý (ß Cß EÑ E÷	÷ 	ó 	ð ˜1˜t™8 TÐ*¨AÐ-Ñ.€Ø×%Ñ%¨Ñ0Ð ô-�Xô -ô"�zô ÷ ñ  ðFØðà(ðð *ðð  ô	ðN ð$Ø ð$à'ð$ð !ð$ð ð	$ð
 ð$ð ð$ð õ$ôN5ð
qØðqà'ðqð $ðqð ,ð	qð
 2ðqð ôqðh 
ð  Ø"&Ø!Ø;?Ø(,Ø*,Ø"&ñ# Øð à&ð ð (ð ð (ð	 ð
 !ð ð ð ð ð ð ð ð "ð ð ð ð  ð ð ð ð 9ð ð &ð ð  (ð! ð"  ð# ð$ ô% ó 
ð ð* 
ð <@Ø(,Ø*,Ø'+ñ#*Øð*à&ð*ð (ð*ð (ð	*ð
 !ð*ð ð*ð ð*ð ð*ð !ð*ð ð*ð -ð*ð =ð*ð 9ð*ð &ð*ð  (ð!*ð" %ð#*ð$ %ô%*ó 
ð*ð@ #Ø/3Ø?CØ;?Ø(,Ø*,Ø'+ñ#y$Øðy$à&ðy$ð (ðy$ð (ð	y$ð
 !ðy$ð ðy$ð ðy$ð ðy$ð ðy$ð ðy$ð -ðy$ð =ðy$ð 9ðy$ð &ðy$ð  (ð!y$ð" %ð#y$ð$ =õ%y$ðx ˆw€ô�ô ð( #Ø/3Ø?CØ:>Ø'+Ø*,ñ)m@Øðm@à ðm@ð ð	m@ð
 ðm@ð &ðm@ð 'ðm@ð (ðm@ð (ðm@ð !ðm@ð ðm@ð ðm@ð ðm@ð ðm@ð ðm@ð  -ð!m@ð" =ð#m@ð$ 8ð%m@ð& %ð'm@ð( (ð)m@ð* .õ+m@ô`!ðØ&ðàôðØ&ðØ14ðàôðØ&ðØ14ðàôð2 #Ø/3Ø?CØ'+Ø*,ñ%G@Ø0ðG@ð !ðG@ð
 ðG@ð ðG@ð 'ðG@ð (ðG@ð !ðG@ð ðG@ð ðG@ð ðG@ð ðG@ð ðG@ð -ðG@ð  =ð!G@ð" %ð#G@ð$ (ð%G@ð& ð'G@ð* ð+G@ð, 'õ-G@ðp #Ø/3Ø?CØ'+Ø*,ñ%iFØ ðiFð !ðiFð
 ðiFð ðiFð 'ðiFð (ðiFð !ðiFð ðiFð ðiFð ðiFð ðiFð ðiFð -ðiFð  =ð!iFð" %ð#iFð$ (ð%iFð& ð'iFð( ð)iFð* (ð+iFð, .õ-iFðr #Ø/3Ø?CØ'+Ø*,ñ#JØ%ðJð ðJð  ð	Jð
 ðJð 'ðJð (ðJð (ðJð !ðJð ðJð ðJð ðJð ðJð -ðJð =ðJð  %ð!Jð" (ð#Jð$ !õ%JðZØðàôðØ'ðàðð !ðð ð	ð
 ðð 
ôð(AØ.ðAà&ðAð ðAð ð	Að
 &ðAð ðAð ðAð ôAðH,Ø
ð,à ð,ð (ð,ð
 ð,ð !ð,ð 8ð,ð 	ô,ô^KôKôð %Ÿ>›>Ó+Ð ÷ñ ð MØðMØ5ðMà	õMrc   