
    	h8P                        S r SSKrSSKrSSKrSSKrSSKrSSKrSSKJr  SSK	J
r
   " S S\R                  5      r " S S\R                  5      r " S	 S
\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S \5      r " S! S"\5      r " S# S$\5      r " S% S&\5      r\R:                  \S'4\R<                  \S(4\R>                  \S)4\R@                  \S*4\RB                  \S+4\RD                  \S,4\RF                  \S-4\RH                  \S.40r% " S/ S0\5      r& " S1 S2\5      r'S7S3 jr(\)S4:X  aT  \(" \RT                  " 5       S59  \RV                  " 5       r,\RZ                  " 5       r.\,(       d  \.(       a  \/" S6\,\.4-  5        ggg)8ai  A utility for browsing COM objects.

Usage:

 Command Prompt

   Use the command *"python.exe combrowse.py"*.  This will display
   display a fairly small, modal dialog.

 Pythonwin

   Use the "Run Script" menu item, and this will create the browser in an
   MDI window.  This window can be fully resized.

Details

  This module allows browsing of registered Type Libraries, COM categories,
  and running COM objects.  The display is similar to the Pythonwin object
  browser, and displays the objects in a hierarchical window.

  Note that this module requires the win32ui (ie, Pythonwin) distribution to
  work.

    N)browser)utilc                   4   ^  \ rS rSrU 4S jrS rS rSrU =r$ )HLIRoot%   c                     > [         TU ]  US9  g )Nname)super__init__)selftitle	__class__s     lC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\win32com/client/combrowse.pyr   HLIRoot.__init__&   s    e$    c                     [        5       [        [        R                  " 5       R	                  5       S5      [        5       /$ )NzRunning Objects)HLIHeadingCategoryHLI_IEnumMoniker	pythoncomGetRunningObjectTableEnumRunningHLIHeadingRegisterdTypeLibsr   s    r   
GetSubListHLIRoot.GetSubList)   s:     //1==?AR ()
 	
r   c                 4    U R                   UR                   :  $ Nr	   )r   others     r   __lt__HLIRoot.__lt__2   s    yy5::%%r    )	__name__
__module____qualname____firstlineno__r   r   r    __static_attributes____classcell__)r   s   @r   r   r   %   s    %
& &r   r   c                        \ rS rSrS rS rSrg)HLICOM6   c                     U R                   $ r   r	   r   s    r   GetTextHLICOM.GetText7   s    yyr   c                     g)N   r"   r   s    r   CalculateIsExpandableHLICOM.CalculateIsExpandable:       r   r"   N)r#   r$   r%   r&   r-   r1   r'   r"   r   r   r*   r*   6   s    r   r*   c                   *    \ rS rSrSS jrS rS rSrg)HLICLSID>   Nc                    [        U[        5      (       a  [        R                  " U5      nUc   [        R
                  " U5      nSU-   n[        R                  XU5        g ! [        R                   a    [        U5      n N=f = f)NzIID: )	
