+
    Bi}                        ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIt^ RIt^ RIHt ^ RI	t	^ RI
Ht ]P                  ! R4      t]P                  ! R4      t]P                  ! R4      t]P                  ! R4      t ! R	 R
4      t ! R R]4      t]P&                  ! ]]R7      w  tt ! R R]4      t]P&                  ! ]]R7      w  tt ! R R]4      t]P&                  ! ]]R7      w  tt ! R R]4      t]P&                  ! ]]R7      w  tt ! R R]4      t]P&                  ! ]]R7      w  t t! ! R R]4      t"]P&                  ! ]"]R7      w  t#t$ ! R R]4      t%]P&                  ! ]%]R7      w  t&t'RUR lt( ! R R4      t) ! R R4      t ! R R])4      t*]P&                  ! ]*4      w  t+t, ! R  R4      t ! R! R"])4      t-]P&                  ! ]-4      w  t.t/ ! R# R$4      t0 ! R% R&])4      t1]P&                  ! ]14      w  t2t3 ! R' R]04      t ! R( R)])4      t4]P&                  ! ]44      w  t5t6 ! R* R]04      t](! ]4      t7 ! R+ R,])4      t8]P&                  ! ]84      w  t9t: ! R- R]4      t](! ]4      t; ! R. R/])4      t<]P&                  ! ]84      w  t=t> ! R0 R14      t? ! R2 R34      t@]P&                  ! ]@]]R47      w  tAtB ! R5 R64      tC]P&                  ! ]C]]R47      w  tDtE ! R7 R84      tF]P&                  ! ]F]7R97      w  tGtH ! R: R;4      tI]P&                  ! ]I]7R97      w  tJtK ! R< R=4      tL]P&                  ! ]L]7]]R>7      w  tMtN ! R? R@4      tO]P&                  ! ]O];RA7      w  tPtQ ! RB RC4      tR](! ]RR4      tS ! RD R]R4      t%](! ]%]]RE7      tT ! RF RG4      tU ! RH RI]U4      tV]P&                  ! ]V]]SRJ7      w  tWtX]P                  ! ]P                  RK4       ! RL RM]U4      4       t[]P&                  ! ][]]]TRN7      w  t\t] ! RO RP4      t^]P&                  ! ]^]SRQ7      w  t_t` ! RR RS]P                  4      tb]cRT8X  d   ]P                  ! 4        R# R# )V    N)import_helper)mock)util	importlibzimportlib.abczimportlib.machineryzimportlib.utilc                   :   a  ] tR t^t o . t. tR tR tR tRt	V t
R# )InheritanceTestsc                r   V P                    Uu. uF  p\        V P                  V4      NK  	  upV n        \	        V R 4      '       dA   V P                  P
                  pV P                   Uu. uF  p\        W!4      NK  	  upV n        \        V P                  V P                  4      V n	        R# u upi u upi )subclass_namesN)
superclass_namesgetattrabcsuperclasseshasattr	machineryr
   
subclasses_NAME_InheritanceTests__test)self
class_namer   s   &  3/usr/lib/python3.14/test/test_importlib/test_abc.pysetUpInheritanceTests.setUp   s    /3/D/DF/D %TXXz:/DF4)** **I151D1DF1D:  'y=1DFDO dhh

3FFs   B/,B4c                b    V P                    F  pV P                  WP                  4       K   	  R # N)r   assertIsSubclassr   )r   subclasss   & r   test_subclasses InheritanceTests.test_subclasses+   s"    H!!(KK8 (    c                d    V P                    F  pV P                  V P                  V4       K!  	  R # r   )r   r   r   )r   
superclasss   & r   test_superclasses"InheritanceTests.test_superclasses0   s&    ++J!!$++z: ,r   )__testr   r   N)__name__
__module____qualname____firstlineno__r   r   r   r   r"   __static_attributes____classdictcell____classdict__s   @r   r   r      s%     
 JL49
; ;r   r   c                   "    ] tR t^6t. t. ROtRtR# )MetaPathFinder N)BuiltinImporterFrozenImporter
PathFinderWindowsRegistryFinderr%   r&   r'   r(   r   r
   r)   r/   r   r   r.   r.   6   s    /Nr   r.   )r   c                        ] tR t^At. tR.tRtR# )PathEntryFinder
FileFinderr/   Nr4   r/   r   r   r6   r6   A   s    "^Nr   r6   c                       ] tR t^KtR.tRtR# )ResourceLoaderLoaderr/   N)r%   r&   r'   r(   r   r)   r/   r   r   r9   r9   K   s
     zr   r9   c                   $    ] tR t^TtR.t. ROtRtR# )InspectLoaderr:   r/   N)r0   r1   ExtensionFileLoaderr4   r/   r   r   r<   r<   T   s     zQNr   r<   c                   "    ] tR t^^tR.tR.tRtR# )ExecutionLoaderr<   r=   r/   Nr4   r/   r   r   r?   r?   ^   s    '(+,Nr   r?   c                   &    ] tR t^htRR.tRR.tRtR# )
