HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/multiprocessing/__pycache__/shared_memory.cpython-311.opt-2.pyc
�

��Vc�I���	ddgZddlmZddlZddlZddlZddlZddlZddlZej	dkrddl
Z
dZnddlZdZdd	l
mZejejzZd
ZerdZndZd
�ZGd�d��ZdZGd�d��ZdS)�SharedMemory�
ShareableList�)�partialN�ntFT�)�resource_tracker�z/psm_�wnsm_c�~�	ttt��z
dz}ttj|��z}|S)N�)�_SHM_SAFE_NAME_LENGTH�len�_SHM_NAME_PREFIX�secrets�	token_hex)�nbytes�names  �1D:\Python311\Lib\multiprocessing\shared_memory.py�_make_filenamer(s7��<�#�c�*:�&;�&;�;��
A�F��g�/��7�7�7�D��K�c��eZdZ	dZdZdZdZejZ	dZ
erdndZdd�Z
d�Zd	�Zd
�Zed���Zed���Zed
���Zd�Zd�ZdS)rN���i�TFrc��|dkstd���|r.ttjz|_|dkrtd���|�#|jtjzstd���t�r*|�O	t��}	tj	||j|j
���|_n#t$rY�CwxYw||_
n;|jrd|zn|}tj	||j|j
���|_||_
	|r|rtj|j|��tj|j��}|j}t%j|j|��|_n##t($r|����wxYwt-j|j
d���n�|�r#	|�t��n|}t1jt0jt0jt0j|d	z	d
z|d
z|��}	t1j��}|t0jkrZ|�Btt>j tj!t>j ��|t0j���	t1j"|����t%jd||���|_t1j"|��n#t1j"|��wxYw||_
n�||_
t1j#t0j$d
|��}	t1j%|t0j$ddd��}t1j"|��n#t1j"|��wxYwt1j&|��}t%jd||���|_||_'tQ|j��|_)dS)Nrz!'size' must be a positive integerz4'size' must be a positive number different from zeroz&'name' can only be None if create=TrueT)�mode�/�
shared_memory� l��r)�tagnameF)*�
ValueError�_O_CREX�os�O_RDWR�_flags�O_EXCL�
_USE_POSIXr�_posixshmem�shm_open�_mode�_fd�FileExistsError�_name�_prepend_leading_slash�	ftruncate�fstat�st_size�mmap�_mmap�OSError�unlinkr�register�_winapi�CreateFileMapping�INVALID_HANDLE_VALUE�NULL�PAGE_READWRITE�GetLastError�ERROR_ALREADY_EXISTS�errno�EEXIST�strerror�CloseHandle�OpenFileMapping�
FILE_MAP_READ�
MapViewOfFile�VirtualQuerySize�_size�
memoryview�_buf)	�selfr�create�size�stats�	temp_name�h_map�last_error_code�p_bufs	         r�__init__zSharedMemory.__init__Ks����q�y�	B��@�A�A�A��	Y�!�B�I�-�D�K��q�y�
Y� �!W�X�X�X��	G���b�i� 7�	G��E�F�F�F��\	?��
"��)�+�+�D�!�#.�#7� � �K�!%��$�$�$�����
+�!�!�!� ��!����!%�D�J��%)�%@�J�s�T�z�z�d��&�/���K��������
"��
�
��1�d�1��L���4�0�0�0�����*�*���}��!�Y�t�x��6�6��
�
���
�
�
����
�
�
��
����
�%�d�j�/�B�B�B�B��3
?��48� J�� 0� 0� 0�d�I�$�5��4����.����z�1��z�)�!�
��E�3�*1�*>�*@�*@��*�g�.J�J�	)�#�)�&5�$)�L�$&�K���$=�$=�$(�$+�$@�	'"�'"�!"�!)� �+�E�2�2�2�2�&*�Y�r�4��%K�%K�%K��
��+�E�2�2�2�2���+�E�2�2�2�2����!*�D�J��"��
� �/��)������
	/�#�1���-������E��'��.�.�.�.��G�'��.�.�.�.�����/��6�6��!�Y�r�4��>�>�>��
���
��t�z�*�*��	�	�	s>�&B,�,
B9�8B9�AE� E>�4A'J"�1J"�"J8�+"L"�"L8c�R�	|���dS#t$rYdSwxYw�N)�closer2�rGs r�__del__zSharedMemory.__del__�s:��	��J�J�L�L�L�L�L���	�	�	��D�D�	���s��
&�&c�.�|j|jd|jffS)NF)�	__class__rrIrSs r�
__reduce__zSharedMemory.__reduce__�s#���N��	���	�
�
�	
rc�@�|jj�d|j�d|j�d�S)N�(z, size=�))rV�__name__rrIrSs r�__repr__zSharedMemory.__repr__�s*���.�)�L�L�D�I�L�L��	�L�L�L�Lrc��	|jSrQ)rFrSs r�bufzSharedMemory.buf�s
��>��y�rc��	|j}tr0|jr)|j�d��r|jdd�}|S)Nrr)r+r%r,�
startswith)rG�
reported_names  rrzSharedMemory.name�sK��>��
�
��	/�$�5�	/��z�$�$�S�)�)�
/� $�
�1�2�2��
��rc��	|jSrQ)rDrSs rrIzSharedMemory.size�s
����z�rc��	|j� |j���d|_|j� |j���d|_tr-|jdkr$t
j|j��d|_dSdSdS)Nrr)rF�releaser1rRr%r)r!rSs rrRzSharedMemory.close�s���	0��9�	��I�������D�I��:�	��J�������D�J��	�$�(�a�-�	��H�T�X�����D�H�H�H�	�	�	�	rc��	tr<|jr7tj|j��t	j|jd��dSdSdS)Nr)r%r+r&�
shm_unlinkr�
unregisterrSs rr3zSharedMemory.unlink�sb��	'�
�	E�$�*�	E��"�4�:�.�.�.��'��
�O�D�D�D�D�D�	E�	E�	E�	Er)NFr)r[�
__module__�__qualname__r+r)r1rFr!r"r#r(r%r,rOrTrWr\�propertyr^rrIrRr3�rrrr2s������
B� 
�E�
�C��E��D�
�Y�F��E�%/�:�T�T�U��i+�i+�i+�i+�V���
�
�
�M�M�M�����X������X������X�����E�E�E�E�Er�utf8c�j�eZdZ	edededededdjdiZ	dZ
d�d	�d
�d�d�Zed
���Z
d!dd�d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zed���Zed���Zed���Zed���Zed���Zed���Zed���Zd�Zd �Z e!e"j#��Z$dS)"r�q�dzxxxxxxx?z%dsNzxxxxxx?x�c��|SrQrk��values r�<lambda>zShareableList.<lambda>s���rc�\�|�d���t��S�N�)�rstrip�decode�	_encodingrrs rrtzShareableList.<lambda>s �����g�.�.�5�5�i�@�@�rc�,�|�d��Srv)rxrrs rrtzShareableList.<lambda>s�����g�.�.�rc��dSrQrk)�_values rrtzShareableList.<lambda>s��$�r)rrr�c��	t|ttdjf��sdSt|t��rdSt|t��rdSdS)Nrrrr~)�
isinstance�str�bytesrVrrs r�_extract_recreation_codez&ShareableList._extract_recreation_codes\��	2��%�#�u�d�n�!=�>�>�	��1�
��s�
#�
#�	��1�
��u�
%�
%�	��1��1r�rc�L���|�|��|pd}�fd�|D��}t|���_d}dg�_|D]I}||ddkr�jnt	|dd���z
}�j�|���J�fd�|D��}t
jd�jzd�	|��z�j
z�jz��}t|d	|�
���_
nt|���_
|��t�t
jd�jz�j
jd�jg�j�R�t
jd�	|���j
j�jg�fd�|D���R�t
j�j
�j
j�jg�fd�|D���R�t
j�j�j
j�jg|�R�dSt����_t)t
j�j�j
jd
�����_dS)Nrkc���g|]v}t|ttf��s�jt	|��n=�jt	|���jt
|���jzdzzfz��wS)r)r�r�r��_types_mapping�type�
_alignmentr��.0�itemrGs  �r�
<listcomp>z*ShareableList.__init__.<locals>.<listcomp>*s��������	&�d�S�%�L�9�9���#�D��J�J�/�/��,�T�$�Z�Z�8���3�t�9�9���+G�!�+K�L�<����rrr�sc�:��g|]}��|����Srk)r�r�s  �rr�z*ShareableList.__init__.<locals>.<listcomp><s4���!�!�!�8<��-�-�d�3�3�!�!�!rrn�T)rHrIc3�p�K�|]0}t|t��r|����n|V��1dSrQ)r�r��encode�r��v�_encs  �r�	<genexpr>z)ShareableList.__init__.<locals>.<genexpr>Ws@�����P�P�!�J�q�#�$6�$6�=�!�(�(�4�.�.�.�A�P�P�P�P�P�Prc3�B�K�|]}|����V��dSrQ)r�r�s  �rr�z)ShareableList.__init__.<locals>.<genexpr>]s-�����3�3�Q�!�(�(�4�.�.�3�3�3�3�3�3rrp)r�	_list_len�_allocated_offsetsr��int�append�struct�calcsize�_format_size_metainfo�join�_format_packing_metainfo�_format_back_transform_codesr�shmrz�	pack_intor^�_offset_data_start�_offset_packing_formats�_offset_back_transform_codes�list�unpack_from)	rG�sequencer�_formats�offset�fmt�_recreation_codes�requested_sizer�s	`       @rrOzShareableList.__init__'s������ 	*�8� 	*��~�2�H�����%�
���H�!��]�]�D�N��F�()�c�D�#��
7�
7���S��W��^�N�$�/�/��S��"��X���N���'�.�.�v�6�6�6�6�!�!�!�!�@H�!�!�!��$�_��d�0�0�����!�!�"��-�.��1�2���N�$�D��N�K�K�K�D�H�H�#�D�)�)�D�H��$	��D����d�0�0�������	
�
�)�
�
�
�
�
������!�!�����'�
�Q�P�P�P�x�P�P�P�	
�
�
�
�
���-�����,�
�4�3�3�3�(�3�3�3�	
�
�
�
�
���1�����1�
�$�	
�
�
�
�
�
�!��Y�Y�D�N�&*��"��.��H�L����'�'�D�#�#�#rc�6�	|dkr|n	||jz}||jks|jdkrtd���tjd|jj|j|dzz��d}|�d��}|�t��}|S)Nr� Requested position out of range.�8srprw)
r��
IndexErrorr�r�r�r^r�rxryrz)rG�positionr�r��
fmt_as_strs     r�_get_packing_formatz!ShareableList._get_packing_formatps���H�'�1�}�K�8�8�(�T�^�2K�����&�	A�D�N�Q�,>�	A��?�@�@�@�����H�L��(�8�a�<�7�
�
��	