isinstancestr
pywintypesIIDr   ProgIDFromCLSID	com_errorr*   r   )r   myobjectr
   s      r   r   HLICLSID.__init__?   sp    h$$!~~h/H<% 00: T>D- && %8}%s   A" "BBc                     gNr   r"   r   s    r   r1   HLICLSID.CalculateIsExpandableJ   r3   r   c                     / $ r   r"   r   s    r   r   HLICLSID.GetSubListM   s    	r   r"   r   )r#   r$   r%   r&   r   r1   r   r'   r"   r   r   r5   r5   >   s    	.r   r5   c                       \ rS rSrSrg)HLI_InterfaceQ   r"   N)r#   r$   r%   r&   r'   r"   r   r   rF   rF   Q   s    r   rF   c                        \ rS rSrS rS rSrg)HLI_EnumU   c                     grA   r"   r   s    r   GetBitmapColumnHLI_Enum.GetBitmapColumnV   r3   r   c                     U R                   bC  [        U R                   R                  S5      5      S:  nU R                   R                  5         U$ SnU$ )Nr0   r   )r>   lenNextReset)r   rcs     r   r1   HLI_Enum.CalculateIsExpandableY   sM    ==$T]]''*+a/BMM! 	 B	r   r"   N)r#   r$   r%   r&   rL   r1   r'   r"   r   r   rI   rI   U   s    r   rI   c                       \ rS rSrS rSrg)r   b   c           
          [         R                  " 5       n/ n[        R                  " U R                  5       H-  nUR                  [        X3R                  US 5      5      5        M/     U$ r   )r   CreateBindCtxr   
Enumeratorr>   appendHLI_IMonikerGetDisplayName)r   ctxretmons       r   r   HLI_IEnumMoniker.GetSubListc   sO    %%'??4==1CJJ|C););C)FGH 2
r   r"   Nr#   r$   r%   r&   r   r'   r"   r   r   r   r   b       r   r   c                       \ rS rSrS rSrg)rZ   k   c                     / nUR                  [        R                  " U R                  R	                  5       S5      5        U R                  R                  S5      nUR                  [        US5      5        U$ )Nz
Hash Valuer0   zSub Monikers)rY   r   MakeHLIr>   HashEnumr   )r   r]   subenums      r   r   HLI_IMoniker.GetSubListl   sX    

7??4==#5#5#7FG--$$Q'

