
    9i~                     z    d Z ddlZddlmZ ddlmZ ddlmZ ddlm	Z	m
Z
 ej         G d d	                      ZdS )
a  Hook system for Dynamo's guard functionality.

This module provides a way to register callback functions that are triggered during
guard-related operations.

The Hooks class manages two types of hook functions:
- guard_export_fn: Called when guards need to be exported, taking a GuardsSet as input
- guard_fail_fn: Called when a guard check fails, taking a GuardFail object as input
These hooks enable customization of guard export and failure handling behaviors.
    N)Callable)Optional)	GuardsSet   )	GuardFailGuardFilterEntryc                       e Zd ZU dZeeegdf                  ed<   dZeee	gdf                  ed<   dZ
eeee         gee         f                  ed<   dS )HooksNguard_export_fnguard_fail_fnguard_filter_fn)__name__
__module____qualname__r   r   r   r   __annotations__r   r   r   listr   bool     F/var/www/icac/venv/lib/python3.11/site-packages/torch/_dynamo/hooks.pyr
   r
      s         =AOXh	{D'89:AAA;?M8Hi[$%678???PTOXh-=(>'?d'KLMTTTTTr   r
   )__doc__dataclassescollections.abcr   typingr   torch._guardsr   typesr   r   	dataclassr
   r   r   r   <module>r      s   	 	     $ $ $ $ $ $       # # # # # # . . . . . . . . U U U U U U U U U Ur   