��
�h�h�w�����Z�Z�	�*�*�
��rc���	||jks|jdkrtd���tjd|jj|j|z��d}|j|}|S)Nrr��b)r�r�r�r�r�r^r��_back_transforms_mapping)rGr��transform_code�transform_functions    r�_get_back_transformz!ShareableList._get_back_transform�sz��C����&�	A�D�N�Q�,>�	A��?�@�@�@��+���H�L��-��8�
�
��	
��
"�:�>�J��!�!rc�V�	||jks|jdkrtd���tjd|jj|j|dzz|�t����|�	|��}tjd|jj|j
|z|��dS)Nrr�r�rpr�)r�r�r�r�r�r^r�r�rzr�r�)rGr�r�rsr�s     r�!_set_packing_format_and_transformz/ShareableList._set_packing_format_and_transform�s���	?�
���&�	A�D�N�Q�,>�	A��?�@�@�@�����H�L��(�8�a�<�7����i�(�(�		
�	
�	
��6�6�u�=�=������H�L��-��8��		
�	
�	
�	
�	
rc�<�|dkr|n	||jz}	|j|j|z}tj|�|��|jj|��\}n#t$rtd���wxYw|�	|��}||��}|S)Nrzindex out of range)
r�r�r�r�r�r�r�r^r�r�)rGr�r�r��back_transforms     r�__getitem__zShareableList.__getitem__�s���'�1�}�K�8�8�(�T�^�2K��	3��,�t�/F�x�/P�P�F��%��(�(��2�2�������D�Q�Q��
�	3�	3�	3��1�2�2�2�	3�����1�1�(�;�;���N�1�����s�A
A�A9c��|dkr|n	||jz}	|j|}|j|z}|�|��}n#t$rt	d���wxYwt|ttf��s|jt|��}|}n�|j|dz|z
}t|t��r|�
t��n|}t|��|krtd���|ddkr|}n|jt|fz}|�|||��tj||jj||��dS)Nrzassignment index out of rangerz(bytes/str item exceeds available storagerr�)r�r�r�r�r�r�r�r�r�r�r�rzrrr�r�r�r�r^)	rGr�rs�item_offsetr��current_format�
new_format�
encoded_value�allocated_lengths	         r�__setitem__zShareableList.__setitem__�s���'�1�}�K�8�8�(�T�^�2K��	>��1�(�;�K��,�{�:�F�!�5�5�h�?�?�N�N���	>�	>�	>��<�=�=�=�	>�����%�#�u��.�.�	��,�T�%�[�[�9�J�!�M�M�#�6�x�!�|�D�{�R��!+�5�#� 6� 6�B�U�\�\�)�4�4�4�<A�
��=�!�!�$4�4�
M� �!K�L�L�L��b�!�S�(�
�+�
�
�!�0��5�$�9��
�	
�.�.����	
�	
�	
�
	���T�X�\�6�=�I�I�I�I�Is�,A�Ac�F�t|j|jj���dfS)Nr�rk)rrVr�rrSs rrWzShareableList.__reduce__�s ���t�~�D�H�M�:�:�:�B�>�>rc�N�tjd|jjd��dS)Nrnr)r�r�r�r^rSs r�__len__zShareableList.__len__�s ���!�#�t�x�|�Q�7�7��:�:rc�Z�|jj�dt|���d|jj�d�S)NrYz, name=rZ)rVr[r�r�rrSs rr\zShareableList.__repr__�s0���.�)�Q�Q�D��J�J�Q�Q�t�x�}�Q�Q�Q�Qrc�l��	d��fd�t�j��D����S)Nr�c3�B�K�|]}��|��V��dSrQ)r�)r��irGs  �rr�z'ShareableList.format.<locals>.<genexpr>�sB�����
�
�,-�D�$�$�Q�'�'�
�
�
�
�
�
r)r��ranger�rSs`r�formatzShareableList.format�sL���G��w�w�
�
�
�
�16�t�~�1F�1F�
�
�
�
�
�	
rc��	d|jdzzS)Nrnr�r�rSs rr�z#ShareableList._format_size_metainfo�s��H��d�n�q�(�)�)rc��	d|jzS)Nr�r�rSs rr�z&ShareableList._format_packing_metainfo�s��H��d�n�$�$rc��	d|jzS)Nr�r�rSs rr�z*ShareableList._format_back_transform_codes�s��H��T�^�#�#rc��|jdzdzS)Nrrpr�rSs rr�z ShareableList._offset_data_start�s�����"�a�'�'rc�,�|j|jdzS)Nr)r�r�rSs rr�z%ShareableList._offset_packing_formats�s���&��)@��)D�D�Drc�&�|j|jdzzS)Nrp)r�r�rSs rr�z*ShareableList._offset_back_transform_codess���+�d�n�q�.@�@�@rc�<��	t�fd�|D����S)Nc3�$�K�|]
}�|kV��dSrQrk)r��entryrss  �rr�z&ShareableList.count.<locals>.<genexpr>s'�����4�4�e�5�E�>�4�4�4�4�4�4r)�sum)rGrss `r�countzShareableList.counts)���M��4�4�4�4�t�4�4�4�4�4�4rc�f�	t|��D]\}}||kr|cS�t|�d����)Nz not in this container)�	enumerater)rGrsr�r�s    r�indexzShareableList.index	sW��	:� )����	A�	A�O�H�e���~�
 �����
 ���?�?�?�@�@�@rrQ)%r[rhrir��float�boolr�r�rVr�r�r��staticmethodr�rOr�r�r�r�r�rWr�r\rjr�r�r�r�r�r�r�r�r��classmethod�types�GenericAlias�__class_getitem__rkrrrr�s$������*�&	�S�
�s��j��U�
�u���
�
�N��J���@�@�.�.���	 � ������\��G�d�G�G�G�G�G�R��� 
"�
"�
"�
�
�
�,���"J�J�J�B?�?�?�;�;�;�R�R�R��
�
��X�
��*�*��X�*��%�%��X�%��$�$��X�$��(�(��X�(�
�E�E��X�E��A�A��X�A�5�5�5�
A�A�A�$��E�$6�7�7���r)�__all__�	functoolsrr0r!r<r�rr�rr5r%r&r�r�O_CREATr$r r
rrrrzrrkrr�<module>r�s[���
�O�
-������������	�	�	�	�����
�
�
�
����������7�d�?���N�N�N��J�J������J�������
�*�r�y�
 ��������������E�E�E�E�E�E�E�E�D
�	�]8�]8�]8�]8�]8�]8�]8�]8�]8�]8r