#G^<=
r   r"   Nr`   r"   r   r   rZ   rZ   k   ra   r   rZ   c                   $    \ rS rSrSrS rS rSrg)r   t   z(A tree heading for registered categoriesc                     g)NzRegistered Categoriesr"   r   s    r   r-   HLIHeadingCategory.GetTextw   s    &r   c                 `   [         R                  " [         R                  S [         R                  [         R                  5      n[
        R                  " UR                  5       5      n/ n U H"  u  pEnUR                  [        XEU45      5        M$     U$ ! [         R                   a     U$ f = fr   )r   CoCreateInstanceCLSID_StdComponentCategoriesMgrCLSCTX_INPROCIID_ICatInformationr   rX   EnumCategoriesrY   HLICategoryr=   )r   catinfenumr]   catidlciddescs          r   r   HLIHeadingCategory.GetSubListz   s    ++55##))	
 v4467	%)!T

;T':;< &*
 
 "" 	
	s   +(B B-,B-r"   Nr#   r$   r%   r&   __doc__r-   r   r'   r"   r   r   r   r   t   s    .'r   r   c                   $    \ rS rSrSrS rS rSrg)rt      zAn actual Registered Categoryc                 6    U R                   S   nU(       d  SnU$ )N   z(unnamed category))r>   )r   ry   s     r   r-   HLICategory.GetText   s    }}Q'Dr   c                    [         R                  " S5        U R                  u  pn[        R                  " [        R
                  S [        R                  [        R                  5      n/ n[        R                  " UR                  U4S5      5       H  nUR                  [        U5      5        M     [         R                  " S5        U$ )Nr0   r"   r   )win32uiDoWaitCursorr>   r   ro   rp   rq   rr   r   rX   EnumClassesOfCategoriesrY   r5   )r   rw   rx   ry   ru   r]   clsids          r   r   HLICategory.GetSubList   s    Q MMT++55##))	
 __V%C%CUHb%QREJJx' SQ
r   r"   Nr{   r"   r   r   rt   rt      s    #r   rt   c                   ,    \ rS rSrS rS rS rS rSrg)HLIHelpFile   c                     grA   r"   r   s    r   r1   !HLIHelpFile.CalculateIsExpandable   r3   r   c                 l    SS K nU R                  u  p#UR                  R                  U5      S   nSU-  $ )Nr   r0   zHelp reference in %s)osr>   pathsplit)r   r   fnamer\   bases        r   r-   HLIHelpFile.GetText   s2    ]]
ww}}U#A&%..r   c                     U R                   u  pU(       a  [        R                  nO[        R                  n[        R
                  " [        R                  " 5       R                  5       XU5        g r   )	r>   win32conHELP_CONTEXTHELP_FINDERwin32apiWinHelpr   GetMainFrameGetSafeHwnd)r   r   r\   cmds       r   TakeDefaultActionHLIHelpFile.TakeDefaultAction   sJ    ]]
''C&&C--/;;=u3Or   c                     g)N   r"   r   s    r   rL   HLIHelpFile.GetBitmapColumn   r3   r   r"   N)	r#   r$   r%   r&   r1   r-   r   rL   r'   r"   r   r   r   r      s    /Pr   r   c                       \ rS rSrS rSrg)HLIRegisteredTypeLibrary   c                 j   SS K nU R                  u  p#/ nSn[        R                  " [        R
                  SU SU 35      n[        R                  " S5         Sn  [        R                  " Xg5      n[        R                  " Xh5      n	 [        R                  " U	S 5      u  pU[        R                  :X  a  [        R                  " U
5      n
US:X  a  U
nOUS:X  a  U
nO [        U5      n[        R                  " Xh5      nSn  [        R                  " X5      n [        R                  " UU5      n[        R                  " US 5      u  nnU[        R                  :X  a  [        R                  " U5      nUR                  UUU45        US-  nM  US-  nGM>  ! [        R                   a     O}f = f! [        R                   a    Sn
 Nf = f! [        R                   a     O f = f! [        R                   a    Sn Nf = f[        R                  " U5        N! [          a     Nf = f[        R                  " S5        [        R                  " U5        O1! [        R                  " S5        [        R                  " U5        f = f/ nUR                  [#        U5      5        U Hv  u  nnn/ nUS:w  a  UR                  U5        U(       a  UR                  S	U-  5        SnU(       a  S
SR%                  U5      -  nUR                  ['        USU-   5      5        Mx     UR)                  5         U$ )Nr    zTypeLib\\r0   HELPDIRFlagswin32z	locale=%sz (%s), zType Library)r   r>   r   
RegOpenKeyr   HKEY_CLASSES_ROOTr   r   
RegEnumKeyerrorRegQueryValueExREG_EXPAND_SZExpandEnvironmentStringsintrY   RegCloseKey
ValueErrorr5   join
HLITypeLibsort)r   r   clsidstr
versionStr	collectedhelpPathkeynumsubKeyhSubKeyvaluetypflagsrx   lcidkeylcidnumplatform	hplatformr   r]   
extraDescs	extraDescs                         r   r   #HLIRegisteredTypeLibrary.GetSubList   s   #}}	!!&&)H:R
|(L
 	Q,	&C%00:F #--c:!)!9!9'4!HJEh444 ( A A% H Y&$Hw&!E"6{"*"5"5c"B"#&+3+>+>w+P+,4,?,?,R	-5-E-EiQU-V
s#&(*@*@#@,4,M,Me,TE &,,dHe-DE#qLG  " qO   ~~   ~~ E $,>> & %& $,>> +(*+ !,,W5%    #  %   #  %

8H%&%.!D(EJ7"!!(+!!+"45I#dii
&;;	JJz%))CDE &/ 	

s   I F 3I 
AF4 I  $H G AG* 7H I F1.I 0F11I 4G
I GI G'$H &G''H *H H HH I 
H*'I )H**I .Jr"   Nr`   r"   r   r   r   r      s    Fr   r   c                        \ rS rSrS rS rSrg)HLITypeLibEntryi  c                     U R                   u  pUR                  U5      u  p4pV[        R                  UR	                  U5      S5      S   nUS-   U-   $ )N)NzUnknown!r0   z - )r>   GetDocumentationHLITypeKindsgetGetTypeInfoType)r   tlbindexr
   docr\   helpFiletypedescs           r   r-   HLITypeLibEntry.GetText  sU    ]]
#&#7#7#> 3##C$7$7$>@RSTUVe|h&&r   c                     U R                   u  pUR                  U5      u  p4pV/ nU(       a&  UR                  [        R                  " US5      5        U(       a  UR                  [        Xe45      5        U$ )NDoc)r>   r   rY   r   HLIDocStringr   )r   r   r   r
   r   r\   r   r]   s           r   r   HLITypeLibEntry.GetSubList  s^    ]]
#&#7#7#> 3JJw++C78JJ{H?34
r   r"   N)r#   r$   r%   r&   r-   r   r'   r"   r   r   r   r     s    'r   r   c                       \ rS rSrS rSrg)
HLICoClassi  c           	         [         R                  U 5      nU R                  u  p#UR                  U5      nUR	                  5       n[        US   5       Hu  nUR                  U5      nUR                  UR                  U5      5      nUR	                  5       n	UR                  [        R                  " U	S   SU	S   U4-  5      5        Mw     U$ )N   r   zName=%s, Flags = %d)r   r   r>   GetTypeInfoGetTypeAttrrangeGetImplTypeFlagsGetRefTypeInfoGetRefTypeOfImplTyperY   r   re   )
r   r]   r   r   typeinfoattrjr   refTyperefAttrs
             r   r   HLICoClass.GetSubList  s    ((.]]
??5)##%tAwA--a0E--h.K.KA.NOG))+GJJ
,AWQZQVDW,WX	   
r   r"   Nr`   r"   r   r   r   r     s    r   r   c                   $    \ rS rSrSS jrS rSrg)HLITypeLibMethodi)  Nc                 >    SU l         [        R                  XU5        g )NMethod)
entry_typer   r   )r   obr
   s      r   r   HLITypeLibMethod.__init__*  s    "  40r   c                 N   [         R                  U 5      nU R                  u  p#UR                  U5      nUR	                  5       n[        US   5       H  nUR                  [        XF45      5        M      [        US   5       H  nUR                  [        XF45      5        M      U$ )N   r   )	r   r   r>   r   r   r   rY   HLITypeLibPropertyHLITypeLibFunction)r   r]   r   r   r   r   is          r   r   HLITypeLibMethod.GetSubList.  s    ((.]]
??5)##%tAwAJJ)8-89  tAwAJJ)8-89  
r   )r   r   )r#   r$   r%   r&   r   r   r'   r"   r   r   r   r   )  s    1	r   r   c                   &    \ rS rSrS rS rS rSrg)HLITypeLibEnumi:  c                     Uu  p#UR                  U5      nUR                  U5      S   U l        UR                  U R                  5      S   n[        R                  XU5        g rA   )r   
GetVarDescidGetNamesr   r   )r   myitemtypelibr   r   r
   s         r   r   HLITypeLibEnum.__init__;  sY    &&u-%%e,Q/  )!,  t4r   c                      U R                   S-   $ )Nz - Enum/Moduler	   r   s    r   r-   HLITypeLibEnum.GetTextB  s    yy+++r   c                 4   / nU R                   u  p#UR                  U5      nUR                  5       n[        US   5       HT  nUR	                  U5      nUR                  US   5      S   nUR                  [        R                  " US   U5      5        MV     U$ )Nr   r   r0   )	r>   r   r   r   r   r   rY   r   re   )	r   r]   r   r   r   r   r   vdescr
   s	            r   r   HLITypeLibEnum.GetSubListE  s    &&u-##%tAwA''*E$$U1X.q1DJJwuQx67   
