� c��j�v��� dZdZdZdZdZdZdZdZddlZddl Z ddl Z ddl Z dd l �gd �Z d �Z dd lmZmZmZd �Zd�Zd�Zd�Zd�Zd�Zd�Ze j:j<e_d�Zd�Z e!ejDd�rd�Z#nd�Z#d�Z$ ddl%m&Z&d�Z'd�Z(dZ)da*da+d�Z, dd l%m-Z. dd"l%m/Z/d#�Z0 dd%l%m1Z1m2Z3e4fd&�Z5e4fd'�Z6d(d)�d*�Z7d,Z8d6d-�Z9d.�Z: dd/l%m;Z<dd0l%m=Z>dd1l%m?Z@dd2l%mAZB dd3l%mCZCd4�ZDy#e$rd�ZY��wxYw#e$rdZ&Y�}wxYw#e$rd!�Z.Y�uwxYw#e$rd$�Z0Y�ywxYw#e$r d(d)�d+�Z7Y�qwxYw#e$rY�ZwxYw#e$rd5�ZDYywxYw)7�.�..�\�;�/z.;C:\bin�nul�N)�*))�normcase�isabs�join� splitdrive� splitroot�split�splitext�basename�dirname� commonprefix�getsize�getmtime�getatime�getctime�islink�exists�lexists�isdir�isfile�ismount� expanduser� expandvars�normpath�abspath�curdir�pardir�sep�pathsep�defpath�altsep�extsep�devnull�realpath�supports_unicode_filenames�relpath�samefile� sameopenfile�samestat� commonpath� isjunction� ALLOW_MISSINGc�&�t|t�ryy)N�\/�\/)� isinstance�bytes��paths �/usr/lib64/python3.12/ntpath.py� _get_bothsepsr;$s���$�����)� LCMapStringEx�LOCALE_NAME_INVARIANT�LCMAP_LOWERCASEc�Z� tj|�}|s|St|t�r]t j �}|j |d�jdd�}ttt|�}|j|d�Sttt|jdd��S)N�surrogateescaperr) �os�fspathr6r7�sys�getfilesystemencoding�decode�replace�_LCMapStringEx�_LOCALE_NAME_INVARIANT�_LCMAP_LOWERCASE�encode)�s�encodings r:r r 4s��� � �I�I�a�L����H� �a�� ��0�0�2�H�����#4�5�=�=�c�4�H�A��5�/��4�A��8�8�H�&7�8� 8�!�"8�"2�"#�)�)�C��"6�8� 8r<c�� tj|�}t|t�rFtjtj |�j dd�j��S|j dd�j�S)Nrr)rBrCr6r7�fsencode�fsdecoderG�lower)rLs r:r r Gsg�� � �I�I�a�L�� �a�� ��;�;�r�{�{�1�~�5�5�c�4�@�F�F�H�I� I��y�y��d�#�)�)�+�+r<c��� tj|�}t|t�rd}d}d}nd}d}d}|ddj ||�}|j |�s|j |d�ry y ) N�\�/s:\rrz:\��TF)rBrCr6r7rG� startswith)rLr$r'� colon_seps r:r r Xsq��)� � � �!� �A��!�U������� ������ � �"�1�� � �f�c�"�A� �|�|�C��A�L�L��A�6�� r<c�8�tj|�}t|t�rd}d}d}nd}d}d} |s|dd|zt |�\}}}t tj|�D]b}t |�\} } } | r | s|s| }| }| }�| r/| |k7r*| j �|j �k7r| }| }| }�N| }|r |d|vr||z}|| z}�d|r|s|r|dd||zvr||z|zS||z|zS#tttf$rtjd |g|����wxYw) NrSr4�:rr5�:r�����r ) rBrCr6r7r�maprQ� TypeError�AttributeError� BytesWarning� genericpath�_check_arg_types) r9�pathsr$�seps�colon� result_drive� result_root� result_path�p�p_drive�p_root�p_paths r:r r ls_�� �9�9�T�?�D��$���������������!�� ��!�H�s�N�1:�4��.� �k�;��R�Y�Y��&�A�&/��l� #�G�V�V���,�#*�L�$� �$� ���W� �4��=�=�?�l�&8�&8�&:�:�#*�L�"(�K�"(�K��&� ��{�2��d�:�)�C�/� �%��.�K�+'�. � � �\�"�#�.�e�d�l�B��#�%� �3� 3��k�)�K�7�7�� �~�|� 4���$�$�V�T�:�E�:� ��s�B/C,�$C,�,-Dc�0� t|�\}}}|||zfS�N)r)ri�drive�root�tails r:r r �s(���$"�!� ��E�4�� �$��+� �r<c�� tj|�}t|t�r d}d}d}d}d}n d}d}d}d }d }|j ||�}|dd |k(r||d d |k(ri|dd j �|k(rd nd }|j ||�}|dk(r|||fS|j ||d z�} | dk(r|||fS|d| || | d z|| d zdfS||dd |d dfS|d d |k(r!|d d|k(r|dd |d d|ddfS|dd ||d dfS|||fS)NrSrTrZ�\\?\UNC\r<rrr[�\\?\UNC\�rV��r\rU)rBrCr6r7rG�upper�find) rir$r're� unc_prefix�empty�normp�start�index�index2s r:rr�s��� � � � �!� �A��!�U��������$� ���������#� ��� �I�I�f�c� "�E� �R�a�y�C�� ��1�:�� ��r�����*�j�8�A�a�E��J�J�s�E�*�E���{��%���&��Z�Z��U�Q�Y�/�F���|��%���&��W�f�:�q���� �3�Q�v��z�{�^�C� C��!�B�Q�%��1�2��&� &� �q���u� � ��1�:�� ��R�a�5�!�A�a�&�!�A�B�%�'� '��R�a�5�%��1�2��&� &��e�Q��r<c��� tj|�}t|�}t|�\}}}t |�}|r||dz |vr|dz}|r ||dz |vr�|d|||d}}||z|j |�z|fS�NrV)rBrCr;r�len�rstrip)rird�d�r�i�headrqs r:rr�s���!� � � �!� �A� �� �D���l�G�A�q�!� �A��A� ��!�A�#��d�"� �Q��� ��!�A�#��d�"��2�A���!�"��$�D� �q�5�4�;�;�t�$� $�d� *�*r<c��tj|�}t|t�rt j |ddd�St j |ddd�S)NrSrT�.rrr)rBrCr6r7ra� _splitext�ris r:rrsG�� � � �!� �A��!�U���$�$�Q��t�T�:�:��$�$�Q��c�3�7�7r<c� � t|�dSr��rr�s r:rr s��3� ��8�A�;�r<c� � t|�dS)Nrr�r�s r:rrs��7� ��8�A�;�r<�st_reparse_tagc�� tj|�}t |j tjk(�S#tttf$rYywxYw�NF) rB�lstat�OSError� ValueErrorr_�boolr��stat�IO_REPARSE_TAG_MOUNT_POINT�r9�sts r:r1r1sP��/� ����$��B��B�%�%��)H�)H�H�I�I����^�4� �� �s�>�A�Ac�0� tj|�yr�)rBrCr8s r:r1r1$s��/� � � �$��r<c�\� tj|�}y#ttf$rYywxYw)NFT)rBr�r�r�r�s r:rr,s5��M�� �X�X�d�^�� �� �Z� ����s ��+�+)�_getvolumepathnamec�@� tj|�}t|�}t|�}t |�\}}}|r |d|vr| S|r|syt rL|j |�}t |�j |�}|j�|j�k(Sy)NrTF)rBrCr;r!rr�r��casefold)r9rdrorp�rest�x�ys r:rrBs���#� �9�9�T�?�D� �� �D� �4�=�D�!�$���E�4�� ��q��T�!��x�� �D��� �K�K�� �� �d� #� *� *�4� 0���z�z�|�q�z�z�|�+�+�r<c�:� tj|�}t|t�rd}nd}|j |�s|Sdt |�}}||kr+||t |�vr|dz }||kr||t |�vr�dtjvrtjd}nEdtjvr|S tjd}t|tjd�}|dk7rs|d|}t|t�rtj|�}tjjd�}||k7r%|t|�k7r|Stt|�|�}t|t�rtj|�}|||dzS#t$rd}Y��wxYw) N�~�~rV� USERPROFILE�HOMEPATH� HOMEDRIVEru�USERNAME)rBrCr6r7rWr�r;�environ�KeyErrorr rP�getrrrO)r9�tilder��n�userhomero� target_user� current_users r:rr_s���0� �9�9�T�?�D��$������� �?�?�5� !�� � �c�$�i�q�A� �a�%�D��G�=��#6�6� �Q��� �a�%�D��G�=��#6�6��� � �"��:�:�m�,�� �2�:�:� %�� � ��J�J�{�+�E���r�z�z�*�5�6���A�v��1�Q�i� � �k�5� )��+�+�k�2�K��z�z�~�~�j�1� � �,� &� �x��1�1�� ��G�H�-�{�;�H��$����;�;�x�(�� �d�1�2�h� ���/� ��E� �s�7F � F�Fz.'[^']*'?|%(%|[^%]*%?)|\$(\$|[-\w]+|\{[^}]*\}?)c� ������ tj|�}t|t�rld|vrd|vr|Sts.repl�s�����K�K� � � ��Q�4�K���|�� ��>��w��� ��=�=��)���t� ����9�D��v�~�� ����u�%��}�}�V�,��Q�4�K��A�b�z�� ����{�{�2�:�:�b�k�k�$�.?�#@�A�A��t�}�$��� ��Q�4�K� �s�6:B6�1B6�6C�C)rBrCr6r7�_varsubb�re�compile� _varpatternrK�ASCII�sub�getattr�_varsubr�) r9r�r�r�r�r�r�r�r�s @@@@@r:rr�s����-� �9�9�T�?�D��$��� �t� ��D� 0��K�� ��z�z�+�"4�"4�"6����A�E�E�H������������"�j�$�/�� �d�?�s�$���K�� ��j�j��b�h�h�7�;�;�G������������*�*����6 �t�T�?�r<)�_path_normpathc�� tj|�}t|t�r d}d}d}d}nd}d}d}d}|j ||�}t |�\}}}||z}|j |�}d } | t|�kr_|| r|| |k(r|| =n?|| |k(r2| d kDr|| d z |k7r|| d z | d z�=| d z} n| d k(r|r|| =n | d z } n| d z } | t|�kr�_|s|s|j|�||j|�zS) NrSrTr��..rrrrrrV) rBrCr6r7rGrrr��appendr ) r9r$r'r"r#rorp�prefix�compsr�s r:r r �s6��>��y�y���� �d�E� "��C��F��F��F��C��F��F��F��|�|�F�C�(��%�d�O���t�T������ � �3��� ���#�e�*�n���8�u�Q�x�6�1��!�H��q��V�#��q�5�U�1�Q�3�Z�6�1��a��c�!�A�#�g����F�A��!�V���a����F�A��Q����#�e�*�n��e� �L�L�� �������'�'r<)�_getfullpathnamec��� tt|��S#ttf$rYnwxYwt j |�}t |�s�t|t�rd}tj}nd}tj}t|�\}}}|s|rK tt||z�|�}t|�S#ttf$r||z|z}Yt|�SwxYwt|�|�}t|�S)NrSr) r�r r�r�rBrCr r6r7�getcwdb�getcwdrr )r9r$r�rorps r:r!r!s���4� �#�H�T�N�3� 3����$� � � ���y�y�����T�{��$��&������������� )�$�� �E�4����.�� 0���� >��E�D� ��~���  ��,�.� �3�;��-�D���~�� .���F�H�d�+����~�s��)�)�B8�8C�Cc��� tj|�}t|�sEt|t�rtj �}ntj �}t||�}t|�Srn) rBrCr r6r7r�r�r r )r9�cwds r:r!r!sN��4��y�y�����T�{��$��&��j�j�l���i�i�k����T�?�D���~�r<)�_getfinalpathname�readlinkc�p�d}t�}t|�|vro|jt|�� |}t|�}t |�s.t |�s|} |St tt|�|��}t|�|vr�o|S#|$r}|j|vrYd}~|S�d}~wt$rY|SwxYw)N) rVrvrU��� �2�C�Wi&i(i)) �setr �add� _nt_readlinkr rr r r�winerrorr�)r9� ignored_error�allowed_winerror�seen�old_path�exs r:�_readlink_deepr�<s���L���u���t�n�D�(� �H�H�X�d�^� $� ���#�D�)���T�{�"�(�+�'���� �$�D���):�D�$A�B�D��t�n�D�(�,� ��!� ��;�;�"2�2�� � � ��� ��� � �s)�%B �B � B5�B%�$B%�% B5�4B5c�Z�d}|dd}|r t|�}|r t||�S|S|S#|$ry}|j|vr� t||��}||k7r|r t||�n|cYd}~Sn #|$rYnwxYwt |�\}}|r |s ||zcYd}~S|r t||�n|}Yd}~nd}~wwxYw|r����)N)rVrvrUr�r�r�r��5�Ar�r��{�i�i�r�r�)r�r r�r�r)r9r�r�rqr��new_pathr�s r:�_getfinalpathname_nonstrictr�fs���$X���B�Q�x��� :�(��.��+/�t�D�$�'�9�T�9�,� ��+!� :��;�;�&6�6�� � .�d��!?�?�$��F�'�J�#�N��)�)�+�C���~��'�!2�2�#��_�_�V�,� � �]� "�-�M��F� ��M�#�M��%��+���T�?�D� L�$�T�*�D� � � �d�o�o�f�5����z�*�&��c�*�o�.>�)?�?���S��[�\�*�� !�$�U�+�t�3� �D�� �t� ��G� "� ��c�"�g�&�D�0��D�>�D��� L�!�{�{� �.�t�=J�L�D�� L��$� �� � �� � !��;�;�"2�2� �D��� ��  !�sB�" E�4F&� F#�"E8�8F#�F�F#�& G�5 G�G�Gc��t|�Srn)r!)r9r�s r:r*r*9s ���t�}�r<Tc�N� tj|�}t|t�rd}d}d}nd}d}d}|�|}|s t d��tj|�} t t |��}t t |��}t|�\}}} t|�\} }} t|�t| �k7rt d| �d |����| j|�D� cgc]} | s�| �� } } | j|�D� cgc]} | s�| �� }} d }t| |�D]#\}}t|�t|�k7rn|d z }�%|gt| �|z z||dz}|s|St|�Scc} wcc} w#ttttt f$rt#j$d ||��wxYw) NrSr�r�rrrzno path specifiedzpath is on mount z, start on mount rrVr,)rBrCr6r7r�r!r rr r�zipr�r r^r_r`�DeprecationWarningrarb)r9r}r$r"r#� start_abs�path_abs� start_drive�_� start_rest� path_drive� path_restr�� start_list� path_listr��e1�e2�rel_lists r:r,r,�s���-� �9�9�T�?�D��$��������������� �}��� ��,�-�-� �I�I�e� �E���H�U�O�,� ��8�D�>�*��%.�y�%9�"� �Q� �#,�X�#6� � �A�y� �K� �H�Z�$8� 8���K�)�*� *�",�!1�!1�#�!6�<�!6�A�!�a�!6� �<� )���� 4�:� 4�1��Q� 4� �:� ���*�i�0�F�B����|�x��|�+�� ��F�A�1� �8�s�:��q�0�1�I�a�b�M�A����M��X����=��:�� �z�>�<�AS� T���$�$�Y��e�<� ��s>�BE-�E#�$E#�(E-�=E(�E(� AE-�E-�# E-�-7F$c �b� |s td��tttj|��}t |dt �rd}d}d}nd}d}d} |D�cgc]+}t|j||�j����-}}|D���cgc]\}}}|j|���}}}}t|D���chc]\}}}|�� c}}}�d k7r td ��t|D���chc]\}}}|�� c}}}�d k7r td ��t|dj||��\} } } | j|�} | D� cgc] } | s�| |k7s� | ��} } |D�� cgc]}|D� cgc] } | s�| |k7s� | ��c} ��}}} t|�}t|�}t|�D]\}} | ||k7s�| d|} n| dt|�} | | z|j| �zScc}wcc}}}wcc}}}wcc}}}wcc} wcc} wcc} }w#t t"f$rt%j&d g|����wxYw) Nz%commonpath() arg is an empty sequencerrSrTr�rrrrVz%Can't mix absolute and relative pathszPaths don't have the same driver0)r��tupler]rBrCr6r7rrGrQrr��min�max� enumerater r^r_rarb)rcr$r'r"ri� drivesplitsr�r�� split_pathsrorpr9�common�crL�s1�s2r�s r:r0r0s.��N� ��@�A�A� �#�b�i�i��'� (�E��%��(�E�"��������������JO�P�%�Q�y����6�3�!7�!=�!=�!?�@�%� �P�3>�?�;���1�a�q�w�w�s�|�;� �?� ��-��g�a��A���-� .�!� 3��D�E� E� ��-��g�a��A���-� .�!� 3��>�?� ?�%�e�A�h�&6�&6�v�s�&C�D���t�T����C���#�9�V��q�Q�&�[�!�V��9�DO�P�K�q�1�:�1�a��a�6�k��1�:�K� �P� �� �� �� ���b�M�D�A�q��B�q�E�z�������"� �H�S��W�%�F��t�|�c�h�h�v�.�.�.��5Q��?��-�� .�� :��:��P�� �~� &���$�$�\�:�E�:� ��s��H�0G�H�G"�+H�: G) �"H�) G0 �6AH�G7� G7�G7�H� H�&G< �.G< �4G< �8H�=2H�0,H�H�<H�H�'H.)� _path_isdir)� _path_isfile)� _path_islink)� _path_exists)�_path_isdevdrivec�L� tt|��S#t$rYywxYwr�)rr!r�r8s r:� isdevdriver`s+��N� �#�G�D�M�2� 2��� �� �s �� #�#c�� yr�r�r8s r:rr[s��N�r<rn)Er"r#r(r$r%r'r&r)rBrDr�ra�__all__r;�_winapir=rHr>rIr?rJr � ImportErrorr r r rrrr��__doc__rr�hasattr� stat_resultr1r�ntr�rrr�r�r�rr�r r�r!r�r�r�r�r�r�r*r+r,r0rrrrrrrrrrr�r<r:�r's��� �� �� �� �� �� �� �� �� � � ��� ���!,�-�-� 8�H�(+�b�.1�r +�*8� �(�(�0�0��� �� �2�>�>�+�,�J���$�%��:-�z@� � �� ��:�@&(�-�R)�#��6g�>� ,3�(�T9@�0�d"'�D�P"��+�p.�b  �(�)�)�)� �#���u� ,�,� ,��t������F�#(�"(�#(��T� � � ��T��!&����x� �� ������s}� C9� D�#D�*D"�4D0�E�/E �9D�D�D�D�D�D�"D-�,D-�0 D>�=D>�E �E � E�E