
    XfN
                     V    d dl mZmZmZ  G d dej                  j
                        Zy)    )
interfaces	constantsconfigurationc                       e Zd ZdZdZ	 d
dej                  j                  dedej                  j                  dej                  ddf
d	Zy)KernelModulezEFinds ModuleRequirements and ensures their layer, symbols and offsetsd   Ncontextconfig_pathrequirementprogress_callbackreturnc                 L   t         j                  j                  ||j                        }t	        |t        j
                  j                        s*|j
                  D ]  } | |||j
                  |   |        y |j                  ||      sy d|j                  t         j                  j                  |d      <   |j
                  D ])  }|j
                  |   j                  ||      s#|dk7  s) y  |j
                  D ]  }t	        |j
                  |   t        j
                  j                        s5t         j                  j                  ||d      }t         j                  j                  |d      }|j                  |   }	|	|j                  |<    |j                  ||       y )Nz%volatility3.framework.contexts.Moduleclassoffsetkernel_virtual_offset)r   r   	path_joinname
isinstancerequirementsModuleRequirementunsatisfiedconfigTranslationLayerRequirement	construct)
selfr	   r
   r   r   new_config_pathreqlayer_kvo_config_pathoffset_config_pathr   s
             X/home/panchajanya/Development/work/volatility3/volatility3/framework/automagic/module.py__call__zKernelModule.__call__   s    %22<<))
 +}'A'A'S'ST"// #,,S1%	 &&w< 4 	z//99/7ST ++ 	C((-99'?S8O	 ++ 	<C((-**FF )3(@(@(J(J#S*A)% &0%=%=%G%G#X&" !(=>5;12	< 	g{3    )N)__name__
__module____qualname____doc__priorityr   r	   ContextInterfacestrr   RequirementInterfacer   ProgressCallbackr!    r"   r    r   r      sb    OH 9=54##4454 54  --BB	54
 %5554 
54r"   r   N)volatility3.frameworkr   r   r   	automagicAutomagicInterfacer   r,   r"   r    <module>r0      s&   
 G F:4:'':: :4r"   