r   r   Nr#   r$   r%   r&   r   r-   r   r'   r"   r   r   r   r   :  s    5,	r   r   c                   &    \ rS rSrS rS rS rSrg)r   iQ  c                     Uu  p#UR                  U5      S   U l        UR                  U R                  5      S   n[        R	                  XU5        g rA   )r   r   r   r*   r   r   r   r   r   r
   s        r   r   HLITypeLibProperty.__init__R  sG     %%e,Q/  )!,d+r   c                      U R                   S-   $ )Nz - Propertyr	   r   s    r   r-   HLITypeLibProperty.GetTextX      yy=((r   c                    / nU R                   u  p#UR                  U R                  5      n[        U5      S:  a)  UR	                  [
        R                  " USS  S5      5        UR                  U5      nUR	                  [
        R                  " U R                  S5      5        UR	                  [
        R                  " US   S5      5        UR	                  [
        R                  " US   S5      5        UR	                  [
        R                  " US   S5      5        UR	                  [
        R                  " US	   S
5      5        U$ )Nr0   Named ParamsDispatch IDValuer   z	Elem Desc   z	Var Flags   zVar Kind)r>   r   r   rO   rY   r   re   r   )r   r]   r   r   namesvds         r   r   HLITypeLibProperty.GetSubList[  s    --!!$''*u:>JJwuQRy.AB  '

7??477M:;

7??2a5'23

7??2a5+67

7??2a5+67

7??2a5*56
r   r  Nr  r"   r   r   r   r   Q  s    ,)r   r   c                   J   \ rS rSr\R
                  S\R                  S\R                  S\R                  S0r	\R                  S\R                  S\R                  S\R                  S	0r\R                  S
4\R                   S4\R"                  S4\R$                  S4\R&                  S4\R(                  S4\R*                  S4\R,                  S4/r0 \R0                  S_\R2                  S_\R4                  S_\R6                  S_\R8                  S_\R:                  S_\R<                  S_\R>                  S_\R@                  S_\RB                  S_\RD                  S_\RF                  S_\RH                  S_\RJ                  S_\RL                  S _\RN                  S!_\RP                  S"_0 \RR                  S#_\RT                  S$_\RV                  S%_\RX                  S&_\RZ                  S'_\R\                  S(_\R^                  S)_\R`                  S*_\Rb                  S+_\Rd                  S,_\Rf                  S-_\Rh                  S._\Rj                  S/_\Rl                  S0_\Rn                  S1_\Rp                  S2_\Rr                  S3_E\Rt                  S4\Rv                  S5\Rx                  S6\Rz                  S7\R|                  S8\R~                  S90Er@\R                  S:4\R                  S;4\R                  S<4\R                  S=4/rES> rFS? rGS@ rHSA rISB rJSCrKgD)Er   ij  VirtualzPure VirtualStaticDispatchFunctionzProperty GetzProperty PutzProperty Put by reference
RestrictedSourceBindablezRequest EditzDisplay BindzDefault BindHiddenzUses GetLastErrorEmptyNULLz	Integer 2z	Integer 4zReal 4zReal 8CYDateString	IDispatchErrorBOOLVariantIUnknownDecimalz	Integer 1zUnsigned integer 1zUnsigned integer 2zUnsigned integer 4z	Integer 8zUnsigned integer 8IntegerzUnsigned integerVoidHRESULTPointer	SafeArrayzC ArrayzUser DefinedzPointer to stringzPointer to Wide Stringz	File timeBlobIStreamIStoragezStored objectzStreamed objectzBlob objectCFCLSIDVectorArrayByRefReservedc                     Uu  p#UR                  U5      S   U l        UR                  U R                  5      S   n[        R	                  XU5        g rA   )GetFuncDescr   r   r*   r   r  s        r   r   HLITypeLibFunction.__init__  sG     &&u-a0  )!,d+r   c                      U R                   S-   $ )Nz - Functionr	   r   s    r   r-   HLITypeLibFunction.GetText  r  r   c                     U[         R                  -  nU R                  R                  US5      nU R                   H  u  pEXA-  (       d  M  U SU S3nM     U$ )Nz
?Bad type?())r   VT_TYPEMASKvartypesr   
type_flags)r   r   justtyptypnameflagry   s         r   MakeReturnTypeName%HLITypeLibFunction.MakeReturnTypeName  sX    	-----##G\://JDzz!F!G9A. * r   c                     [        U[        5      (       aF  US   nU R                  U5      nU[        R                  :w  a  USU R                  US   5      -   -  nU$ U R                  U5      $ )Nr    r0   )r8   tupleMakeReturnTyper   VT_USERDEFINEDrI  )r   returnTypeDescfirstresults       r   rN  !HLITypeLibFunction.MakeReturnType  sl    ne,,"1%E((/F	000# 3 3N14E FFFM**>::r   c           	         / nU R                   u  p#UR                  U R                  5      nUR                  [        R
                  " U R                  S5      5        [        U5      S:  a8  UR                  [        R
                  " SR                  USS  5      S5      5        UR                  U5      nUS   (       a)  UR                  [        R
                  " US   S5      5        US   (       aR  US   u  pgnU R                  U5      n	U(       a  U	SU SU S	3-  n	UR                  [        R
                  " U	S
