a
    4­^iO  ã                   @   s’  d dl mZmZmZmZmZ d dlmZ eZ	dd„ Z
d dlmZmZmZmZmZmZmZmZmZmZmZmZ e
ƒ  d dlm  mZ d dlZd dlZd dlZd dlZd dlZzd dl m!Z!m"Z"m#Z# W n e$yâ   d Z!dZ"dZ#Y n0 e"oòe%ed	dƒZ"erd
dde!fZ&dZ'ndd de!fZ&dZ'd (dd„ e&D ƒ¡Z)e"s@e)d7 Z)ne#rNe)d7 Z)de) Z*dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2dZ3dej4v Z5d dl6Z6dd„ Z7e6 8¡ d  rªe7ƒ Z.ndej4 9dd¡ :d¡rÆdZ2nHe6 ;¡ d  rÚdZ/n4d ej4v rìdZ1n"ej6d!ksd"ej4v r
dZ3ndZ0ej4 9dd#¡ <d$¡d Z=e1p4e2p4e3Z>dZ?dZ@dZAi ZBh d%£ZCejDfZEh d&£ZFG d'd(„ d(e	ƒZGdaHd)d*„ aId+d,„ ZJd-d.„ ZKd/d0„ ZLd1d2„ ZMdd kr¨dZNdd krŽdd3lOmPZP dd4lOmQZQ dd5lOmRZR dd6lOmSZS dd7lOmTZT dd8lOmUZU dd9lOmVZV dd:lOmWZW dd;lOmZ dd<lOmXZX dd=lOmYZY dd>lOmZZZ dd?lOm[Z[ dd@lOm\Z\ ddAlOm]Z] ddBlOm^Z^ ddClOm_Z_ ddDlOm`Z` ddElOmaZa ddFlOmbZb ddGlOmcZc ddHlOmdZd ddIlOmeZe ddJlOmfZf ddKlOmgZg ddLlOmhZh ddMlOmiZi ddNlOmjZj ddOlOmkZk ddPlOmlZl ddQlOmZ ddRlOmmZm ddSlOmnZn ddTlOmoZo ddUlOmpZp ddVlOmqZq ddWlOmrZr ddXlOmsZs ddYlOmtZt ddZlOmuZu dd[lOmvZv dd\lOmwZw dd]lOmxZx dd^lOmyZy dd_lOmzZz dd`lOm{Z{ ddalOm|Z| ddblOm}Z} ddclOm~Z~ dddlOmZ ddelOm€Z€ ddflOmZ ddglOm‚Z‚ ddhlOmƒZƒ ddilOm„Z„ ddjlOm…Z… ddklOm†Z† ddllOm‡Z‡ ddmlOm!Z! ddnlOmˆZˆ ddolOm‰Z‰ dS )pé    )ÚdivisionÚabsolute_importÚwith_statementÚprint_functionÚunicode_literals)ÚAnyc                  C   sŽ   ddl } ddl}|  d¡jd }| j| }| d¡}z@ddl}t|dƒrr|j 	|j
¡}|j |jj|g|¢R Ž ¡ W n tyˆ   Y dS 0 dS )z`
    Update the __path__ of package, to import binary modules from a libexec
    directory.
    r   Né   Ú__name__Ú.Ú__file__)ÚsysZos.pathÚ	_getframeÚ	f_globalsÚmodulesÚsplitÚ_renpyÚhasattrÚpathÚdirnamer   Ú__path__ÚappendÚjoinÚImportError)r   ÚosÚnameÚpackager   Zlibexec© r   úRC:\Program Files (x86)\Steam\steamapps\common\Selene ~Apoptosis~\renpy\__init__.pyÚupdate_path!   s    


 r   )ÚPY2Ú
basestringÚbchrÚbordÚchrÚopenÚpystrÚrangeÚroundÚstrÚtobytesÚunicodeN)Ú
vc_versionÚofficialÚnightlyFÚrenpy_build_officialé   é   é   zHeck's Getting Frostyé   zHeck Freezes Overr
   c                 c   s   | ]}t |ƒV  qd S ©N)r(   )Ú.0Úir   r   r   Ú	<genexpr>b   ó    r6   ÚuÚnzRen'Py iøVL z	-LT1.saver   ZRENPY_EXPERIMENTALc                     sz   ddl ‰ G ‡ fdd„dˆ jƒ} zB| ƒ }ˆ  |¡|_ˆ jj ˆ  |¡¡}|dkrTW dS |j|j	fW S  t
yt   Y dS 0 dS )z>
    When called on windows, returns the windows version.
    r   Nc                       sl   e Zd Zd” jfd” jfd” jfd” jfd” jfd” jd fd” jfd	” jfd
” jfd” jfd” jfgZdS )z-get_windows_version.<locals>.OSVERSIONINFOEXWÚdwOSVersionInfoSizeÚdwMajorVersionÚdwMinorVersionZdwBuildNumberZdwPlatformIdZszCSDVersioné€   ZwServicePackMajorZwServicePackMinorZ
wSuiteMaskZwProductTypeZ	wReservedN)r	   Ú
__module__Ú__qualname__Úc_ulongÚc_wcharÚc_ushortÚc_byteÚ_fields_r   ©Úctypesr   r   ÚOSVERSIONINFOEXWŒ   s   örG   )é
   r   )rF   Ú	StructureÚsizeofr:   ÚwindllZNtdllZRtlGetVersionÚbyrefr;   r<   Ú	Exception)rG   Z
os_versionZretcoder   rE   r   Úget_windows_version…   s    rN   ÚRENPY_PLATFORMÚ ÚiosTÚANDROID_PRIVATEÚ
emscriptenZRENPY_EMSCRIPTENzunknown-unknown-unknownú->   zrenpy.compatz	renpy.gl2zrenpy.display.testzrenpy.displayzrenpy.test.testmouseZrenpycoveragezrenpy.test.testexecutionzrenpy.glzrenpy.display.swdrawzrenpy.test.testparserz
renpy.testzrenpy.display.pgrenderú	renpy.sixzrenpy.test.testkeyz	renpy.logzrenpy.objectzrenpy.compat.dictviewszrenpy.display.scaleÚrenpyzrenpy.debugzrenpy.bootstrapzrenpy.display.presplashzrenpy.text.ftfontzrenpy.test.testast>   zrenpy.display.screen.cprofz$renpy.audio.audio.periodic_conditionz(renpy.savelocation.scan_thread_conditionzrenpy.python.unicode_rez"renpy.persistent.save_MP_instanceszrenpy.exports.sdl_dllzrenpy.webloader.queue_lockzrenpy.python.string_rezrenpy.audio.audio.lockzrenpy.display.render.IDENTITYzrenpy.savelocation.disk_lockzrenpy.python.store_dictszrenpy.text.text.VERT_REVERSEzrenpy.character.TAG_REzrenpy.text.text.VERT_FORWARDzrenpy.display.im.cachezrenpy.loader.auto_lockzrenpy.display.render.blit_lockzrenpy.python.store_modulesz#renpy.loadsave.autosave_not_runningc                   @   s(   e Zd ZdZdd„ Zdd„ Zdd„ ZdS )	ÚBackupag  
    This represents a backup of all of the fields in the python modules
    comprising Ren'Py, shortly after they were imported.

    This attempts to preserve object aliasing, but not object identity. If
    renpy.mod.a is renpy.mod.b before the restore, the same will be true
    after the restore - even though renpy.mod.a will have changed identity.
    c                 C   sZ   i | _ i | _i | _trd S tj ¡ D ]}|d u r2q$|  |¡ q$tj	| jdd| _
i | _d S )NT©Zhighest)Ú	variablesÚobjectsÚnamesÚmobiler   r   ÚvaluesÚbackup_moduleÚpickleÚdumpsÚobjects_pickle)ÚselfÚmr   r   r   Ú__init__  s    zBackup.__init__c              
   C   s$  z
|j }W n ty   Y dS 0 | d¡s.dS |tv r:dS | d¡rHdS tt|ƒ ¡ ƒ| j|< t|ƒ ¡ D ]´\}}| d¡rˆ| 	d¡rˆqjt
|tƒr”qj|d | tv r¦qjt|ƒ}|| j||f< || j|< ztj|dd W qj ty   td|d | d	t|ƒƒ td
t| tj¡ƒƒ Y qj0 qjdS )zI
        Makes a backup of `mod`, which must be a Python module.
        NrV   zrenpy.styledataÚ__r
   TrX   zCannot pickleú=zReduce Ex is:)r	   rM   Ú
startswithÚbackup_blacklistÚsetÚvarsÚkeysr[   ÚitemsÚendswithÚ
isinstanceÚtype_blacklistÚname_blacklistÚidrY   rZ   r_   r`   ÚprintÚreprÚ__reduce_ex__ZPROTOCOL)rb   Úmodr   ÚkÚvZidvr   r   r   r^   )  s4    




