§
    ÷¢±j0=  ã                   óv  — d Z ddlZddlZddlZddlZddlZddlZddlZddlm	Z	 ddl
mZmZ ddlmZmZmZmZ ddlmZ dZdZd„ Zd	„ Zd
„ Z G d„ dej        ¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Zd„ Zefd„Z e!dk    r e ¦   «          dS dS )zþPython ActiveX Scripting Implementation

This module implements the Python ActiveX Scripting client.

To register the implementation, simply "run" this Python program - ie
either double-click on it, or run "python.exe pyscript.py" from the
command line.
é    N)Úaxscript)Ú	frameworkÚscriptdispatch)ÚSCRIPTTEXT_FORCEEXECUTIONÚSCRIPTTEXT_ISEXPRESSIONÚSCRIPTTEXT_ISPERSISTENTÚtrace)ÚCOMExceptionz&{DF630910-1C1D-11d0-AE36-8C0F5E000000}c                  ó*   — t           rt          | Ž  d S d S ©N)Údebugging_attrr	   )Úargss    úpC:\Users\johnn\AppData\Local\Programs\Python\Python311\Lib\site-packages\win32comext/axscript/client/pyscript.pyÚdebug_attr_printr   !   s!   € Ýð Ýˆtˆˆˆˆðð ó    c                 ó.   — t          j        dd| ¦  «        S )Nz\tz    ©ÚreÚsub©Útexts    r   Ú
ExpandTabsr   &   ó   € ÝŒ6�%˜ Ñ&Ô&Ð&r   c                 ó.   — t          j        dd| ¦  «        S )Nz\nz
r   r   s    r   ÚAddCRr   *   r   r   c                   ó   — e Zd Zd„ ZdS )ÚAXScriptCodeBlockc                 óF   — dt           j                             | ¦  «        z   S )NzPyScript - )r   r   ÚGetDisplayName©Úselfs    r   r   z AXScriptCodeBlock.GetDisplayName/   s   € Ø�yÔ:×IÒIÈ$ÑOÔOÑOÐOr   N)Ú__name__Ú
__module__Ú__qualname__r   © r   r   r   r   .   s(   € € € € € ðPð Pð Pð Pð Pr   r   c                   ó0   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚAXScriptAttributez$An attribute in a scripts namespace.c                 ó   — || j         d<   d S ©NÚ_scriptEngine_©Ú__dict__)r!   Úengines     r   Ú__init__zAXScriptAttribute.__init__<   s   € Ø*0ˆŒÐ&Ñ'Ð'Ð'r   c                 ó¤   — |d         dk    r|d d…         dk    rt          |¦  «        ‚|                      |¦  «        }|€t          |¦  «        ‚|S )Né   Ú_éÿÿÿÿ)ÚAttributeErrorÚ_FindAttribute_)r!   ÚattrÚrcs      r   Ú__getattr__zAXScriptAttribute.__getattr__?   sZ   € Ø�Œ7�cŠ>ˆ>˜d 3 B 3œi¨3Ò.Ð.Ý  Ñ&Ô&Ð&Ø×!Ò! $Ñ'Ô'ˆØˆ:Ý  Ñ&Ô&Ð&Øˆ	r   c                 ó   — d | j         d<   d S r)   r+   r    s    r   Ú_Close_zAXScriptAttribute._Close_G   s   € Ø*.ˆŒÐ&Ñ'Ð'Ð'r   c                 ó  — 	 |j         |                     ¦   «                  j        S # t          $ r Y nw xY w|j                              ¦   «         D ]*}	 |                      ||¦  «        c S # t          $ r Y Œ'w xY wt          |¦  «        ‚r   )ÚsubItemsÚlowerÚattributeObjectÚKeyErrorÚvaluesÚ_DoFindAttribute_r3   )r!   Úobjr5   Úitems       r   r@   z#AXScriptAttribute._DoFindAttribute_J   s­   € ð	Ø”< §
¢
¡¤Ô-Ô=Ð=øÝð 	ð 	ð 	ØˆDð	øøøð ”L×'Ò'Ñ)Ô)ð 	ð 	ˆDðØ×-Ò-¨d°DÑ9Ô9Ð9Ð9Ð9øÝ!ð ð ð Ø�ðøøøå˜TÑ"Ô"Ð"s   ‚#& ¦
3²3ÁA*Á*
A7Á6A7c                 óÈ   — | j         j                             ¦   «         D ]*}	 |                      ||¦  «        c S # t          $ r Y Œ'w xY wt          | j         j        |¦  «        S r   )r*   r;   r?   r@   r3   ÚgetattrÚglobalNameSpaceModule)r!   r5   rB   s      r   r4   z!AXScriptAttribute._FindAttribute_W   s|   € ØÔ'Ô0×7Ò7Ñ9Ô9ð 	ð 	ˆDðØ×-Ò-¨d°DÑ9Ô9Ð9Ð9Ð9øÝ!ð ð ð Ø�ðøøøõ �tÔ*Ô@À$ÑGÔGÐGs   ¢:º
AÁAN)	r"   r#   r$   Ú__doc__r.   r7   r9   r@   r4   r%   r   r   r'   r'   9   sj   € € € € € Ø*Ð*ð1ð 1ð 1ðð ð ð/ð /ð /ð#ð #ð #ðHð Hð Hð Hð Hr   r'   c                   ó0   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚNamedScriptAttributez2An explicitly named object in an objects namespacec                 ó   — || j         d<   d S ©NÚ_scriptItem_r+   )r!   Ú
scriptItems     r   r.   zNamedScriptAttribute.__init__l   s   € Ø(2ˆŒ�nÑ%Ð%Ð%r   c                 ó0   — | j         j        › d| j        ›d�S )Nú(ú))Ú	__class__r"   rK   r    s    r   Ú__repr__zNamedScriptAttribute.__repr__o   s!   € Ø”.Ô)ÐBÐB¨DÔ,=ÐBÐBÐBÐBr   c                 óä   — 	 | j         j        |                     ¦   «                  j        S # t          $ r+ | j         j        rt          | j         j        |¦  «        cY S Y nw xY wt          |¦  «        ‚r   )rK   r;   r<   r=   r>   ÚdispatchContainerrD   r3   )r!   r5   s     r   r7   z NamedScriptAttribute.__getattr__r   sŠ   € ð	JØÔ$Ô-¨d¯jªj©l¬lÔ;ÔKÐKøÝð 	Jð 	Jð 	JàÔ Ô2ð JÝ˜tÔ0ÔBÀDÑIÔIÐIÐIÐIðJð Jð	Jøøøõ ˜TÑ"Ô"Ð"s   ‚(+ «0A ÁA c                 ó¸   — |                      ¦   «         }| j        j        r,	 t          | j        j        ||¦  «        S # t          $ r Y nw xY wt	          |¦  «        ‚r   )r<   rK   rS   Úsetattrr3   )r!   r5   Úvalues      r   Ú__setattr__z NamedScriptAttribute.__setattr__|   sj   € ð �zŠz‰|Œ|ˆØÔÔ.ð 	ðÝ˜tÔ0ÔBÀDÈ%ÑPÔPÐPøÝ!ð ð ð Ø�ðøøøå˜TÑ"Ô"Ð"s   ¢= ½
A
Á	A
c                 ó   — d | j         d<   d S rJ   r+   r    s    r   r9   zNamedScriptAttribute._Close_‡   s   € Ø(,ˆŒ�nÑ%Ð%Ð%r   N)	r"   r#   r$   rF   r.   rQ   r7   rW   r9   r%   r   r   rH   rH   e   sh   € € € € € Ø8Ð8ð3ð 3ð 3ðCð Cð Cð#ð #ð #ð	#ð 	#ð 	#ð-ð -ð -ð -ð -r   rH   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )Ú
ScriptItemc                 óh   — t           j                             | ||||¦  «         i | _        d | _        d S r   )r   rZ   r.   Ú
scriptletsr=   )r!   Ú
parentItemÚnameÚdispatchÚflagss        r   r.   zScriptItem.__init__Œ   s6   € ÝÔ×%Ò% d¨J¸¸hÈÑNÔNÐNØˆŒØ#ˆÔÐÐr   c                 ó’   — t           j                             | ¦  «         | j        r| j                             ¦   «          d | _        d S r   )r   rZ   ÚResetr=   r9   r    s    r   rb   zScriptItem.Reset‘   sG   € ÝÔ×"Ò" 4Ñ(Ô(Ð(ØÔð 	+ØÔ ×(Ò(Ñ*Ô*Ð*Ø#ˆÔÐÐr   c                 ó`   — t           j                             | ¦  «         d | _        i | _        d S r   )r   rZ   ÚCloserS   r\   r    s    r   rd   zScriptItem.Close—   s,   € ÝÔ×"Ò" 4Ñ(Ô(Ð(Ø!%ˆÔØˆŒˆˆr   c                 óV  — t           j                             | ¦  «         t          | ¦  «        | _        | j        rîd x}}	 |                      ¦   «         }| j                             ¦   «         }|                     ¦   «         d         }|j	         
                    |¦  «        }n# t          j        $ r d }Y nw xY w|€7t          j        j                             | j        |d ¦  «        }|�
||j	        |<   t          j        j                             | j        || j        ¦  «        | _        d S d S ©Nr   )r   rZ   ÚRegisterrH   r=   r_   Ú	GetEngineÚGetTypeInfoÚGetTypeAttrÚmapKnownCOMTypesÚgetÚ	pythoncomÚ	com_errorÚwin32comÚclientÚdynamicÚMakeOleReprÚ	CDispatchr^   rS   )r!   ÚolereprÚclsidr-   Útypeinfos        r   rg   zScriptItem.Registerœ   s.  € ÝÔ×%Ò% dÑ+Ô+Ð+Ý3°DÑ9Ô9ˆÔØŒ=ð 	à"Ð"ˆG�eð ØŸšÑ)Ô)�Øœ=×4Ò4Ñ6Ô6�Ø ×,Ò,Ñ.Ô.¨qÔ1�Ø Ô1×5Ò5°eÑ<Ô<��øÝÔ&ð  ð  ð  Ø���ð øøøàˆÝ"œ/Ô1×=Ò=Ø”M 8¨Tñô �ð Ð$Ø5<�FÔ+¨EÑ2Ý%-¤_Ô%<×%FÒ%FØ”˜w¨¬	ñ&ô &ˆDÔ"Ð"Ð"ð!	ð 	s   Á A!B" Â"B6Â5B6N)r"   r#   r$   r.   rb   rd   rg   r%   r   r   rZ   rZ   ‹   sP   € € € € € ð$ð $ð $ð
$ð $ð $ðð ð ð
ð ð ð ð r   rZ   c                   óª   — e Zd ZdZdZej        ej        gZdZ	e
ZdZddgZdZd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚPyScriptzPython.AXScript.2ÚPythonzPython ActiveX Scripting Enginez*win32com.axscript.client.pyscript.PyScript)ú.pys)ÚpysFileÚbothc                 ón   — t           j                             | ¦  «         d | _        g | _        d | _        d S r   )r   Ú	COMScriptr.   rE   Ú
codeBlocksÚscriptDispatchr    s    r   r.   zPyScript.__init__É   s6   € ÝÔ×$Ò$ TÑ*Ô*Ð*Ø%)ˆÔ"ØˆŒØ"ˆÔÐÐr   c                 óô   — t           j                             | ¦  «         d | _        t	          j        d¦  «        | _        t          | ¦  «        | j        j        d<   g | _	        g | _
        i | _        d| _        d S )NÚ__ax_main__Úaxr   )r   r~   ÚInitNewr€   ÚtypesÚ