5      5        US    H[  n
U
u  pgnU R                  U5      n	U(       a	  U	SU S	3-  n	Ub	  U	SU S	3-  n	UR                  [        R
                  " U	S5      5        M]     U R                  R                  US   S5      nUR                  [        R
                  " US5      5        U R                  R                  US   /S5      nUR                  [        R
                  " US5      5        UR                  [        R
                  " US   S5      5        / nU R                   H$  u  pXS   -  (       d  M  UR                  U5        M&     U(       a5  UR                  [        R
                  " SR                  U5      S5      5        U$ )Nr  r0   r   r  zPossible result valuesr   z (Flags=z
, default=rB  zReturn Typer   z
 (Default=Argumentr  UnknownzFunction Kindr  zInvoke Kindr   zNumber Optional Params	   zFunction Flags)r>   r   r   rY   r   re   rO   r   r<  rN  	funckindsr   invokekinds	funcflags)r   r]   r   r   r  fdr   r   defaultvalargDescfkindikind	flagDescsrH  ry   s                   r   r   HLITypeLibFunction.GetSubList  sJ   --!!$''*

7??477M:;u:>JJwtyyqr';^LM!!%(a5JJwr!u.FGHa5"$Q%C%%c*C%
7)1==JJwsM:;!uG")C%%c*C%**"G9A..JJwsJ78  ""2a5)4