zBackup.backup_modulec           	      C   s~   | j s
dS | j  ¡ D ],\}}t|ƒ}t| ¡ ƒ| D ]
}||= q4qt | j¡}| j ¡ D ] \}}|\}}t	|||| ƒ qXdS )zz
        Restores the modules to a state similar to the state of the modules
        when the backup was created.
        N)
r[   rl   rj   ri   rk   r_   Úloadsra   rY   Úsetattr)	rb   ru   r[   Zmodvarsr   rZ   rv   rw   Zfieldr   r   r   ÚrestoreV  s    
zBackup.restoreN)r	   r>   r?   Ú__doc__rd   r^   rz   r   r   r   r   rW     s   	-rW   c                 G   s   dS )zd
    Empty version of renpy.plog that is replaced by the real implementation
    in import_all.
    Nr   )ÚlevelZevenÚargsr   r   r   Úplogt  s    r~   c                  C   s.  dd l } dd l} dd l} dd l} dd l} dd l} dd l} dd l} dd l} dd l	} dd l
} tsfdd l} ndd l} dd l} dd l} dd l} dd l} dd l} dd l} dd l} dd l} dd l} dd l} dd l} dd l} dd l} dd l} dd l} dd l} dd l} dd l} dd l } dd l!} | j"j#a$dd l%} dd l&} | j' (¡  | j)t*j+t,dƒ< dd l-} dd l.} dd l/} dd l0} dd l1} dd l2} dd l3} dd l} dd l4} dd l5} dd l6} dd l7} dd l8} dd l9} dd l:} dd l;} dd l<} dd l=} dd l>} dd l?} dd l@} dd lA} | jBjBt*j+t,dƒ< dd lC} dd lD} dd lE} dd lF} dd lG} dd lH} dd lI} dd lJ} dd lK} dd lL} dd lM} dd lN} dd lO} dd lP} dd lQ} dd lR} dd lS} dd lT} dd lU} dd lV} dd lW} dd lX} dd lY} dd lZ} dd l[} dd l\} dd l]} dd l^} dd l_} dd l`} dd la} dd lb} dd lc} dd ld} dd le} dd lf} dd lg} dd lh} dd li} dd lj} dd lk} dd ll} dd lm} dd ln} dd lo} dd lp} dd lq} dd lr} dd ls} dd lt} dd lu} dd lv} dd lw} dd lx} dd ly} dd lz} dd l{} dd l|} dd l}} dd l~} dd l} dd l€} dd l} dd l‚} dd lƒaƒtƒt*j+t,dƒ< t„s$t…ƒ a†t‡ƒ  d S )Nr   zrenpy.styleclasszrenpy.display.textrU   )ˆrV   Zrenpy.configZ	renpy.logZrenpy.argumentsZrenpy.compat.fixesZrenpy.displayZrenpy.debugZrenpy.objectZ
renpy.gameZrenpy.preferencesZrenpy.loaderr   Zrenpy.py3analysisZrenpy.py2analysisZrenpy.pyanalysisZ	renpy.astZ	renpy.atlZrenpy.curryZrenpy.colorZ
renpy.easyZrenpy.executionZrenpy.loadsaveZrenpy.savelocationZrenpy.persistentZrenpy.scripteditZrenpy.parserZrenpy.performanceZrenpy.pydictZrenpy.revertableZrenpy.rollbackZrenpy.pythonZrenpy.scriptZrenpy.statementsZ
renpy.utilÚperformanceÚlogr~   Zrenpy.styledataZrenpy.styleÚ	styledataZimport_style_functionsÚstyler   r   r%   Zrenpy.substitutionsZrenpy.translationZrenpy.translation.scanstringsZrenpy.translation.generationZrenpy.translation.dialogueZrenpy.translation.extractZrenpy.translation.mergeZrenpy.display.presplashZrenpy.display.pgrenderZrenpy.display.scaleZrenpy.display.moduleZrenpy.display.renderZrenpy.display.coreZrenpy.display.swdrawZ
renpy.textZrenpy.text.ftfontZrenpy.text.fontZrenpy.text.textsupportZrenpy.text.texwrapZrenpy.text.textZrenpy.text.extrasÚtextZrenpy.glZ	renpy.gl2Zrenpy.display.layoutZrenpy.display.viewportZrenpy.display.transformZrenpy.display.motionZrenpy.display.behaviorZrenpy.display.transitionZrenpy.display.movetransitionZrenpy.display.imZrenpy.display.imagelikeZrenpy.display.imageZrenpy.display.videoZrenpy.display.focusZrenpy.display.animZrenpy.display.particleZrenpy.display.joystickZrenpy.display.controllerZrenpy.display.minigameZrenpy.display.screenZrenpy.display.dragdropZrenpy.display.imagemapZrenpy.display.predictZrenpy.display.emulatorZrenpy.display.ttsZrenpy.display.gestureZrenpy.display.modelZrenpy.display.errorZrenpy.audioZrenpy.audio.audioZrenpy.audio.musicZrenpy.audio.soundZrenpy.uiZrenpy.screenlangZ	renpy.sl2Zrenpy.sl2.slastZrenpy.sl2.slparserZrenpy.sl2.slpropertiesZrenpy.sl2.sldisplayablesZ
renpy.lintZ
renpy.warpZrenpy.editorZrenpy.memoryZrenpy.exportsZrenpy.characterZrenpy.add_fromZ
renpy.dumpZrenpy.gl2.gl2drawZrenpy.gl2.gl2meshZrenpy.gl2.gl2modelZrenpy.gl2.gl2polygonZrenpy.gl2.gl2shaderZrenpy.gl2.gl2textureZrenpy.gl2.live2dZrenpy.minstoreZrenpy.defaultstoreZ
renpy.testZrenpy.test.testmouseZrenpy.test.testfocusZrenpy.test.testkeyZrenpy.test.testastZrenpy.test.testparserZrenpy.test.testexecutionZ
renpy.mainZsixr\   rW   ÚbackupÚpost_import)rV   r   r   r   Ú
import_all}  s   


