hyb
2025-11-07 cadac0a99d87c53805a07f3b4ca7fd11e524fe4a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
Ë
hñúhvãó’—dZddlZddlZddlZddlZddlZddlZddlZddlZddl    m
Z ddl m Z e je«Zd„Zd„Zdd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zej6ej8ej:ej<ej>ej@ejBejDejFejHejJejLejNejPiZ)ejTddjWe,ejZe)««zej\«Z/de0fd„Z1d„Z2d„Z3y)zM
This module contains miscellaneous functions that do not fit anywhere else.
éN)Úlog)Úis_wincóz—g}tj|«D] \}}}|jt|««Œ"|S)z\
    Returns a list *.dll, *.so, *.dylib in the given directory and its subdirectories.
    )ÚosÚwalkÚextendÚ dlls_in_dir)Ú    directoryÚfilelistÚrootÚdirsÚfiless     úIH:\Change_password\venv_build\Lib\site-packages\PyInstaller/utils/misc.pyÚdlls_in_subdirsrs>€ð€HÜŸW™W YÓ/ò+шˆdE؏‰œ  DÓ)Õ*ð+à €Oócó—t|gd¢«S)zH
    Returns a list of *.dll, *.so, *.dylib in the given directory.
    )z*.soz*.dllz*.dylib)Ú files_in_dir)r
s rr    r    (s€ô ˜    Ò#?Ó @Ð@rc    ó¨—|xsg}g}|D]D}|jtjtjj    ||«««ŒF|S)zV
    Returns a list of files in the given directory that match the given pattern.
    )rÚglobrÚpathÚjoin)r
Ú file_patternsrÚ file_patterns    rrr/sM€ð
"Ò' R€Mà €EØ%òGˆ Ø  ‰ ”T—Y‘YœrŸw™wŸ|™|¨I°|ÓDÓEÕFðGà €LrcóL—tjjtjj|««}d}    t    d«D]G}t tj |««}||vr tjj|«}ŒE|cS    y#t$rYywxYw)a
    Return the path to top-level directory that contains Python modules.
 
    It will look in parent directories for __init__.py files. The first parent directory without __init__.py is the
    top-level directory.
 
    Returned directory might be used to extend the PYTHONPATH.
    z __init__.pyé
N)rrÚdirnameÚabspathÚrangeÚsetÚlistdirÚIOError)ÚfilenameÚcurr_dirÚpatternÚirs     rÚget_path_to_toplevel_modulesr&<s€ôw‰w‰œrŸw™wŸ™¨xÓ8Ó9€HØ€Gð
 ܐr“ò     ˆAÜœŸ
™
 8Ó,Ó-ˆEà˜%ÑÜŸ7™7Ÿ?™?¨8Ó4‘ð ’ñ     ð øô ò Ø à ð úsÁABÂB    B#Â"B#cóR—    tj|«dS#t$rYywxYw)Nér)rÚstatÚ    Exception)Úfnms rÚmtimer,Xs-€ðôw‰ws‹|˜A‰ÐøÜ òÙðús ‚š    &¥&có—tjj|«}tjj|«stj|«t |dd¬«5}t j ||«ddd«y#1swYyxYw)zo
    Save data into text file as Python data structure.
    :param filename:
    :param data:
    :return:
    Úwúutf-8©ÚencodingN)rrrÚexistsÚmakedirsÚopenÚpprint)r"ÚdatarÚfs    rÚsave_py_data_structr8asc€ôg‰go‰o˜hÓ'€GÜ 7‰7>‰>˜'Ô "Ü
 ‰ GÔÜ     ˆh˜ gÔ    .ð°!܏ ‰ d˜AÔ÷÷ñús Á"BÂB có”—t|dd¬«5}trddlm}t    |j ««cddd«S#1swYyxYw)zc
    Load data saved as python code and interpret that code.
    :param filename:
    :return:
    Úrr/r0r)Ú versioninfoN)r4rÚPyInstaller.utils.win32r;ÚevalÚread)r"r7r;s   rÚload_py_data_structr?os:€ô
ˆh˜ gÔ    .ð°!Ý å ;äA—F‘F“H‹~÷ ÷òús    %>¾Acóz—tjjtjj|««S©N)rrrÚnormpath)Úapaths rÚ absnormpathrD}s$€Ü 7‰7?‰?œ2Ÿ7™7×+Ñ+¨EÓ2Ó 3Ð3rcóz—d}g}|jd«ddD]}||rd|zn|z }|j|«Œ!|S)zÂ
    Return list of parent package names.
        'aaa.bb.c.dddd' ->  ['aaa', 'aaa.bb', 'aaa.bb.c']
    :param full_modname: Full name of a module.
    :return: List of parent module names.
    Úú.réÿÿÿÿ)ÚsplitÚappend)Ú full_modnameÚprefixÚparentsÚpkgs    rÚmodule_parent_packagesrOsT€ð€FØ€Gà×!Ñ! #Ó& q¨Ð,òˆà™v#˜’)¨3Ñ.ˆØ‰vÕðð €Nrcó—t|d«5}|jdtj«|j    «}d}d}d}|t |«k\rt ||z