7??5/:;  $$beWi8

7??5-89 	

7??2a5*BCD	..JDe||  & ) JJwtyy';=MNO
r   r  N)Lr#   r$   r%   r&   r   FUNC_VIRTUALFUNC_PUREVIRTUALFUNC_STATICFUNC_DISPATCHrX  INVOKE_FUNCINVOKE_PROPERTYGETINVOKE_PROPERTYPUTINVOKE_PROPERTYPUTREFrY  FUNCFLAG_FRESTRICTEDFUNCFLAG_FSOURCEFUNCFLAG_FBINDABLEFUNCFLAG_FREQUESTEDITFUNCFLAG_FDISPLAYBINDFUNCFLAG_FDEFAULTBINDFUNCFLAG_FHIDDENFUNCFLAG_FUSESGETLASTERRORrZ  VT_EMPTYVT_NULLVT_I2VT_I4VT_R4VT_R8VT_CYVT_DATEVT_BSTRVT_DISPATCHVT_ERRORVT_BOOL
VT_VARIANT
VT_UNKNOWN
VT_DECIMALVT_I1VT_UI1VT_UI2VT_UI4VT_I8VT_UI8VT_INTVT_UINTVT_VOID
VT_HRESULTVT_PTRVT_SAFEARRAY	VT_CARRAYrO  VT_LPSTR	VT_LPWSTRVT_FILETIMEVT_BLOB	VT_STREAM
VT_STORAGEVT_STORED_OBJECTVT_STREAMED_OBJECTVT_BLOB_OBJECTVT_CFVT_CLSIDrD  	VT_VECTORVT_ARRAYVT_BYREFVT_RESERVEDrE  r   r-   rI  rN  r   r'   r"   r   r   r   r   j  s   	""Nx	I 	z$$n$$n'')D	K 
	'	'6		#	#X.		%	%z2		(	(.9		(	(.9		(	(.9		#	#X.		-	-/BC	I)G)6) 	) 		)
 	) 	) 	) 	6) 	8) 	{) 	G) 	6) 	i) 	j) 	i)  	!)" 	.#)$ 	.%)& 	.')( 	))* 	.+), 	)-). 	-/)0 	61)2 	i3)4 	)5)6 	7)8 	Y9): 	  .;)< 	/=)> 	5?)@ 	{A)B 	6C)D 	YE)F 	j""O$$&7  -GQ)HX 
		h'			W%			W%			
