
    Χg                     H    d dl Z d dlZddlmZ  G d dej                  ZdS )    N   )Importerc                   .     e Zd ZdZdef fdZd Z xZS )PackageUnpicklerzPackage-aware unpickler.

    This behaves the same as a normal unpickler, except it uses `importer` to
    find any global names that it encounters while unpickling.
    importerc                 H     t                      j        |i | || _        d S )N)super__init__	_importer)selfr   argskwargs	__class__s       \/var/www/html/ai-engine/env/lib/python3.11/site-packages/torch/package/_package_unpickler.pyr
   zPackageUnpickler.__init__   s*    $)&)))!    c                 
   | j         dk     rO| j        rH||ft          j        v rt          j        ||f         \  }}n |t          j        v rt          j        |         }| j                            |          }t          ||          S )N   )protofix_imports_compat_pickleNAME_MAPPINGIMPORT_MAPPINGr   import_modulegetattr)r   modulenamemods       r   
find_classzPackageUnpickler.find_class   s}    :>>d.>~!<<<-:FD>J>888'6v>n**622sD!!!r   )__name__
__module____qualname____doc__r   r
   r   __classcell__)r   s   @r   r   r      s]         " " " " " " "" " " " " " "r   r   )r   pickler   r   
_Unpicklerr    r   r   <module>r'      sc              " " " " "v( " " " " "r   