d«}||z
}|t |«krnm|j|tj«|j|«}|j|«}    |    dk7r||    z}n |t |«zdz
}|t |«k\rŒ|dk(r
    ddd«y    ddd«y    #1swYyxYw)
    Check if the given file is a Qt plugin file.
    :param filename: Full path to file to check.
    :return: True if given file is a Qt plugin file, False if not.
    Úrbri s QTMETADATA rHéNFT)
r4ÚseekrÚSEEK_ENDÚtellÚlenÚmaxÚSEEK_SETr>Úrfind)
r"ÚfpÚend_posÚSEARCH_CHUNK_SIZEÚQTMETADATA_MAGICÚ magic_offsetÚ    start_posÚ
chunk_sizeÚbufÚposs
          rÚis_file_qt_pluginrc’s€ô
ˆh˜Ó    ð Ø
‰”2—;‘;ÔØ—'‘'“)ˆà ÐØ)Ðàˆ ØœÐ-Ó.Ò.ܘGÐ&7Ñ7¸Ó;ˆIØ  9Ñ,ˆJàœCР0Ó1Ò1Øà G‰GIœrŸ{™{Ô +Ø—'‘'˜*Ó%ˆCØ—)‘)Ð,Ó-ˆCؐbŠyØ(¨3™ Øà¤#Ð&6Ó"7Ñ7¸!Ñ;ˆGðœÐ-Ó.Ó.ð ˜2Ò Ø÷1ðð4÷5÷ñúsCC;Ã"C;Ã1C;Ã;Ds \A(%s)?(.*)ó|Úrawcó—tj|«j«\}}|rt||«dSt    j
t j|«j«\}}|j|«S)z°
    Decode bytes to string, respecting and removing any byte-order marks if present, or respecting but not removing any
    PEP263 encoding comments (# encoding: cp1252).
    r)
ÚBOM_REÚmatchÚgroupsÚBOM_MARKERS_TO_DECODERSÚtokenizeÚdetect_encodingÚioÚBytesIOÚreadlineÚdecode)reÚbomr1Ú_s    rrprpÄsh€ô
|‰|˜CÓ ×'Ñ'Ó)H€CˆÙ
Ü& sÑ+¨CÓ0°Ñ3Ð3ä×*Ñ*¬2¯:©:°c«?×+CÑ+CÓDK€HˆaØ :‰:hÓ Ðrcó:—    t|«y#t$rYywxYw)z7
    Check if the passed argument is an iterable."
    FT)ÚiterÚ    TypeError)Úargs rÚ is_iterablerwÑs'€ðÜ ˆSŒ    ð øô òÙðús ‚ Ž    ™cót—tj|«jD]}|j«sŒ|cSy)zþ
    Check if the given file path points to a file inside an existing archive file. Returns first path from the set of
    parent paths that points to an existing file, or `None` if no such path exists (i.e., file is an actual stand-alone
    file).
    N)ÚpathlibÚPathrMÚis_file)r"Úparents  rÚpath_to_parent_archiver}Üs6€ô —,‘,˜xÓ(×0Ñ0òˆØ >‰>Õ ØŠMðð rrA)4Ú__doc__rrr5ÚcodecsÚrerkrmryÚ PyInstallerrÚloggingÚPyInstaller.compatrÚ    getLoggerÚ__name__Úloggerrr    rr&r,r8r?rDrOrcÚ BOM_UTF32_LEÚutf_32_le_decodeÚ BOM_UTF32_BEÚutf_32_be_decodeÚ    BOM_UTF32Ú utf_32_decodeÚ BOM_UTF16_LEÚutf_16_le_decodeÚ BOM_UTF16_BEÚutf_16_be_decodeÚ    BOM_UTF16Ú utf_16_decodeÚBOM_UTF8Ú utf_8_decoderjÚcompilerÚmapÚescapeÚDOTALLrgÚbytesrprwr}©rrú<module>r›s:ðñó Û    Û Û Û    ÛÛ    Ûå&Ý%à    ˆ×    Ñ    ˜8Ó    $€òòAó
òò8ò ò ò4òò"#ðN ×ј×0Ñ0Ø
×ј×0Ñ0Ø
×ѐf×*Ñ*Ø
×ј×0Ñ0Ø
×ј×0Ñ0Ø
×ѐf×*Ñ*Ø
‡OOV×(Ñ(ðÐð
ˆ‰O d§i¡i±°B·I±IÐ?VÓ0WÓ&XÑXÐZ\×ZcÑZcÓ    d€ð
 ó
 òó    r