+	J,);'r   r   EnumerationRecordModule	Interfacer  CoClassAliasUnionc                       \ rS rSrS rSrg)r   i  c                 l   / nUR                  [        R                  " U R                  S5      5         [        R
                  " U R                  5      n[        UR                  5       5       H5  n UR                  [        UR                  U5         S   " X#45      5        M7     UR                  5         U$ ! [        R                   a'    [        R                  " SU R                  -  5      /s $ f = f! [        R                   a)    UR                  [        R                  " S5      5         M  f = f)NFilenamez%s can not be loadedr   z The type info can not be loaded!)rY   r   re   r>   r   LoadTypeLibr=   r   GetTypeInfoCountr   r   r   )r   r]   r   r   s       r   r   HLITypeLib.GetSubList  s    

7??4==*=>	M''6C s++-.AP

<(;(;A(>?BC8LM /
 	

 "" 	MOO$:T]]$JKLL	M && P

7??+MNOPs#    B8 11C688C32C369D32D3r"   Nr`   r"   r   r   r   r     s    r   r   c                   $    \ rS rSrSrS rS rSrg)r   i  z,A tree heading for registered type librariesc                     g)NzRegistered Type Librariesr"   r   s    r   r-   #HLIHeadingRegisterdTypeLibs.GetText  s    *r   c                    / n[         R                  " [        R                  S5      n[        R
                  " S5         Sn  [         R                  " X#5      n[         R                  " X$5      nS n SnSn  [         R                  " XW5      n	 [        U	5      n
X:  a  U
n[         R                  " XY5      nUS-  nMG  ! [         R                   a     Of = f! [         R                   a     Of = f! [         a    Sn
 Nff = f[         R                  " U5        O! [         R                  " U5        f = fUb  UR                  [        UW	4U5      5        US-  nGM  [         R                  " U5        [        R
                  " S5        O1! [         R                  " U5        [        R
                  " S5        f = fUR                  5         U$ )NTypeLibr0   r   g        )r   r   r   r   r   r   r   r   floatr   RegQueryValuer   rY   r   r   )r   r]   r   r   keyNamer   r
   subNumbestVersionr   
versionFlts              r   r   &HLIHeadingRegisterdTypeLibs.GetSubList  s   !!("<"<iHQ!	$C&11#;G ",,S:1F"%K")1)<)<V)LJ+).z):J &3*4K#+#9#9&#MD!   ~~   (~~ "!"  * +)*J+ ((0H((0#JJ7*8MtTUq9 <   %  #   %  #

s   F B> F 2D 8C C2 $D >CF CF C/,D .C//D 2D>D  DD F D33+F .F9r"   Nr{   r"   r   r   r   r     s    2+(r   r   c                 V   [        S5      nU(       aI  S[        R                  ;   a5  [        R                  " 5         [        R
                  R                  U5        g [        R                  " U5      nU (       a  UR                  5         g UR                  5         UR                  5         g )NzCOM Browserzpywin.framework.app)r   sysmodulesr   MakeTemplatetemplate
OpenObjectdynamic_browserDoModalCreateWindow
ShowWindow)modalmdirootdlgs       r   mainr  H  sm    =!D
$3##D)%%d+KKMNNr   __main__)r  z*Warning - exiting with %d/%d objects alive)TF)0r|   r  r   r:   r   r   r   pywin.toolsr   win32com.clientr   HLIPythonObjectr   r*   r5   rF   rI   r   rZ   r   rt   r   r   r   r   r   r   r   r   
TKIND_ENUMTKIND_RECORDTKIND_MODULETKIND_INTERFACETKIND_DISPATCHTKIND_COCLASSTKIND_ALIASTKIND_UNIONr   r   r   r  r#   GetConsoleTitle_GetInterfaceCountni_GetGatewayCountngprintr"   r   r   <module>r     s  2         &g%% &"W$$ v &	F 	
} 
x =  0& 4& .Gv GTf $   "_ . 2L L` >=9_h7^X6 0+>/<j)4OW5OW5	 $.& .b zx'')*		%	%	'B		#	#	%B	R:b"XEF  r   