FileLoaderr9   r?   SourceFileLoaderSourcelessFileLoaderr/   Nr4   r/   r   r   rA   rA   h   s    (*;<(*@ANr   rA   c                   $    ] tR t^rtRR.tR.tRtR# )SourceLoaderr9   r?   rB   r/   Nr4   r/   r   r   rE   rE   r   s    (*;<()Nr   rE   c           	         Vf   V P                   p\        P                  4        UUu/ uF  w  rEV\        WQ4      bK  	  ppp\        P
                  ! W3/ VB  Uu/ uF  pVP                  V'       d   V! 4       MTbK!  	  up# u uppi u upi r   )r%   r   itemsr   	test_utilsplit_frozen_KIND)
base_classnameinstkwargskindsplitabcbaseclss   &&&,    r   make_abc_subclassesrS   ~   s    |"""%))+/"- '())"- 	 / !--jI&IKI IIsu#-IK K/Ks   BB	3B	c                   0   a  ] tR t^t o ]R 4       tRtV tR# )ABCTestHarnessc                n    V P                   V P                  ,          pV! 4       pW P                  n        V# r   )SPLITrJ   	__class__ins)r   rR   rY   s   &  r   rY   ABCTestHarness.ins   s,     jj$e 
r   r/   N)r%   r&   r'   r(   propertyrY   r)   r*   r+   s   @r   rU   rU      s      r   rU   c                       ] tR t^tRtR# )r.   r/   Nr%   r&   r'   r(   r)   r/   r   r   r.   r.          r   c                   6   a  ] tR t^t o ]! ]4      tR tRtV t	R# )MetaPathFinderDefaultsTestsc                :    V P                   P                  4        R # r   rY   invalidate_cachesr   s   &r   test_invalidate_caches2MetaPathFinderDefaultsTests.test_invalidate_caches       ""$r   r/   N)
r%   r&   r'   r(   rS   r.   rW   re   r)   r*   r+   s   @r   r`   r`      s     /E% %r   r`   c                       ] tR t^tRtR# )r6   r/   Nr]   r/   r   r   r6   r6      r^   r   c                   6   a  ] tR t^t o ]! ]4      tR tRtV t	R# )PathEntryFinderDefaultsTestsc                :    V P                   P                  4        R # r   rb   rd   s   &r   re   3PathEntryFinderDefaultsTests.test_invalidate_caches   rg   r   r/   N)
r%   r&   r'   r(   rS   r6   rW   re   r)   r*   r+   s   @r   rj   rj      s     0E% %r   rj   c                       ] tR t^tRtR# )r:   r/   Nr]   r/   r   r   r:   r:      r^   r   r:   c                   B   a  ] tR t^t o ]! ]4      tR tR tR t	Rt
V tR# )LoaderDefaultsTestsc                ^    R pV P                  V P                  P                  V4      4       R# )za specN)assertIsNonerY   create_module)r   specs   & r   test_create_module&LoaderDefaultsTests.test_create_module   s$    $((0067r   c                    V P                  \        4      ;_uu_ 4        V P                  P                  R 4       RRR4       R#   + '       g   i     R# ; i)	somethingN)assertRaisesImportErrorrY   load_modulerd   s   &r   test_load_module$LoaderDefaultsTests.test_load_module   s4    {++HH  - ,+++   AA	c                H   \         P                  ! R 4      p\        P                  ! 4       ;_uu_ 4        \        P                  ! R\
        4       \        V4      pV P                  Vn        V P                  \        V4      4       RRR4       R#   + '       g   i     R# ; i)blahignoreN)
types
ModuleTypewarningscatch_warningssimplefilterDeprecationWarningreprrY   
__loader__
assertTrue)r   modoriginal_reprs   &  r   test_module_repr$LoaderDefaultsTests.test_module_repr   se    v&$$&&!!(,>? IM!XXCNOODI& '&&&s   ABB!	r/   N)r%   r&   r'   r(   rS   r:   rW   rt   r{   r   r)   r*   r+   s   @r   ro   ro      s#     'E8.' 'r   ro   c                   2   a a ] tR t^t oV 3R ltRtVtV ;t# )r9   c                "   < \         SV `  V4      # r   )superget_datar   pathrX   s   &&r   r   ResourceLoader.get_data   s    w%%r   r/   )r%   r&   r'   r(   r   r)   r*   __classcell__rX   r,   s   @@r   r9   r9      s     & &r   c                   6   a  ] tR t^t o ]! ]4      tR tRtV t	R# )ResourceLoaderDefaultsTestsc                    V P                  \        4      ;_uu_ 4        V P                  P                  R 4       RRR4       R#   + '       g   i     R# ; i)z
/some/pathN)rx   IOErrorrY   r   rd   s   &r   test_get_data)ResourceLoaderDefaultsTests.test_get_data   s4    w''HHl+ ('''r}   r/   N)
r%   r&   r'   r(   rS   r9   rW   r   r)   r*   r+   s   @r   r   r      s     /E, ,r   r   c                   >   a a ] tR t^t oV 3R ltV 3R ltRtVtV ;t# )r<   c                "   < \         SV `  V4      # r   )r   
is_packager   fullnamerX   s   &&r   r   InspectLoader.is_package       w!(++r   c                "   < \         SV `  V4      # r   )r   
get_sourcer   s   &&r   r   InspectLoader.get_source   r   r   r/   )	r%   r&   r'   r(   r   r   r)   r*   r   r   s   @@r   r<   r<      s     ,, ,r   c                   0   a  ] tR t^t o ]tR tR tRtV t	R# )InspectLoaderDefaultsTestsc                    V P                  \        4      ;_uu_ 4        V P                  P                  R 4       RRR4       R#   + '       g   i     R# ; ir   N)rx   ry   rY   r   rd   s   &r   test_is_package*InspectLoaderDefaultsTests.test_is_package   4    {++HH' ,+++r}   c                    V P                  \        4      ;_uu_ 4        V P                  P                  R 4       RRR4       R#   + '       g   i     R# ; ir   )rx   ry   rY   r   rd   s   &r   test_get_source*InspectLoaderDefaultsTests.test_get_source   r   r}   r/   N)
r%   r&   r'   r(   SPLIT_ILrW   r   r   r)   r*   r+   s   @r   r   r      s     E(( (r   r   c                   2   a a ] tR tRt oV 3R ltRtVtV ;t# )r?   i
  c                "   < \         SV `  V4      # r   )r   get_filenamer   s   &&r   r   ExecutionLoader.get_filename  s    w#H--r   r/   )r%   r&   r'   r(   r   r)   r*   r   r   s   @@r   r?   r?   
  s     . .r   c                   *   a  ] tR tRt o ]tR tRtV tR# )ExecutionLoaderDefaultsTestsi  c                    V P                  \        4      ;_uu_ 4        V P                  P                  R 4       RRR4       R#   + '       g   i     R# ; ir   )rx   ry   rY   r   rd   s   &r   test_get_filename.ExecutionLoaderDefaultsTests.test_get_filename  s4    {++HH!!&) ,+++r}   r/   N)	r%   r&   r'   r(   SPLIT_ELrW   r   r)   r*   r+   s   @r   r   r     s     E* *r   r   c                   V   a a ] tR tRt oV 3R ltV 3R ltV 3R ltV 3R ltRtVt	V ;t
# )ResourceReaderi!  c                $   < \         SV `  ! V/ VB # r   )r   open_resourcer   argsrN   rX   s   &*,r   r   ResourceReader.open_resource#      w$d5f55r   c                $   < \         SV `  ! V/ VB # r   )r   resource_pathr   s   &*,r   r   ResourceReader.resource_path&  r   r   c                $   < \         SV `  ! V/ VB # r   )r   is_resourcer   s   &*,r   r   ResourceReader.is_resource)  s    w"D3F33r   c                $   < \         SV `  ! V/ VB # r   )r   contentsr   s   &*,r   r   ResourceReader.contents,  s    w000r   r/   )r%   r&   r'   r(   r   r   r   r   r)   r*   r   r   s   @@r   r   r   !  s     6641 1r   r   c                   B   a  ] tR tRt o ]R 4       tR tR tR tRt	V t
R# )MetaPathFinderFindModuleTestsi1  c                V   a  ! V3R  lRV P                   P                  4      pV! 4       # )c                   2   <a  ] tR tRt o RV3R lltRtV tR# )@MetaPathFinderFindModuleTests.finder.<locals>.MetaPathSpecFinderi5  Nc                   < W3V n         S# r   
called_for)r   r   r   targetrs   s   &&&&r   	find_specJMetaPathFinderFindModuleTests.finder.<locals>.MetaPathSpecFinder.find_spec7  s    "*.r   r   r   )r%   r&   r'   r(   r   r)   r*   )r,   rs   s   @r   MetaPathSpecFinderr   5  s      r   r   )r   r.   )rR   rs   r   s   &f r   finder$MetaPathFinderFindModuleTests.finder3  s$    	!7!7 	 "##r   c                    \        4       pV P                  P                  R V4      pV P                  V4      pVP	                  R R R4      pV P                  WB4       R# r   )objectr   spec_from_loaderr   r   assertEqualr   loaderrs   r   founds   &    r   #test_find_spec_with_explicit_targetAMetaPathFinderFindModuleTests.test_find_spec_with_explicit_target=  sO    yy))&&9T"  6%r   c                   V P                  R 4      p. ROpRpVP                  W2R 4      pV P                  V4       V P                  W1P                  ^ ,          4       V P                  W!P                  ^,          4       R # )Nr   )abc)r   r   rq   r   r   )r   r   r   rL   r   s   &    r   test_no_spec*MetaPathFinderFindModuleTests.test_no_specD  sl    T"  T2% 00340034r   c                    \        4       pV P                  P                  R V4      pV P                  V4      pVP	                  R R4      pV P                  WB4       R# r   )r   r   r   r   r   assertIsr   s   &    r   	test_spec'MetaPathFinderFindModuleTests.test_specM  sK    yy))&&9T"  .e"r   r/   N)r%   r&   r'   r(   classmethodr   r   r   r   r)   r*   r+   s   @r   r   r   1  s+     $ $&5# #r   r   )r   r   c                   2   a  ] tR tRt o R tR tR tRtV tR# )LoaderLoadModuleTestsi[  c                N     ! R  RV P                   P                  4      pV! 4       # )c                   0   a  ] tR tRt o RtR tR tRtV tR# )0LoaderLoadModuleTests.loader.<locals>.SpecLoaderi^  Nc                    Wn         R # r   r   r   modules   &&r   exec_module<LoaderLoadModuleTests.loader.<locals>.SpecLoader.exec_module`  s    #
r   c                    R # )Tr/   r   r   s   &&r   r   ;LoaderLoadModuleTests.loader.<locals>.SpecLoader.is_packagec  s    r   r   )	r%   r&   r'   r(   r   r   r   r)   r*   r+   s   @r   
SpecLoaderr   ^  s     E$ r   r   )r   r:   )r   r   s   & r   r   LoaderLoadModuleTests.loader]  s     	 	 |r   c           	     h   \         P                  ! 4       ;_uu_ 4        \         P                  ! R \        4       V P	                  4       pRp\
        P                  ! V4      ;_uu_ 4        VP                  V4       VP                  pV P                  \        P                  V,          V4       RRR4       V P                  VXP                  4       V P                  WP                  P                  4       V P                  W#P                  4       V P                  W#P                  P                   4       V P#                  VP$                  4       V P#                  VP$                  VP                  P&                  4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; ir   r   N)r   r   r   r   r   rH   uncacherz   r   r   sysmodulesr   r   __spec__r%   rL   assertIsNotNone__path__submodule_search_locations)r   r   rL   r   s   &   r   
test_fresh LoaderLoadModuleTests.test_freshi  s!   $$&&!!(,>?[[]FD""4((""4(ckk$/8 ) VV%6%67V__%;%;<T??3T??#7#78  1   & J JL '& )(	 '&&s&   AF *AF	/CF FF  F1	c           	        \         P                  ! 4       ;_uu_ 4        \         P                  ! R \        4       RpV P	                  4       p\
        P                  ! V4      pV P                  P                  W4      Vn	        W#n
        \        P                  ! V4      ;_uu_ 4        V\        P                  V&   VP                  V4       VP                   pV P#                  V\        P                  V,          4       V P#                  V\        P                  V,          4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; ir   )r   r   r   r   r   r   r   r   r   r  r   rH   r  r  r  rz   r   r   )r   rL   r   r   r   s   &    r   test_reload!LoaderLoadModuleTests.test_reloadz  s    $$&&!!(,>?D[[]F%%d+F"ii88FFO &""4(($*D!""4(eS[[%67fckk$&78 ) '& )( '&&s%   BE
&A?D7	%E
7EE

E	r/   N)	r%   r&   r'   r(   r   r  r  r)   r*   r+   s   @r   r   r   [  s     
L"9 9r   r   c                   B   a  ] tR tRt o R	R ltR tR tR tR tRt	V t
R# )
InspectLoaderSourceToCodeTestsi  Nc                    \         P                  ! R 4      pV P                  4       pVf   VP                  V4      pMVP                  W4      p\	        WSP
                  4       V# )r   )r   r   InspectLoaderSubclasssource_to_codeexec__dict__)r   datar   r   r   codes   &&&   r   source_to_module/InspectLoaderSourceToCodeTests.source_to_module  sV    !!&)++-<((.D((4DT??#r   c                    R pV P                  V4      pV P                  VR4       V P                  VP                  ^*4       R# )	attr = 42attrNr  assertHasAttrr   r  r   sourcer   s   &  r   test_source_to_code_source9InspectLoaderSourceToCodeTests.test_source_to_code_source  s;    &&v.66*b)r   c                    R pV P                  V4      pV P                  VR4       V P                  VP                  ^*4       R# )s	   attr = 42r  Nr  r  s   &  r   test_source_to_code_bytes8InspectLoaderSourceToCodeTests.test_source_to_code_bytes  s;    &&v.66*b)r   c                    R pV P                  4       pVP                  RV4      pV P                  VP                  V4       R# )zpath/to/somewhere Nr  r  r   co_filename)r   r   r   r  s   &   r   test_source_to_code_path7InspectLoaderSourceToCodeTests.test_source_to_code_path  s=    "++-$$R.))40r   c                    V P                  4       pVP                  R 4      pV P                  VP                  R4       R# )r%  <string>Nr&  )r   r   r  s   &  r   test_source_to_code_no_path:InspectLoaderSourceToCodeTests.test_source_to_code_no_path  s8     ++-$$R()):6r   r/   r   )r%   r&   r'   r(   r  r  r"  r(  r,  r)   r*   r+   s   @r   r  r    s#     	**17 7r   r  )r  c                   2   a  ] tR tRt o R tR tR tRtV tR# )InspectLoaderGetCodeTestsi  c                   \         P                  ! R 4      p\        P                  P	                  V P
                  R4      ;_uu_ 4       pRVn        V P                  4       pVP                  R 4      pRRR4       \        XVP                  4       V P                  VP                  ^*4       R#   + '       g   i     LD; i)r   r   r  N)r   r   r   patchr   r  return_valueget_coder  r  r   r  )r   r   mockedr   r  s   &    r   test_get_code'InspectLoaderGetCodeTests.test_get_code  s    !!&)ZZt99<HHF"-F//1F??6*D I 	T6??#b) IHs   	)B..B>	c                   \         P                  P                  V P                  R 4      ;_uu_ 4       pRVn        V P                  4       pVP                  R4      pRRR4       V P                  X4       R#   + '       g   i     L#; i)r   Nr   )r   r1  r   r  r2  r3  rq   )r   r4  r   r  s   &   r   test_get_code_source_is_None6InspectLoaderGetCodeTests.test_get_code_source_is_None  se    ZZt99<HHF"&F//1F??6*D I 	$	 IHs   )A77B	c                    V P                  4       pV P                  \        4      ;_uu_ 4        VP                  R 4       RRR4       R#   + '       g   i     R# ; ir   )r  rx   ry   r3  r   r   s   & r   test_get_code_source_not_found8InspectLoaderGetCodeTests.test_get_code_source_not_found  s<    ++-{++OOF# ,+++   A

A	r/   N)	r%   r&   r'   r(   r5  r8  r<  r)   r*   r+   s   @r   r/  r/    s     * $ $r   r/  c                   H   a  ] tR tRt o RtR tR tR tR tR t	R t
R	tV tR
# )InspectLoaderLoadModuleTestsi  r   c                    \         P                  ! V P                  4       V P                  \         P                  V P                  4       R # r   )r   unloadmodule_name
addCleanuprd   s   &r   r   "InspectLoaderLoadModuleTests.setUp  s0    T--.,,d.>.>?r   c                F   V P                   P                  V P                  V4      p\        P                  ! 4       ;_uu_ 4        \        P
                  ! R \        4       V P                  P                  P                  V4      uuRRR4       #   + '       g   i     R# ; ir   N)
r   r   rC  r   r   r   r   init
_bootstrap_load_unlocked)r   r   rs   s   && r   load!InspectLoaderLoadModuleTests.load  se    yy))$*:*:FC$$&&!!(,>?99''66t< '&&&s   A BB 	c                V    \         P                  P                  V P                  R 4      # )r3  )r   r1  r   r  rd   s   &r   mock_get_code*InspectLoaderLoadModuleTests.mock_get_code  s    zz  !;!;ZHHr   c           	     :   V P                  4       ;_uu_ 4       p\        Vn        V P                  \        4      ;_uu_ 4        V P	                  4       pV P                  V4       R R R 4       R R R 4       R #   + '       g   i     L; i  + '       g   i     R # ; ir   )rN  ry   side_effectrx   r  rK  r   mocked_get_coder   s   &  r   test_get_code_ImportError6InspectLoaderLoadModuleTests.test_get_code_ImportError  sf    !!_*5O'"";//335		&! 0 "!// "!!s#   )B	"A6	$B	6BB		B	c           	     2   V P                  4       ;_uu_ 4       pR Vn        V P                  \        4      ;_uu_ 4        V P	                  4       pV P                  V4       R R R 4       R R R 4       R #   + '       g   i     L; i  + '       g   i     R # ; ir   )rN  r2  rx   ry   r  rK  rR  s   &  r   test_get_code_None/InspectLoaderLoadModuleTests.test_get_code_None  sf    !!_+/O("";//335		&! 0 "!// "!!s"   %B"A2	 B2B=BB	c                :   \        R RR4      pV P                  4       ;_uu_ 4       pWn        V P                  4       pV P	                  V4      pV P                  V\        P                  V P                  ,          4       RRR4       R#   + '       g   i     R# ; i)r  r+  r  N)	compilerN  r2  r  rK  r   r  r  rC  )r   r  rS  r   r   s   &    r   test_module_returned1InspectLoaderLoadModuleTests.test_module_returned  sq    {J7!!_+/(//1FYYv&FVS[[1A1A%BC	 "!!!s   AB		B	r/   N)r%   r&   r'   r(   rC  r   rK  rN  rT  rW  r[  r)   r*   r+   s   @r   r@  r@    s3      K@=I""D Dr   r@  )r  rH  r   c                   J   a  ] tR tRt o RRRR/R ltR tR tR tR	 tR
t	V t
R# )ExecutionLoaderGetCodeTestsi  r   Fr   c                   R R rCV'       d+   \         P                  P                  V P                  R4      pV'       d+   \         P                  P                  V P                  R4      pW43# )Nr   r   )r   r1  r   ExecutionLoaderSubclass)r   r   r   source_mock_contextfilename_mock_contexts   &$$  r   mock_methods(ExecutionLoaderGetCodeTests.mock_methods  s[    5942"&**"3"3D4P4P4@#B$(JJ$5$5d6R6R6D%F!"99r   c           	        R pV P                  RRR7      w  r#T;_uu_ 4       qC;_uu_ 4       pRVn        Wn        V P                  4       pVP                  R4      pRRR4       RRR4       V P	                  XP
                  V4       \        P                  ! R4      p\        WxP                  4       V P	                  VP                  ^*4       R#   + '       g   i     L}; i  + '       g   i     L; i)zblah.pyTr   r   r  r   N)rc  r2  r`  r3  r   r'  r   r   r  r  r  )	r   r   ra  rb  source_mock	name_mockr   r  r   s	   &        r   r5  )ExecutionLoaderGetCodeTests.test_get_code#  s    595F5Fd 6G 642  K1F1F)'2K$%)"113F??6*D	 2G 
 	))40!!&)T??#b) 2G1F  s"   
C#/C	C#C C##C3	c                    V P                  R R7      w  rV;_uu_ 4       pRVn        V P                  4       pVP                  R4      pRRR4       V P	                  X4       R#   + '       g   i     L#; i)T)r   Nr   )rc  r2  r`  r3  rq   )r   ra  _r4  r   r  s   &     r   r8  8ExecutionLoaderGetCodeTests.test_get_code_source_is_None1  sc    !%!2!2d!2!C  F"&F113F??6*D ! 	$	 ! s   )A##A3	c                    V P                  4       pV P                  \        4      ;_uu_ 4        VP                  R 4       RRR4       R#   + '       g   i     R# ; ir   )r`  rx   ry   r3  r;  s   & r   r<  :ExecutionLoaderGetCodeTests.test_get_code_source_not_found:  s<    --/{++OOF# ,+++r>  c           	        V P                  R R R7      w  rT;_uu_ 4       q2;_uu_ 4       pRVn        \        Vn        V P	                  4       pVP                  R4      pRRR4       RRR4       V P                  XP                  R4       \        P                  ! R4      p\        WgP                  4       V P                  VP                  ^*4       R#   + '       g   i     L}; i  + '       g   i     L; i)Trf  r  r   Nr+  )rc  r2  ry   rQ  r`  r3  r   r'  r   r   r  r  r  )r   ra  rb  rg  rh  r   r  r   s   &       r   test_get_code_no_path1ExecutionLoaderGetCodeTests.test_get_code_no_path@  s     6:5F5Fd 6G 642  K1F1F)'2K$$/I!113F??6*D	 2G 
 	)):6!!&)T??#b) 2G1F  s"   
C&4C	C&C#C&&C6	r/   N)r%   r&   r'   r(   rc  r5  r8  r<  rp  r)   r*   r+   s   @r   r^  r^    s1     : :U :* $* *r   r^  )r`  c                   6   a  ] tR tRt o RtR tR tR tRtV t	R# )SourceOnlyLoaderiW  sN   _ = '::'.join([__name__, __file__, __cached__, __package__, repr(__loader__)])c                    Wn         R # r   r   r   r   s   &&r   __init__SourceOnlyLoader.__init__]  s    	r   c                F    WP                   8w  d   \        hV P                  # r   )r   r   r  rv  s   &&r   r   SourceOnlyLoader.get_data`  s    99M{{r   c                    V P                   # r   ru  r   s   &&r   r   SourceOnlyLoader.get_filenamee  s    yyr   ru  N)
r%   r&   r'   r(   r  rw  r   r   r)   r*   r+   s   @r   rs  rs  W  s      $F
 r   rs  c                   R   a a ] tR tRt o^tRV 3R lltV 3R ltR tR tRt	Vt
V ;t# )rE   il  c                  < \         SV `  V4       V P                  P                  V P                  4      V n        \        V P                  4      V n        Vf   V P                  P                  p\        V4      pVP                  V P                  P                  ^ 4      4       VP                  V P                  P                  V P                  4      4       VP                  V P                  P                  V P                  4      4       \        V P                  V P                  RRR7      pVP                  \         P"                  ! V4      4       \%        V4      V n        / V n        R # )Nr  T)dont_inherit)r   rw  r   cache_from_sourcer   bytecode_pathlenr  source_sizeMAGIC_NUMBER	bytearrayextendrH  _pack_uint32source_mtimerZ  marshaldumpsbytesbytecodewritten)r   r   magicr  code_objectrX   s   &&&  r   rw  SourceLoader.__init__p  s    !YY88Ct{{+=II**EDII**1-.DII**4+<+<=>DII**4+;+;<=dkk499f-13GMM+./dr   c                   < WP                   8X  d   \        SV `	  V4      # WP                  8X  d   V P                  # \
        hr   )r   r   r   r  r  OSErrorr   s   &&r   r   SourceLoader.get_data  s8    997#D))'''== Mr   c                b    WP                   8w  d   \        hR V P                  RV P                  /# )mtimesize)r   r   r  r  rv  s   &&r   
path_statsSourceLoader.path_stats  s,    99M**FD4D4DEEr   c                N    \        V4      V P                  V&   WP                  8H  # r   )r  r  r  )r   r   r  s   &&&r   set_dataSourceLoader.set_data  s#    "4[T))))r   )r  r  r  r  r   )r%   r&   r'   r(   r  rw  r   r  r  r)   r*   r   r   s   @@r   rE   rE   l  s$     L F
* *r   )r   rH  c                   :   a  ] tR tRt o RR/R ltR tR tRtV tR# )	SourceLoaderTestHarnessi  r   Tc                  R V n         V'       dB   \        P                  P                  V P                   R4      V n        V P                   V n        MdRp\        P                  P                  V P                   RP                  RR.4      4      V n        RP                  V P                   V.4      V n        V P
                  P                  V P                  4      V n        V P                  ! V P                  3/ VB V n	        R# )pkgz__init__.pyr   .pyN)
packageosr   joinrL   r   r  cachedloader_mockr   )r   r   rN   rC  s   &$, r   r   SourceLoaderTestHarness.setUp  s    T\\=ADIDIKT\\388UDM3JKDI$,,!<=DIii11$))<&&tyy;F;r   c                (   V P                  VP                  V P                  4       V P                  VP                  V P                  4       V P                  VP
                  V P                  4       V P                  VP                  V P                  4       V P                  VP                  V P                  4       VP                  P                  R 4      pV P                  V^ ,          V P                  4       V P                  V^,          V P                  4       V P                  V^,          V P                  4       V P                  V^,          V P                  4       V P                  V^,          \        V P                  4      4       R# )z::N)r   r%   rL   __file__r   
__cached__r  __package__r  r   r   rk  splitr   )r   r   valuess   && r   verify_module%SourceLoaderTestHarness.verify_module  s   $))4$))4**DKK8++T\\:**DKK8%DII.DII.DKK0DLL1D$56r   c                (   \         P                  ! V P                  4      pV P                  Vn        V P
                  Vn        V P                  Vn        V P                  Vn
        . Vn        \        WP                  4       V P                  V4       R # r   )r   r   rL   r   r  r  r  r  r  r   r   r  r  r  r  )r   r  r   s   && r   verify_code#SourceLoaderTestHarness.verify_code  sf    !!$)),)) KK!\\ KK[//*6"r   )r  r   rL   r  r   N)	r%   r&   r'   r(   r   r  r  r)   r*   r+   s   @r   r  r    s      
<$ 
<7# #r   r  c                   J   a  ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )SourceOnlyLoaderTestsi  c                   V P                   P                  P                  R 4      pV P                  V P                   P	                  V P
                  4      V4       R pW P                   n        V P                  \        4      ;_uu_ 4       pV P                   P	                  V P
                  4       RRR4       V P                  XP                  P
                  V P
                  4       R#   + '       g   i     LB; i)utf-8c                     \         hr   )r  ru  s   &r   raise_OSError<SourceOnlyLoaderTests.test_get_source.<locals>.raise_OSError  s    Mr   N)
r   r  decoder   r   rL   r   rx   ry   	exception)r   expected_sourcer  cms   &   r   r   %SourceOnlyLoaderTests.test_get_source  s     ++,,33G<//		:OL	,{++rKK""499- ,**DII6 ,+s   &C++C;	c                   V P                  R R7       V P                  V P                  P                  V P                  4      4       V P                  RR7       V P                  V P                  P                  V P                  4      4       V P                  V P                  P                  V P                  R,           4      4       R# )Fr   Tz	.__init__N)r   assertFalser   r   rL   r   rd   s   &r   r   %SourceOnlyLoaderTests.test_is_package  s    

e
$//		:;

d
#..tyy9://		K0GHIr   c                r    V P                   P                  V P                  4      pV P                  V4       R # r   r   r3  rL   r  r   r  s   & r   r5  #SourceOnlyLoaderTests.test_get_code  (    kk**4995%r   c                    V P                   P                  V P                   P                  V P                  4      pV P	                  V4       R # r   )r   r  r  r   r  )r   r  s   & r   test_source_to_code)SourceOnlyLoaderTests.test_source_to_code  s4    {{))$++*<*<diiHr   c                (   \         P                  ! 4       ;_uu_ 4        \         P                  ! R \        4       \        P
                  ! V P                  4      ;_uu_ 4        \         P                  ! 4       ;_uu_ 4        \         P                  ! R \        4       V P                  P                  V P                  4      pRRR4       V P                  X4       V P                  VP                  \        P                  P                  V P                  4      .4       V P!                  V P                  \"        P$                  4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     L-; i  + '       g   i     R# ; irG  )r   r   r   ImportWarningrH   r  rL   r   r   rz   r  r   r  r  r   dirnameassertInr  r  r   s   & r   r{   &SourceOnlyLoaderTests.test_load_module  s     $$&&!!(M:""499--,,..))(4FG![[44TYY?F / ""6*  277??4993M2NOdii5 . '& /. .- '&&s>   AF "E-	 AEBE-	F E*%E-	-E=8F  F	c                   \         P                  ! 4       ;_uu_ 4        \         P                  ! R \        4       V P	                  RR7       \
        P                  ! V P                  4      ;_uu_ 4        \         P                  ! 4       ;_uu_ 4        \         P                  ! R \        4       V P                  P                  V P                  4      pRRR4       V P                  X4       V P                  VR4       RRR4       RRR4       R#   + '       g   i     LE; i  + '       g   i     L-; i  + '       g   i     R# ; i)r   Fr  Nr  )r   r   r   r  r   rH   r  rL   r   r   rz   r  assertNotHasAttrr   s   & r   test_package_settings+SourceOnlyLoaderTests.test_package_settings  s     $$&&!!(M:JJ%J(""499--,,..))(4FG![[44TYY?F / ""6*%%fj9 . '& /. .- '&&s=   AD64D#	AD+D#	>D6D D#	#D3.D66E	c                f   R pVP                  R4      V P                  n        V P                  P                  V P                  4      pV P                  W!4       RpVP                  R4      V P                  n        V P                  P                  V P                  4      pV P                  W!4       R# )u   _ = 'ü'r  u   # coding: latin-1
_ = ülatin-1N)encoder   r  r   rL   r   )r   r  returned_sources   &  r   test_get_source_encoding.SourceOnlyLoaderTests.test_get_source_encoding  s     #]]73++00;1,#]]95++00;1r   r/   N)r%   r&   r'   r(   r   r   r5  r  r{   r  r  r)   r*   r+   s   @r   r  r    s.     
7J&

6:
2 
2r   r  )r   r  zsys.dont_write_bytecode is truec                   d   a a ] tR tRt oRR/V 3R lltR tR tR tR tR	 t	R
 t
R tRtVtV ;t# )SourceLoaderBytecodeTestsi  bytecode_writtenFc                 < \         SV `  V4       V'       Ed`   V P                  V P                  V P                  P
                  4       \        V P                  P                  4      pVP                  V P                  P                  ^ 4      4       VP                  V P                  P                  V P                  P                  4      4       VP                  V P                  P                  V P                  P                  4      4       V.pVP                  \        P                  ! V4      4       V P!                  V P                  P
                  V P                  ,          \#        V4      4       R# R# )r   N)r   r  r  r  r   r  r  r   r  r  rH  r  r  r  r  r  r   r  )r   r  r  r  lrX   s   &&$  r   r  %SourceLoaderBytecodeTests.verify_code  s    K(MM$++t{{':':;TYY334DKK		..q12KK		..t{{/G/GHIKK		..t{{/F/FGH AKKk23T[[00=uT{K r   c                r    V P                   P                  V P                  4      pV P                  V4       R # r   r  r  s   & r   test_code_with_everything3SourceLoaderBytecodeTests.test_code_with_everything"  r  r   c                   R V P                   n        V P                  \        4      ;_uu_ 4        V P                  P                  V P                  4      pV P                   P                  V4       RRR4       V P                   P                  V P                  4      pV P                  VRR7       R#   + '       g   i     LJ; i)<does not exist>NTr  )r   r  rx   r  r   r  r   r   r3  rL   r  )r   r  r  s   &  r   test_no_bytecode*SourceLoaderBytecodeTests.test_no_bytecode'  s    $6!w'' II77		BMKK  / ( kk**4995t<	 ('s   AB22C	c                L   R F  pV P                   P                  pWP                   n        V P                   P                  R,          V P                   n        V P                   P                  V P                  4      pV P                  VRR7       W P                   n        K  	  R# )r      NNTr  N)r      )r   r  r  r3  rL   r  )r   r  originalr  s   &   r   test_code_bad_timestamp1SourceLoaderBytecodeTests.test_code_bad_timestamp1  su    "L{{//H'3KK$#';;#7#7#;DKK ++..tyy9K[4@'/KK$ #r   c                    V P                  R R7       V P                  P                  R,          V P                  n        V P                  P                  V P                  4      pV P                  VRR7       R# )   0000r  r  Tr  N)r   r   r  r3  rL   r  r  s   & r   test_code_bad_magic-SourceLoaderBytecodeTests.test_code_bad_magic=  sV    


!#{{33B7kk**4995t<r   c                     R \         n        RV P                  n        V P                  P	                  V P
                  4      pV P                  V P                  V P                  P                  4       R\         n        R#   R\         n        i ; i)Tr  FN)	r  dont_write_bytecoder   r  r3  rL   assertNotInr  r  r  s   & r   test_dont_write_bytecode2SourceLoaderBytecodeTests.test_dont_write_bytecodeE  sb    	,&*C#(:DKK%++..tyy9KT[[$++*=*=>&+C#eC#s   A1B   Bc                   V P                  R R7       V P                  P                  P                  4       ^,          P                  p V P                  P                  P                  4       ^,          =V P                  P                  V P                  4      pV P                  V4       WP                  P                  P                  4       ^,          n        R#   YP                  P                  P                  4       ^,          n        i ; i)r  r  N)r   r   rX   mror  r3  rL   r  )r   original_set_datar  s   &  r   test_no_set_data*SourceLoaderBytecodeTests.test_no_set_dataP  s    


! KK11557:CC	H%%))+A.7++..tyy9K[)6GKK!!%%'*36GKK!!%%'*3s   	A!C 1Dc                    R  pV P                  RR7       V! \        4      V P                  n        V P                  P	                  V P
                  4      pV P                  V4       R# )c                    a  V 3R  lpV# )c                     < Shr   r/   )r   rN   excs   *,r   closurecSourceLoaderBytecodeTests.test_set_data_raises_exceptions.<locals>.raise_exception.<locals>.closure^  s    	r   r/   )r  r  s   f r   raise_exceptionRSourceLoaderBytecodeTests.test_set_data_raises_exceptions.<locals>.raise_exception]  s    Nr   r  r  N)r   NotImplementedErrorr   r  r3  rL   r  )r   r  r  s   &  r   test_set_data_raises_exceptions9SourceLoaderBytecodeTests.test_set_data_raises_exceptions[  sO    	
 	


!./BCkk**4995%r   r/   )r%   r&   r'   r(   r  r  r  r  r  r  r  r  r)   r*   r   r   s   @@r   r  r    s<     L5 L&
=
0=	,	H
& 
&r   r  )rH  r   r  c                   2   a  ] tR tRt o R tR tR tRtV tR# )SourceLoaderGetSourceTestsin  c                    R pV P                  R4      pRpVP                  R4      Vn        VP                  ! V4      pV P	                  WC4       R# )r   mod.fileu   x = "ü"r  NSourceOnlyLoaderMockr  r  r   r   r   rL   r   r  r  s   &    r   test_default_encoding0SourceLoaderGetSourceTests.test_default_encodingr  sH    ((4mmG,//$/1r   c                    R pV P                  R4      pRpVP                  R4      Vn        VP                  ! V4      pV P	                  WC4       R# )r   r  u   # coding: Latin-1
x='ü'r  Nr  r  s   &    r   test_decoded_source.SourceLoaderGetSourceTests.test_decoded_source{  sH    ((4,mmI.//$/1r   c                    R pV P                  R4      pRpVP                  R4      Vn        \        P                  ! RR4      P                  V4      pV P                  VP                  ! V4      V4       R# )r   r  zx = 42
y = -13
r  NT)r  r  r  ioIncrementalNewlineDecoderr  r   r   )r   rL   r   r  expects   &    r   test_universal_newlines2SourceLoaderGetSourceTests.test_universal_newlines  sb    ((4(mmG,--dD9@@H.7r   r/   N)	r%   r&   r'   r(   r  r  r  r)   r*   r+   s   @r   r
  r
  n  s     228 8r   r
  )r  c                   &   a  ] tR tRt o R tRtV tR# )$SourceLoaderDeprecationWarningsTestsi  c                    ^ RI Hp  ! R RV4      pV! 4       pV P                  \        R4      ;_uu_ 4        VP	                  R4       RRR4       R#   + '       g   i     R# ; i)r   )rE   c                   2   a  ] tR tRt o R tR tR tRtV tR# )ZSourceLoaderDeprecationWarningsTests.test_deprecated_path_mtime.<locals>.DummySourceLoaderi  c                    R # )r   r/   rv  s   &&r   r   cSourceLoaderDeprecationWarningsTests.test_deprecated_path_mtime.<locals>.DummySourceLoader.get_data  s    r   c                    R # )foo.pyr/   r   s   &&r   r   gSourceLoaderDeprecationWarningsTests.test_deprecated_path_mtime.<locals>.DummySourceLoader.get_filename  s    r   c                
    R ^/# )r  r/   rv  s   &&r   r  eSourceLoaderDeprecationWarningsTests.test_deprecated_path_mtime.<locals>.DummySourceLoader.path_stats  s    |#r   r/   N)	r%   r&   r'   r(   r   r   r  r)   r*   r+   s   @r   DummySourceLoaderr    s      $ $r   r'  zRSourceLoader\.path_mtime is deprecated in favour of SourceLoader\.path_stats\(\)\.r#  N)importlib.abcrE   assertWarnsRegexr   
path_mtime)r   rE   r'  r   s   &   r   test_deprecated_path_mtime?SourceLoaderDeprecationWarningsTests.test_deprecated_path_mtime  s[    .	$ 	$ #$"".
 

 h'
 
 
 
s   AA$	r/   N)r%   r&   r'   r(   r+  r)   r*   r+   s   @r   r  r    s     ( (r   r  __main__)NF)er  r  r  r  test.supportr   r   unittestr   r   test.test_importlibr   rH   import_importlibrH  r   r   r   r.   	test_both%Frozen_MetaPathFinderInheritanceTests%Source_MetaPathFinderInheritanceTestsr6   &Frozen_PathEntryFinderInheritanceTests&Source_PathEntryFinderInheritanceTestsr9   %Frozen_ResourceLoaderInheritanceTests%Source_ResourceLoaderInheritanceTestsr<   $Frozen_InspectLoaderInheritanceTests$Source_InspectLoaderInheritanceTestsr?   &Frozen_ExecutionLoaderInheritanceTests&Source_ExecutionLoaderInheritanceTestsrA   !Frozen_FileLoaderInheritanceTests!Source_FileLoaderInheritanceTestsrE   #Frozen_SourceLoaderInheritanceTests#Source_SourceLoaderInheritanceTestsrS   rU   r`   Frozen_MPFDefaultTestsSource_MPFDefaultTestsrj   Frozen_PEFDefaultTestsSource_PEFDefaultTestsr:   ro   Frozen_LDefaultTestsSourceLDefaultTestsr   Frozen_RLDefaultTestsSource_RLDefaultTestsr   r   Frozen_ILDefaultTestsSource_ILDefaultTestsr   r   Frozen_ELDefaultTestsSource_ELDefaultsTestsr   r   Frozen_MPFFindModuleTestsSource_MPFFindModuleTestsr   Frozen_LoaderLoadModuleTestsSource_LoaderLoadModuleTestsr  Frozen_ILSourceToCodeTestsSource_ILSourceToCodeTestsr/  Frozen_ILGetCodeTestsSource_ILGetCodeTestsr@  Frozen_ILLoadModuleTestsSource_ILLoadModuleTestsr^  Frozen_ELGetCodeTestsSource_ELGetCodeTestsrs  	SPLIT_SOLSPLIT_SLr  r  Frozen_SourceOnlyLoaderTestsSource_SourceOnlyLoaderTestsskipIfr  r  Frozen_SLBytecodeTestsSourceSLBytecodeTestsr
  %Frozen_SourceOnlyLoaderGetSourceTests%Source_SourceOnlyLoaderGetSourceTestsTestCaser  r%   mainr/   r   r   <module>rd     s.   	  	 
 &     1!!+.  1&&'<=	!!"23; ;D/% / S1&&$& $ c2''"% " S1&&R$ R C0%%-& - c2''B! B -""*# * 3/$$K 	 	
%. % 45	 	
%> % 56	 	
'. '0 ,-&V &,. , 45,F , }-
( 
( 34.m . /*> * 341 1 !# !#L 6CdK
,9 ,9b .CdC
'7 '7X 7/79
$ $: 2/79
*D *D^ 5/7""$6* 6*v 419; $   0.A	#*# #*L |$TB## ##LG23 G2X .T%.0
 
((*KLY& 7 Y& MY&| 2D%-/
8 8F 3.79&&
(8+<+< (2 zMMO r   