r†   c                  C   s¬   ddl } | j d¡ tjd | _| j| j_tjd tjd< ddl}|tjtdƒ< | j	j
 ¡ D ]\}}| jj
 ||¡ q\| j	j| j_tƒ  ¡ D ]\}}t| jƒ ||¡ qŒdS )ze
    This is called after import or reload, to do further initialization
    of various modules.
    r   NÚstoreúrenpy.storezrenpy.subprocess)rV   ÚpythonZcreate_storer   r   r‡   ÚexportsÚ
subprocessr%   ÚdefaultstoreÚ__dict__rl   Ú
setdefaultÚevalÚglobalsrj   )rV   r‹   rv   rw   r   r   r   r…   @  s    
r…   c                 C   s   | |kp|   |d ¡S )Nr
   )rg   )ÚsubÚmoduler   r   r   Úissubmodule_  s    r“   c                     s6  t rtdƒ‚ddl} | jj ¡  | j ¡  | jjj	 ¡  | j
 ¡  | j ¡  d| jj_| jj ¡  d| j_| j dd¡sŒ| jj ¡  d| j_| jj}| jj}ttj ¡ ƒD ]Z‰ tˆ dƒsÀˆ dkrætjˆ  }|durÜ|j ¡  tjˆ = qªt‡ fdd	„|D ƒƒrªtjˆ = qªt  !¡  || j_"| jj #¡  t$ƒ  | j
 %¡  dS )