ModuleTyperE   r'   r,   r   ÚpersistedCodeBlocksrk   ÚcodeBlockCounterr    s    r   r„   zPyScript.InitNewÏ   sq   € ÝÔ×#Ò# DÑ)Ô)Ð)à"ˆÔÝ%*Ô%5°mÑ%DÔ%DˆÔ"Ý4EÀdÑ4KÔ4KˆÔ"Ô+¨DÑ1àˆŒØ#%ˆÔ Ø "ˆÔØ !ˆÔÐÐr   c                 ób   — | j         D ]	}d|_        Œ
t          j                             | ¦  «        S ©Nr0   )r   ÚbeenExecutedr   r~   ÚStop)r!   Úbs     r   rŒ   zPyScript.StopÛ   s3   € à”ð 	ð 	ˆAØˆAŒNˆNÝÔ"×'Ò'¨Ñ-Ô-Ð-r   c                 óÖ   — | j         d d …         }g | _         |D ]2}|j        t          z  r!d|_        | j                              |¦  «         Œ3t
          j                             | ¦  «        S rf   )r   r`   r   r‹   Úappendr   r~   rb   )r!   ÚoldCodeBlocksr�   s      r   rb   zPyScript.Resetá   sm   € àœ¨¨¨Ô*ˆØˆŒØð 	*ð 	*ˆAØŒwÕ0Ñ0ð *Ø!"�”Ø”×&Ò& qÑ)Ô)Ð)øÝÔ"×(Ò(¨Ñ.Ô.Ð.r   c                 ó0   — | xj         dz  c_         | j         S rŠ   )rˆ   r    s    r   Ú_GetNextCodeBlockNumberz PyScript._GetNextCodeBlockNumberë   s   € ØÐÔ Ñ"ÐÔØÔ$Ð$r   c                 óð  — |j         }t          j                             | |¦  «         |sÈ|                     ¦   «         r|j        | j        j        |j        <   | 	                    ¦   «         r‰|j
                             ¦   «         D ]}|j        | j        j        |j        <   Œ|j        j        j                             ¦   «         D ]2\  }}|j        s"t#          |j        |¦  «        | j        j        |<   Œ/d S d S d S r   )ÚisRegisteredr   r~   ÚRegisterNamedItemÚ	IsVisibler=   rE   r,   r^   ÚIsGlobalr;   r?   rS   Ú	_olerepr_ÚmapFuncsÚitemsÚhiddenrD   )r!   rB   ÚwasRegÚsubitemr^   Úentrys         r   r•   zPyScript.RegisterNamedItemï   s  € ØÔ"ˆÝÔ×-Ò-¨d°DÑ9Ô9Ð9Øð 	ð �~Š~ÑÔð VØAEÔAU�Ô*Ô3°D´IÑ>Ø�}Š}‰Œð à#œ}×3Ò3Ñ5Ô5ð ð �GàÔ/ð Ô.Ô7¸¼ÑEÐEð $(Ô#9Ô#CÔ#L×#RÒ#RÑ#TÔ#Tð ð ‘K�D˜%Ø œ<ð ÝDKØ Ô2°DñEô E˜Ô2Ô;¸DÑAøð	ð 	ð
ð ðð r   c                 ó¦   — 	 | j         j        }| j        D ]5}|j        s,|                      |d¦  «        r|                      ||¦  «         Œ6	 d S # w xY w)NÚexec)rE   r,   r   r‹   ÚCompileInScriptedSectionÚExecInScriptedSection)r!   ÚglobsÚ	codeBlocks      r   ÚDoExecutePendingScriptsz PyScript.DoExecutePendingScripts  sw   € ð	ØÔ.Ô7ˆEØ!œ_ð Eð E�	Ø Ô-ð EØ×4Ò4°YÀÑGÔGð EØ×2Ò2°9¸eÑDÔDÐDøðEð
 ˆDøˆDˆDˆDˆDs   ‚A	A ÁAc                 ó   — d S r   r%   r    s    r   ÚDoRunzPyScript.DoRun  s   € Øˆr   c                 ó–   — |                       ¦   «          d | _        g | _        d | _        t          j                             | ¦  «         d S r   )ÚResetNamespacerE   r   r€   r   r~   rd   r    s    r   rd   zPyScript.Close  sH   € Ø×ÒÑÔÐØ%)ˆÔ"ØˆŒØ"ˆÔÝÔ×!Ò! $Ñ'Ô'Ð'Ð'Ð'r   c                 ó\   — | j         €t          j        | | j        ¦  «        | _         | j         S r   )r€   r   ÚMakeScriptDispatchrE   )r!   r^   s     r   ÚGetScriptDispatchzPyScript.GetScriptDispatch  s5   € ð ÔÐ&Ý"0Ô"CØ�dÔ0ñ#ô #ˆDÔð Ô"Ð"r   c                 óž   — |d                               ¦   «         |dd …         z   dz   |d                               ¦   «         z   |dd …         z   S )Nr   r0   r1   )Úupper)r!   ÚsubItemNameÚ	eventNames      r   ÚMakeEventMethodNamezPyScript.MakeEventMethodName!  s^   € à˜ŒN× Ò Ñ"Ô"Ø˜!˜"˜"Œoñàñð ˜Œl× Ò Ñ"Ô"ñ#ð ˜˜˜Œmñ	ð	
r   c	                 ó  — |                       |¦  «        }	||k    r|	}
n|	                     |	|d d ¦  «        }
|                      ||¦  «        }t          d|z  |||d¦  «        }|                      |¦  «         ||
j        |<   d S )NzScript Event %sr   )ÚGetNamedItemÚGetCreateSubItemr±   r   Ú_AddScriptCodeBlockr\   )r!   ÚdefaultNameÚcodeÚitemNamer¯   r°   Ú	delimiterÚsourceContextCookieÚstartLineNumberrB   ÚsubItemÚfuncNamer¤   s                r   ÚDoAddScriptletzPyScript.DoAddScriptlet*  s¡   € ð × Ò  Ñ*Ô*ˆà˜Ò#Ð#àˆGˆGà×+Ò+¨D°+¸tÀTÑJÔJˆGØ×+Ò+¨K¸ÑCÔCˆå%Ø Ñ(¨$Ð0CÀ_ÐVWñ
ô 
ˆ	ð 	× Ò  Ñ+Ô+Ð+Ø'0ˆÔ˜8Ñ$Ð$Ð$r   c                 óB  — |                       |j        |j        ¦  «        }d x}}	 |j        |         }t          |t          ¦  «        r|}d }n# t
          $ r Y nw xY w|�’d|z  }	t          j        |j        ¦  «         	                    d¦  «        D ]}
|	d|
z   dz   z  }	Œ|	dz  }	|  
                    |d|	¦  «        sd S i }|                      || j        j        |¦  «         ||         }||j        |<   |€{	 | j        j        |         }ng# t
          $ rZ |                     ¦   «         }| j        j        D ]6}||                     ¦   «         k    r| j        j        |         }||j        |<   Œ7Y nw xY w|€t          t           j        ¬¦  «        ‚|                      |||¦  «        S )Nz
def %s():
ú
ú	r    )Úscode)r±   r^   r\   Ú
isinstancerx   r>   r   ÚRemoveCRÚcodeTextÚsplitr¡   r¢   rE   r,   r<   r
   ÚwinerrorÚDISP_E_MEMBERNOTFOUNDÚApplyInScriptedSection)r!   rB   ÚeventÚlcidÚwFlagsr   r½   r¤   ÚfunctionÚrealCodeÚlineÚdictÚfuncNameLookr5   s                 r   ÚDoProcessScriptItemEventz!PyScript.DoProcessScriptItemEventE  s÷  € à×+Ò+¨D¬I°u´zÑBÔBˆØ#Ð#ˆ	�Hð	Ø” xÔ0ˆHÝ˜(¥HÑ-Ô-ð  Ø$�	Ø�øøÝð 	ð 	ð 	ØˆDð	øøøàÐ Ø$ xÑ/ˆHÝ!Ô*¨9Ô+=Ñ>Ô>×DÒDÀTÑJÔJð /ð /�Ø˜D 4™K¨$Ñ.Ñ.��Ø˜ÑˆHØ×0Ò0°¸FÀHÑMÔMð Ø�ØˆDØ×&Ò&Ø˜4Ô5Ô>Àñô ð ð ˜H”~ˆHà(0ˆDŒO˜HÑ%ØÐð	=ØÔ5Ô>¸xÔH��øÝð =ð =ð =à'Ÿ~š~Ñ/Ô/�Ø Ô6Ô?ð =ð =�DØ# t§z¢z¡|¤|Ò3Ð3Ø#'Ô#=Ô#FÀtÔ#L˜à4<˜œ¨Ñ1øð	=ð =ð=øøøð ÐÝ¥XÔ%CÐDÑDÔDÐDØ×*Ò*¨9°hÀÑEÔEÐEs$   ¦&A Á
AÁAÃ4D ÄA!E+Å*E+c                 óR  — t          j        |¦  «        dz   }|t          z  rd}d}nd}d}|                      ¦   «         }|dk    rd}|d|› �z  }t	          |||||¦  «        }	|                      |	¦  «         | j        j        }
|rN|                      |	|¦  «        r6|t          z  r|  	                    |	|
¦  «        S |  
                    |	|
¦  «        S d S |t          z  r0|                      |	|¦  «        r|  
                    |	|
¦  «         d S d S | j                             |	¦  «         d S )	NrÀ   zScript ExpressionÚevalzScript Blockr    r0   Ú ú )r   rÄ   r   r’   r   rµ   rE   r,   r¡   ÚEvalInScriptedSectionr¢   r   r   r�   )r!   r·   rº   r»   ÚbWantResultr`   r^   Ú	exec_typeÚnumr¤   r£   s              r   ÚDoParseScriptTextzPyScript.DoParseScriptTexto  s  € õ Ô! $Ñ'Ô'¨$Ñ.ˆØÕ*Ñ*ð 	Ø&ˆDØˆIˆIà!ˆDØˆIØ×*Ò*Ñ,Ô,ˆØ�!Š8ˆ8ØˆCØ�	�C�	�	ÑˆÝ%Ø�$Ð+¨_¸eñ
ô 
ˆ	ð 	× Ò  Ñ+Ô+Ð+ØÔ*Ô3ˆØð 	2Ø×,Ò,¨Y¸	ÑBÔBð HØÕ2Ñ2ð HØ×5Ò5°iÀÑGÔGÐGà×5Ò5°iÀÑGÔGÐGð	Hð Hð Õ0Ñ0ð 2Ø×0Ò0°¸IÑFÔFð AØ×.Ò.¨y¸%Ñ@Ô@Ð@Ð@Ð@ðAð Að ”×&Ò& yÑ1Ô1Ð1Ð1Ð1r   c                 ó   — t           S r   )rZ   r    s    r   ÚGetNamedItemClasszPyScript.GetNamedItemClass‘  s   € ÝÐr   c                 ó|   — | j         �4	 | j         j                             ¦   «          n# t          $ r Y nw xY wd }d S d S r   )rE   rƒ   Ú_Reset_r3   )r!   rE   s     r   r©   zPyScript.ResetNamespace”  s_   € ØÔ%Ð1ðØÔ*Ô-×5Ò5Ñ7Ô7Ð7Ð7øÝ!ð ð ð Ø�ðøøøà$(Ð!Ð!Ð!ð 2Ð1s   ‰( ¨
5´5N)r"   r#   r$   Ú_reg_verprogid_Ú_reg_progid_r   ÚCATID_ActiveScriptÚCATID_ActiveScriptParseÚ_reg_catids_Ú
_reg_desc_ÚPyScript_CLSIDÚ_reg_clsid_Ú_reg_class_spec_Ú_reg_remove_keys_Ú_reg_threading_r.   r„   rŒ   rb   r’   r•   r¥   r§   rd   r¬   r±   r¾   rÒ   rÛ   rÝ   r©   r%   r   r   rx   rx   ½   sC  € € € € € à)€OØ€LàÔ/°Ô1QÐR€LØ2€JØ €KØCÐØ" LÐ1ÐØ€Oð#ð #ð #ð
"ð 
"ð 
"ð.ð .ð .ð/ð /ð /ð%ð %ð %ðð ð ð*ð ð ðð ð ð(ð (ð (ð#ð #ð #ð
ð 
ð 
ð1ð 1ð 1ð6(Fð (Fð (FðT 2ð  2ð  2ðDð ð ð)ð )ð )ð )ð )r   rx   c                  ó¤  — t           } t          j        j                             | j        dz   i ¦  «         t          j        j                             dd¦  «         t          j        j                             d| j        ¦  «         d}t          j        j                             d|¦  «         t          j        j                             d|¦  «         d S )Nz
\OLEScriptrz   r{   zpysFile\ScriptEnginez&{60254CA5-953B-11CF-8C96-00AA00B8708C}zpysFile\ShellEx\DropHandlerz.pysFile\ShellEx\PropertySheetHandlers\WSHProps)rx   ro   ÚserverÚregisterÚ_set_subkeysrá   Ú_set_string)ÚklassÚguid_wsh_shellexs     r   ÚDllRegisterServerrò   �  sÅ   € Ý€EÝ„OÔ×)Ò)ØÔ˜]Ñ*¨Bñô ð õ „OÔ×(Ò(¨°Ñ;Ô;Ð;Ý„OÔ×(Ò(Ð)@À%ÔBTÑUÔUÐUØ?ÐÝ„OÔ×(Ò(Ø'Ð)9ñô ð õ „OÔ×(Ò(Ø;Ð=Mñô ð ð ð r   c                 ó\   — t           j        j                             | t          ¬¦  «        }|S )N)Úfinalize_register)ro   rì   rí   ÚUseCommandLinerò   )rð   Úrets     r   rg   rg   ®  s.   € Ý
Œ/Ô
"×
1Ò
1ØÕ!2ð 2ñ ô €Cð €Jr   Ú__main__)"rF   r   r…   rm   ro   Úwin32com.client.dynamicÚwin32com.server.registerrÇ   Úwin32com.axscriptr   Úwin32com.axscript.clientr   r   Ú"win32com.axscript.client.frameworkr   r   r   r	   Úwin32com.server.exceptionr
   ræ   r   r   r   r   r   r'   rH   rZ   r~   rx   rò   rg   r"   r%   r   r   ú<module>rþ      sI  ððð ð 
€	€	€	Ø €€€à Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø &Ð &Ð &Ð &Ð &Ð &Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >ðð ð ð ð ð ð ð ð ð ð ð ð 3Ð 2Ð 2Ð 2Ð 2Ð 2à9€à€ðð ð ð
'ð 'ð 'ð'ð 'ð 'ðPð Pð Pð Pð P˜	Ô3ñ Pô Pð Pð&Hð &Hð &Hð &Hð &Hñ &Hô &Hð &HðX#-ð #-ð #-ð #-ð #-ñ #-ô #-ð #-ðL&ð &ð &ð &ð &�Ô%ñ &ô &ð &ðd])ð ])ð ])ð ])ð ])ˆyÔ"ñ ])ô ])ð ])ð@ð ð ð" ð ð ð ð ð ˆzÒÐØ€H�J„J€J€J€Jð Ðr   