z[
    Resets all modules to the state they were in right after import_all
    returned.
    z/Reloading is not supported on mobile platforms.r   NZ_keep_rendererFr‡   rˆ   c                 3   s   | ]}t ˆ |ƒV  qd S r3   )r“   )r4   rc   ©r5   r   r   r6   •  r7   zreload_all.<locals>.<genexpr>)&r\   rM   rV   ÚaudioZquitr‚   ÚresetÚdisplayZimÚcacheÚloaderZquit_importerrŠ   Zfree_memoryZrenderZscreen_renderZ
mark_sweepZ	interfaceÚsessionÚgetZdrawr‰   Úpy_compile_cacheÚconfigÚreload_modulesÚlistr   r   rk   r“   r   Úanyr„   rz   Zold_py_compile_cacheZreset_moduler…   Zinit_importer)rV   rœ   rž   rc   r   r”   r   Ú
reload_allc  s:    







r¡   )Úadd_from)Ú	arguments)Úast)Úatl)r•   )Ú	bootstrap)Ú	character)Úcolor)Úcompat)r   )Úcurry)Údebug)rŒ   )r—   )Údump)Úeasy)Úeditor)Úerror)Ú	execution)rŠ   )Úgame)Úgl)Úgl2)Úlint)r™   )Úloadsave)r€   )Úmain)Úmemory)Úminstore)Úobject)Úparser)Úparsersupport)r   )Ú
persistent)Úpreferences)Úpy2analysis)Úpy3analysis)Ú
pyanalysis)Úpydict)r‰   )Ú
revertable)Úrollback)Úsavelocation)Ú
screenlang)Úscript)Ú
scriptedit)Úsl2)Ú
statements)r‚   )r   )Úsubstitutions)Útest)rƒ   )Útranslation)Úuguu)Úui)Úutil)r+   )Úwarp)Ú	webloader)ŠÚ
__future__r   r   r   r   r   Útypingr   r¹   Z_objectr   Zrenpy.compatr   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   Zrenpy.compat.pickler©   r_   r   r   ÚcopyÚtypesZsiteZrenpy.vc_versionr+   r,   r-   r   ÚgetattrZversion_tupleZversion_namer   Zversion_onlyÚversionZscript_versionZsavegame_suffixZbytecode_versionÚwindowsÚ	macintoshZlinuxÚandroidrQ   rS   ÚenvironZexperimentalÚplatformrN   Z	win32_verr›   rg   Zmac_verÚ
rpartitionZarchr\   ZmacappZsafe_mode_checkedZ
autoreloadrš   rh   Ú
ModuleTypero   rp   rW   r„   r~   r†   r…   r“   r¡   r‡   rP   r¢   r£   r¤   r¥   r•   r¦   r§   r¨   r   rª   r«   rŒ   r—   r¬   r­   r®   r¯   r°   rŠ   r±   r²   r³   r´   r™   rµ   r€   r¶   r·   r¸   rº   r»   r   r¼   r½   r¾   r¿   rÀ   rÁ   r‰   rÂ   rÃ   rÄ   rÅ   rÆ   rÇ   rÈ   rÉ   r‚   r   rÊ   rË   rƒ   rÌ   rÍ   rÎ   rÏ   rÐ   rÑ   r   r   r   r   Ú<module>   s  8

	
$ÿh	 DA

