📄 librayon_core-af936d5901b0fce8.rmeta
/home/palash/git/iron_learn/target/debug/deps/librayon_core-af936d5901b0fce8.rmeta
Language: rmeta • Lines: 9752
rust
aX#rustc 1.92.0 (ded5c06cf 2025-12-08)���	ⷄ�ۆ��p��-225863f279df55c4��١�	�T�6a��D�
-5080178c80bf7a93��uӰ]����d��!�-06039bcfba61f665��**�٭T��HО�9�-3e2e950d4bac10b5��	�t�#3Ҵη��Ǣ-d25e598578fbf080�rustc_std_workspace_core������Nm��gmY���-327ea4f353b4eb8c���y.:i���gy"1�r-94fdfaf0af91a65d�miniz_oxide�M�^�yTLm�L�d=B-5312b588e5cfab93�adler2��;~�7�ɴ,P?���-1e0b0d62df36c85c�	hashbrown�L�ϫ	2݆y��q-2ed6a8f06fc51a9d�rustc_std_workspace_alloc�a���p��H����6Z�-05b02707a5b2a256�
std_detect�	c�LN����=1�ʶӐ-5978f0713dd5442d�rustc_demangle�X�Fq��UՃ�>7z
��-43b2ff22c18e1125�cfg_if�֦<����ɐ¬�-6a40188dd7d989d2�	addr2line���,2�!xb�"6�!�	-11d54e777384a9e5�gimli��2��I.�ġ�����-35018e994bad7042�object��T �f��Y�
hQec-2dc10b344e05b569�memchr��xZT9�C��I�Mg�-09f2ab7e0d97e07a��~ݤ	����h���-932f22f820d1e5ec�crossbeam_deque��}�6'��䑞�%�&-6995d016e26db07f�crossbeam_epoch��Fh�o?���-]"�+-3f303a1308604a37�crossbeam_utils���^��g�`����s\-8775055eb4b1a9f1��$��$��$��$���$��$��THREADS_BITS�d����32�$�܄��$�0�$�0��$��$�$��$	�$�!�<�!
web_spin_lock�|�!̯!�private�
PrivateMarker�
private_decl�private_impl�	broadcast�	
�OP�R�spawn_broadcast� �BroadcastContext�"'a�"worker�"_marker�&�&with�(�(&impl FnOnce(BroadcastContext<'_>) -> R�&�&num_threads�-�-�broadcast_in�0�0�0	0	0	0	spawn_broadcast_in�7�7	9	7	job�<<<<<<<<<<	JobResult�F�F�H
F�J
J�FPanic�M
M�<Job�Pexecute�<JobRef�R�R
execute_fn�<<<W�
X�Wid�ZW�<StackJob�]L�]F�]�]latch�]func�]�
<d�d�d�d�
d
as_job_ref�d
run_inline�dinto_result�<l�l�l�l�<HeapJob�qBODY�q�<t�t�
tinto_job_ref�tinto_static_job_ref�<y�y�<ArcJob�|�|�<��
�as_static_job_ref�<����<	�����impl FnOnce(bool) -> T��	�into_return_value�<JobFifo��inner�<
��
�push�<��join������������A��B��RA��RB������impl FnOnce() -> R���	�join_context����������call_a����impl FnOnce(FnContext) -> R���	�call_b�������	�	�join_recover_from_panic������������	�
��Latch��set��AsCoreLatch��
as_core_latch��UNSET��SLEEPY��SLEEPING��SET����
�
get_sleepy��fall_asleep��wake_up����probe�����	SpinLatch��'r��
core_latch��registry��target_worker_index��cross������
�������������
�wait_and_reset��wait�������
�set_and_tickle_one�����CountLatchKind��Stealing������worker_index��Blocking����	���
��
�
with_count��	increment�������LatchRef���������	�����
�
�������������������������	�
���
������������������� �!�"�#�$�%�&�'�(�)�*�
ThreadBuilder���
�
stack_size����stealer����������
���run�����ThreadSpawn��spawn���� �	�����
����� �Registry��thread_infos��sleep��
injected_jobs��
broadcasts����
start_handler��exit_handler��terminate_count��THE_REGISTRY��THE_REGISTRY_SET��global_registry��	�init_global_registry��S��	�set_global_registry����	�	�default_global_registry��
Terminator��
������������
��#�	�	�current��current_num_threads��current_thread�����
���
impl FnOnce()��wait_until_primed��inject_or_push��inject��has_injected_job��pop_injected_job��inject_broadcast��%impl ExactSizeIterator<Item = JobRef>��	in_worker������in_worker_cold������	�	�in_worker_cross������	�increment_terminate_count��	terminate��notify_worker_latch_is_set��
ThreadInfo��primed��stopped���(�� ���
�WorkerThread����� �fifo����rng�������	���	�
��$�set_current��	�������	push_fifo��local_deque_is_empty��take_local_job���&�
wait_until����wait_until_cold��	�wait_until_out_of_work��	find_work��	�	�	yield_now��yield_local����steal��	�	�	main_loop��	�	��'�����XorShift64Star������
�COUNTER����
next_usize�scope�����������	�
���
�����������Scope��'scope��base��	ScopeFifo���.��/�fifos��	ScopeBase���.�����job_completed_latch���	��-��.�����	�	�
scope_fifo���.�����	�	�in_place_scope���.�����do_in_place_scope���.�����	�get_in_place_thread_registry��in_place_scope_fifo���.�����do_in_place_scope_fifo���.�����	���.��
�� ���	�	�����	�	�	���.��
�	�
spawn_fifo����	�	�����	�	�	���.��
�	�heap_job_ref��FUNC���&��4�	�complete���4���execute_job���4�execute_job_closure���4���job_panicked��maybe_propagate_panic����.�����.���ScopePtr��
����������������!��������counters�����AtomicCounters�����DUMMY��as_usize��	is_sleepy��	is_active���	�SLEEPING_SHIFT��INACTIVE_SHIFT��	JEC_SHIFT��THREADS_MAX��ONE_SLEEPING��ONE_INACTIVE��ONE_JEC����
��	�try_exchange��add_inactive_thread��increment_jobs_event_counter_if��!impl Fn(JobsEventCounter) -> bool��sub_inactive_thread��sub_sleeping_thread��try_add_sleeping_thread��
select_thread��
select_jec����
�increment_jobs_counter��jobs_counter��inactive_threads��awake_but_idle_threads��sleeping_threads�������	�
�Sleep��worker_sleep_states���7�	IdleState����rounds���;�ROUNDS_UNTIL_SLEEPY��ROUNDS_UNTIL_SLEEPING����
�	�
start_looking��
work_found��
no_work_found��impl FnOnce() -> bool��announce_sleepy���!��>��(�new_injected_jobs��new_internal_jobs��new_jobs��wake_any_threads��wake_specific_thread���
wake_fully��wake_partly�� ������� ���spawn_in����	spawn_job����	��3���
spawn_fifo_in���thread_pool�����������	�
���
�����������
ThreadPool������
�build���#�install������	��������%�current_thread_index�� current_thread_has_pending_tasks������������	��-��.�����	��0��.�����	��0��.������1��.������ ����3��������,��,��������C��C��,��,�������halt_unwinding������resume_unwinding��AbortIfPanic��
���compile_fail��quicksort_race1��quicksort_race2��quicksort_race3��	rc_return��left��right��rc_upvar��scope_join_bad�	

 !"#$%&'max_num_threads��%ThreadPoolBuilder���#��
�use_current_thread����get_thread_name�����"��"�
spawn_handler��
breadth_first�PanicHandler�StartHandler�ExitHandler��>��
��#��B�build_global��build_scoped��W������	�	�	��#��K���get_spawn_handler��get_num_threads��	�	�	�	��J�thread_name�����
��J�take_panic_handler����H��get_stack_size�����K�get_breadth_first��take_start_handler���"��N�take_exit_handler���"��N��
��B��M����
����N����K��"��N��"��N�into_builder���
�is_unsupported�GLOBAL_POOL_ALREADY_INITIALIZED�CURRENT_THREAD_ALREADY_IN_POOL��description��source���
initialize�	��#���ClosurePlaceholder��
����	�	�	�	
����
�migrated��	CoreLatch�������	LockLatch��m��v�����	OnceLatch�������
CountLatch��counter���	����__rayon_private__��DefaultSpawn��
����
�>��T�CustomSpawn��
�����������T�
LOCK_LATCH��__RUST_STD_INTERNAL_INIT���	�__RUST_STD_INTERNAL_VAL��	��U�
RegistryId��addr����������������������WORKER_THREAD_STATE���U��	��U�	��U�Counters��word������JobsEventCounter��
����������	�
������WorkerSleepState��
is_blocked��condvar���>���Executed��
�Idle��
��������������ThreadPoolBuildError���	
��	ErrorKind��GlobalPoolAlreadyInitialized��
�CurrentThreadAlreadyInPool��
�IOError��
����
Configuration��builder��>	FnContext���R����8 8(8+8,8/8/8/808087878Z8i8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8�8P����_""�$�%���,C���RR�S�<T�<���
�����lP]]�a�b�<c�
<�Z��t�4���Pqq�s�<������{k�P||�~�<eU5i<]��nP�����<e;����ne�_���R���n�pFM�L��o�����������������"O�B�/8��o�_���S��S���S�a�ئy{���p�_���S����\T��%@��q�_���S��S���	��^��&��_�����������������!��
�D���q���������	�Pa�"���8���r��r�_�����
��������� ���������Զ�)&��_����T�j����'���t��t�_����T���9�Ѫk�?���u�����$���m�HWx�k�����V��V�<������v�_�v���v��v�v��v��v�v��v����)����� ���)������)����($T�B����s��w�_���.��/��v�k���h�.�_���/��/���/�2��/_���.������6�����{(�8����y����W��W��o�!������y�����W�������R���z�_�z���z��z�z��z�z�_�y����X��X���Y��H�����R����B������6�x��_�{�����Y���Y\�d�0�����|�_�|���|��|�|��|�����Gk鳊q�S�_���Z��	D�G��K��_����Z���Z���[��%�J%�L����[��[��]P�>r����J	��
��J����J����"��"��K��KW�Lh��\�t��}�_�}�_���J	��
��J����J����"��"��K��KW�Lh��\�#�_����Q-�K(h����_�~�_���[��R��?�ny�w-"������������������������������������������UR��VR����l]yq�|�����������������������������������������������������������������������������������_�����P�����������������_�����
�����&d�
0��a81�������?�?��?buf��:�?�	�:$x��Lk����B�B�BGlobal�����I��4������J�5�5I�5��4�5phantom��4�5��4榦��������!��!���!���!���"������"���"���"�n���kx5߈���op����>���������������������,��
7��W0)�����
� ���������������%U��������������l�	
	����
���<�
��wl�L�-��!	
�S*
'�	
|�
	
 �w+
7I
Xdx		�����	�Џ�	���
$		
2��n
"����PhantomData�Rҹ��^=x����q
�
��
""�$�%��η��,C,ir(�����������w#����������;�w��Џ������Џ�������
worker_thread��z���ʎ���t������\�Ô��,�
�,<��+��@,���,�Ô
8��x\���D�
�,T���$
���A"(\�
�dl��,��W,��,�������Ô&H—�������
��b
3�����������D�$\���$l��������� 4�
��w<D���1��
�L�t�*t�
�����,

4����]]�a�b�<c�
<�Z��t�4��������	�Pa�"����q3����Ιۙ�����q
��I�
�J�����������,M�[�}��4���������^
��1��\<�
�J����Map����	����<�}�Ta!N�ם���?�?��?���:�?�	�:$x��Lk���߈
(	L��
$�	\�
���)"($�
�o��Q	4���'�
�J�g�gIter��h��g�h
end_or_len��g�h��gFPR<?�����l5�������l�}	���
����#�D�%��
���������	����<�}�Ta!N����kD� ��,� �� $� 
�'t�!
�� $�!
	��!L�!
�H��<\�!��!-�!
�J�<�<IntoIter��<���:�<�:�<cap��:�<��:�<��:�<��:
�hpp�Y8��߈��6���������wݥ��!�!��!7<�!
�J��������	����<�}�Ta!N�ۤݥ��<L�!�!
&�!?O���k	{01��������������������4������D����L�՘�����������������;t���Ôt�����q,���$�ޞKםl��G��P��YޢD���&
��3��O>՘G������Bۤw�����9�=�)		n_threads�N�%��jobs�	job_refs��0�E	��L	��	ݚ����ѝ�؞
��?ҠF����KآRڣ���mդH��t�q	���q����$D���TZ	��[��f&�������
(����:,�3�
������
D�����injected�"��1�������������4�����l�
��q2%��(l�
h����wT1�4�
������
�����
���
�������������_ref__f�_ref__latch���T�
i�����d��5=�l��V����u�����!\�!
kΜ�����!l�!�!6����!ݥ����!����
�%
��%T�%
���D�%'��%�
9��������%�\�%
�9��������%�;��'�D�'	$\�'��$	l�'t�'	
���'��'�

;�����l���5�5I�5��4�5È�4�5��4榦�����||�~�<eU5i<]��߈��'��'
�Jם�l;������	
�	��'���)#�D�)
	%��)
���������	����<�}�Ta!N�םԸ
kD�)	��)�*�*��$�8
H
71��%���%���'���'��$���$��D�$�������D�%L�'՘���D�'ם�Ը�����՘���������Ӫ���~6
�-ݵ������Ǹm�'��.���������D�&����&5�*��&��
:������Wd�&
�:�������e��&,D�&	����&�	)!L�&
�L\�&�'9b
�%�{ ՘)��HҾ��$�՘�����t����������̾����������&��ܙ&��&
(��4(�&:��&Ҿ��	��i��$���_ref__op�D�)����)$�)"̏)
�L܏)$�)����)̵)
��2%�);v�l�'Ը��'�՘������������%���������_ref__registry�	_ref__job���
Џ��


Q�yЏ��g

R�
X���
�l4�
�y$�
Џ���{data� D���d�
Џ|�
����

�
Z��R
Џ��<�
�l,�
Џt��iE��
��d�
Џ��
"�
\��R
�
�l$�
��rЏh<��q,�
T�

���mܔ
|�

�-����������������;t����m{h|�

F�m�� 
|�

�-FHI�JK�L�MN�O���JY�?�m�w���

]�m�m�m�
�
���
h�m��
�m$�
�m,�
�m��-�-
UnsafeCell��-��*��]����������-�-���-��*��]����������������>������m"$�
��
\�

X�m*"�
i��R
�l4�
�m,�
�ml8��y
L�
����
T�

�-��/	d�
��
4�

�P�mG	D�
��'

A
��mљV1	:�
�m��p
�
+��@��T��i�mjl�m�
�m$�
4�
�m��F��cљ6stolen�A������d��A�m�������m"	\�
��Ā
T�

�-��/d�
��,
��

��mG��
�
�m��h
!���
@��T��i�mkl�m�
�m$�
������������m�����������m�	$�

��
����
%Џ&	%'�m*('6H)&(W*)cw	*'&��
Џ 	!��+"!7I# "X$#dx	$! ��"
4�
��̻
D�
��
|�

��m�m$�

)�

\�
����
�

�-��1,�
��
#Џ2	@��LXjy��	���Џ�	�����"7	,�

��
\�

��|�&�|6	)�

�
���

!N
^

�<Џ
=	<>��&?>3F@=SfA@?vBA�	B	�5Џ�6	5�7���87��96��:98;:	;	e0Џu1	0�21��32��43�	4	c+Џs,	+�-,��.-��/.�	/	���

L�
	��|�
�

�-��	1,�
�$�

�Q�m�4�
�
\�
�m��
T�

��m;
#
(p����
���
���
C�
Џ$�
��o��R�|,�
�m$�
��/�����d�����H�������m�m'�]�Џ'/7>ЏGOW_gnЏ������Џjrz���Џ�����Џ6>ELSЏ#+3:AHOЏX`hov}�this�(���	�(-�|�1
�����q�����l������������b�|�|�

q�n��
D�

��n5#�
v��S
���Box�������lf���]v�n߈L�
�n�
�n��x�����"
l�"

��n$�"
%)�n��! 
\�!

X�nV#�"
w��!m
�l4�!
��$�!
����n�>��������#
d�#

w�n$�#
t�#
�#
x��"�
�l4�#
��$�"
.��r��$
����$ 
l�$

��n/$T�%

	��Unique��������^���A��n�������_��M����n���
Џ�	�
�n�
�����	
�%

���11��$u
�%
JY^��]1	t�
Џ�	��n�����		
�nd�%
7
��nL62(1{(��$H
�$
Џ$�$
��$�$
���w�n�����������GЏ����Џ$+29@�����������D��n��ut�(

|�n��'
D�'

�5�n5#�(
���'R
�5�5I�5��4�5È�4�5��4榦������n߈L�'
�n�'
�n��}�����*
T�*

���$�*
&��*
l�*

�6�nH$��*,
\�*

X�nE#�*
���)x
�l4�*
��$�)
�n������C�����������+
��+

��n$�,
%�,
���+�
�l4�+
��$�+
��
0��u��-
�n����- 
l�-

�6�n?$$�-
T�-

���)"&�nd�-
@
��nT�6&/�-
�-
��,u
���-H
	�-
Џ$�,
��$�-
��7��@��n��n����N��R���n��=��������l�.

��y��y����.%
��.

���y�������ye;?	��.+
`�/
������������lf���]v�"��߈��/

F�y�/
�.
��y��.

F�y�/
�/
���-�
��.
�/
FHI�JK�L�MN�O���JY�?�y$�.
��$�.
��������������������q�aX�y����L,�.
�y<�����x�^���(��n�����/
$�.
��T�.

$�.
1
���љG:B�.
�!�y�.
��7���љ�j��`����$�1
	T�1
$�2
���ܻ2
Ļ2

��2
 �2
��y�2
��D]��]����*](��.���1�
��2
��22
�y�1
��$�1
|�1
u����(�����u�������	���	d�
&.:$�
���4�f�
4�
d�$�
���D,��(d�
������́�������������������M���
����,<��T����D���4���4����m����voper_a�Coper_b�L���Y���߉�����d�
�������������]���������܊����D����
���0�?'/��������	́��������3������%�

����������wɋ������$�
��$
����������ݏ��ɋ�F�2���!�ɋD�!��4�!��4�!�������#Q�����##
������ݑ�#���"����ݑ����#ݑ�"D�"���[�#
&ݑD�#Ĺ#t�#
�) ܷ#
#�
�ݑ���CL�#
�#�)9�����#���ݑ+���́����ݑ���$ғ4��ݑ������$+
���ݑљ��ݑ�$���#����ݑ������$ݑ�#�E�$
&ݑ��$t�$ғD�$ ��$
#����9B�$
�$Z)9�����$��D�$ݑ���́���R+�lݑ�ғ(��ݑ��(,�&-
.&,.8/@J/R4�&��t�&4�&
�����3&(�&.
��&t�&
�l�'$%��&<.l�&
h����������������"O�B�/�����љ�������$��'-
.,�'	��'T�'
i������	2"d�'L�'t�'�'
Z&
"$�'��'$�(
�l�'L�("|�(4�)/
��ą)4�)
�����ED�)"/��(0��(
������������u
"ID�)	
t�)
	"�)
���d�*����)9��)
�l�*4�*".�)
����),
��,�\�-����-,�-
�.
 <�-*��-t�-
�l�- ��-\�/����/,�/��* <�/&�!�TZ	��G%��G '�	L�-	�-��lD�/!
�/$D�/�/Ğ$%# $�/d�.����.&T�.
���l�.8 ��.k"#��/
�����!�"�  +1 ,�1-
&ԛ1T�1
j������&CD�1% ��1D�1	,
	'��1	
'%�2,
-(��1<�2
�l�1�2(' d�2D�2,
),�2-
+��2\�2
k������+C*l�2��2
)*�,��-�
�2�2) �9"J,"[&l-&!?&P.&#����/%��
�
��&���'���'���(�	��)�	T�)��)E��-���1e0ɋ�%��Ôl�%D�%]]�a�b�<c�
<�Z��t�4���������������a�lL�'۫o��D�'��A��������������������q�aX����D�(��"��Q��D�),�)��>���������&����������lK����������������;t����lS����������������D�1۫����I��#���۫��l	�
��q��x����������job_b�X	job_b_ref�Rjob_b_id�P
status_a��
result_a���S&err����result_b�0	%`����M��+��D
Ğ

��	���	��n	����������Yܢ&������ĞJ��ĥ��������������9۫@��	��N�����
���,�$0��
Ħ�,�$1��
Ԕ�,�$2��
���,�$3�(#�	���#�������b���S�XU�t~�-�T`�_��
�_�����#�����������������������q�aXÅÅą��:����W�ob�^�^��^��[�^���[����e�S��������������������������ط����
���1��8
�����Y�o$���v��l�#Џ	��+7I	X
	dx	
��#D�#��#�Џ�	�
��
�		����#
����#)$�#
��a�#�
Eܸ#���"���#^$�#�o$�"L�#�������������������G����F�����,^����Џ>FNV^eЏnv}�����	old_state��(U�-�þ�T�$����$
����$"$�$
��C4��$��$)�%��%���$\$�$��,�${������"Cg����$�%�&���%:��T�%��,�%.��+t�+
���,D�,—4�,T�,t�,,�,��4�,<�,��+�
�,�,�,���*���l�+Ô4�+�o������"F���—������/t�/�4�/ ��/S
��o��$�/�/���.���l�.Ô4�.����8��|�0�o��0,�0
�,<�0�0���0J$�0��,�0��m4��u��1�o�1���1F��T�1��,�1.D�2
l�2)Џ*	)+��+,+7I-*,X.-dx	.+*��5#Џ$	#%��+&%7I'$&X('dx	(%$�5�!*.��2���8Џ	��+ 7I! X"!dx	"��܎9Џ	��+7IXdx	��:#		D�<
��<8��<
�
'��<��</�=
�=��2�:
IY
��:KЏL	KML+=NMISONa	O	�DЏ�E	D�F���GF��HEIHG/JI>	J	�=Џ�>	=
?��@?$7A>DWBA@gCBv	C	U6Џe7	6t8���98��:7��;:9�<;�	<	y/Џ�0	/�1���21��30��432�54	5	$����5
T�5��3 ��4:�GQ��Џ�	��o�����	�o&
�t�:
�
K	
�	����2�
��8�P�2��$�2՘��՘�������՘���8��������՘���q��y~Џ (08@GЏ������Џdlt|��Џemu}��Џ 	(	0	8	@	G	ЏP	X	`	g	n	u	|	Џ�	
				&	Џ^fnu|��Џ�� Џ������u�o
�Ri�6�l	�-	�����������($�=	��p$�>���;�;��;��;�;poison��;�;���;J��+΃��r��P$�>��
�;�;Condvar��;��:�x\�^�X	
d	��
�_(.$��M$�=�e��r�p}�������������������&��5��>�������������y����?
T�?
�;,�?8t�?
d�?
�;'��?V
��?�?���>��pL�?������(L�DЏ	��+7IXdx		��D4�D
�W�Q�Q��Qlock��;�Q���;����A4�=�=PoisonError��=���:�L���{�����DD�D,�D4�D
���*"l�D$�DL�E	Џ
		��+7I

X
dx	
�E�E��D��Џ�	���	#		�Џ�	����			
&��$�D
�;S4�D�����ET�E
�;
d�E�m��Dg�D�p$�D��L�D��������������������q�aX����	��5�������Џ����
Џ������Џ�����Џiqx���Mguard�V�������������H��O(%�J		���%�K

���o'3��\aطnsbg�%�J������q���������������������������ط��P�o�P���PF��T�P��,�P.(&�S
���&�S����(���&�S
��
�r'	
3	����������lq�&�S����������������������������r����K�Yd����\����-���d�d����d
����d,L�d
��C�dJ��d��e�)�TZ	��G"��G&�e���d���dn�d��,�d\�d������*old_counter�9l��	���|�j)Џ*	)+��+,+7I-*,X.-dx	.+*��j3d�l	�r��k'L�o#Џ$	#%�p*&%6H'$&W('cw	(%$L�lЏ	�o* 6H! W"!cw	",�n��nt�n��%
$

D�n	��n1�$
	#��n��
Fd�n��n(�o	�p	
��j�d�mCЏD	CE�q*FE6HGDTfHGFuIH�	I	d�l>Џ?	>@?+=A@ISBAa	B	^9Џn:	9};:��<;��=<�	=	\4Џl5	4{65��76��87�	8	�/Џ�0	/�10��21��32	3	����j
����j.L�j
��Q�jK��j��r��p,�o��ot�o
��p*"x�r��o�Џ�	������
"	6�r����Џ�	�q.>K`	t�r���mT�m�D�m	 ;
����l���m���o?J�j�q$�j���������l�������;��D�m��+�՘�����b���Џ������Џ*2:BJQЏJRZbjqЏ$+Џ�				&	Џ/	7	>	E	L	Џ�����Џ&.5<CЏ\dkryЏ")07>��O�����p�8	�r	���������w�<��C�����,�r��rH
��sG�����Rҹ��^=x�s�r���q���������	�Pa�"����s|�qÎ,�q�s��sd�t��Џ"	0�s;GYht�	�	Џ�
		�
����
�	
	�t���s��s�,�s��
ЏV^fnv}Џ�����i�l�uЏ	�+7IX	dx		�u�
Џ�	
���
����
			&����u4�u
��sT#���uG�u�$�uR���Џ������Џ�������������(2���
�_.3;2��R��^�th��p��x������3��83��t(5���5��u ��IN
�__dSq5�������u�����������u����������������
��u����F�u$��u,�� -6�
��6�r

�W���aYy:�6�
Ú(6�
OD��u��
*
��u�s@19����]��������������������q�aX�����
�"�f+�ct��uL��s4��u
ĝ(�,���-��.
�����������������������q�aX���}����..��.
�����̠�5�/���-���������������������q�aX���}��.4��<�-��@�[���<�/����/l�/
���0$�/�����/�����n�[�����|�[T�1	
	��1'
���1Q��1
�.!��1V
�����}��2
�5�5Once��5��5=d0ݞh.���2�	#
��u�����u��2�L�2
�6��u�������2�4�6�6�6��0�.	�2��1�
����04�uD�0����}��}�������A�J��M�
1�����4����u�D�2�uT�2
��u.G&.��2��2
�W���}����u����vG����2���2�4�2�#�3�6I�Y����2��������3�uN������
4�1���u-����_��_ref__result��y<ڣ�d�4����������������;t�����t�5
������45,�5
����>��5d�5	
���=ވ�	��5
Џ	
��+
7I
Xdx	��5:��5
�P����5'��5�6�Џ�	���%		3�4�5
�P��\D�5�����3�����D�2������%����������������;t�����R����$��FЏ$,4<DKЏT\cjq�����������W	L�Aa
`&_.8^@J]R\\dn[v�Z�<�A̖A|�A
���+H��AıA��A
�H��A=D�A
�hAH)<�A��A��A
���+H��At�B
���B��B�

�����@@Worker�B�Cbuffer�Dflavor�E��%������lXXStealer�Z�[���ߺYQ��l��B��B
�Jםö������9
H��B���B�,�D
�L��������	����<�}�Ta!N�ם��Ŷ���?�?��?���:�?�	�:$x��Lk�Ŷ߈�?�?��?���:�?�	�:$x��Lk���߈:
H<�D<�Ba

��D�B`
	
�t�E
���E��E��E
�Jםö�����eGλ��E�U��E���E�,�G
�L��������	����<�}�Ta!N�םλŶ������U<�GT�E_
����E^
�D�G`
	��GL�G
�H�<	R\�G��G)�G
�J�<�<��<���:�<�:�<���:�<��:�<��:�<��:
�hpp�Y8��߈���(��(���)���(��� ��Gs�7Z��
�|�G��

R��G��G3<�H
�J��������	����<�}�Ta!N������?�?��?���:�?�	�:$x��Lk���߈�RL�H��HT�H
�L�HE"|�Hl�H
��l
DT�I_
��HT�H
�;��=C%��I��I��IB/<�I ��I��I
��� ,B��I<�J"�J��J
���",!A��J<�J$��J��J
���$,#@��J��G�
�!#��G�D�G
�5��MR'L�K&��K]
%
�&<�La
+��LL�L
�H��+<*P\�L��L^
,��L+�L
�J�<�<��<���:�<�:�<���:�<��:�<��:�<��:
�hpp�Y8Ŷ߈�*�,�)P��L��L7L�L
�J����Zip���a��C��b��C����C���	�C��ڸ(j����)#(P\�L���L7

�H��������	�5����5H�i��D���(�'Pbf-'���L��/-��
�J��/�.>��0	.�0�,�L1.�ö4�L\
2.���öŶ<�L[
3.���ö��<�M6��M|�M
���6,1,�M5M��M��W-4P<�M8��Mt�M
���8+7<��ML�N:��NT�N�:&9<4�N\
;2<�N[
<3��L�Z4
�57;<91T�O	1 .ԘO	=	=.!��O	��O��?"K��O!	<�Oʎ?5>#KL�O'	>%$4�S	Z
	E4��S	��S

��w�sE?D'K'��P%	A
���Po	̌P��A,@&K��Pt	
�����}@�W46M��S$	D�S	
��wD�C(K%��S3	l�S
��wCGB)K%l�T
GB����T(
̪T
�G+F*K!D�T
N��T
�N#M+K 
LM��<�U

����LQ1,�UK,K-��T$
JK�p
IJ��T0
T�T��I8H-KXZal[u�\�G<�UQ��U��U
���Q,P/K��U4�VZ
R4��U),�V
���PgRBO0Kl�V0S	O4�US13�UTO�˞��VV
�T��V0̸V��V.U2M��V5
�����}U�Z�G7�Z��[�\	j,�W]
X%��W\�W
�����$���m�HWx�kXkW5PSD�WYd�W
�����}Y�W]
^&_.8`@JaR^;,Z5G7J[S^\g�-8P�%9?�]��:R�^�_`#.a7D;�W�N5M1\>Nf-P�R�J!AB"C2DBERR_USaHV'I��?�4MZMJ'3=8[=LI2>�%?�]?O�F�^FQ�U�	G�`GTH����@���A���B���E���G���K�}
��L�
��L�
��S�	��V]	b����?'��\�? ����nl�A��1���������Ըם)���
�������9���ם���D�G����R��^��������<��<���7�l��QMC�;���Injector��head��tail�������v�(�l,�;�;��;��;�;���;�;���;J��+΃����8��b������������������;t��������������lf���]v���������߈��������������������;t��������������lf���]v���������߈��*�������,�K�������F�����J��t�2�������������������;t�����2��>�wŶ`��5�s4�L����������������;t����F�F��F��1"`��x9o�������������������;t���o�����G��`Ŷ6�� �
�
���
�}��}
�wl�S	�����������lf���]v�w߈
�w�
�s�
����
��5��>��{���՘��������������s�s˞j�}B�}b�
���
��F
�
�
�
7
>
E
L
S
�[�Ӫ��K�workers�Xstealers�H	�"+broadcast_stealers�%�~t1000��%�	{-��1��2� t3�C	4��&
B��T
	BŴ�����ϵ����θ9�����}�����y��}��������u�Q����������Z�����������r��y�������������ʎ���h��.�s�����������^��1�����r��.���
�����|��h�����������A��������������&��-��4����s����Ŷ�����
��
�
��
l�C�!��C��C
J�l��C��C
K�l4�D��D<�D
L�l)L�D4�D��D
�D�D����B���DO	ö�B��2�BŶ4�B@��<�DŶ�Ŷ��r�K�
��L� F���q��U��+Ŷ�_ref__breadth_first���F��F��4�F��F<�F��%L�F4�F��F
�F�F�����E���FOö�Eλ��EŶ4�E��<�F���Ŷ��&� '#�� ���Ŷ�̫e

(��e
��%�ePT	D�e�e
�����f

��f	����f
\�f������g
d�g

<�g
�����
3	<\�g

Ľg\�g��G�|1$�g

$,��e�E��d�aq
	��g��

�u�
����e���f���gW�e՘,�d���d��������������������q�aX��
�����|\�fh��b,��5��]�������abort_guard��G�|handler����������������~�|\��c�|i��p)�C�
�ZLL ��\����$�&l��1C�
Zl�������
�I�&0&,��9C�
Z�C�
Z
AC�
Z	IC�Z
��IC�Z	QC�Z

�C�Z
|΀���΀$ހ
�;��4&4ހ�C�!Z
���C�Z
������	Arguments���pieces��[����[����[k�ĉ�����C�]Z�C� Z
�S!C�Z	QC�Z
YC�Z�&F�΀4�
�W�Q�Q��Q���;�Q���;����A4���=�=���=���:�L���{����&D���������
�����,$����D4#���AF� ZIF� Z�Ё���F� Z
AF�!Z��IF�!Z��IF�!ZQF�!Z�F�!Z
�F�!!Z
�����1#�Ё���G�$Z���$Z
�^#^"	#6�F�$<Z!
���"�F�$}Z�F�$ Z܄!F�$ZQF�$ZYF�$Z!V #>T��(���
���(+'##)��
�@Ŷ߈'X&#,��1H�
Z%&l��+�����ʁ+(*
#,��9H�
Z)*�H�
Z$
%)AH�
Z,$��IH�Z-$��IH�Z/,QH�Z0-�H�Z./0.Tׅ9�ׅ��9%8#�H�!Z1
���H�Z3
����H�]Z�H� Z܄1!H�Z,QH�Z-YH�Z3R2#>��
���8�7#��$�
�oŶ7�6#4�l�L:�ׅ$�
�J�g�g���h��g�h���g�h��gFPR<?��ŶЁ6u:�5#����ׅ$
�H�����������C�����C����C���	�C��ڸ(j��Ё5�4#��;4����s�=;��
�J��=�<"��>	<�>G4Å?<����l��<˅@<����l���	$��
R�l?4��@<��A'"l�����;#��&�І\Ն��$ІD&lՆ�͆C
��͆D��͆

�HםCNB&%)EB��Ć`
C
GER
W
�JםGiF&rv
H	F�
H! Ȇ
IF�T�K����(���
�K1I��J(&������;#�&�����$L$%
	��H�C�
�Z�C��Z�����F�!�Z�F�!�Z�H�
�Z�H��Z$���5���A
M�՘,�Ёl�������n���/fЁ���(���
�����������Ne�����Match�/kK3b��!C�Zo
����������������;t����/��T����������������������q�aX����������	���	1
��f
��Z
��
���	���	�	�	�	ژ!F�!Z	��5	�x	��	��.���������	��p������f��[.VNژ!H�Z���������.��A
ŶN��W��qЁ��������������������;t�����2��>���U�l;$םqם��ם����ם�r
������!�left_val��		right_val��
�	^�"
��V��O�	`��Y
,��R
-�	�1�	u;��	?job_ref�x	@�	�
E�#I���Iʁ��7܄���B��~
��c܄�����ʁZ���
܄M
���
���
���	��0	��7	Œ�����������c͔jÕ�������ЁX3

��A
/��M
\
�-�y
��
�
��hw�����Q�l̋�܋�܋�����<��ʎl��L��,Œ���t��
�����$��K����܌ Џ!	  "�w+#"7I$!#X%$dx	%"!�܌ 	�
�܌	!'��
�	($��ML�����$��
$��*
�܌-	
��v�v�Z	+1
|��Џ	 �w+7IXdx	��|��Џ	 �w+7IXdx	�������

�0Џ�1	0�21�3243(	4	�+Џ�,	+-,
 .--8/.G	/	�&Џ�'	&�('��)(*)	*	(�D�—M
T�����)|��
�����$��YR���$�ԩ�
,��
���Ô1DMi�f���ȋ�5��ӊ՘,����Ȋ��j'�����v �v(՘1��%Ô�ұ��v�Ô��������(ÔfЏ$,4;Џ���Џ~�����Џ�����Џu}���Џ���
���������	ʎ����—�������٨dʯ�������Tؑ�����������3#;Z:��`�p���
������p����՘�ؑ�$�
��p�������Զ����������������՘,��������,���(��+\Z�����x�����������������K��a

�K�a
��p�K��a�����������������;t�������������������;t����p������J�q�b���J�qb+����_����

t��
�#�K�+a��pL��(_��K�a
�K�a
��p/5�K��a
����1�	K�a�K��a�K��a
���$�	K�aO	K�a�K��a�� ��������V_��K�a��K�aK�a����K�a��
����������������;t�����	K�a���p�L�TTZ
)1;C�ג�ג���ג!<�ʎ9L�*�N�TZ	��G3��G'����
)
�����Ιۙ�����l��
��p��+����
l��
h��������	�Pa�"����p�����Ιۙ��
����$��՘˕�˕Tϕ
i������5
dϕ쿕4ĕ
�s
T	�ĕL�����
���0
	#)t��
�
U
���˖�˖\ϖ
k������Flϖ���+;
��m����B	���������e	��������]]�a�b�<c�
<�Z��t�4�������������u0�ln�������3���՘4
��l�����	��$��՘���

��ʎ������;����2����������c��6�����D��
_ref__self�lՓ		������	D�����<��ʎl��	L��,Ք	��|ؔ
Џ	
 �w+
7I
Xdx	
�P��-
��G6��G	(��m����	�Џ	 3@KZ		h�Ք
$�����7	@�i�ѓ��������D�����]x��3���ÔWЏ/7?GOVЏ_gnu|������
����dX��Oʎ"��T��D��	���R�TTZ
)1�șDי—tșTי�ș�@#��c$�GL���$�
$�*	
�ș+	٨�	R#)�T�TZ	��G=��G'��� ���
�t��)�ٚ�

�����Ιۙ����l��
h�������Ιۙ��y,��
	M��͜
�͜Tќ
i������5
dќ���4Ɯ��$��U�ƜT��
����%T����t�6�����
���\��
k������F
l����������/
?O_�S����������ї՘,��Ôt����Ɨ	ұ��v�՘����ұm�vu��,��]]�a�b�<c�
<�Z��t�4����������3�lq���
��)������%������
�—�������٨[��)�������0�������x��K��Rl��		��������	D���ț<֛ʎlț	L֛,�	��|��
Џ	
 �w+
7I
Xdx	
�V��-
��G6��G	(�������	�Џ	 3@KZ		h��
$������7	@������������Dښ���]x��3���ÔWЏ/7?GOVЏ_gnu|����������d���Oʎ"��T��D��	��(c��c���$)�v5ұ=FP(d��
��XdѮ��(4��^cطpuch�d�������ұ���������������������������طXeѮ$e���He��ұұls5�BLf���f��	ұ&0XgѮ(-
�AFNg���Pg������������������;t������Less��������Greater��ji�/޾�ұ�ұ���1��:������eXhѮ(-
�>CKh���h����ұұ ������9�FP����k��a

�k�a
��+�+p�+��*�@��n�*{���k��a�����������������;t�������������������;t����������
�j�q�b�������3#;Z:��`���j�qbX�����_�\��	
L��
��w,���

L��
�+��U-���k�+a��������1_��k�a
�k�a
���06�k��a
�����1��	k�a�k��a�k��a
���$��	k�aO	k�a�k��a��� ��������V_��k�a��k�ak�a����k�a��
����������������;t�����	k�a���s�����������
���;,��������X�������x"������w��������u�����������t����������N��t��Ô,��1T��������>,��Ô,��0\��Ŷ���D��
P�l2T��\��Ŷ���$��Œ.��L��l��
������
+	 	�����9���
�N��|�����%�������������Ô,���l��|����m��=����՘���Y�\queue_was_empty�o����Œ��T��'L���n���$��
�/��L�����$���$��Q̶�������b��Ô,���l��o�l��n�.�1_�����\��Ŷ���D����.T��������X$��Ô,����t7��z
\��Ŷ�����
S�l2,��T�����<��
�P�l-L��-T��G	d�������,��
d�l2<��*	Ԁ�M$��
���l\��	��	Success��lL��
���l	G	��������������'
ڮt��Ô,��ڮT������ڮ����Empty���߄����Retry�})֮	�ur�l��������l0�
popped_job���\	���X�����l��
��m,��|��l��,����,��<��+���|��
�$��,���������������w��Ô,����,����,����/�1�3v�1��։�l��<��
\��L��������O��Ô,���l��k� N���d��

��������
�х<ޅʎdх
Lޅ,�߇|߇
�
��
t��Џ	 
�w+
7IXdx	
�߇	��
��
	DL�
�����0	F

l���������
	@ЏP	_l���		�̨�
,����7
@{P���������������������Ôp՘�������sЏ������Џ��������owner_thread�����ʎ�ݍp��t������,��T�
���m��m����T�L�T
�����m�����mo>�U���S��m�S���S�����8���,�T
��T
��Ô$�T
������T.��T
�P:)T�T���/��������/���	�.-]�@����U
��Ôl�U
 	
����m�m�����.��/��v�k���h��
��T6D�U
�����m�����m=�	���U+�U�U�5��J���T��m�T��<Ôd�T�T��}��`��N֗�����������]��
���-�����ܙt��'��.��5���U��4�U��T�U
:
�����R3;�U���m�U�������x��������-���������_ref__scope���o�
����m������n�L�n
�����m�����ma>�p���n��m�n���n�����8���,�o
��o
��Ô$�o
������o2ĭo
�P:)T�o֗��o
��Ôl�p
 	
����m�������/��/���/�2��/_����
��o6D�o
�����m�����m��	���o+�p�p�5��J����o��m�o���Ôd�o�o��2����ӛ�������������Z������-�n��R��p��$��+��2���p��4�p��T�p
:
�����R3;�p���m�p������̦x���������-����¦���Ν$�y
������y��y
����m:�y/�y���x��m�y���y�����8���	��{&

)�{
�D�{I4�{��D�{����{&��{��4�{D�{)T�|֗l�|	
 
����m����	��|*D�|
�����m�����m�4�|���|�|�|��y�8H
�2��{���{d�m�z��D�z���z������������,�{ӛv��l��u��a��e���-`�ҩ~�������A��H��O�|��4�|��T�|
:��F'/�|�c�m�|��y�����l�����o���-V��������Ν$Ɗ
������� ���
����m>̊3ъ��É��m����������;ذ�	���&

*䄌ҩD��J4����D�������*ļ���4ՌD݌-T�֗l��	
!
����m����	��*D��
�����m�����m�4�����������ӊ�;K
�3������h�m����D����������������,��ӛ���u��~��_��b���-a�ҩ��� �����E��L��S����4����T��
=¦I(0���p�m��������̦o�����q���-\���¦���Ν$��t��
�������
��������6�����{(�8�������d��
v�Ĺ��ѹ�:L��֗ܒ�d��
���6��������֗�����*	�1
#t��
�
U<��	�������������������������,��Ĺ$��ӹL���������������lf���]vqq�s�<������{k��߈����L�l<��ӛ�\՘e����body��	scope_ptr���t��m[��p��"����,��L��ӹ���4��
���3D��\Ο֗�۟
��������8���
��Ĺ�����B����Ĺ�P���n����q���ӹj֗2ӛ;��#�Ͻ�ӹ��Ĺ�-������-Ĺ�Ͻ��$�Ĺ,���\�
=
���S2:��������y��4���-���_������-$��t��
����ߦ�
�Ĺ��ѹ�Ӧ�\Ӧ
��Ĺ��ѹ_;L��֗������
���7�����������������ɦ�����,��Ĺ$��ӹL����H�5�5I�5��4�5È�4�5��4榦�����||�~�<eU5i<]���߈ͦ���ӛB����Ͻ��E�����vĻӹ�̧4֧�.D֧,��Ĺ���;
�Ĺ��Ĺ��\��֗�ި)�ި
��Ĺ����W$��D�����������������@��,ħ��P��$���$�����ӛ�Ͻsӹ���Ĺ�-b��Z�Z�����2Ͻ��ܴ�
�Ĺ""�$�%��η��,C���������3���
(�Ĺ�����>Ш�f��������������-����������-$����,Ĩ�����
@
�Ĺ����[:BϨ��������������������ctx�*������-���.������-
$�t�
�������
�������6�����{(�8�������d��
v�Ĺ�����:L��֗���d��
���6������ѵ֗���ѵ#	�1
#t�
�
U	��H		�˵)j��֗����"	�14��
	�ÔT���?�?��?���:�?�	�:$x��Lk��n߈t��,ö��
4��<ö���
�����N	+���$����$��<ķ
l�����$���
4��Sĵ�N4����<��|������԰��ѱ��������������������,�Ĺ$���Lձ��������������lf���]vqq�s�<������{k��߈�����l<�ӛ���*՘3��Xd��Ô������R��l՘���,��0Ͻ4������,
�)$���
�����T�	�����������������,��L�������4��
���3D��\��֗���
��������8���
��Ĺ�����B߳s޳Ĺ����n����������j��0ӛ9��!�Ͻ������Ĺ�-�9�����+Ĺ�Ͻ��$ɳĹ,γ��\ɳ
=
�Ĺ̦S2:Գ�ȳ��Ĺ�̦y��2���Ĺ�-���]������-$��t��
����ɼ�
���������\��
��Ĺ����_;L��֗������
���7�����������������������,��Ĺ$����L����H�5�5I�5��4�5È�4�5��4榦�����||�~�<eU5i<]���߈�����ӛB����Ͻ��E�����vL�������4����.D��,�Ĺ���;
�Ĺ������\߾֗�Ⱦ)�Ⱦ
��Ĺ����W$�D��������ֽ�����м��=��,����M��$ڽ��$�����ӛ�Ͻp�����Ĺ�-b��Z�Z������2Ͻ��ܞ�
������������3���
(�����l>���"����<�����L���-r��q������-$����,�������
@
�����[:B���v��������������������(��_���-����������-���$����q>L��
�,\�������d��
w�4@t�����������6�l4��ӛ,�������������lf���]vqq�s�<������{k��߈�����n��;���9�����R��	l��������+#\����Nl��t��
�������m	
�����ӛ�5�5I�5��4�5È�4�5��4榦�����||�~�<eU5i<]���߈	������
�Jם�l�����������rl�������(	�,$���
���������	����<�}�Ta!N�ם���D��
Ա������������������
��ӛ,������L��՘������D��ם���c��l\՘e���s�uӪy��h��@��G��&�������;��B���ӛ�q���$L����?\��$����������
���4&�����l�����������ӛ����$��ӛ��������������4��
$�����%���
����m5$��4��
����q���$$��ڣ.,��\�������
�$�����4��
	|��4��
�P�m	>D����
������/?
�3�����m��ӛ,����,����$������������������;t����m������x��S�owner�����
y)��gڣ��������r���%���
���$��$��7����������@����$����$������������������;t������d�f����������
����m$��+/	���"Q�����<��Џ	 ֗,8JYey	����m<��
���m��$��
���m����
Џ	
 �q+7IXdx	
4������	�����Џ�	� ��! "!%	"	
"Џ2	ANany�		�	���d��
�	��������q����(T��
��q(
'������������[#��L����$����$����4����������������������q�aX�m��E,���m[��	Rӛ��#��,Џ5=EMU\ЏT\dlt{Џ�����Џ�������p�s�
vr�p�"j�������`�����;���D����Џ#	1�y<HZiu�	�	Џ�
		�
����
�	
	������6�y���y,����Џ[cks{�Џ�����j�(���"'�y3�y=FP(�����$)�z5�z?HR(����(��!��KP��]bPo�������������������������������������(��$���H������ls5�BL(��(-��9>F���P�������� ������9�FP�����
�T�	����H��z��%:��_�4�	�	���	<,�	�z$�	,|�D�
�$�T����ԧ�����P$��z$�u�9����
���,�%16����d��/	20�^��/�,��/����_����d��/	20�^��/�,����-����_����d��/	20�^��*�,����-����_���d��@3	�A�a,k����$	'JK��>�,����<�$�0�_��
��,�$1���t��@-	�A�[,k���0�,��+������_�t�L��@-	�A�[,k���&�,��+������_�T�����$���+D�t���(l�
�D ����r�yD����7����ZSt�I�S,���D�����$ordering�/�����T���t�t�	��

����e��
��eV	JD�
E��M>��z,�
�Wj<������$���,��yL��yL���D���������������������q�aX��$��ymd��\�	old_value��	new_value����
�����Z��$���%
��ܒ%$�%
�$�%4��%t�%��%d�%
�L�%t�%��%(
O
��:�zh5>D	��&"��&
�L�&	ē&��&
����&9d�&
�$�&L�&	L�&C
��&4?
L�'	G
L�'��'
�(�(
��#����%���%��yD�$��,�$��t�$�yL�%������ǰ��z��yL�%5��Tdincrement_when�u��z֭P	�ȯ���Q��0��������4��;|�<@"	6��<\�<��=���<Z,�<$�<,�<���W"shift�+Uy���=L�=�@-	0�JK��=���==,�=$�=��W3��������>
��>���=A�yD�>$�=�W-L�@��@d�@
ߘ,<�@�
��@��@G
��@���>��yD�>�y$�>��;�����L�A��AT�A
�*��A'
��A���@l�z��A�y$�Al�:���L�C��C(l�C
�+t�C�
0�C���Bf,�C�y$�Cy3b����
��D��D
�$�D��D��D��D
�$�D��D��D2	��E��E̽$�E	��E���E	��E��E��$�E��E���E
���"]

]����E	
�^�
%a����E	տ��
����K����^JQ��(
��E,�����
�^k5>���@]��]
�S���"]+��F��F��$�F
��F��F��F̽$�F��F��F1	+�F���C�,�D�y$�D�$����d�������������~��L������V7�����������

̽���̽���pտտ���P�����̽��
�����������������L�G��G(l�G��)t�G�
.�G���Ff,�F�y$�Fw3b�������	
������	
���8��

���
�/�{:�����lQ�������
 ��$��%32�������+	.�,V��;���/����_���D(D�D
�$�DD�E|�E��D#�E���D��D��,�DD�D|�Dnum_jobs�(��.b�����H����Hd��H
�
�5܉I��
��H<��I!��I
�D�I��I܆J��J̽D�J��J��J́L��L	|�N�O��N D�N
�D�N	d�N
,��N"��O
�$�N
\�O�O��O		*��O5D�O��Q	d�P

%��P"��P��$�P
\�P�P�P���F�
��H���I���I���K���L���Nm��O��F��,�FD�F|�F�yD�H�����Id�I��Kd�L\�N��\�Ot��}
��������7�num_awake_but_idle��num_sleepers��������	num_to_wake��
���
������W̽4��������!���$����������$D�
��uW0)���������u$��u��������#S������������u�\�
��
̂L�
��u$�D�,�� �D�%t��$<���\�
��\���G�|1$�
����,<�2�����n	��u$���D��|t�l<�)՘2���E�H���G�|��X����������;�|	��$).�D�EK����$����T��D�!���
��u�����u���d�
v��u�������:�����
x��\��������4���	�l4��u$���D��՘������������lf���]vqq�s�<������{k��߈Y��5��D�������,(�|�����������uI
��	
	D���;@�&	U$�	
�u~d�
��upB	��D������(	"L���J	\����1�)	9�uM����
�����՘���w�uL�՘�����;�����u������F��M���u����$�(��(��(���(��()l�(
��uW0)�(�(�(��'���'�u$�'�u��������#S������������u�\�-
��-
��-L�-��$�.D�.'��/�D�/$t�/��$��/F	��/gģ0�D�0
4�/	���/L�/
�	4�/<�0
��/m4�0��
m<�0|�0\�0
��0\�0��G�|1	$�0
�0��)�,
<
�)�E��-���-���/)
�*�u$�*��D�*�|C�l<�-��/���	՘d�/Ô�՘���m�p���G�|�����	%���������9����G����|���l��<� ���	
�!��A#'	3E��|����
�ܠ
���{�}���i��������������������q�aXȩ1�FĿ�Xx�}�
�!��������������������q�aX�{�}�����������Q"~�����(��<�������|�������i���G��^i؊����C��r�������{�[��D��
��T���������l�&
&����&$�N\�&

��������ۙfL�&
��������ۙ���|��&�&��%��&�4���%�{,�%���%՘��[��	m6��:��\��c����&��$�&
���0G'/�&�����&���Ô�&�&��������������t�6����6+��6���63%�6���4���4�4��,�4���4����!O���l�:����:�)!\�:��Jl�:�:���:V,�:��,�:՘v���=�����	l�C���C�)!t�C��J��C���C

�!��`$(	4F��C|Ôd�C,�C��$�C<�C���C
�!������������������;t�����G��e���C
���C���B���BL��
	��l�B��,�B������|�������i���G��^i؊��Ô���՘%��D`Ô���curr�$�C�
�G�����������`����n	l�M����M�)!t�N��J��N���M
��Z"	.@��M|ÔܭN��N
�$�N	��N���N
�!����������������;t�����G��c��N	��N"
���N���M���M\��
��d�M��,�M������՘����Ôm�`M��$�M�
WG������O��V��܂���'��Q
���������ɋ������Q%<�Q
����������Æφɋ$�Q���Q �Q���O�ɋD�P��,�P��4�P��4�P���'��+��/g���4�Q��4�Q����Q$�Q
���������M@4�Q��ɋ�Q��������������������������d�T
����m������T<�T
�����m�����m$�Td��T�T���S��m�S��,�S���Sߊ���!Nي��T��L�T,�T
����m4(�T�9�m�TߊO��q�����p�������X
����m������X<�X
�����m�����m$�Xe��X�X���W��m�W��,�W���W����!N���X��t�XT�X
����m4(�X�:�m�X�P��q�����q�����t�[����[
������[+��[��3�[%�[���Z��m�Z��,�Z���Z������%��)V���t�^����^
������^0��^ذ3�^%�_���]��m�^��,�]���]������%��)Vذ�t�c����c#|�c
����c9+�c���b��b��,�b���b�����!N���t�h����h(��h
����h9+�i���g��g��,�g���g�����!Nĕ�t�m����m1�m���m3%�m���k��k��,�k���k��~��!N���	����������� 4ŀݚ8Dŀ����!��@#	/A���!|Ôd݀,���$݀<���̀��G����؀
����������Nnt����l���)��[�������$���
�G���7����ݚ������D���	����������� 4��ݚ8D������!��@#	/A���!|Ôܹ����܂$�����������G���丄���"
��݄��������^~�����dك��:��l����Ô���$���
�G���N����ݚ����܂[���(�������&�|1�|;DN(���	$*2�����KS��!in�{�������������������������H���		����?DJU�]�els|��__self_discr��__arg1_discr�����������!+��
�S�u��+��
�+�S�S�SAssertUnwindSafe��S�_'��H$��u��xe�������������������������q�aX�������u$�٥��ӥ(��-��x��-
���}(4��^cطpuch���-������}��������������}����������ط (��.	%H��.�[˞GO��/	;	��y~����j��� ����������!�������.�(.
��<��E��NV��_��h˞I��}��[��g���__self_0������������������>	
��~8��=
���=�,�~7�~_E��p��L��L
���$�L&�L���Kf����K(��$�K/��u	��T$��T
���$�T&���T%

�!��H$(	4F��T%|����T�D�T��Ti��� 
�!��������������������q�aX�}������T
����T4�T
���}G�U�U���S���Tp
SZ	���S ��$�S������|�������i���G��^i؊������N��������՘���D�T�
��1�������9ܱ�زG��b�
��L�m�m���.������-�����X��1�H��������������������q�aX�m�}�~���m��b���b
�����m�m��Ƿ�1D�g�g��`�����a�~$�`��<�`�mL�`���˷�0wrapper�:	with_pool�G��������$�b
$�b�~��b�˷
����m�mĝ�����.������-�����X��1�H˷��b�l�b
��t����m�m�����
��b���b�,�f
�����T���9�Ѫk�?��
<�f���b�
�!��|
&*		6	H��b�|�{L�g

�m,�g��g
G
��m��
^2
;��f
i��� 
�!���
6
 �g�m	��g
���m�}2	
�gL
e�my�K��b�������b�����,�b�{~������|�������i���G��^i؊���{[������J	��
��J����J����"��"��K��KW�Lh��\����~N�F)��2�{��m��m�ľ����˷�&�-^f�~��m˷̸w�mpool��
�
�gS	�w��/�����<����m��{��{��m�
_ref__wrapper�̸\�c
&.8@ܰc̰c
���c{4�cl�c$�c
�'4�c&	T�c
$�c���<�d
&	��dL�d
�3$�d
\�d��d
$�d
�	�
Z��d�d
<�d
R4�e��eT�e
�'d�e&
	T�d


$�d�<�e
ĽeT�e
�8$�e	��e<�e
��d{
<�f
,�f����f˷%
����m�m��˷�s��f/d�f
�����m�m���������f'���f0

�!��������������������q�aX���ScopedJoinHandle�������v��˞��	�
���f0|���f��fi��������������������q�aX��˞�s
�!�������f
4�f
��˞GAIU�f�
	+�����m��c���dY��eS�������c���s4�c�E�EBuilder��E�
��E���Eno_hooks��y�%�Y��P�����������������;t�����{�s�\��S�����M��#��v���UK����F��������|�������i���G��^i؊����U�����A��a��j�����y
˷�
�����-r
����w˷�[t�
��s�
��?
��l��/�����������������f��f��t��v����s�Ν��<�f˷4�f�s|�f
9
���ĝO19�f���f���ĝn�s�˷����˷�y�s�������Ƅ�Ƅ
��m,ׄ)	�����������������������������;t��������������lf���]v��������߈|ӆ�����	�����
���ۇ����
�����T���9�Ѫk�?�m		
��������������J	��
��J����J����"��"��K��KW�Lh��\�����!��$���m,������������y����������b� e3��*��l��s����������Q��4���Lӈ1������ӊ&������쾌D��
����nj"��
0���3�
�W���F�F�F
NotPresent��F�F
NotUnicode��F�$�K�Ҏ��$����kD��
�P����������G��䌍���&_		���q	섏D�������#��
*э�/
��	<��L��
����EG?G͍
���
G���3����+
$�����kDɏ
�P�������
_G���ҏ
�ɏ&T	���q<��L����%G'���/�����ߐ����������ȍ���,����,��D_��<����R�����������������������q�aX����mlȍm�����&��Y��u�l��d����>�G�����
���p�������p�����g��������P���촋
����E�
�W�	�	�	��	��	yk���9˞������G��\������gL��
�W˞���d���������������������������������q�aX˞a��������������������q�aX��˞����������I<��
�	�,�������������n�������
���(1���|��
�tS%���
�W����
ParseIntError����	��8=��;��$���������������������������������������q�aX��O�������|���������g����
���"+�֏|֏��H �֏���=$��������Տ�����ӏ����������%-����������������������4��
�P��5D�����

�!����������������;t������ko	{����|��D��	
��
�����	5=����
�!����G��"t��
�������������D{���
��tՑ��L��,đ������|�������i���G��^i؊�������4��X'���������������
tG����)���������������D��
��m<��)-�����
�����������$”̔?��Q˔�������$����D���m<������������������lf���]v�m߈Zq�t�����������:������$������u��$����D��\���
H���$��$ǦѦ���h��$����D��1�ԧ���ԧ$�
�Q��54������g��̰���L�����<�����D�
��Nl��,0����
�����Ѯ����$����?��Q���������$����D٭��l�����������������lf���]v��߈_s�u�����������<���|��������ίI��l���,�1���
�����"��$��Ʊ��ϰw��$����D�T�����!P��$��$������½^��$���D׽1�Ծ�����F$ž��,��/��������$��
�Q��54��������g���׿��Lɿ���<�����D����l��$(����
�����������$����?��Q���������$����D����l���������1�"3r��@����J��������������$���/4��������d�������L����w9�|���D����d��$(����
�����������$����?��Q���������$����D����d���������1�"3r��@����J������d���~���!\��
��t�u4<�����d���~$����������~$���~D���u<���~��~�$�'U���d���~���)l��
��t�N7l�����d���~$����������~l���~D���l���~��~�%�'Vܕ�d���~���)l��
��t�5l����d���~$����������~l���~D���l���~��~�%�"'Vȗ�d���~���'d��
��t�5d��ԟ�d���~$����������~l���~D���d���~��~�%�"'V������6$4�����i���$��(6"The global thread pool has already been initialized."����<%:�����n���$��(<"The current thread is already part of another thread pool."�|���������������t������������	�����
���4��
�P��|��D�����4��
�P�����������uG�����������4��
�P��l��D�����2��
�P�����������rG�����
ܾ����4��
�P��l��D�����2��
�P�����������uG�����܎����4����	d��D�����1��
�P���������aG�����������&�����#d��
�_��<	���!4l��'��\�������R,��
�\�O>
���!��� (�����!������,����} J!9���/���")�����$#$������,�����"V#E���*|��%*
��t��'
&'������,�����%V&E
���&d��(+
��\��*)*������,�����(V)E��� |��+,
��t��-,-������,�����+V,E���&t��.-��l��0/0������,�����.V/E���$|��1.
��t��3
23������,�����1V2E���&����4��
�\TD�����������������������������4��\����,��������*�������������������������������;t�����|������������������;t�����l��l������������������;t�����/��l������������������;t��������d����t�\�\��\��[�\�
�[�\
has_fields��[��_��q|��Y���A���)���
����������Z��M����������������n��aְj�����������ְ������tְ}��1��$�0O�R�

�Jw
�Jp
�g
�^
�"U
�"L
	�KC

�J��
�"��"9Kƞr
��H
۟�	���	��g	��=	��������W����
����������ְ��i��Nְ�������������ְ��[��@ְ��������������^����
�������
��������
�������
�����
���L
������d
����w
���
������1
����D
(���
/	��p���
0��(������
1��
�����Rҹ��^=xQ	
]	�����������������
��́&��/��8��)��2�;������#��,������������g������M
�G��������|́$��D���R
0l��������<$��ҹ,��/�

F�yK&��2�y9@N
F�yfKr��~�y��,�

F�yN&��2��:AO
F�ygNs������̀
��u�(�u3�u:AO
��uh�u�u��u����=
��'��3��;BP
�h�u����������
��y�)�y4��<CQ
��yj�w�y�������"
��&�z18?M
�c�p�z{��<�.
��%�}0˞8?M
�c�p�}{˞��<�����������������������H��"������,�����*io�����\�����FromStr�<��t	�4��
�L���|� ����"��$����d����l����0t����-,����.,����1�����0T����/L���� ,����3T����C�� ���C�����BT� ���,\� ���,L� ���,� ���$�!�0��T\�!���Td�"���T��� \�"������41 Rayon-core houses the core stable APIs of Rayon.�5��9c` These APIs have been mirrored in the Rayon crate and it is recommended to use these from there.�����QN [`join()`] is used to take two closures and potentially run them in parallel.���OL   - It will run in parallel if task B gets stolen before task A can finish.���gd   - It will run sequentially if task A finishes before task B is stolen and can continue on task B.�����RO [`scope()`] creates a scope in which you can run any number of parallel tasks.����� These tasks can spawn nested tasks and scopes, but given the nature of work stealing, the order of execution can not be guaranteed.���VS The scope will exist until all tasks spawned within the scope have been completed.�����ur [`spawn()`] add a task into the 'static' or 'global' scope, or a local scope created by the [`scope()`] function.�����|y [`ThreadPool`] can be used to create your own thread pools (using [`ThreadPoolBuilder`]) or to customize the global one.���vs Tasks spawned within the pool (using [`install()`][tpinstall], [`join()`][tpjoin], etc.) will be added to a deque,���]Z where it becomes available for work stealing from other threads in the local thread pool.��	���	&# [tpinstall]: ThreadPool::install()���	  [tpjoin]: ThreadPool::join()��	���
30 # Global fallback when threading is unsupported��
���
^[ Rayon uses `std` APIs for threading, but some targets have incomplete implementations that���b_ always return `Unsupported` errors. The WebAssembly `wasm32-unknown-unknown` and `wasm32-wasi`���]Z targets are notable examples of this. Rather than panicking on the unsupported error when���WT creating the implicit global thread pool, Rayon configures a fallback mode instead.��
���
b_ This fallback mode mostly functions as if it were using a single-threaded "pool", like setting���`] `RAYON_NUM_THREADS=1`. For example, `join` will execute its two closures sequentially, since���b_ there is no other thread to share the work. However, since the pool is not running independent���_\ of the main thread, non-blocking calls like `spawn` may not execute at all, unless a lower-���c` priority call like `broadcast` gives them an opening. The fallback mode does not try to emulate���_\ anything like thread preemption or `async` task switching, but `yield_now` or `yield_local`���&# can also volunteer execution time.�����XU Explicit `ThreadPoolBuilder` methods always report their error without any fallback.�����#  # Restricting multiple versions�����OL In order to ensure proper coordination between thread pools, and especially���NK to make sure there's only one global thread pool, `rayon-core` is actively���NK restricted from building multiple versions of itself into a single target.���52 You may see a build error like this in violation:���\� ```text���A> error: native library `rayon-core` is being linked to by more���>; than one package, and can only be linked to by one package�<� ```�����FC While we strive to keep `rayon-core` semver-compatible, it's still���HE possible to arrive at this situation if different crates have overly���GD restrictive tilde or inequality requirements for `rayon-core`.  The���KH conflicting requirements will need to be resolved before the build will�d�	 succeed.�<�����������������������!H"�"�!��3��!�� �*��������0����t	��
��� ��"�����������0���-���.
���1���0���/
��� 	���3���C���C���B���,���,�������0��T����T����T��� ������l��D����oD�c<�U��H��!\�\�<�
Ĩ
l�
��W���aYy:
+'����
d�
�
�
�
�
*�
�
�
<5 This trait is private; this method exists to make it���8
<+ impossible to implement outside the crate.���.
+�
�
�
8��
�
�
8�4�
8�
8�T��
�
�
�
8$�
(�
8,�
'�
8�
<�
'�
8�l�
%�
%�
��
d�
�
�
�
�
*�
�
�

8�
8�T��
�
�
�
8$�
(�
8,�
'�
8�
<�
'�
8�l�
�
�
8,�
'�
8�
<�
'�
8�l�
%�
l�L� "07�4|�D]�ST7��DC��!Dd��)dn����*��\�����I��5������($�����R)��{}D�qďct�C��j��LI Executes `op` within every thread in the current thread pool. If this is���NK called from a non-Rayon thread, it will execute in the global thread pool.���PM Any attempts to use `join`, `scope`, or parallel iterators will then operate���PM within that thread pool. When the call has completed on each thread, returns���30 a vector containing all of their return values.�����EB For more information, see the [`ThreadPool::broadcast()`] method.�����?< [`ThreadPool::broadcast()`]: crate::ThreadPool::broadcast()�L���������������������""�$�%��η��,C��������������$�����$�
������D������
b��NK Spawns an asynchronous task on every thread in this thread pool. This task���OL will run in the implicit, global scope, which means that it may outlast the���OL current stack frame -- therefore, it cannot capture any references onto the���	2/ stack (you will likely need a `move` closure).��	���	KH For more information, see the [`ThreadPool::spawn_broadcast()`] method.��
���
KH [`ThreadPool::spawn_broadcast()`]: crate::ThreadPool::spawn_broadcast()�|�
���!!�������""�$�%��η��,C�ĝ����������$���$���<�
 ����F����
��85 Provides context to a closure called by `broadcast`.���
�##����&�l��,C$%�
Ī
4�
""��wB<�""�����Rҹ��^=x������''�l(+,���E$�����&�)�
**)&���������&����""�$�%��η��,C���!���ń	����
(�������I��������RO Our index amongst the broadcast threads (ranges from `0..self.num_threads()`).�,����l&�&
+�$���"��EB The number of threads receiving the broadcast in the thread pool.����� # Future compatibility note�����LI Future versions of Rayon might vary the number of threads over time, but���KH this method will always return the number of threads which are actually���/, receiving your particular `broadcast` call.�\����l&�&
,�$���,�..�l/�_/���:������l��^�^��^��[�^���[����e�S����-�-
/�$������d����������1�221�����������""�$�%��η��,C��������	������$���$������S��S������0<closure_kind>�3<closure_signature>�3<upvars>�330���0��	4��	4��	440��,�0��	5��	5��	550�,�!0��	6��	6��	660ݥ��$���$�������88�$���$����""�$�%��η��,C���$�����	�Հ	$�%��$�%�	<�%����5]�?]��<�%7��	9��	9��	997��&7��	:��	:��	::7Ҿ�'7��	;��	;��	;;7Ը<��FPR]q|��,
�<=�4$
�<>��DB
�<@Steal�,L
�<AHb
�"<B��Tv
�-<Cmem��
�<DI�
�5<E�
�l
��0"
��molX
c�k
UD�
Ft�
:�
L�
�GG���y�
����JY�?HIJKMNIKL�y��NO�����������lf���]v�"��߈����$�
FF��FF���-�-FF
K�y..�y��FF�	�
FF�y�-�-FF
N�y�-�-��	��FFʙ	��
FF��	��
�
PP�����
P��	��	QQQ��#
<�
ЏPP
Qǚ	��$�
Ĕ	
4�	
�l���
���ST��	
<�	
<RRЏ��	 
T�	
<RR����	
�l܏

�l\�

�lXZ\��O
�
���lW�YYWޖ	�
P�y�

X�y���b!#��"
�
���l[W�
WĞ$�
8��
ZZ�����	"��	�
��	8��	Z��"
<�
�lWW���c��#
D�
�^�_�`_`^	���m�
���m�
���m�
��m,�
��m$�
��mљ��
�mљ��m�
���m$�
���m$�
�m�Z��t�4abc��������
,�
]]�m��
$�
<]]���� 
4�
<]]����h
�e�f�ggef	��	�
��	�
�	�
��	,�
��	$�
��	��
П	�
Ơ	$�
֠	$�
�mhijk!TVY[��9
�
�m�m�mdd
h�m�m�m��e��e��0
T�
���m�ld�
d
i�m�m�m$�
��8
T�
�m�mdd
j�m�m�m}h���h��+
\�
�m�mdd
k�m�m�mj��p
�m�n�oomn	��	�
��	�
�	�
��	,�
��	$�
��	��
П	�
Ơ	$�
֠	$�
�mpQp!TVY[��"
<�
Џll
p�m�m�m���q��
<�
�rr���n$�
��nD�
�n����n$�
�n������{ksOQL�
�
<qq�n��9
�uu��	D�
��	��	$�
��	$�
�nvwx��)
�
�n��tt
v�n�:u��!<
d�!
���ltt���u��"]
��"
���ltt�n<�#

x�n�v��#A
�zz��	D�$
��	��	$�#
��	$�$
�n{Q{��$"
<�$
Џyy
{�n��y��&
4�&
�}}��	$�&
��n$�&
��	��	$�&
��n$�&
�neU5i<]�~JLL�&
�&
<||�n��';
�����	$�'
֬	��	$�'
��	$�'
��	$�'
�n��� "��')
�'
�n��
��n�5{��);
T�)
�����l�)
����|��+\
��+
�����l�+
��	<�+

��n���|��,C
�����	$�,
֬	��	$�,
��	$�,
��	$�,
�n�Q�!#��,"
<�,
Џ��
��n��~��-
���ޖ	�-
������--
$�-
<���������������.
���љ��.
��љ��y�.

��y���}�AC�.
���	���	���	�������1*
��1
���y��
��y��̜3
<�3
�ne;����ne���3
,�3
<����d�3
�n����3
�3
�n��
���4;
$�4
���n�l�l��4
���$�4
��<�4
��7
�n�Q���8"
<�8
Џ��
���$�8
D�$�����D]���L,����$M����)dS����4m���H��"���[L�������~�;%pDBaclfTlyF��7�����B? Takes two closures and *potentially* runs them in parallel. It���63 returns a pair of the results from those closures.�����FC Conceptually, calling `join()` is similar to spawning two threads,���85 one executing each of the two closures. However, the���96 implementation is quite different and incurs very low���EB overhead. The underlying technique is called "work stealing": the���EB Rayon runtime uses a fixed pool of worker threads and attempts to���DA only execute code in parallel when there are idle CPUs to handle�<� it.�����C@ When `join` is called from outside the thread pool, the calling���C@ thread will block while the closures execute in the pool.  When���GD `join` is called within the pool, the calling thread still actively���GD participates in the thread pool. It will begin by executing closure���HE A (on the current thread). While it is doing that, it will advertise���MJ closure B as being available for other threads to execute. Once closure A���DA has completed, the current thread will try to execute closure B;���	JG if however closure B has been stolen, then it will look for other work���
HE while waiting for the thief to fully execute closure B. (This is the���
$! typical work-stealing strategy).��
�t�
 # Examples�����FC This example uses join to perform a quick-sort (note this is not a���FC particularly optimized implementation: if you **actually** want to���DA sort for real, you should prefer [the `par_sort` method] offered�t� by Rayon).�����WT [the `par_sort` method]: ../rayon/slice/trait.ParallelSliceMut.html#method.par_sort��
�\�
 ```rust���
 # use rayon_core as rayon;���
)& let mut v = vec![5, 1, 8, 22, 0, 44];��� quick_sort(&mut v);���,) assert_eq!(v, vec![0, 1, 5, 8, 22, 44]);�����30 fn quick_sort<T:PartialOrd+Send>(v: &mut [T]) {���    if v.len() > 1 {���"        let mid = partition(v);���.+        let (lo, hi) = v.split_at_mut(mid);���)&        rayon::join(|| quick_sort(lo),���*'                    || quick_sort(hi));�D�    }�,� }�����74 // Partition rearranges all items `<=` to the pivot���A> // item (arbitrary selected to be the last item in the slice)���:7 // to the first half of the slice. It then returns the���2/ // "dividing point" where the pivot is placed.���;8 fn partition<T:PartialOrd+Send>(v: &mut [T]) -> usize {���      let pivot = v.len() - 1;���     let mut i = 0;���     for j in 0..pivot {���!         if v[j] <= v[pivot] {��             v.swap(i, j);���             i += 1;�l�
         }�L�     }���     v.swap(i, pivot);�L�     i�,���	<�������  # Warning about blocking I/O�����=: The assumption is that the closures given to `join()` are���=: CPU-bound tasks that do not perform I/O or other blocking���@= operations. If you do perform I/O, and that I/O should block���FC (e.g., waiting for a network request), the overall performance may���FC be poor.  Moreover, if you cause one closure to be blocked waiting���C@ on another (for example, using a channel), that could lead to a�l�
 deadlock.���d�	 # Panics�����FC No matter what happens, both closures will always be executed.  If���>; a single closure panics, whether it be the first or second���B? closure, that panic will be propagated and hence `join()` will���EB panic with the same panic value. If both closures panic, `join()`���;8 will panic with the panic value from the first closure.�$�����ɋ�����������������������������������t�����������$����t�����������$�����$�����$�����\���f�����������@$�����������������������������l�������
������b�RTNP�����������	&���	������	��������	W��	%��	�D����	���	���	�������!���B? Identical to `join`, except that the closures have a parameter���B? that provides context for the way the closure has been called,���B? especially indicating whether they're executing on a different���DA thread than where `join_context` was called.  This will occur if��� 96 the second job is stolen by a different thread, or if��� C@ `join_context` was called from outside the thread pool to begin�L�! with.�d�!����ɋ��������������	�!��	�!��	�!��	�!�������!��������!��	$�!�������"��������"��	$�"��	$�"��	$�"
��������������������������"R4�"�ݑ��ݑ���������	�"��ݑ��"�ݑ����"ݑ������"
���ݑ�����Ɉ\^XZ���#��������	&���	l�#��	����#��	U��	$��	�<�#���	���	���	�������#F4�#�ݑ��ݑ���������	�#��	��#��	��$��	�$
���ݑ��0257���$�������	&���	љ��$��	љ����$��	W��	%��	�|�$���	���	���	����̈%���	���	���	�������4���4������w�����������������"O�B�/���	�4����l�4job_b_latch�\�4��5L�,����������������\���������,,���b\K�����DX����Ir�5���!D�����)d������<��;���,��;����|"��7*����tg�|)qs`b�RTAC��,�����	������	��	 �����!�ǚ	��
�ǚ	��$��\�����	��K���	��	�����&l���ǚ	��o���
�ǚ	$���,����4����D������t��o�����������o������'T����o���
�$���(\����o���
�$���<����o���
�$���"(�"������������$",�$���o��$���$�$��%�o�����%%l�%���o��	��%�
�$�%��'L�'�������������������"O�B�/��"O�B�/�����'��'T�'����o��'D�'������Ԟ(��(���\�(,�(�����(�����	����(��*<�+��w��	��
���Z���.>,�.��	��	��
���1���0",�0����	��0�
��$�0��0"8���o�����1%l�1���o��o��1�
�8$�1��18���o�����2 �2�o��
�8��G�t�>�p�����>&�>�p������@#t�@���p��@���$�@��B$�B���p��B�
�$�B��C�p�����D �D����
����t�K�q����K �K�q��
���M���M��q�����N�
���$�M�D�N���N��O�q�����P%l�P���q��o��P�
�$�P��Tt�T��r!��
�D�������D�U����r��V,�V����o��YD�Y�������Zd�Z���D�[����r��[,�[����p��['�r��_���[B�[�����r��^�^��^��[�^���[����e�S������[�
�$�[��[|�^�q������^7�_�����������������;t�����w�q��_�
���,�_��_LT�_�����������������;t�����w�q��`����,�_��,�`��dL�d���q��d���$�d��e7$�e����q����������������;t�����w��e�ڣ$�e��,�e��i�q�����j �j����
�������p!D�p���������s�p�s�ԉq��������	�Pa�"�����sPa�"������pqs|�p,�p������4�q��������Rҹ��^=x��s��q8�������
�q�r�
��q/�q���s��������	�Pa�"�����s��q�
�8�s�/���r-8�������
�r��s$�r�r��s!8�������
�s�r�����\�s4�s���s��s,�s���r��s��s�
�8�s$�s��t(8�������
�t��s,�t�r���!#��u �u�r��
�8�s����d�D������������������������<����4R���D"]���\@����RLM����,X����D_����SLi����SLt����L����<,�����,��;���4�����ZL�����K\�����Kd�����Kd�����Z������J������,�������D������	,������<�X��͵4�@��p$��+�����*��
DefaultHasher�l��G���4��`���������	���������b\������D�����I��5����$��5���4�����'������1X����������������|��nl�`��vSVDG58&)����3��������|��D����"��{~<�oD�`D�R��*FI69��+.\�Ĭ��UR Thread builder used for customization via [`ThreadPoolBuilder::spawn_handler()`].�l��s��Զ�)&���������$��������T��������4����ŶĠ<��������D������d�,�������s��������GD Gets the index of this thread in the pool, within `0..num_threads`.�,����s���
�$���"��FC Gets the string that was specified by `ThreadPoolBuilder::name()`.�$����s����������������;t���������$���	)��	KH Gets the value that was specified by `ThreadPoolBuilder::stack_size()`.�T�	���s����
���$�
����
JG Executes the main loop for this thread. This will not return until the�ܔ thread pool is dropped.���s��
�$���!�s��_���8������s��^�^��^��[�^���[����e�S�������
�$�����\�����	������	��	 ��������=,���ǚ	�s�����
�ǚ	$��4���!�t��������<,����t�s�����
�$��4�����	���	���	������ĝ��K����uĝ���t���uĝ��&���u��u�
��#��u�u��
��u� v���[���§
t�ا
��&�
��u��������<,����u�s�����
��u$��
�ԢD���n���kx5����������d������d�,��������l��������&T��������(l��������������������;t��������������lf���]v���	�ެ
���߈��(l��������������������;t��������������lf���]v���������߈��&d������
�%|�%�������&.d�&������&��&���B��(9|�(��ݍ,�)���	���	���	�����}����-���-����������������������q�aX��
�}�#�������-���\�.���[�� �.���	���	���	�������0���0��u��
����
�0��u��07�u�����1+
��u�8�<>�2���	���	���	�������2���	���	���	�������6K��6���
��zT�=�����um�HWx�k������u�{O���
�u��
���>��>�����
��> ����u����>��>$�>���u��>�
��$�>l�>�����������������������?��?������#�����
�?��
\�@��[<�?�B���	���	���	������E���	���	���	����W(<�X�������[,��\��
���_<t�_��������������������;t�����w��_���$�_��a%�a�����v��b��$�b��d)\�d������d���$�d��d3d�d��������%���d�����l�e���D�e���
���$�d�f�AC��i&��i������i�ز$�i��p4t�p�����l��p��$�p��<�p��t14�t�����l��t���$�tinjected_job�d�t��z"��z�������z�
�$�z��z,��z�����ڮ��z�
�$�z��[������Ё��&������Ё��%�IЁ�� Ё�J�ll�
�Ё$��!o@B����L����������������������������������w�� �����
�����Հ	$����$���$Š��+xz|~���t�����������������������������������w��� �����
���ܐՀ	$����$���%��qwy{}����	���	���	�����T�����	���	���	���������|����������w����������������������������w�� �����
�����Հ	$����$��ʯ$���%:-��E-����Tٚ���	���	���	��������.̐�����������$���שL����������$��լK������������$��������T�����Gs�7Z���������4������p�ʱ<ʱ����p���L������qĈ�<�������|��������.������������ <´�d���w($T�B�����������ڷ4ڷ���ŶIJ�<�������l��$������nd��,������ֹֹ������-���x�5��V��D���������)�w����ҽ&$ս�s�w��
��4ڽ����w������$�����w����
�$�������	���	���	����������w��������������������.<�����������2\����������4�������	���	���	������
�����/D�����w�������—$�����#,�����w������$�����-$�����w�l�����$����>���2L�����w�l������$���*@���1������w����܂$�����5t�����wڮ����ܢ$�����"�������w����
�$�����JT������w��m����������m����m\��
��m$����D-/���3|�������w��o����։$���,�������	���	���	������
���'�������w����
�$�����%L������wڮ����
�$�������	���	���	����ڮ��
�����	���	���	������
��
���'L�����w�|����
�$�����)\�����w�|����
�$�����0<�����w�l������$����E���!,������wڮ����
�$��L�����	���	���	������
t�����	���	���	������ڮ
�������*L����s
��4�������	���	���	����������ր���	���	���	��������
���oL��������������������������w�̄ �����
����Հ	$���$��
��������Hz|~��Չt܉���
x�5��V���,�����+�+p�+��*�@��n�*{�����
�����������
��
����<��������$�������
����
�$�����'T�������
����
�$������L�,����������������"���4�|���<�q���<�����4�R���ST�����,�����#|�����'L�����!D�����)d�����4����H��"�����*����\���������ManuallyDrop�d����������\L��Y���D�����I��5����"���.����������!��ux��Ekn\_MP>Al�3l�&D���	���D����(����t������PM Represents a fork-join scope which can be used to spawn any number of tasks.���)& See [`scope()`] for more information.�,��.���x�v�k���h�4���$�������/��������/���	�.-]�@���.����P��
��NK Those spawned from the same thread are prioritized in relative FIFO order.���.+ See [`scope_fifo()`] for more information.�L��.���x2��/_����4���$������
��,��������L���.����
.-]�@������4���	D�	�������
/,�
����Y�Y\�Yp��X=nۼk�p��	��������q��K4���������Rҹ��^=x�����������lf���]v����x����
����.߈��Sg��B? Creates a "fork-join" scope `s` and invokes the closure with a���DA reference to `s`. This closure can then spawn asynchronous tasks���DA into `s`. Those tasks may run asynchronously with respect to the���FC closure; they may themselves spawn additional tasks into `s`. When���EB the closure returns, it will block until all tasks that have been��� spawned into `s` complete.�����EB `scope()` is a more flexible building block compared to `join()`,���A> since a loop can be used to spawn any number of tasks without���FC recursing. However, that flexibility comes at a performance price:���B? tasks spawned using `scope()` must be allocated onto the heap,���B? whereas `join()` can make exclusive use of the stack. **Prefer���DA `join()` (or, even better, parallel iterators) where possible.**���l�
 # Example�����HE The Rayon `join()` function launches two closures and waits for them���IF to stop. One could implement `join()` using a scope like so, although���<9 it would be less efficient than the real implementation:���\���	����	��<9 pub fn join<A,B,RA,RB>(oper_a: A, oper_b: B) -> (RA, RB)���'$     where A: FnOnce() -> RA + Send,���'$           B: FnOnce() -> RB + Send,���           RA: Send,���           RB: Send,�,� {���,)     let mut result_a: Option<RA> = None;���,)     let mut result_b: Option<RB> = None;���     rayon::scope(|s| {���30         s.spawn(|_| result_a = Some(oper_a()));���30         s.spawn(|_| result_b = Some(oper_b()));�\�     });���.+     (result_a.unwrap(), result_b.unwrap())�,���	<�����̢ # A note on threading�����EB The closure given to `scope()` executes in the Rayon thread pool,���DA as do those given to `spawn()`. This means that you can't access���<9 thread-local variables (well, you can, but they may have��� unexpected values).����� # Task execution�����EB Task execution potentially starts as soon as `spawn()` is called.���FC The task will end sometime before `scope()` returns. Note that the���@= *closure* given to scope may return much earlier. In general���PM the lifetime of a scope created like `scope(body)` goes something like this:�����/, - Scope begins when `scope(body)` is called��� $! - Scope body `body()` is invoked��� $!     - Scope tasks may be spawned���  - Scope body returns��� 74 - Scope tasks execute, possibly spawning more tasks���!?< - Once all tasks are done, scope ends and `scope()` returns��!���!@= To see how and when tasks are joined, consider this example:��"�\�"��	��"��	��" // point start���" rayon::scope(|s| {���#!     s.spawn(|s| { // task s.1���#'$         s.spawn(|s| { // task s.1.1���#"             rayon::scope(|t| {���#0-                 t.spawn(|_| ()); // task t.1���$0-                 t.spawn(|_| ()); // task t.2���$             });�|�$         });�\�$����%!     s.spawn(|s| { // task s.2�\�%����%     // point mid�<�% });���%
 // point end�<�%���%���%@= The various tasks that are run will execute roughly like so:��&�t�& ```notrust�l�&
 | (start)�,�& |���& | (scope `s` created)���&@= +-----------------------------------------------+ (task s.2)���'52 +-------+ (task s.1)                            |���'52 |       |                                       |���(52 |       +---+ (task s.1.1)                      |���(52 |       |   |                                   |���)52 |       |   | (scope `t` created)               |���)52 |       |   +----------------+ (task t.2)       |���)52 |       |   +---+ (task t.1) |                  |���*52 | (mid) |   |   |            |                  |���*52 :       |   + <-+------------+ (scope `t` ends) |���+52 :       |   |                                   |���+FC |<------+---+-----------------------------------+ (scope `s` ends)�,�,ӕ\�, | (end)�<�,���,���,A> The point here is that everything spawned into scope `s` will���,?< terminate (at latest) at the same point -- right before the���->; original call to `rayon::scope` returns. This includes new���-EB subtasks created by other subtasks (e.g., task `s.1.1`). If a new���.FC scope is created (such as `t`), the things spawned into that scope���/B? will be joined before that scope returns, which in turn occurs���/B? before the creating task (task `s.1.1` in this case) finishes.��0���0DA There is no guaranteed order of execution for spawns in a scope,���0GD given that other threads may steal tasks at any time. However, they���1FC are generally prioritized in a LIFO order on the thread from which���1FC they were spawned. So in this example, absent any stealing, we can���2GD expect `s.2` to execute before `s.1`, and `t.2` before `t.1`. Other���2C@ threads always steal from the other end of the deque, like FIFO���3GD order.  The idea is that "recent" tasks are most likely to be fresh���3A> in the local CPU's cache, while other threads can steal older���474 "stale" tasks.  For an alternate approach, consider���4 [`scope_fifo()`] instead.��5�ԗ5 # Accessing stack data��5���5A> In general, spawned tasks may access stack data in place that���5DA outlives the scope itself. Other data must be fully owned by the���6 spawned task.��6�\�6��	��6��	��6%" let ok: Vec<i32> = vec![1, 2, 3];���7���7*'     let bad: Vec<i32> = vec![4, 5, 6];���7     s.spawn(|_| {���7A>         // We can access `ok` because outlives the scope `s`.���8%"         println!("ok: {:?}", ok);��8���8NK         // If we just try to use `bad` here, the closure will borrow `bad`���9MJ         // (because we are just printing it out, and that only requires a���:IF         // borrow), which will result in a compilation error. Read on���:         // for options.���:*'         // println!("bad: {:?}", bad);�T�;    });�<�;��<�;���;���;EB As the comments example above suggest, to reference `bad` we must���;EB take ownership of it. One way to do this is to detach the closure���<DA from the surrounding stack frame, using the `move` keyword. This���=FC will cause it to take ownership of *all* the variables it touches,���=1. in this case including both `ok` *and* `bad`:��=�\�>��	�>��	��>%����>���>*�Ԗ?     s.spawn(move |_| {���?%����?'$         println!("bad: {:?}", bad);�\�?���@���@IF     // That closure is fine, but now we can't use `ok` anywhere else,���@2/     // since it is owned by the previous task:���A1.     // s.spawn(|_| println!("ok: {:?}", ok));�<�A��<�A���A���AMJ While this works, it could be a problem if we want to use `ok` elsewhere.���BKH There are two choices. We can keep the closure as a `move` closure, but���BPM instead of referencing the variable `ok`, we create a shadowed variable that���C+( is a borrow of `ok` and capture *that*:��C�\�C��	��C��	��D%����D���D*���E<9     let ok: &Vec<i32> = &ok; // shadow the original `ok`�ԽE����EFC         println!("ok: {:?}", ok); // captures the shadowed version���F'��\�F���F���FMJ     // Now we too can use the shadowed `ok`, since `&Vec<i32>` references���GPM     // can be shared freely. Note that we need a `move` closure here though,���GHE     // because otherwise we'd be trying to borrow the shadowed `ok`,���H,)     // and that doesn't outlive `scope`.���H30     s.spawn(move |_| println!("ok: {:?}", ok));�<�I��<�I���I���IQN Another option is not to use the `move` keyword but instead to take ownership��J of individual variables:��J�\�J��	��J��	��J%����J���K*���K����KTQ         // Transfer ownership of `bad` into a local variable (also named `bad`).���L[X         // This will force the closure to take ownership of `bad` from the environment.�ԁM         let bad = bad;���M?<         println!("ok: {:?}", ok); // `ok` is only borrowed.���MOL         println!("bad: {:?}", bad); // refers to our local variable, above.�\�N���N���NHE     s.spawn(|_| println!("ok: {:?}", ok)); // we too can borrow `ok`�<�O��<�O���O�d�O��	�O���OEB If a panic occurs, either in the closure given to `scope()` or in���OB? any of the spawned jobs, that panic will be propagated and the���PB? call to `scope()` will panic. If multiple panics occurs, it is���PA> non-deterministic which of their panic values will propagate.���QEB Regardless, once a task is spawned using `scope.spawn()`, it will���QDA execute, even if the spawning task should later panic. `scope()`���RDA returns once all spawned jobs have completed, and any panics are��S propagated at that point.�,�S���m�.�������������S�	�S������x��S�������m�S����$�S֠	$�T
��.���m���J4�S������T���	���	���	������U���	���	���	������np��UDA Creates a "fork-join" scope `s` with FIFO order, and invokes the���V@= closure with a reference to `s`. This closure can then spawn���VHE asynchronous tasks into `s`. Those tasks may run asynchronously with���WFC respect to the closure; they may themselves spawn additional tasks���WEB into `s`. When the closure returns, it will block until all tasks���X-* that have been spawned into `s` complete.��X���X���X���XIF Tasks in a `scope_fifo()` run similarly to [`scope()`], but there's a���YEB difference in the order of execution. Consider a similar example:��Y�\�Y��	�Z��	��ZאܸZ rayon::scope_fifo(|s| {���Z&#     s.spawn_fifo(|s| { // task s.1���Z,)         s.spawn_fifo(|s| { // task s.1.1���['$             rayon::scope_fifo(|t| {���[52                 t.spawn_fifo(|_| ()); // task t.1���\52                 t.spawn_fifo(|_| ()); // task t.2���\��|�\��\�\����\&#     s.spawn_fifo(|s| { // task s.2�\�]����]��<�]����]��<�]���]���]@Ք�^�t�^��l�^��,�^ӕ��^ | (FIFO scope `s` created)���^%" +--------------------+ (task s.1)�Ԇ_ +-------+ (task s.2) |���_+( |       |            +---+ (task s.1.1)���_ |       |            |   |���_74 |       |            |   | (FIFO scope `t` created)���`:7 |       |            |   +----------------+ (task t.1)���`/, |       |            |   +---+ (task t.2) |���a/, | (mid) |            |   |   |            |���a@= :       |            |   + <-+------------+ (scope `t` ends)��b :       |            |   |���b/, |<------+------------+---+ (scope `s` ends)�,�bӕ\�b��<�b���b���bGD Under `scope_fifo()`, the spawns are prioritized in a FIFO order on���cFC the thread from which they were spawned, as opposed to `scope()`'s���cDA LIFO.  So in this example, we can expect `s.1` to execute before���dDA `s.2`, and `t.1` before `t.2`. Other threads also steal tasks in���eEB FIFO order, as usual. Overall, this has roughly the same order as���eEB the now-deprecated [`breadth_first`] option, except the effect is���fGD isolated to a particular scope. If spawns are intermingled from any���fB? combination of `scope()` and `scope_fifo()`, or from different���gHE threads, their order is only specified with respect to spawns in the���g same scope and thread.��h���h85 For more details on this design, see Rayon [RFC #1].��h���h>; [`breadth_first`]: crate::ThreadPoolBuilder::breadth_first���i]Z [RFC #1]: https://github.com/rayon-rs/rfcs/blob/main/accepted/rfc0001-scope-scheduling.md��i�d�i��	�i���iGD If a panic occurs, either in the closure given to `scope_fifo()` or���jEB in any of the spawned jobs, that panic will be propagated and the���kGD call to `scope_fifo()` will panic. If multiple panics occurs, it is���kA����lEB Regardless, once a task is spawned using `scope.spawn_fifo()`, it���l?< will execute, even if the spawning task should later panic.���mHE `scope_fifo()` returns once all spawned jobs have completed, and any���m(% panics are propagated at that point.�T�n���m�.�����������n�	�n�	����	�x��n�	������m�n��$�n֠	$�n
��.���m��vO4�n}����o���	���	���	������p���	���	���	�������x\��pB��
��pD��
��qD��
��qF��
��rE��
�s��
�s���sJG This is just like `scope()` except the closure runs on the same thread���sGD that calls `in_place_scope()`. Only work that it spawns runs in the���t
 thread pool.��t�d�t��	�t���tNK If a panic occurs, either in the closure given to `in_place_scope()` or in���uB����uKH call to `in_place_scope()` will panic. If multiple panics occurs, it is���vA����wE����wMJ execute, even if the spawning task should later panic. `in_place_scope()`���xD����x��t�x���m�.�����������y�	�y�	����	�xܷy�	������m�y
��.���m���S4�ylnqs��y���z�	����������������;t����	�����m�.���������z���z�	�z�	����	�x��z�	������m�z
��.���m��U���U4�ztvy{�|���	���	���	�������|{�|��	����������������;t����	������������������;t����	�w���|ҩ�D�|�Ée�ǀD�����@���́H�����F���݂E�����-��у��ՃOL This is just like `scope_fifo()` except the closure runs on the same thread����LI that calls `in_place_scope_fifo()`. Only work that it spawns runs in the��������d����	������SP If a panic occurs, either in the closure given to `in_place_scope_fifo()` or in���B�����PM call to `in_place_scope_fifo()` will panic. If multiple panics occurs, it is����A���‡JG Regardless, once a task is spawned using `scope.spawn_fifo()`, it will����RO execute, even if the spawning task should later panic. `in_place_scope_fifo()`����D��쥉���ʉ���m�.������������	��	����	�x����	������m��
��.���m��,X4މrtvx�ӊ����	����������������;t����	�����m�.���������������	���	����	�x�ċ�	������m�
��.���m�LZ��WZ4��z|~������	���	���	�����Ԛ��.���x���4�����N����	�	����������������;t����	�w����������������;t����	���x�Ѝ�
��.��,�D�����e��?< Spawns a job into the fork-join scope `self`. This job will����?< execute sometime before the fork-join scope completes.  The���@= job is specified as a closure, and this closure receives its����>; own reference to the scope `self` as argument. This can be���(% used to inject new jobs into `self`.����l��
 # Returns�������@= Nothing. The spawned closures cannot pass back values to the����@= caller directly, though they can write to local variables on��˒74 the stack (if those variables outlive the scope) or����(% communicate through shared channels.�������B? (The intention is to eventually integrate with Rust futures to����63 support spawns of functions that compute a value.)����tƔ��	ٔ�\���	����	ܔ� let mut value_a = None;�ܴ� let mut value_b = None;��ԕ let mut value_c = None;��������     s.spawn(|s1| {����B?           // ^ this is the same scope as `s`; this handle `s1`���;8           //   is intended for use by the spawned task,����FC           //   since scope handles cannot cross thread boundaries.�������         value_a = Some(22);�������HE         // the scope `s` will not end until all these tasks are done����         s1.spawn(|_| {����#              value_b = Some(44);�|ę��\ؙ�����������         value_c = Some(66);�\����<�����ʚ" assert_eq!(value_a, Some(22));���" assert_eq!(value_b, Some(44));����" assert_eq!(value_c, Some(66));�<����˛�tӛ # See also�����A> The [`scope` function] has more extensive documentation about���� task spawning.�˜��Ӝ [`scope` function]: scope()�,���	�	�xĹ���������Ĺ$���	�Ĺ�	�x����	Ĺ�����Ĺ$ΝĹ�.4՝
��.Ĺ$�����]���<�����	���	���	�����<۟���	���	���	����������ƢOL Spawns a job into every thread of the fork-join scope `self`. This job will����NK execute on each thread sometime before the fork-join scope completes.  The����NK job is specified as a closure, and this closure receives its own reference����EB to the scope `self` as argument, as well as a `BroadcastContext`.�|���	�	�xĹ��������$���	�	�Ĺ�	�x""�$�%��η��,C�	�ҥ(�	�	Ĺ���"��$���Ĺ$��Ñ4��
��.Ĺ$����^c���<ߦ���	���	���	�����<�����	���	���	�����T�����	���	���	������ũ�.���x���4ʩ��N����	�	����������������;t����	�w����������������;t����	���x����
��.��,��D��ϫ���	���	���	�������n�԰n���?���߬?π���@����>����(��خ�t�֍�����>; This method is akin to [`Scope::spawn()`], but with a FIFO����A> priority.  The [`scope_fifo` function] has more details about���� this distinction.�������)& [`scope_fifo` function]: scope_fifo()�T۰�	�	�xĹ�������$��	�Ĺ�	�xԗ��	Ĺ�����$��Ñ4��
��.Ĺ$����;luw�<�����	���	���	�����<�����	���	���	�����������O�����N���ӹN����E��|���	�	�xĹ��������$���	�	�Ĺ�	�x""�$�%��η��,C�	���,�	�	Ĺˤ�"��$��$�Ñ4��
��.Ĺ$����Ar���<ɼ���	���	���	�����<�����	���	���	�����T�����	���	���	���������.����
��������4�����N����	�	����������������;t����	�w����������������;t����	����
����
��.��,���D�������	���	���	�����������qd����	�	��
���l��4���������$�����D���������$�����.4��
��.��$����xmo����m�����	�	��
����4�������$�����$����	��$�����$��ʬ4��
��.���}��{`b������	���	���	��������qD����	�	�	��
����������������;t����	�w���m��4����������$���	����l������m��
��.���m$�������XZ\^���\\�����
����4�����$����D����	
��.����	���46���y������������4��������$���	����l������
��.���m��n��y�CEGI���:d����	�	��
��	����
��.$�������������	�	��
����
��.$�����)�.���x��_�4�����:���	�	�	�	�x�	�^�^��^��[�^���[����e�S��	������
��.$��������-�.���x��_�4�����:���	�	�	�	�x�	�^�^��^��[�^���[����e�S��	������
��.$������D������ޖ	���y��{(�8������yh�Q����y��
��yfhD����������)���ޖ	����y$���y���)���ޖ	����$���y������ޖ	���y�
���4����	�	�y�	�y����
��y$��L�,��������RLm�����<��;���,��;��CachePadded�\�����D������4�����8\����7t�����W������_��|���������\�pd�D����������������b\�����D%�����*+-�1 tC����ZSt�I�S���,���������z������(,�����z��	%D�	��z�������%L���z��������%L���z��
�$���d��ܯt����t����L����#\�̆d��̝d����<����������������%������
���9$���	�	�����y���ȯ$��r���\d���	�	���y�y�������$�����֭������� (�� ��	�	���� �
�$� ��#���#��	�	�����y��:���$�������$!���ǰ�$��ǰ�$�$
���$�$����GI��*1��*��	�	����*�
�$�*��2(��2��	�	����2�
�$�2��7I��7��	�	���y��7�
�$�7��L�8��<4l�<����W|���|���=#T�=����Wۉl�=�y��������=�=��y��Щ�W����>+��>��y�y����@���@4d�A��y�z����ň��B-��B��y����[���C3��C��y����G���F-��F��y��̽j���G!�y��_���GD�G�	�	�	�	�y�	�^�^��^��[�^���[����e�S��	����G�
�$�G��G܍���2������,���l��QMC�;����7������?�?��?���:�?�	�:$x��Lk��������g�˰؎��{߈��D��������
L�
���=�����=���;�Gn���~"-Gn���~"-�����d����\�4������
d�
����z������� ���T�����������������,�������ӪL�����	���	���	����������Dl��	�	�������
�$��d���T��	�	�����
�$����l��	�	�	�	���	���	�o�>��>������������������$�
���$�
idle_state�T��,�has_injected_jobs���np��-|���	�	���z���
�$����,���	�	�	�	���	���	�o����>��������������$�
���$���T��,�����>@��8KԵ8�	�	����8�Õ$�8���8��<L��<�	�	����<�
�$�<��D�<��|�=��DL��D�	�	����D���$�D��r���s���F8D�F��	�	����F���$�F��������P0��P��	�	����Q���$�Q��\�Q��S4��S��	�	����T�
�$�T�,�Tt�[������[T�[��	�	����[�
�$�[��\\�\��	�	����\�
�$�\L�,�������!D(����4=����	N���Ib�5�����F����P�����R�����]�����q���S�|���r����T��l6�DI�tW���@�hHE Puts the task into the Rayon thread pool's job queue in the "static"���DA or "global" scope. Just like a standard thread, this task is not���A> tied to the current stack frame, and hence it cannot hold any���DA references other than those with `'static` lifetime. If you want���B? to spawn a task that references stack data, use [the `scope()`���  function] to create a scope.�����,) [the `scope()` function]: crate::scope()�����FC Since tasks spawned with this function cannot hold references into���A> the enclosing stack frame, you almost certainly want to use a���A> `move` closure as their argument (otherwise, the closure will���A> typically hold references to any variables from the enclosing���%" function that you happen to use).�����@= This API assumes that the closure is executed purely for its���EB side-effects (i.e., it might send messages, modify data protected���$! by a mutex, or some such thing).�����DA There is no guaranteed order of execution for spawns, given that���@= other threads may steal tasks at any time. However, they are���	B? generally prioritized in a LIFO order on the thread from which���	GD they were spawned. Other threads always steal from the other end of���
DA the deque, like FIFO order.  The idea is that "recent" tasks are���
A> most likely to be fresh in the local CPU's cache, while other���FC threads can steal older "stale" tasks.  For an alternate approach,���&# consider [`spawn_fifo()`] instead.����� # Panic handling�����=: If this closure should panic, the resulting panic will be���JG propagated to the panic handler registered in the `ThreadPoolBuilder`,���
@= if any.  See [`ThreadPoolBuilder::panic_handler()`] for more�d�
	 details.��
���
UR [`ThreadPoolBuilder::panic_handler()`]: crate::ThreadPoolBuilder::panic_handler()���t���	����DA This code creates a Rayon task that increments a global counter.���\���	����	��FC use std::sync::atomic::{AtomicUsize, Ordering, ATOMIC_USIZE_INIT};�����;8 static GLOBAL_COUNTER: AtomicUsize = ATOMIC_USIZE_INIT;����� rayon::spawn(move || {���63     GLOBAL_COUNTER.fetch_add(1, Ordering::SeqCst);�<���<���,��u����
�ӳ
D��u����u$��u<�
��u���HJ��kD��	�u�	�������
�ӳ
D�����$���<����s��q�57��kL���	�u�	���l�����
�ӳ
D�����$���<����ƍ�č57<����	���	���	�������'E��B? Fires off a task into the Rayon thread pool in the "static" or���B? "global" scope.  Just like a standard thread, this task is not���A����D����GD to spawn a task that references stack data, use [the `scope_fifo()`��� ������85 The behavior is essentially the same as [the `spawn`��� 52 function], except that calls from the same thread��� B? will be prioritized in FIFO order. This is similar to the now-���!FC deprecated [`breadth_first`] option, except the effect is isolated���!>; to relative `spawn_fifo` calls, not all thread-pool tasks.��"���"8���"���"63 [the `scope_fifo()` function]: crate::scope_fifo()���#*' [the `spawn` function]: crate::spawn()���#>����$]���$���$���$���$=����%J����&@��d�&���&���&SP [`ThreadPoolBuilder::panic_handler()`]: crate::ThreadPoolBuilder::panic_handler�T�'�u����
�'ӳ
D�'����$�'��<�'
��u�o�24��)pl�)�	�u�	������*�
�)ӳ
D�*����$�*��<�*���w��u�57|�\��������$������"���$����������!D����� \�����)d�����1������2������ ,����� �����-,�����-�����.,������0T������/L������Z������J������,�������*��I��5����*�L���\����6����qt��9gjX[d�M��(+��������0�������D��t����
��,) Represents a user-created [thread pool].�����MJ Use a [`ThreadPoolBuilder`] to specify the number and/or names of threads���KH in the pool. After calling [`ThreadPoolBuilder::build()`], you can then���A> execute functions explicitly within this [`ThreadPool`] using���EB [`ThreadPool::install()`]. By contrast, top-level rayon functions���KH (like `join()`) will execute implicitly within the current thread pool.������ ## Creating a ThreadPool����� ```ignore-wasm�����	��OL let pool = rayon::ThreadPoolBuilder::new().num_threads(8).build().unwrap();�<�������ZW [`install()`][`ThreadPool::install()`] executes a closure in one of the `ThreadPool`'s���	[X threads. In addition, any other rayon operations called inside of `install()` will also���
/, execute in the context of the `ThreadPool`.��
���
^[ When the `ThreadPool` is dropped, that's a signal for the threads it manages to terminate,���\Y they will complete executing any remaining work that you have spawned, and automatically�t� terminate.�������<9 [thread pool]: https://en.wikipedia.org/wiki/Thread_pool���>; [`ThreadPoolBuilder::build()`]: ThreadPoolBuilder::build()���
.+ [`ThreadPool::install()`]: Self::install()�T�
�{���6�x�����
D�
�����|��{�������������������U��63 Deprecated in favor of `ThreadPoolBuilder::build`.�Use `ThreadPoolBuilder::build`���6���
�~��������������������q�aX�{�����������lf���]v�߈��
�
configuration�l����,�������#�����
���
\����[����%f��=: Executes `op` within the thread pool. Any attempts to use���<9 `join`, `scope`, or parallel iterators will then operate��� within that thread pool.�����  # Warning: thread-local data�����;8 Because `op` is executing within the Rayon thread pool,���96 thread-local data from the current thread will not be�|� accessible.����� # Warning: execution order�����LI If the current thread is part of a different thread pool, it will try to���EB keep busy while the `op` completes in its target pool, similar to���DA calling [`ThreadPool::yield_now()`] in a loop. Therefore, it may���HE potentially schedule other tasks to run on the current thread in the�̖ meantime. For example�������
����	|� fn main() {���OL     rayon::ThreadPoolBuilder::new().num_threads(1).build_global().unwrap();���MJ     let pool = rayon_core::ThreadPoolBuilder::default().build().unwrap();�İ     let do_it = || {���         print!("one ");���         pool.install(||{});�ܑ         print!("two ");�T�     };���,)     rayon::join(|| do_it(), || do_it());�,���	<�������EB Since we configured just one thread in the global pool, one might���41 expect `do_it()` to run sequentially, producing:���d�	 ```ascii��� one two one two�<�������IF However each call to `install()` yields implicitly, allowing rayon to���JG run multiple instances of `do_it()` concurrently on the single, global���85 thread. The following output would be equally valid:���d�ڣ
�� one one two two�<�����d���	� ��� 85 If `op` should panic, that panic will be propagated.�� ���  ## Using `install()`�� ��� ��
��!!    # use rayon_core as rayon;���!    fn main() {���!WT         let pool = rayon::ThreadPoolBuilder::new().num_threads(8).build().unwrap();���"-*         let n = pool.install(|| fib(20));���"         println!("{}", n);�D�"��	�#���#"    fn fib(n: usize) -> usize {���#!         if n == 0 || n == 1 {���#             return n;�l�#��	��$\Y         let (a, b) = rayon::join(|| fib(n - 1), || fib(n - 2)); // runs inside of `pool`���$         return a + b;�L�%��	<�%��<�%�	�	�{������������%����%���%���l�%������%Հ	$�%��$�&
�����$�%��8�bdgi4�&���	���	���	�������4}��&MJ Executes `op` within every thread in the thread pool. Any attempts to use���'HE `join`, `scope`, or parallel iterators will then operate within that���'���(���(JG Broadcasts are executed on each thread after they have exhausted their���(KH local work queue, before they attempt work-stealing from other threads.���)EB The goal of that strategy is to run everywhere in a timely manner���)LI *without* being too disruptive to current work. There may be alternative���*DA broadcast styles added in the future for more or less aggressive���+" injection, if the need arises.��+���+ ��
�+���+;��
��,9�
|�,��
�,�d�-��	�-���-B? If `op` should panic on one or more threads, exactly one panic���-=: will be propagated, only after all threads have completed���.! (or panicked) their own `op`.��.�t�.��	�.���.��
��/!�
��/63    use std::sync::atomic::{AtomicUsize, Ordering};��/���/��
��0WT         let pool = rayon::ThreadPoolBuilder::new().num_threads(5).build().unwrap();��0���0NK         // The argument gives context, including the index of each thread.���1PM         let v: Vec<usize> = pool.broadcast(|ctx| ctx.index() * ctx.index());���2-*         assert_eq!(v, &[0, 1, 4, 9, 16]);��2���285         // The closure can reference the local stack���3,)         let count = AtomicUsize::new(0);���3FC         pool.broadcast(|_| count.fetch_add(1, Ordering::Relaxed));���4.+         assert_eq!(count.into_inner(), 5);�D�4��	<�4��L�4�	�	�{������������4����4���4�	���""�$�%���,C�	�5�	����
����5��$�5��$�5
�����$�4�������:*��6?< Returns the (current) number of threads in the thread pool.��7���7�	�7���785 Note that unless this thread pool was created with a���8?< [`ThreadPoolBuilder`] that specifies the number of threads,���8DA then this number may vary over time in future versions (see [the���9.+ `num_threads()` method for details][snt]).��9���9+( [snt]: ThreadPoolBuilder::num_threads()���:�	�	�{��:�
�$�:��B3��:=: If called from a Rayon worker thread in this thread pool,���;@= returns the index of that thread; if not called from a Rayon���;;8 thread, or called from a Rayon thread that belongs to a���<*' different thread pool, returns `None`.��<���<B? The index for a given thread will not change over the thread's���=C@ lifetime. However, multiple threads may share the same index if���>&# they are in distinct thread pools.��>���>�	�>���>63 Currently, every thread pool (including the global���?<9 thread pool) has a fixed number of threads, but this may���?DA change in future Rayon versions (see [the `num_threads()` method���@52 for details][snt]). In that case, the index for a���@;8 thread would not change during its lifetime, but thread���AB? indices may wind up being reused if threads are terminated and�t�A restarted.��A���B+��
��B�	�	�{����B�
�$�B��M>��CB? Returns true if the current worker thread currently has "local���DA> tasks" pending. This can be useful as part of a heuristic for���D?< deciding whether to spawn a new task or execute code on the���E1. current thread, particularly in breadth-first���E@= schedulers. However, keep in mind that this is an inherently���FB? racy check, as other worker threads may be actively "stealing"���F tasks from our local deque.��G���GA> **Background:** Rayon's uses a [work-stealing] scheduler. The���G74 key idea is that each thread has its own [deque] of���H<9 tasks. Whenever a new task is spawned -- whether through���H?< `join()`, `Scope::spawn()`, or some other means -- that new���IB? task is pushed onto the thread's *local* deque. Worker threads���I?< have a preference for executing their own tasks; if however���JA> they run out of tasks, they will go try to "steal" tasks from���J?< other threads. This function therefore has an inherent race���KA> with other active worker threads, which may be removing items���K from the local deque.��L���L@= [work-stealing]: https://en.wikipedia.org/wiki/Work_stealing���L=: [deque]: https://en.wikipedia.org/wiki/Double-ended_queue���M �	�	�{����M�
�$�M��O���N?< Execute `oper_a` and `oper_b` in the thread pool and return���O<9 the results. Equivalent to `self.install(|| join(oper_a,�t�O oper_b))`.�$�O�	�	�{����ɋ��������������P���	�O��	�O��	�O��	�P��	t�P��	�P��	$�P��	t�P��	�P��	$�P��	$�Q��	$�Q
���������$�P�����������������Q���	���	���	�������Sz��Q:7 Creates a scope that executes within this thread pool.���R0- Equivalent to `self.install(|| scope(...))`.��R���R'$ See also: [the `scope()` function].��S���S,��,�S�	�	�{���m��.���������S����S�	�S�	����	�x܈T�	����
��m�T��$�T֠	$�T
��.���m$�S��j�4�S�����T���	���	���	���ߊ��W���T:��
��UGD Spawns from the same thread are prioritized in relative FIFO order.���U52 Equivalent to `self.install(|| scope_fifo(...))`.��V���V,) See also: [the `scope_fifo()` function].��V���V6��T�W�	�	�{���m��.���������W����W�	�W�	����	�x��W�	����
��m�X��$�X֠	$�X
��.���m$�W��9�4�W�����X���	���	���	������Zk��X;8 Creates a scope that spawns work into this thread pool.��Y���Y0- See also: [the `in_place_scope()` function].��Y���Y>; [the `in_place_scope()` function]: crate::in_place_scope()�t�Z�	�	�{���m��.���������Z����Z�	�Z�	����	�x܆[�	����
��m�[
��.���m$�Z����4�Zsuxz��]t��[IF Creates a scope that spawns work into this thread pool in FIFO order.��\���\52 See also: [the `in_place_scope_fifo()` function].��\���]HE [the `in_place_scope_fifo()` function]: crate::in_place_scope_fifo()���]�	�	�{���m��.���������]����]�	�]�	����	�x��^�	����
��m�^
��.���m$�]���4�]tvy{��bP��_C@ Spawns an asynchronous task in this thread pool. This task will���_FC run in the implicit, global scope, which means that it may outlast���`JG the current stack frame -- therefore, it cannot capture any references���`;8 onto the stack (you will likely need a `move` closure).��a���a@= See also: [the `spawn()` function defined on scopes][spawn].��a�܃b [spawn]: Scope::spawn()�,�b�	�	�{�������b����b��
D�b���Հ	$�b�	<�b
���$�b��ԭHJ��gU��cC��
��dF��
��eJ��
��e;��
�f���fJG See also: [the `spawn_fifo()` function defined on scopes][spawn_fifo].��f���f)& [spawn_fifo]: ScopeFifo::spawn_fifo()�T�g�	�	�{�������g����g��
D�g��
Հ	$�g�	<�g
���$�g����;=��kq��iN����iO����jO����k2��|�k�	�	�{�������k����k�	���""�$�%���,C�	��k�	����
�Հ	$�l��$�l�	<�l
���$�k�������p(��m,) Cooperatively yields execution to Rayon.��m���mKH This is similar to the general [`yield_now()`], but only if the current���n)& thread is part of *this* thread pool.��n���oTQ Returns `Some(Yield::Executed)` if anything was executed, `Some(Yield::Idle)` if���oQN nothing was available, or `None` if the current thread is not part this pool.�L�p�	�	�{����������������;t����|��p�
�$�p��t*��q74 Cooperatively yields execution to local Rayon work.��q���qMJ This is similar to the general [`yield_local()`], but only if the current���r)��
�r���sT��
��sQ��
\�t�	�	�{��
��t�
�$�tĿu�{�����u$�u�	�	�{��u�
�$�u��v�{��_���v:�v�	�	�	�	�{�	�^�^��^��[�^���[����e�S��	����v�
�$�v��v��.��xC@ If called from a Rayon worker thread, returns the index of that���xFC thread within its current pool; if not called from a Rayon thread,���y returns `None`.��y���yB��
��zC��
��z&��
�{���{C@ See also: [the `ThreadPool::current_thread_index()` method][m].��{���{+( [m]: ThreadPool::current_thread_index()��{���|�	�|���|6��
��|<��
��}D��
��}5��
��~;��
��~B��
t���
����+��
����
����9��@= If called from a Rayon worker thread, indicates whether that����DA thread's local deque still has pending tasks. Otherwise, returns����*' `None`. For more information, see [the����@= `ThreadPool::current_thread_has_pending_tasks()` method][m].�����74 [m]: ThreadPool::current_thread_has_pending_tasks()���� ��
����#�߄,��
������JG If the current thread is part of a rayon thread pool, this looks for a��ۅLI single unit of pending work in the pool, then executes it. Completion of����A> that work might include nested work or further work stealing.�����PM This is similar to [`std::thread::yield_now()`], but does not literally make����KH that call. If you are implementing a polling loop, you may want to also����B? yield to the OS scheduler yourself if no Rayon work was found.�Έ��҈T��
���SP nothing was available, or `None` if this thread is not part of any pool at all.�L����

����%���7��
ȋ��̋J����IF single unit of pending work in this thread's queue, then executes it.���OL Completion of that work might include nested work or further work stealing.�������NK This is similar to [`yield_now()`], but does not steal from other threads.�������T��
�ݎS��\����

�T�4�����H��"���$��*������S����S���4����l�l��$^,�NP\�+��\t��u��������������������q�aX����	�������
����ӳ
l��u����
��u���e�=?BD��A����	��payload�<���d��|k鳊q�S��/+���|ԋ�|�����$��	�	�|���
�$���d��������3|7��H|L��]|a�lrLv���Dh$l�L�,��d�D����t����?gg
gggg�� �fg�f�f���f��+�f�f�f�f�f�f��9�f�f�f�f�f�f�� �f�f�f�f��3�f��'�f� �f�� 2�f�f|f�frfvfL�!lf��!8afefUfYf5f9f��%!��"VS Returns the maximum number of threads that Rayon supports in a single thread pool.��"���"c` If a higher thread count is requested by calling `ThreadPoolBuilder::num_threads` or by setting���#ZW the `RAYON_NUM_THREADS` environment variable, then it will be reduced to this maximum.��$���$a^ The value may vary between different targets, and is subject to change in new Rayon versions.�|�%���,%��&B? Returns the number of threads in the current registry. If this���&C@ code is executing within a Rayon thread pool, then this will be���'<9 the number of threads for the thread pool of the current���'FC thread. Otherwise, it will be the number of threads for the global���(���(���(C@ This can be useful when trying to judge how many times to split���)>; parallel work (the parallel iterator traits use this value���)! internally for this purpose).��)���*�	�*���*8��
��*;8 builder that specifies the number of threads, then this���+:7 number may vary over time in future versions (see [the���+.��
�,���,)& [snt]: ThreadPoolBuilder::num_threads���,
���3.��/UR Used to create a new [`ThreadPool`] or to configure the global rayon thread pool.���/ߌ
��/85 The following creates a thread pool with 22 threads.��0���0��
��0��	��0PM let pool = rayon::ThreadPoolBuilder::new().num_threads(22).build().unwrap();�<�1���1���1HE To instead configure the global thread pool, use [`build_global()`]:��2���2��
��2��	��2LI rayon::ThreadPoolBuilder::new().num_threads(22).build_global().unwrap();�<�3���3���3,) [`build_global()`]: Self::build_global()���3�#����
��3��W�Lh��\���������-�3�t��5\�5��ĥ6��6����7(l�7��ӫ
��88|�8������������������;t��������������lf���]v��������߈��8T�8������9(l�9����
��:&d�:����
��;l�;������<l�<����?d�?լ
��Ad�A��
��C\�C��
��D"�~�����D<�D�~��
���G�~���H��HVS Creates and returns a valid rayon thread pool builder, but does not initialize it.��H�~��
���J6��IVS Note: the `S: ThreadSpawn` constraint is an internal implementation detail for the���ILI default spawn and those set by [`spawn_handler`](#method.spawn_handler).��#����
�J��
\�J������K>��JDA Creates a new `ThreadPool` initialized using this configuration.�,�K������
���ƿ��S=��L>; Initializes the global thread pool. This initialization is���LDA **optional**.  If you do not call this function, the thread pool���M63 will be automatically initialized with the default���MDA configuration. Calling `build_global` is not recommended, except���N in two scenarios:��N���N30 - You wish to change the default configuration.���OA> - You are running a benchmark, in which case initializing may���OFC   yield slightly more consistent results, since the worker threads���PC@   will already be ready to go even in the first iteration.  But���P   this cost is minimal.��Q���Q<9 Initialization of the global thread pool happens exactly���Q30 once. Once started, the configuration cannot be���RDA changed. Therefore, if you call `build_global` a second time, it���R<9 will return an error. An `Ok` result indicates that this���S30 is the first initialization of the thread pool.�d�S�����
�������U�~���`���UGD Creates a scoped `ThreadPool` initialized using this configuration.��U���USP This is a convenience function for building a pool using [`std::thread::scope`]���V,) to spawn threads in a [`spawn_handler`].���WJG The threads in this pool will start by calling `wrapper`, which should���WEB do initialization and continue by calling `ThreadBuilder::run()`.��X���X,) [`spawn_handler`]: Self::spawn_handler()��X�t�X��	�X���XRO A scoped pool may be useful in combination with scoped thread-local variables.��Y���Y��
��Y��	�Z���ZA> scoped_tls::scoped_thread_local!(static POOL_DATA: Vec<i32>);��Z���Z:7 fn main() -> Result<(), rayon::ThreadPoolBuildError> {���[&#     let pool_data = vec![1, 2, 3];��[���[0-     // We haven't assigned any TLS data yet.���\%"     assert!(!POOL_DATA.is_set());��\���\'$     rayon::ThreadPoolBuilder::new()���\         .build_scoped(���]=:             // Borrow `pool_data` in TLS for each thread.���]DA             |thread| POOL_DATA.set(&pool_data, || thread.run()),���^85             // Do some work that needs the TLS data.���^DA             |pool| pool.install(|| assert!(POOL_DATA.is_set())),�|�_         )?;��_���_B?     // Once we've returned, `pool_data` is no longer borrowed.�ă`     drop(pool_data);�t�`     Ok(())�,�`��	<�`��d�`�~���m���L��������������`��	�`�	�`���ĝ��a��ĝ����$�a�	��m�	�{��a�	�m����m�b
����m�m_���^�̸^�������<�b���	���	���	�����D�b���	���	���	�����f���	���	���	������g�#����
�g�������������������;=������g0- Sets a custom function for spawning threads.��h���hKH Note that the threads will not exit until after the pool is dropped. It���hKH is up to the caller to wait for thread termination if that is important���iOL for any invariants. For instance, threads created in [`std::thread::scope`]���jNK will be joined before that scope returns, and this will block indefinitely���jPM if the pool is leaked. Furthermore, the global thread pool doesn't terminate���k#  until the entire process exits!��k�t�k��	�k���kRO A minimal spawn handler just needs to call `run()` from an independent thread.��l���l��
��l��	��m:����m2/     let pool = rayon::ThreadPoolBuilder::new()���n%"         .spawn_handler(|thread| {���n41             std::thread::spawn(|| thread.run());���n             Ok(())�t�o         })���o         .build()?;��o���oB?     pool.install(|| println!("Hello from my custom thread!"));�t�p��,�p��	<�p���p���pSP The default spawn handler sets the name and stack size if given, and propagates���q'$ any errors from the thread builder.��q���q��
��q��	��q:����r2����r%����s85             let mut b = std::thread::Builder::new();���s30             if let Some(name) = thread.name() {���t0-                 b = b.name(name.to_owned());���t             }���t?<             if let Some(stack_size) = thread.stack_size() {���u1.                 b = b.stack_size(stack_size);���u����u*'             b.spawn(|| thread.run())?;���v��t�v����v���v���vHE     pool.install(|| println!("Hello from my fully custom thread!"));�t�w��,�w��	<�w���w���wQN This can also be used for a pool of scoped threads like [`crossbeam::scope`],���xOL or [`std::thread::scope`] introduced in Rust 1.63, which is encapsulated in���y [`build_scoped`].��y���yOL [`crossbeam::scope`]: https://docs.rs/crossbeam/0.8/crossbeam/fn.scope.html���z*' [`build_scoped`]: Self::build_scoped()��z���z��
��z��	��z:����{$!     std::thread::scope(|scope| {���{63         let pool = rayon::ThreadPoolBuilder::new()���|)&             .spawn_handler(|thread| {���|B?                 let mut builder = std::thread::Builder::new();���}74                 if let Some(name) = thread.name() {���}A>                     builder = builder.name(name.to_string());���~                 }���~=:                 if let Some(size) = thread.stack_size() {���~;8                     builder = builder.stack_size(size);�������41                 builder.spawn_scoped(scope, || {����HE                     // Add any scoped initialization here, then run!��΀$!                     thread.run()����                 })?;�Ԕ�                 Ok(())����             })��ʁ             .build()?;�����MJ         pool.install(|| println!("Hello from my custom scoped thread!"));��         Ok(())�Tڂ     })�,���	<���l�����m���������	����mĝ��&�mĝ���t��
����m��� ��LN���)����	�	���	���ӈ���$؈���"|���	�	������Ŵ$�������	���	���	���������	���	���	����������	���	���	�����ҏ���	���	���	��������=|���	�	����������$��������j���96 Sets a closure which takes a thread index and returns���� the thread's name.�\�����m���������	����m���ړ�m�����4��m<�
����m$�����WY���8�ҔC@ Sets the number of threads to be used in the rayon thread pool.�������:7 If you specify a non-zero number of threads using this���?< function, then the resulting thread pools are guaranteed to����)& start at most this number of threads.�Ӗ��ۖA> If `num_threads` is 0, or you do not call this function, then����74 the Rayon runtime will select the number of threads��ݗ30 automatically. At present, this is based on the����63 `RAYON_NUM_THREADS` environment variable (if set),��И.+ or the number of logical CPUs (otherwise).����41 In the future, however, the default behavior may����:7 change to dynamically add or remove threads as needed.�������@= **Future compatibility warning:** Given the default behavior��Ț<9 may change in the future, if you wish to rely on a fixed����>; number of threads, you should use this function to specify��̛?< that number. To reproduce the current default behavior, you����:7 may wish to use [`std::thread::available_parallelism`]��Ϝ,) to query the number of CPUs dynamically.�������EB **Old environment variable:** `RAYON_NUM_THREADS` is a one-to-one��ҝEB replacement of the now deprecated `RAYON_RS_NUM_CPUS` environment����GD variable. If both variables are specified, `RAYON_NUM_THREADS` will��� be preferred.�\��������
���$���
����+���=: Use the current thread as one of the threads in the pool.�����à]Z The current thread is guaranteed to be at index 0, and since the thread is not managed by����B? rayon, the spawn and exit handlers do not run for that thread.������\Y Note that the current thread won't run the main work-stealing loop, so jobs spawned into��բ[X the thread pool will generally not be picked up automatically by this thread unless you����\Y yield to rayon in some way, like via [`yield_now()`], [`yield_local()`], or [`scope()`].����Ğ� # Local thread pools�����ä[X Using this in a local thread pool means the registry will be leaked. In future versions����A> there might be a way of cleaning up the current-thread state.���������
���$�����=����	�	��ӫ
������$���������96 Normally, whenever Rayon catches a panic, it tries to����>; propagate it to someplace sensible, to try and reflect the����96 semantics of sequential execution. But in some cases,����52 particularly with the `spawn()` APIs, there is no���96 obvious place where we should propagate the panic to.����0- In that case, this panic handler is invoked.������;8 If no panic handler is set, the default is to abort the����:7 process, under the principle that panics should not go�|� unobserved.�������;8 If the panic handler itself panics, this will abort the��ȬA> process. To prevent this, wrap the body of your panic handler����.+ in a call to `std::panic::catch_unwind()`.�lȭ��������N�������֭���ެ
�����ެ
�����$�����$����<��
�����$ݭ���z|�ί)tѯ�	�	���������$��ϰ6���-* Sets the stack size of the worker threads�Tְ������
���$��^��½&�̱@= **(DEPRECATED)** Suggest to worker threads that they execute����.+ spawned jobs in a "breadth-first" fashion.�IJ��̲?< Typically, when a worker thread is idle or blocked, it will����C@ attempt to execute the job from the *top* of its local deque of��سC@ work (i.e., the job most recently spawned). If this flag is set����96 to true, however, workers will prefer to execute in a��޴DA *breadth-first* fashion -- that is, they will search for jobs at����DA the *bottom* of their local deque. (At present, workers *always*���A> steal from the bottom of other workers' deques, regardless of���� the setting of this flag.)�ٶ���<9 If you think of the tasks as a tree, where a parent task����;8 spawns its children in the tree, then this flag loosely���?< corresponds to doing a breadth-first traversal of the tree,����?< whereas the default would be to do a depth-first traversal.�����;8 **Note that this is an "execution hint".** Rayon's task����>; execution is highly dynamic and the precise order in which����85 independent tasks are executed is not intended to be�|�� guaranteed.�ƺ��κA> This `breadth_first()` method is now deprecated per [RFC #1],����?< and in the future its effect may be removed. Consider using��ػ*' [`scope_fifo()`] for a similar effect.�������]��4use `scope_fifo` and `spawn_fifo` for similar effect���Llɽ��������
���$۽���#����	�	������ϵ$�����=����	�	����
�ɿ���$ο���s���2/ Sets a callback to be invoked on thread start.�������IF The closure is passed the index of the thread on which it is invoked.����JG Note that this same closure may be invoked multiple times in parallel.����JG If this closure panics, the panic will be passed to the panic handler.����A> If that handler returns, then startup will continue normally.�l����������N������������L�������х$���$���<��
�����$���"��fh���;����	�	����
������$�����q���1. Sets a callback to be invoked on thread exit.�������I����J�����J�����@= If that handler returns, then the thread will exit normally.�d����������N���������L����	х$���$���<��
�����$���"��LN����~����������������[X Creates and return a valid rayon thread pool configuration, but does not initialize it.����~��
����B���6��
,���~��
��
�$�����j���<9 Deprecated in favor of `ThreadPoolBuilder::thread_name`.�\���~�u�~������
����u������u�����4����<��
��u$�����QS���A���<9 Deprecated in favor of `ThreadPoolBuilder::num_threads`.�\���~�~��
�$���
\���������>; Deprecated in favor of `ThreadPoolBuilder::panic_handler`.�l���~��~��N����������ެ
����ެ
����$����$���<��
��$���g�vx���6���;8 Deprecated in favor of `ThreadPoolBuilder::stack_size`.�T���~�~��
�$���T�����&���>; Deprecated in favor of `ThreadPoolBuilder::breadth_first`.�l���~�~��
�$�����|���>; Deprecated in favor of `ThreadPoolBuilder::start_handler`.�l���~��~��N���Ƥ������L��������$����$����<��
��$���"��bd���z���=: Deprecated in favor of `ThreadPoolBuilder::exit_handler`.�d���~��~��N���Ƥ����L����	��$����$����<��
��$���"��HJ���*d���~�~��
�$������}�����/���}�}�����	$����� t���	�	�}����
�$�����+������*���ޭ���#�}��������\���	�	�}�	����
�$�����24���	�	�}����������������;t����	��
����
�$�����*�}��_����8���	�	�	�	�}�	�^�^��^��[�^���[����e�S��	������
�$��������F���=: Deprecated in favor of `ThreadPoolBuilder::build_global`.�%use `ThreadPoolBuilder::build_global`����=T��ɱ�~��������������������q�aXɗ

�config�4�����+�#����
������_����8���	�	�	�	���	�^�^��^��[�^���[����e�S��	������
���$���V���������-�K(h����/*�������&����_����8���	�	�	�	���	�^�^��^��[�^���[����e�S��	������
�$����������	���	���	����������	���	���	����������	���	���	����������	���	���	��������!�~��_����8���	�	�	�	�~�	�^�^��^��[�^���[����e�S��	������
�$�����t��́������́��ғ�R��t��́�������DA Returns `true` if the closure was called from a different thread���� than it was provided from.�D���	�	́����
�$��ܠL��on�pFM�L���,����������H�o��_������	�	�	�	�o�	�^�^��^��[�^���[����e�S��	���#��
�,������=L�>�pa�ئy{���t�>�>�����T�>�>����� � �I�p��_� � ��	�	�	�	�p�	�^�^��^��[�^���[����e�S��	���$�=�
�,�=� ���J	L�K�q�\T��%@���KT�K����o����J�q��_������	�	�	�	�q�	�^�^��^��[�^���[����e�S��	���%�J�
�,�J����S
T�S�q�^��&�����S<�S�������S$�S����r��K�q��_����	�
�
�	�q�
�^�^��^��[�^���[����e�S��
���&�S�
�,�S���1�=
�1�
1�
1�
8�01�
p1�
�1�
�
�
ǚ	���1�
�
�ǚ	 1�
��d��t�j����'��+'���tG�G�R�t��_�G�G��
�
�
�
�t�
�^�^��^��[�^���[����e�S��
���2��
�,��G���S�t������t��
��4�<
�4�
�
�
�t���4�
�
� 4�
��\�����
��u9�Ѫk�?���u�u�M��u�u��
��udf�����u+�+�T����
��_�u+̄u��_���+�+��
�
�
�
�u�
�^�^��^��[�^���[����e�S��
���5��
��u,��+��6�<
�6�
�
�
�u���6�
�
��u 6�
�J�q.bT������K�a��p�������K�a���	���	���	�����K�La�K�a ��f�fStorage��f��f�f��f��,هk�p�?������K�a���	���	���	������K�>a�K�a ��p�?�������䮮#T���v<�����\Ѯ$Ѯ��� b��i�v�2�2j�v����2�2�
�
�v�v�c���
�,���2�2k�v��_��2�2�
�
�
�
�v�
�^�^��^��[�^���[����e�S��
���d���
�,����2[4[4l�v[4[4l�v���[4[4�
�
�
�v�
�v�e���
�L���[4�4�4m�v����4��4�4�4�48��4�4�4�
�
�v�f���
���o5o5n�v���o5o5�
�
�
�v�
�v���g���
�T���o5�6�6o�v����6�6�
�
�
�v�
�v���h���
�����6�j�q.b�̼���?9�k�a���y:�������k�a���	���	���	������k�La�k�a ��f�f���f��f�f��f��,هk����k�a���	���	���	������k�>a�k�a ����Ԇ+D���y�o�!�����\�$���� ~�z�y��{�y������
�
�y�y���
�,��,����z����R����zN�6��z��
�,���� ��|�z}�}�}�z���}�}��
�
�z�z����
�,�މމ~�z��_�މމ�
�
�
�
�z�
�^�^��^��[�^���[����e�S��
������
�,��މ&�&��z&�&��z���&�&��
�
�
�z�
�z����
�L��&�ߋߋ��z���ߋߋ�
�
�
�z�
�z������
�T��ߋ��
5����{�H�����R����T��������<����������{������{��
�t���ʐ30 Result of [`yield_now()`] or [`yield_local()`].�:,���|\�d�0���������D����  Work was found and executed.�:1���|DF���|$����  No available work was found.�:1���|DF���|������|��������
�
�|�|�����
�,�� ���	��|	�	���|��_�	�	��
�
�
�
�|�
�^�^��^��[�^���[����e�S��
�������
�,���	�
�
���|
�
���|���
�
��
�
�
�|�
�|�����
�L���
�������|��������������8��������
�
�|�����
�����-��-*' Error when initializing a thread pool.�<��-�}D�G��K��|�-$�-���}_�_���}��_�_�_��
�
�
�
�}�
�^�^��^��[�^���[����e�S��
�����-�
�,�-�_�t�.=L�.�}%�J%�L����������˞�}�.=���}���}��.=���}���}q�=w���
�����˞�}����L�.��˞������}��_������
�
�
�
�}�
�^�^��^��[�^���[����e�S��
�����.�
�,�.�����=��<TQ Contains the rayon thread pool configuration. Use [`ThreadPoolBuilder`] instead.�Use `ThreadPoolBuilder`���=/>l�>���~��]P�>r�Ԛ><�>�����~������~��������~��
�������GD Provides the calling context to a closure called by `join_context`.�@L��́?�ny�w��t��D�������<�����������́��_����
�
�
�
́�
�^�^��^��[�^���[����e�S��
�������
�,������G�G�G�GW�G��G�G�G�G%�G�$GߵG��G��G/�G�G�G�G�4G�4G��G��Gd�G�G��G+�G
�G�0G��G�1G��G>�GAG�~G"}G�[G�\G||G�{G�{G�zG�eG�qG�xG�rG�sG�wG�tG�pG�oGSoG�mG�G�GAmG�lGkG�cG�aGNaGaG�`G`G�_Gk_G
_G�^G`^G�G�]GĐG�\G�G[G��G�YG�YGFYG\VGqTG$TG�SG~SG*SG�RG�RGRG��G�QG��G�PG�PG|OG-OG�NG�NGӄG�JG/JG�G�SG�nG�yG�zG=	G�G��GˋGG!G�G��G/�GեG��GP�Gu�G��G��GQ�G��G�G��G��G��G��G
�G��G��G��G �GA�G��G��Gi�G��G��G��G��G?�G��Gu�G��G��G5�GX�G�GG�HG]�G�G��G�G�G��GA�G�G�G��Gg�G�G��GD�G��G��G4�G��G��G��G�G�5G0�Gt�Gb�G��G��G�TGx�G�XG,�G�[G��G�^G�Gp�G��G�lG+�Gn�GO�G�G+�G�vG�vGxyG�bG;QG�PG\OG�DGK@G9G�8G%6G-Gk,G�+G	+G��G��G)G��G��G�'G��G��G�%G��G��G�$G�#G�#G��G�"G�"G �G�!G�!G��G� G� G�G GGGG�GeG�G�G+�GtG�G3G9G�2G�G�G	G�G�GGG�G�G�G�GމG9G?G�G�G:GYG_G	�G�
G�
G*
G�G�G_�G�	G�	G��G>GDG��G&Wdt��������������������������������lThreadPool::install�crossbeam::scope�	crossbeam�Self::spawn_handler�5https://docs.rs/crossbeam/0.8/crossbeam/fn.scope.html�"std::thread::available_parallelism��0�
yield_local()��B�,��scope_fifo()�	install()��ThreadPool::join��K��std::thread::scope�ThreadPoolBuilder::num_threads�� �������B���spawn()��Jڌ���Self::build_global�#thenum_threads() method for details���� ������Ohttps://github.com/rayon-rs/rfcs/blob/main/accepted/rfc0001-scope-scheduling.md�Ɍ��scope()���Jڌbuild_global()������ ������-�LSelf::build_scoped�RFC #1���std::thread��join()�֏��J��,����-����Lyield_now()�ɐ�������ڐ�0��֏��,�,���L�-�����K������ɐ��ڐ���0����B����,�,�Ɍ�K�ThreadPool::spawn_broadcast()�crate::ThreadPool::broadcast�crate::ThreadPool�"crate::ThreadPool::spawn_broadcast�ThreadPool::broadcast()��B�������Ô�B��������Ô�B*../rayon/slice/trait.ParallelSliceMut.html���the par_sort method�����	 ThreadPoolBuilder::spawn_handler�"ThreadPoolBuilder::spawn_handler()��J�����J���J���-�0�.ɐ��scope function��KScope::spawn()�Scope::spawn�scope_fifo function�֏Ɍ'crate::ThreadPoolBuilder::breadth_first��-��.crate::ThreadPoolBuilder�ɐ�0�����K×֗֏�Ɍ�.��-��ʘ�0�ɐ�����K×֗�֏Ɍ��ʘ��-3crate::scope��spawn_fifo()�ɐ���3�"ThreadPoolBuilder::panic_handler()��K'crate::ThreadPoolBuilder::panic_handler�the scope_fifo()function�crate::scope_fifo���Jthe spawnfunction���crate::spawn�the scope()function����ʘɐ�����3ۚ�K����Л�J��������ʘɐ����ۚ���3�K����Л�J������ʘ����crate::in_place_scope�,ThreadPool::current_thread_has_pending_tasks�std::thread::yield_now()�
Self::install�ThreadPool::yield_now()�the in_place_scope() function�ڌ���"the in_place_scope_fifo() function��.
theThreadPool���ThreadPool::install()���the scope_fifo() function����Jڌ���.�8theThreadPool::current_thread_has_pending_tasks() method�����ThreadPoolBuilder::build�����the scope() function�Ƞ���Jڌ ThreadPool::current_thread_index��������С��0https://en.wikipedia.org/wiki/Double-ended_queue���Ƞ�J��,�������ThreadPoolBuilder::build()�С+https://en.wikipedia.org/wiki/Work_stealing��deque����the ThreadPool��,�,���)https://en.wikipedia.org/wiki/Thread_pool�ܣ
work-stealing�������֗�B�,��,-the ThreadPool::current_thread_index() method�̤thread pool���ܣ#the num_threads() methodfor details�������֗���B�,��̤�������˦��ScopeFifo::spawn_fifo���֗�B���������˦+the spawn_fifo() function defined on scopes�Χ��std::thread::yield_now�ЛThreadPool::yield_now�����&the spawn() function defined on scopes���Χ�/ڐب�Л�������crate::in_place_scope_fifo������/�ڐبЛ�������������/����ڐ������.����"��t���������H���������������I�I�I�H�J��������3��������H���������������I�I�I�H�J��������3���`���������H���������������I�I�I�H�J��������3��"��������H���������������I�I�I�H�J��������3P��������H���������������I�I�I�H�J��������3����������H���������������I�I�I�H�J��������3*assertion failed: !worker_thread.is_null()*assertion failed: injected(internal error: entered unreachable code(%assertion failed: job_b.latch.probe()%	CoreLatch	state	LockLatch	mv	OnceLatch	
core_latch

CountLatch
counterkind"assertion failed: old_counter != 0"DefaultSpawnCustomSpawn��/inject_broadcast() sees state.terminate as true/3assertion failed: WorkerThread::current().is_null()36assertion failed: injected && !worker_thread.is_null()6=assertion failed: current_thread.registry().id() != self.id()=
RegistryId
addrJobsEventCountersleeping threads:  > raw idle threads IdleExecutedThreadPoolBuildErrorIOErrorCurrentThreadAlreadyInPoolGlobalPoolAlreadyInitializedRAYON_NUM_THREADSRAYON_RS_NUM_CPUS4The global thread pool has already been initialized.4:The current thread is already part of another thread pool.:ThreadPoolBuildernum_threadsuse_current_threadget_thread_name
panic_handler

stack_size

start_handler
exit_handler
breadth_first
	FnContext	migrated_marker��������������������Ųֲ����������ų�������ǵҵ���������Ҷ�������Է��и���������ι����������fq��zZ����0�u�ߖ���;�p6Ԡ3����wγ�.xs�����,�����r�p��3�v������6gҿ��� v#�h��
�et[J�T+���~�����f9�QN����zք���m־�^`�4X,��k�,�����T`6{h\��<|�nbzc_�ޙ��z�qՏ[���LB�
E��Q*�z���R��F�N�/l	�w����u09��W�����W�12J��{7y��.k��`�߇�����a��,N��c�h��3�	���R�n����jŤ@�S�K�I`���
�9����=��0�L.���Do��.�}2���.]`�#�|B}ص����pҙ���5�^ƻ�C/SDž�B�&sugꆖ^9
yg���E�,#�`��T�������q�� �����~���tm4��J������~D@��wD-�-|q������-#���l�L�����6�O�����S�l{,f@/�~���F����62c�9�
9�M��3���g�e�rw.�����g@$M�{�b���&��/d#(�x�a�hcj�GٓO+�PA��&Z�'��2#;�=����
j��`;���]_vF��i2\��3�YK�gO�\'7���������6�<����G��� u��F
�� ��(�3e797��l��� E��=5�����_!�W����<ܮp������hM�K�o���6�H���&V�2����87樆 ���k>�L�V�_W�h��G�E�K8c��|!��#���j��.˥޽μ8�FS%��iY�SR�:/�p�{�B��@�&��Ļ{��o�oq
+<�0�p�<S:�pa�6���m4�K|�e�x��f\��E(&�
u�߽�I���ƪ�
\�Z}?	�7���o��X3>�D!M��r>9��@�r�%d��s���;�{}���J��Z����rta��1�ݩI��jz81'7�p(��wm��3����FE*Jɧ0]�\�/��{d�\<���s�7��ρàd��ھU(q�~��%�A��%�dU���m�sq8R����Ô�+�c�p��N��iWIU���ʒ�K~�@�FZ��6��^i��+��g�VmY�+�hZ��`+B/��+����Wb|j��OuIJA��"�\�Y��
�S�&#6�I!�r���ݹ-HBϩ[�v�Ӽ��'�?՗�co��Rc
��m��_4�|9N@|Q�a��|p{�����o=�:�R!�P�G�u*h!��5��>�F�U������c��B{���k�ctf2+���G7|�F<�r�c�^��P��Et��p$��������9��������B(3{�zg;RӴ��<jBď=N��8�-�31�3G����l�S����t>�#G��,u������m����`C�N��?�J�$;���(�pyH��h�RE�7��\􀜽�q랻@�2�̴�9��
;()
=�;)wųx�;Z9��]u;wh޹�7$��q�<Z�`lW�	�̖��T築�ҖŶ�S��G*@ ��z�_��,6L�����
�n-�:�������v��S3�4�B�)�˒��/�M&��ϯ��3�6{u�$�����0A�~�C�!�|<�o��X������1�({��sE-reE�l}�VzHm2x������M-ۥw2hN��	H��������Ѭ�2m��B��I�HTGz+\��Y�6	bM
|g`����X��I�Bp�����+�#�ύG�X:�# 8N��u#�C�*p�!�ʑ:���$��TO���p$���!4e
�BIR
�BW�/��_�Ӯ��-4�Ú�|!��C�6x=��v�Ba�v5!eo%c
DȢ�,��M��ֈ\���U���N�_�>|��Ǿְ��8��ɫ�Ca��eJ����h@w՟�ԗ�ʹ}�
O1{������Q��w	7#�Q��Յf�1&e���s[�À�$��� ���]7�鄐Hi��p��.�(�	�5X�5kk�m-����`�'��j��>�-�\K|'�~:j��[�W�n*�_M���J�ŅeP�q�)�L��"���7�ş�{R.��%��i�v��S �Ȼ�������F�/A�*f��.��Kٟfʣ^`��{N@!Ba׬�f�b�Ӷ7�/���r�d|t��A,BF�P�����l��
���Zj�@c���B��O�d�gc��E�����4�j��Ӳ\.��F_M��Ro�MQ��?CY>��g�_��h�=oY���br�Ķlȼ'S�3�~[�Km�y�g����ӻ��]��$���ְc09W�����xp��T�C�@�@�*��
~���g�69.��
]��1r�+Q�"��Oq��l����/��D����;���=�(�@�WS��+ efAT��<����Ja��J�����V�C2w�S�)�X����E�ٗ���_���U?��eӰ�%-�ǮR�A�z�n�%�
VV+�z{m��𰀓�$��s��\t�Ѓ�nK��A��9�/;�~�j����)g���)0��Ҩ���|%c�eܾ�`�p���Ƕ�&A�l�L��qh�09�c�Zb�4J�8�tL�d@�J����n�)X��˚uXY�ʪ�W���ã&MX(Kg�w;kjyS�[z���ѩf��Ԁoa"eׁ����14=��e�@0DJ����)
&6�{L�#
��[�����f�:
�O�����T�{��F�O�t�!����
�$WJU�)���d�K4�L�B���Ѽm��:#&���(]V&Hx�dzE(�v��9�R�2����gw�":�s��f#1�x�$l�RA#Y_����h�F�|A�h��e�$s1\�Y�9+�0��ݗ��uE��)�ޙ��4���%EOt�f���+0����b��iNE����#��&0��v� ��,b���C	l����F��eR���~onXn��H@��1������5����Z�Q7�%��@�<���K�R�q�������,����W���q��A����B�1�`)x�j�=$F�V���� Ɋ��O��$�����^8��M'���@�d(Sn�I9,: Br��9�GBHW��h�.ի_�le�n����є�nGp�0R��qGi������c�?�{�_�7����TQ��W�i�� �գb�Q�a���u�����Z�z��u4b����z;8�LyIE�����=x0#���2�[]��|L1M�9��D`@O����Yz
�8��Ġ���� a�	�&
���9}�8���u*�r<��K2�=��W��M:U�c;�Ū#���#�2q�N7j�	��={`}u�VXɥ�yG���2������?CL��\!)�?�ge��<�E:6?��j�*�����?��c���%ϲ���3RU��w��y7$��$�u�w|���}�?a�~�W|���{2m�����-�`AC\+��K���$�	�X���A�L����X�����;�ד?46��8"��1d�Dɰ[�`�i�&A�w�<&�P�ƈ��Z;/N��QY�py��`W��	��b?Y
3��=rm٠��p��^�9�X�S�妏��"4\7���pq$��~�(%E1$Ri�&
Ӓ�9P�nUM�LX6�[5ڧ��;JV��������'��>�ŀ@��7_���z����+)
 nc
�RN����t�5nJ�����{�H�����z3�7U�է�!�TT��(%���?*Z���/H��t�q�V��PG�@�" ��dKO&���$�(/^t ��_����E&L�CtH]�?Y�,�&�
��yc��7�O�ʫ�Y|�`dֈ�X�O���OB]��TJ�gGX,�K��9};3�~6S������B(���􏉢�jn�V���tB�D�J����L	���Nka��;��	�JW���������tj�N�朵�	қt�b
�4H��\��TcG�|B/┶����I�����v{j�4�֝���lѴ5��<�{W�|�q�^��o�@$�q̱ٯ!�~,��_E�E�O	p�{�ڛ��L5��Iu�*t�$u:=)�X}%���{�mpͼ�0}
��^�j@?���������&X[C��uv1;"2k��R$���~�^zYX���E��vM�=q?���+׬�����؂d�8]��
�dfM[j��J����j�<�و����`��i�R����kK"���H?���4BH�SS���w�{��3D�{��F~��Ly�e��m���*��m�Vm(~���hoaf�6��M�2ד���P�r\+�K�|���
���/������_Ď����G�O :s��<1ⸯL,��X��B-�4#�J�����8,��Θ%�/\ex�܉�1:ܺX���%��k|���1�
�U��+�y�˷A�c��9�����
�ŭ���!�w\���B��?Xn|�$[���bP�e��Rԯ�Wq1B�:�[���y�1��(-���a��G�?��T0��*6uq�*ӥ3m->��t�cm\� ���g�X������v�	#�K�~��*�@�b���
oO#ocO�e�j��7٨o��[ӏU�c���+A0m!#W;��\�d��-�B����B����2B�y�$ި\(�J�ן�zѣ��o��<�O���KUv��Qr��Yq~Z��Y$������R����/p�Ģ�4%b逥���r�
'�PND&Dn�sW��UԌ�4�Z��ت��&���Ѭ�豧m\�S
)�
�: {�N�jO1����D��%w�}��/�Q���)N�uJ$�pʌ�����ȝ�ڌ�E�36��PH�-C98����Mژg��S�j����dV���%�H;C�NMm��M�M�"XXKֶ�Cqy�v����NұA���%$�xt{5yTeT�?Bg忷F�z���(�'?��z岺8xC�S�������f~��{�٬����M���Nj�n��`k�
���nZ���qQ�Q_��K�ytH�AR�7����M���J.>Z,Б�{���0��>�d:-jPy�K)�Gδ�mK|��.���9�_���\��>�M���xs!���I�l��S�R\��s�u���ĭ���y�E�=C
���>��2���3VZ���5���ф��0�
��UMFqɝ̀+yy��X��>�l9���HԹ�`}m�Gv�)�Lӥ}ީ���q��
(»t��_�F9�轨t;Q�2����ޡ��'�k�}cC�^�Zɉ���
3��#���V�V;vc�x���h�D�2]�����_eP����c�#�	��Ş��[�ͤ,������7�p��1>B��nю\�U\�����aD帪�n�!���9��<� �smU�U�6�i5BCZє��%8>7�˙����g\�����׫�����K'��
-��K�Tˌ�3�q]�i�
"�����
��]�eMjg2�$1���PВ�)B�T@����ۜ���tŇ7A;�����A�B������{���h�ݏ�:��`ї4=��|;�.���Դ�1('��y�G�C
�n�cڽ�[s#��Sgx��}bHg��:OHeX
B��Svܯu����Y\ԧ�?U��z����k�_8�#���8��1Y��H�J�̝{����$n�l�S�/��k��qo�����vNlb3	�N��s�n���)��z����}�e�s���P�aAN�qg�7���h��f��y 4t��Cx� �m�Õ:�߷?�wa�P�7Ġ�Z���O�׺`l!���e����z�1)���|{$N=}��<���E*����y8��QJ��M�
JO0��}�Z���ཛ��3���;Ō��⏴]ҹ��<�u|0N�Ʊ�o��bH�w+�l[�?Z81$@$���4aJ~+v���^Q�`t�t�c�Z��]�ɻ���R��G��5*��p��s�%v�q�2v��8/���"�A͹&ߡ�<�)o�~zA�IJ�P�;��Ǐ5n�t#�PiB���a~��vՊ��4%�ـ�^�6� a��2on̞y)�槕LL��V-!5�e���u���u\�6�k�bKf<���_g/dDk����!�[��⾣m��*��V��
b�} �вN�P3{{`�-�#	�+O��T��)`큕��>T�����pwU�50ul�e�����X��bsw�8��-��ѕ����f�-���a.��@o���5�����;w��u���;���~��i�`f[�TL#�}w��~�^�o͈}#��508U<y�>�G�W&tx+�#����%�TwX&u�x����m���r'�{V�S�t�P��G9�!C'�0IっF/��ìḥ!U�}�c"��8nӢ���9��~�x2Y����l�ɼn	�6r�e��uA�y�?� ;�χ��Z����@�����0Q��0a����מ+`g�4�F�t�P)&�<Ml�q��u�=�����,�x9����_��')Q\َ�Fԝ���R���)�y.S3�/Hx�=��‚Y���eއ2����/$�2�t���p�����3�b+:t��$����%���O7r��C�x���f>r&!�AX�&_)�C�Q���̤���Kz��'ޫ�S�p�?�6��:)�y��I
E����v<Δx���c�E��v�Ac�,�`�0[�s
y�����&(a������ù��yE�>�2,u�W��ǻ�'w�y�if�'BI�t(�g*���/��m|0�
���]R\?��7D4�-��������|[�(i��[Θ����+�R�o�d��u����=�Ɋ��4A���L�h����A7Yì�U��{�Q��|x�
��)��{�KP"�J�ݾbj׋�AqN���OJ��ZA��S6�Y4Ị���9؅8
6��,#�S�[��t{����O�W�ٴ\���p��*���j��ٙx�de(B�)|�MK7�B��P��	,j��3��q�<�#@��+
b�(2�i�x�GӸ��xˀ���)o����ਉ�_���:���r���^ǦL�"߅��D�@0�Bd�d�i�"qc��c}�5�j\PB�{�b��d�Wۙ���t[l!�l�_��A��X+M���G��L��uT.�����J\�&�Js?��E����b��t?���"�Ђ�r���1ڮ�$��c{�~��(,��2���M@�;[��8'���p��K���IJ6A
�w�A���ԋ�#����b���pLY�]�X���:|��]I~���7vD9f���L�i��9�Sʲ
����լ}���8a1Bӷ0���Z�c>��n� YXY�{,t�Sn�9;|���b�y��>[�B]�I����L���J�% �?���W���6Rny��Թǩ�_������R�-&&�P�)]��q�{���L�d��.�)�SZ����V\}��e*0�����5!�2��:��R��e�������C��|�C�T�(�RZ�x�j���g��!��g�
�C+8�QdI��V
zR&t}I�'<r?p���E8[)�Q	T�O�%�gS�c�Yc-���C�;(5��*)�xe�2O��'q�����F=w@mz������)�,�D%J3�[]IscG&�<��U�l�Qe�ZDQ�40�����'z"���I-��߃`T*�MX
��#����f�<؝h־�V҆���|Vs�6�Hq��<��TV��k���aeQM�����J��i�w	���;v���$�ز����^����~�u������KҬ��F�� ���<e�L|w�Z8a^�g.#օ�@Ƕ w����a9������4Q�!$wY߭����60k����)��������"Kj
M����9�F+P�O�����\�E`G�MCP�3	�Ea9�X�����9����$���f��Yy���?��ajXZk6�N�W��������%���85�%f��9��:�i�P�`�KZ�d#G���.�v�I���և.�gz�n]gB={��h�Z��S|Z�ىX���E�h�N�	Hz�~a��שݨ��W�����(G�oeG.!C�Iތ��,�U'�U=�u@;��w'Y��eЇ�~R�yS/����eTa׎J�iR�$�Ҧ��!��b���$k�p�(Q�O��k|_�q	-�9�U���:I�����>���e\\�J7�h}ض�;��0�`�3�+�N��a40��2��'��@���Z�vpV�jRu�fP��@�f��zɷ'�a�6��ӗ!���S��m�Κ������n���)<�G,Ո��_�?���%푛�r�s���q�������I'P��H��Q�w�j�%�o��ߙ3�?�$��O9�_��
�(��h}��k��O�1�f6���iV�p�08@+�����hӲ��؜Qڳ)��1zW_IuA�f�z[�� ?ߩ��ݼ�n�V�A�NG��vq�|F��UR�ؿ�C�/����_���������j-Is+�}�c_�j`��p1��^�hR���{��َ�5;w��}�!;z>VEM�Y{3A���p;�0��k��������o�n�B����B�c�ܝ�'��4�*c�����YH���,�k?g�X`��"�܃��Jf�ѐp|��8
վ6�`n�U�@?�'sj*x<�
��Y2�D�c���})_�[��[#�]l�נ��`)�[����0��~�M�ʑ{*�s���7;�	�b��R�
7���4%j4L��ԋ좤�J$����(6���Y�	����޼ؔw�6u&@�Y���uכ6}����k��f���z6
b���84F��]������7f*9��Ak�?�!A�O�!�jm��m5��0���&s���4��*ya�8˾���[j�rI��8��qcZ��SFW�xG��WDw_Y�}�`V8�l�8N��/�anI�������eδ]̕+'�V�{��c�h#ޓ.��˒��+�ҌǸ	m�O�?�Y�=�9��U���l�L�*���I�<��4Ȯ&��	����Q�)ڹ��@������F���9���1����� �ϳ(���E���ި�ˠ,s��״��ѥ �Y�0�)4*�j��
\$qHs�BG-'�Zg�?�-	߫��ڂm��/
��7�Y�'��k��!±z�l<*��"��v�BK�Np�5��,��mTА��HH7J�f���3G��`_0�1<�=cgx��R=�m����s.r��T�P|���EF�J�Qܻ{���gL�yK
L|�-�#������xA���d��oL�ݯ����G�
"��O\X0��\�����/8} �Ս�����L�ٚ5�}��3U�F��E0�zLá]W�M�?13�$��9�6�_��C�`���:m�y��9wk����s�`x,�$RJ^V����2h��sB ������+D�igG�9(���K�n�ױ�����9�c��ހ��c�����pZ��������$����r��T,���M@�5�f�D��c��홫��|oFQ���Ƿ$���O����FBAҩ�;�uo'��s�����������7S�ݛ�\2�e��ӊH��i)��Z�W�*�����I��"�G�ٻCx0{�a��'�9�L���\��|��
���gɜ��Փ��FH~��b���:SU�츶��>�Ht��M~
�ҥ�펒���e��ק�`Û�V�����g�k�L��B&�r9"l���9t��wP�d�������Y�l���2G��r#I
h�Ĕ�����P|�T�{���e�����6y��
ߦ
W/5���u�o����^�������{ �Q��(
��1M�"�Ԏ��)8T�!_ yTK�$H��e�SСb�"��|2Z%�/��>�5o�wٮ��+�W��z�P6��������}�%��?���Y�Ap}�����tB 6�Ə'n2�g�jkO�\o�廎�R�v!������z��s�#���H䒧�G��֠pj���!8'|�M���;yP_�v���
9�7:�k'~:�_��Sha��'F~�5rK��֤��߫�2@��^4�o��UZ��B��_<rU#�/�L�g?�1"�
��|����T=�k]�y��Ջ4�J@��F~�M�Z��ŝ䠛k�d�ʴ��#�pD̀,�>�a4IKe(h�C�Ą9�S1�1���g�^���;P�c�)�%�A��1x�;�;���Š
u�C侒��W�$F{��wi��pᑠC�{�.?k�'���O]!/��u���oP�s٧y$:��T�.�dV�OC"Lr|t���O��	�i�H��Lc#��Q؞��!'�͗�8��A2�R5�8�b�(�&�tQ䁢p�(u/�#�??�
�/H{W}图�"���Ջ�={�rl�u��y�,����N�mLr�s�N�m�r�sv@���L�vpw���L�vvw��!%-/3579;=?AEIKMO#')+1GCYW[a$3�
8�I�Z�
u�$���P	cR0B-��7$#616�6�7�8�	9*=@�@�@&AOA[BC�D�D�E�F7GG�GH
IUI�I�I�J�K�K"L7L�L�L�L<MgM�M�M�M�M�MFN�NO)PAP[PuP%QvQ�Q!RhRSbS�STUT�T�TUnU�U,VEV�V�V5W�W�W5XrXYaY�Y�Y�YZ6Z�Z�Z�Z�Q[�l�m5nbq�r�rtNt�tuu�v�v9w�w�wxx+x@xcx�x�x9y�y�yz5z�z"{={`{{{�{�{|Z|�|�|=}f}�}�}�}M~�~�~�~J��,�g������������(�������,�|�)�F���C�]���������,�E����Q����5�Q�m���������~�i����������I�q���(�����3��������!�>�������0�b������������8�h����I�����Y�����+�a��Q���W����k���������� �q�����2������8�U�r�������$�B�`�}�������_�|���A������b����s���$�y������P�����b����k��� �����9��������W�s�����3���	���B��:�V������"��ݼ��;��N���6�����(�w�\�)�y������4���'	�	X���
?
~���'v��%�0j��%��r�]�_��<>���  \ � � � !!,!@!U!j!!�!�!@"�"#�#$m$�$%G%k%�%�%&&d&�&�&�&�'�'{(�()#)>)Y)o)�)�)�)^*�*+,l,9-�-�-b.�.&/�/�/�/@0D31�;%<�<
=oABjDJ(JmJ�K2EL�VN*W$
_,aDe�j�l�l�n+o5q�qesdu�w<yzz�|�}�}'~D~�~8����
��������F�b�������������������������$������0�K�d�y��������������'�Q�g%�����9����V�����S�����@�������
�n����������A�����>�����k�����<�[���u�w�^�������N�h����������}������������
�Y�����������5���(�C�c��>�Z�u���C�n�����V������������^�~�+�K�����l�����������9����S����������_���3�J�l�����t����%�������;�����.�Z�v�������n��������4�����������E�a�}�����O���"�E�������������/�R���,�F�i��n�����G�`���4����*�_������:�23+6�8�I�J�L�Z}
u�v|wM�Y�����DGH0B%��������������(�2�:�X6�@=A�DKK%K�LaM�M�M�M�O�P�R�S<TSUV�V�WYX�Y�Y�Z�v~wLx$z{�{�|U}�}�~�V�a����5�(��������	�������U�}�
�����3��������k�M��d�������������K�����!S%�&�'�(�)�/J4J�}3~�R��	����|�]����
����������������,�"�T�6���h���{���5�o�<����������q�E�\������T�����'�����$������=���B�J�5���������B�&�Y�N�V�^�s������*�&))(''




 %%









&

&&%



%(((('13)676m6�6�7�8<??a@�@�@dA�B�DE�E&H�I�J�K�K�KL$L<LhL�L�LMBMkM�M�M[N�NO-PEP_P:Q�Q�Q6R-ShS�SjT�T�T�U�U0V�V�VJWX�XvY�Y�YZKZ�Z�Z+k�lpwqs�t{u�vw?w�w�wxx/xxx�x�xNy�y�yJz�z&{A{d{{�{'|o|�|{}�}~b~�~(_�2�k�������؀�=�
���A���[���G�a���0�Z��W���9�U�q�����B��ҏ�����������H���ϔ��%�B�	�Ζ��E�w��%�M�n�̚�^���@�v��f���l������Ӡ(�ߡ�����H����� �=�Z�w����)�G�e������4�����Ԫx�׫+����:������f���հ+���߱�
�����µ�I�����׹�"�>�\�����
�&���������Q�?����
��l�;$F��;��d���BD�� 3 q � � � !!0!D!Y!n!�!�!U"�"#�#.$�$�$$%�%�%�%;&y&�&'�'�'(�()')B)])s)�)s*�*%+,,�,N-�-.w.�.;/�/0F0;�;:<A�A
B�IJ�J�K,V
^�`eyjok�m3psrqt-w�x�y|}�}Y~���q��#�̇Lj��0�w���Ήى������%�Ռ�u�ؒ��(�����4�O�h�}���Ք|���"�f�
������i���<�������S����W�<����J���������J�����t����T�m������
��������,������,�w��B�^���I�r���\����������J���_�����6�n����������j�����!�����6���:�����R��4�^����I�p���I�3����I�e����}�����
�Z��������0�~� �r���������$�I�������?�������O��$�5�5�5�5�5�56
6666-6X6}6�7�8�9�9�9�9�9�9�9�9�9�9�9�9�9==%=@@�@�@�@"ADAJA=BJBWBC�D�D�D�E�F�F�F3G{G�GH�H	IQI�I�I�J�J�J�J�J�J�J�J�J�JK�K�K�K�KL4LQL�L�L�L8McM|M�M�M�M�M4NAN�N�NO�OPP%P=PVPpP�PQQ QqQ�QRcR�R�RSS]S�S�STCTPT�T�TU\UiU�UV(V@V�V�V�V0W�W�W�W1X`XmXYY\Y�Y�Y�Y�Y1Z�Z�Z�Z�[�[�[�[�[�[�[�[�[ol|l�l�l�l]mjmwm�m/n)q6qCqPq]qr&r3r�r�rxs�s�s�sJt�tqugvlvqvuvyv}v�v�v�v�v�v�v�v�v5w�w�w�wx'x<x_x�x�x5y�y�yz0z�z{{9{\{w{�{�{�{
|U|�|�|9}a}�}�}�}I~�~�~�~D��(�c�~�����Ѐ��#�Ӂ����(�w�%�A���,�2�?�[���؅���džԆ�(�A�����M�������������������������Ƌ͋ԋۋ����������
����!�'�.�5�:�@�F�M�T�[�`�f�l�p�v�|����1�M�i�������ٍy�d����ؐ���D�l�Ȓ#�����ѓ!�.���ǔ����9��Ŗ���,�]��������
������3�e��������?�E����H�U����&�\���L���E�R�����f������¡����Ǣ����̣�j�o�|���إ-�����3�P�m�������=�[�x���ܨ���Z�w�˩<�������\����m�ˬ�s�ɭl�y��J�����]����e�ñ�����4������ʹڴ	�R�n���ֵ-���w������������������������ĸʸѸظ߸����������ɹϹ>���6�R���������ݼ��������7�����������2������������
��$�r�V����"�S�Z�g�t���������r�� 	��S����
9iy�t��"q������*JWd�����~��l��Z���LY����8 $(.4:������� W � � � � !'!<!Q!f!{!�!�!;"�"#�#�#$h$�$
%C%f%�%�%!&_&�&�&�&�'�'�'�'�'�'w(�()):)U)j)�)�)�)Y*�*
+,,f,'-4-�-�-].�.!/~/�/�/<0(1+10151:1?1z;�;< <�<�<=]AjA�AB�C�C�C�C�CDD
DDDD$D+D/D5D;D?DCDGDLDPDTDZD`DfDJ$JhJ�K L-L�V�V�VIW___'a?e�jol|l�l�l�l�l�n�n�n�n%oqq$q1qq@sFsSs`s?uEuRu_u�w�w*y7yhzuz�|�}�}#~?~�~2�Ȃ�����������������������B�^���Ɖщ܉������(�-�5�=�E�J�R�Z�b�g�o�w������������������ÊˊЊ؊����������
�����В���ٓ���,�G�`�u���������������"�M�a�r�������5���ߣ�������N����;���������h������������;�������8�������e�������5�H�U���o�d�q�K�X�������H�b�z��������w�����������������T�����������0���$�@�`�
�:�V�r���?�j�����R����������
�5�[�{�(�H�z����[�h�������������
�3�����L����������[�}�/�F�h�����p�����!���������4�����*�V�q�������2�j��������0�����������A�]�y�����J��������A�������������+�N���(�B�e��j����������C�\��0����&�Z������6����������
���"�)�0�7�>�E�L�S�Z�a�h�o�v�}��������������������������������������	����%�,�3�:�A�H�O�V�]�d�k�r�y�������������������������������������	%,3:AHOW^fmt{������������������!'/7=EMSYagms{��������������������	#*17=CIOU[agmsy���������������������
$*06<BHNTZ`fnv|�������������������$*06<BHNU[agmsy��������������������
�5�5�5�566666%636Z6�6�7�8�9�9�9�9�9�9�9�9�9<
==*?
@]@�@�@�@HAOA?BLB�BxD�D�D�E�F�FH�H�I�J�J�J�J�J�J�J�J�J�K�K�K�K�K"L9LTL�L�L�L>MgM�M�M6NFN�NOP
PP)PAP[P�PQQ%QvQ�Q!R�R�RSSdS�S�SETUT�T�T^UnU�UV,V�V�V�V5W�W�WbXrXYaY�Y�YZ6Z�Z�Z�[�[�[�[�[�[�[kql~l�l�l�l_mlmp+q8qEqRqbqr(r�rzs�s�twujvovwv{v�v�v�v�v�v�v�v;w�w�wxx+xcx�x�x9y�y�y5z�z{"{={`{{{�{�{|Z|�|f}�}�}M~�~J�.�i�������ր�(�����,�|�F���0�4�C�]�څ�Ɇ�,�E����S�������������������Ëʋы؋������������$�+�2�=�C�J�Q�X�c�i�s�y�����5�Q�m�����-�͎����ݐ���q�����#�3���˔��!�>��ʖ��0�b��������8�j�������C�I��J���+�a��Q���G�W����k������ɡ����΢����q�q�~�ޥ2�����8�U�r����$�B�`�}�����|�����b����s�Ѭ$�y�ϭn��P������k�ɱ����´ϴ��s���۵3���|�������������������Ǹθոܸ����������͹ӹߺ��:�X��������"������������������������������w�;��
��)�X�\�i������t
����kVv��%��0LYj�����%����_���N���>"&,28@����  \ � � � !!,!@!U!j!�!�!@"�"#�#�#$m$�$%k%�%�%&&d&�&�&�'�'�'�'�'{(�()#)>)Y)o)�)^*�*+,,l,)-9-�-�-b.�.&/�/�/B0.13181=1�:|;�;<%<�<�@_AoA�A	B�C�C�CD
DDD!D(D2D8DADEDNDRDXD^DdD�IJ�J�K"LV�V�V�]__�`�dcjZkql~l�l�l�m�n�n�npqq&q^rDsHsUs\tCuGuTuw�w�x,ypyjz|j}�}D~���[���������������������b���ˉ։������!�1�9�A�N�V�^�k�s�{���������������NJԊ܊�����	����q���Ԓ��$�ݓ���0�K�d�y�����g����
�Q�t����������������S����&�n�������=�����A�&���������4�y��������J���4���f���M�^�����N�h������������������������(�c��>�Z���E�n���X����������7�~�K�����#�]�l�������������S��������l�!���%�����;���0�Z����6�n���4�����E�a����{�������E�����z��,�i��p����������G�������*�������:��������
����&�-�4�;�B�I�P�W�^�e�l�s�z����������������������������������������
���"�)�0�7�>�E�L�S�Z�a�h�o�v�}�������������������������������������
")07>ELT[cjqx�����������������$,4:BJPV^djpx~�������������������
 '.4:@FLRX^djpv}��������������������!'-39?EKQW]cksy��������������������	!'-39?EKRX^djpv|���������������������
�J�������>6v6C<="=^?@t@�@�@9A�AGBTB�B�D�D�EF�F�F,GtG�GH\HIJI�I�I�J�K�K�K�KL.LFL~L�L�L#MJMuM�M�M�M�MN>N�N�NOMOPP"P7POPiP�PQQQRQ�Q�QLR�R�RSSDS~S�S�STMTT�T�T1UfU�U�U%V:V\V�V�V!WrW�W�WXLXjX�XYTY�Y�Y�Y�Y'ZtZ�Z�Z�kyl�l�l�l�lgmtm�m'nlp3q@qMqZq�q#r0rDr�rBs�s�s�sBt�tGu�vwUw�w�wx#x8xHx�x�x$yuy�yz zrz�z2{M{p{�{�{�{>|�|�|#}Q}�}�}�}:~�~�~�~:���;�w�����ɀ������߁u��h�
�1�p���<�S�m�ȅ�j���ц��%�:���͇��3��)�E�a�}�����ȍh�U�����Ȑo���'�Q����?������+�r���۔���1�N��ږ��!�N���՗�����H���ݙ+�^����
�/�����(�R�����R��=����O����C�����c���,���Ģ2���ɣ�b��y���Х�q�Ȧ��,�I�f�����ԧ��5�S�q�������G�g����I����B�����U����c���.�v�Ϯ/����@�����S���	�b�ϲ$�{�ܳ@�ʴ״��_���˵�u������.�J�s���˻�2�;�����/�}�G�����*�x�O��������!�j�I�������d�q��������|�	�
��K���
�s��~�i���yb�"�Ta��M���f�K�9}��	.Vv���#��� H � � � � !#!8!M!b!w!�!�!#"�"�"Z#�#$W$�$�$6%O%�%�%&P&�&�&�&�'�'(�(�()3)N)f)|)�)�)<*�*�*�+,U,�,1-x-�-<.�.	/e/�/�/+0,;�;�;<r<�<=%AgA�AB�IJ0J�KL*LvV�V�VAWT^__a.e�j�kyl�l�l�l�l1n�n�no�p!q.qwq�rPs]s�tOu\ufw�w�x4y�yrz�|�}�}~/~�~+������P�����؈��;�N�������˒����3���$�?�Z�p������������g���
�8�Y���|�����ߢ-�{����5����>����3���ӳ����ֺR��������k���+���e���(�8�����[���<������R���]���n���U�������6�\�u���������\�v�����l�����������L����������
�'����8�P����N�j���'�Q�~���:�d�������k����T�k��8�p�����L�e�z�����g�����	�)�{���D�s���������I�m��A�X�����^������t�������,�[����=�j�������
�^�|������� �����
�k�����&�U�q����� ��������1�������j������>����;�U���(�}��������9�T�o�������P�����
�%���86n6#<==K?@c@�@�@(AtAABNB�B�D�DE�E�F�F�FHG�G�GEHIIfI�I�J�K�K�K�K
L&L>LvL�L�LMDMmM�M�M�M�M�M8NxN�N�N OPPP/PGPaPwP�P
QQJQ�Q�QDRjR�R�R
S<SkS�S�STGTwT�T�TU`U�U�UV2VGV�V�VWfW�W�WX7XdX�XY#Y�Y�Y�Y�YZgZ�Z�Z>ksl�l�l�l�lamnmm�m*p-q:qGqTq�qr*r;r�rs|s�s�st_t=u�vwAw�w�wxx2xBx�x�xyhy�y�yzez�z){D{g{�{�{�{5|�|�|}?}�}�}�}-~|~�~�~�~1��
�5�n�������ۀ��
���فh��[��+�g���6�J�d���܅]���ˆۆ�1������*�� �<�X�t�����[�H����b����K���ݒ*�����ؓ%�e���Ҕ��(�E��і��H�����m���ј3�������X�r�ښ��x����L�j����I�ߝ0���֞I���ڟ6����G�����������ã�1���s������c����#�@�]�z���˧�,�J�h�������>�a����C��������G����U����p�������ٯ�s��E�����1����J����ĴѴ��Y���ŵ
�g���ڹ�%�A�`���»
�)�
�������L��������G������[���9�?�_�����^�k��������v���
��i��
�
�m���x��8x��\�E���N[��&���X�=t+h��Pa������	 ? | � � � !!2!G!\!q!�!�!"w"�">#�#�#J$�$�$0%I%�%�%	&G&�&�&�&�'�'�'�(�()*)E)`)v)�)�)*�*�*i+	,H,�,+-k-�-/.�.�.X/�/�/0;~;�;<Y<�<�<AaA�A�A�IJ*J�K�K$LKV�V�VW)^	__	a!e�j�ksl�l�l�l�l�m�n�n�nRpq(qFq�rJsWs�tIuVuJw�w�x.y�ylzt|�}�}~)~�~%���z��,�����҈��2�H���݌
�w�Œڒ���*�����6�Q�j������ݔ����R����/�S�y�v���������J�������ڱ0�d����Q�ųy���ͺI���������b����t�M���� �����R���$������L���T���h���O������(�V�o���������N�p�����^������������j����������!����/�J����E�a�|��K�u���,�^�������]����K�e��2�g�����C�_�q�����Y�������J����m���������:�g��;�R�����O�|����e���������U����7�a�|������U�s�������������\����� �L�h������~������+�s�����Z������8���	�2�O���"�t���������0�K�i�������G���������@6z6�<�?�@�@�@;A$B�B�D�D�E�F0GxG�GH�HNI�I�I�J�K�K�KL2LJL�L�L'MLMyM�M�M�M�M%N�N�NO�O;PSPmP�PVQ�QRPR�RHS�S�S:T�T�T
UQU�UV>V�V�V%W~W�W!XVX�XYY�Y�Y�Y�Y,ZyZ�Z�Z\lIm�m,nq�qIr�rds�sGt�tIu#w�w�wx%x:xJx�x�x)yzy�y
z"zwz�z7{R{u{�{�{�{C|�|�|(}S}�}�}�}?~�~�~�~?���=�|�����΀������z��m��3�u�ӄX�r�҅o�Ć�?����8��.�J�f�������ʍm�Z�����ʐt�,�S����{�“�w��������6�S��ߖ��#�P���ڗ���{��0�`�����1�����=����#�W��B���.����H�����������g�S�ե"�v�ͦ��1�N�k�����٧��:�X�v�������
�L�i����K����G����Z����h���T�Ԯ4����E����X����g�Բ&�������$�a���͵ �z������3�O�u���л�7���4�����/�}�����o�K���0�������R�	�P���
 I�T�n����'�vk�P�>��I��(��� M � � � � !%!:!O!d!y!�!�!("�"�"�#$\$�$�$8%Q%�%�%&U&�&�&�&�'�'(�(�()8)S)h)~)�)�)A*�*�*�+Z,�,}-�-A.�./j/�/�/00j;<�<=MA�A�I!J2J�KL�VFW�^a3e�jAl�l�n"o�p|qsu�wyOz�|�}�}~1~�~-�Â����ڈ�@�P�������͒���8��
�)�D�_�r������������y��=�[�J��2�����o���C����8���سմۺW������p���0�����-�p���`���~��/���b�K�2�������;�^�w���������a�x���q����������Q�����������)���
�=�R���!�S�o���,�S�����?�f�������p����Y�m��:�u�����S����l������.�����I�u���������N�o��C�Z�����c������y�������1�]���!�?�o��������e��������"������p�����(�Z�v�����"��������3�������o������@����@�W��*����������@�Y�q������U������'���86n6<@?b@fA�B�DE�E(H�J�KLjLMDM�M]N�N�NO<Q�Q�Q8R/SjSlT�T�T�U�U�V�VLWX�XxY�YZMZ�Z,k�l}mpzq9rs�s�tw�w{x�xyPy�y�yLz�z�{)|q|�|}}�}~d~�~*a�5�>����C���]����[����C���������������I���y��(�P�q���_��
�B�x��h���n��������*���������J���������5�������z���-�����<�������i�����-�������������L�����_���	������R�A����
��m�>'I��>��g���6 t � �!�!X"�"!#�#1$�$�$'%�%�%&>&|&�&'�'�(�)u*�*'+/,�,P-�-.z.�.>/�/0
;�;=<A�A�I�J�K-V^�`ezjpk�m4ptrrt.w�x�y|�}�}Z~���r��������2�x����v���}���#�g�������j���=�������T����Y�=����K���������K�����v�����������������-������x����K���^������K���`�����9�������"�����7���;�7����L���J�4��� �������[�������	��"�����&�����@���P�<A?iA�B�DE�E)HKL&KkLM�M]N�N?Q�Q�Q;R2SmT�T�T�U�V�VMW	X�XyYZMZ�Z0k�lp|qs�t	w�w{x�xyPy�y�yLz�{*|r|�|~}�}~d~�~*a�>����C���]��]��C��ӏ���������J�y��)�P���К`��
�B�x��h���n������֠+�������J�����5�����תz�٫-����<������i���װ-����������L��������U�D����
��o�@)L��?�����6 t � �!�!X"�""#�#1$�$�$'%�%�%&>&|&�&'�)u*�*(+/,�,P-�-.z.�.>/�/0;�;><A�A�J�K/V
^�`ezjtk�m7pwrut/w�x�y|�}�}Z~���r��ЇɈx�֌�֔}���$�j�������l���>�������U����Z�?���K���������K�����v�������������-�����x�����������`����:�����"�����7���;���)�L���J�4�����[��������`�&���@�P�\6<.?SA�B|D�D�E�F7GG�GH
IUI�I�K�KWL�L�MJN�N)QzQ�Q%RSYT�T�TrU�V�V9W�WvXYeYZ:Z�Zk�l�mpfq�r�rtNt�t�v�wgx�x�x=y�y�y9z�{|^|�|j}�}~Q~�~N�,�����0���J��I�
�1�ю������u�̒��7��4�f�����������<���M��Y�����/�e��U���[����o� �ΡӢѣ �v����7�����#���Щ��ê�g�ƫ�x�֬)�~�ԭ����U�����b�İ�p�α ����9�����x����8�����;�����6�����(�{�@�.�y�������
�	X��
�~�[��'��*�5o�*����" ` � �!�!D"�"
#�#$q$�$%o%�%�%*&h&�&'�)�)b*�*+,p,=-�-.f.�.*/�/�/�:�;)<�<�@sA�J�KV�V�]�`�dhj^k�l�m�n"p5qbr`tw�xty|n}�}H~���`�������f�Č�Ĕk���U����9������S����@���X���+�s�����B�����F�+�����9�~��������9�����c�������������������
�Y��������f���������9���N���%�����9����Y����p�%���)���A������8���8�"���������I�����~�m��������.�>��5�56'6|6�6�6I7S7�7�788�8�8�8;9E9O9�9=:G:;y;�;�;<B<�<E=y=�=�>l?v?�?@=@7�78B8�9�9�9�:�:�:�:�:�:�:�:L<�<�<�<�<�<�<�<=�=�=�=�=�=�=!>T>�>G@=$=@IBVB�F�FI�K@N
PP$PQQQ�RSS�SOThU'V�V�WlX
Y{l�l�l�limvm5qBqOq\q%r2r�s�s>��ӆ'����-�����T�Q�����Ƣ��ˣ{���x�̴ٴ�������������#��!�f�s�~�u��Vc����X���#,3-�;<�<iAB,L�V�V__{l�l�l�l�n�n#q0qRs_sQu^u�w6ytz����ϒ��~������������������T�p�W���g����BGEqF�JKL@VRW�XY�YQ^ `�`�m'b�b~c d�f;gisj�tju8v�v�ze{Z|�|�~J��k����7�G�����.���֜j�N�6�����b���Y������ݻk�[�!�2�
�W���_���������{������N��%M)�.�;�<=w={?~@A�C#E�E�I�J�M�N�O�RoST�V�W_X[\#_;a*bXdDf|g�hnp
q;s$uv,wy�|�}����C Q���	�������ך�������:���o�1�
�1�>���A�g�[�
�ǻ|�>����������*������c��������'�����g����:�"�h�������/��M�B���v��I�_�>�J�M	5
!�G���p�����	�E���	)���(�2�24�45x6�:�� {�܉݊���������]�y!����1!�a���
�c�C��� B�֍.�������ߑ5��[����
X3e�@7�8�9/!�!EEoF�JKL>VLWpXY�YO^`�`b ��b|cd�f9giqj�thu6v�v~zc{X|�|�~H��i����2�E�����,���W�h�L�4�����`���W�����ۻi�Y��C���U���Z���x�����c������L��%G)�.�2C<=u=y?|@A�C!E�E�I�J�M�N�O{ReST�V�W]X[�[!_1a!bVd:fsg�hnpq9suv#wy�|�}����O�� ��ԍ���՚���ޜ��8�����/��/�<���?�e�Y����z�<����������$������a����������[�~�e���0��f�������-��K�@���t��G�]�<�H�K	3
	��E��/n�ԜA�������'�W0����24�45v6>7�;y�.!ډۊ}�@�Y�����%����!����FEpF�JKL?VQW�XY�YP^`�`&bl�b}cd�f:girj�tiu7v�vzd{Y|�|�~I��j����6�F�����-���`����b���i�M�5�����a���X������ܻj�Z� �D���V���^������B ��z�����M��%L)�.�2D<=v=z?}@A�C"E�E�I�J�M�N�O�RnST�V�W^X[\"_:a)bWdCf{g�hnpq:s#uv+wy�|�}����P�� ����Ս-�������ޑ4��������֚���ߜ��9�������n�0�	�0�=���@�f�Z�	�ƻ{�=����������)������b����������\��f����9�!�g�������.��L�A���u��H�^�=�I�L	4
 
�~
�F��0o�՜B�������(��1�	�d�'��24�45w6?7�8�9�:�;z�x!ۉ܊~�A�Z�����&���"�����L�L�}��Q�c�>����[�����%����z�ב-������g�B
�
]� �8z9�:��	�_�����)����~�ۑ1������k�F
�
a�$�8~9�:=@6B�B�D�E�F�H/M,N�N
OcQ�QR]RUS�T�TU�U�V(W�W)X�X�Y1Z|Z�Z_lVmq
rqsLu,w�w�x�x.yy�y
z|z|N|�|2}�}�}B~�~�~D�!�����p��z�|���E�r�]����y�5������������e���@�&�\���E���7�����K����������V�%�y�����Q����������]����k���\��������]����+�����%����������N���B���a��
Xc���1��
v[I0P � � �!+"�"�"�#
$a$�$�$;%�%�%&X&�&�&�'�)�*+�+_,-�-�-D.�./o/�/50r;<�<UA�A�KL�V�^ a8e�jVl�nq0s/u�wyXz�|�}~�~2��������������������F�Y�{���F�������`�������y���3�����0�}�e�����$�8���g�T�;�����@�����f�}�z����������1�D�u���z���t���S����h���~������u������t�����!�Z������J�&�S�е��w���$��L�v`w��/3#616�8[@&A�D�I�J�K�K7L�L<M�M�M�MOuPhRbSTU�UEV�W5X�Y�Y�Z�Zuu�v9w@xz�z�{�|=}�}�~�~�,�g�Ԁ�ׁ)�������ن��Q��������I�(�֓��h���������_�A�ߴW�����ݺV����v�r]_�<>��!G%�&�'�(�)�/@0B�I(J�}'~���F���ɉԉ߉������o�����P�Q������������������������H��z�C���V����c�0�����������e�9�P���z�	�.�z�������������������y���(���������5��L��n�����f���
����O6�@�JZM�O�SV�Y{K� �������	����������'�(�I������/�a�t�+�	���M��6�0��8�����C6�@�JNM�O�SV�Y�z?������������������x����'�(�I������#�U�h������A��*�$��,�����BELPTX\`dhlp~�����������������*1HQ^lpw����������
+26:>HLPTX\`dhl|����������������"19AHT_fjqx�������������			9	=	D	K	X	_	f	j	q	x		�	�	�	�	�	�	�	�	�	�		


"
.
2
:
E
J
O
T
Y
^
c
h
m
u
~
�
�
�
�
�
�
�
�
�
�
�
�
<AFT\dins����������������"0@KPXj}���������


 
(
0
8
=
E
J
R
W
_
u
�
�
�
�
�
�
�
�
�
�
�
�
$)16>Painv�����������������$).38=BGLQV[`ejoty~��������������������&.3;CKV[cv�������������4H_s����������/4<DIQY^fnsx��������":Rj����������5Fhz�������������#+>CKS[l��������&9ANSXins{��������������	"',16;@EJOTY^cp~����������$).@HPX]bx���������
;CKSX]emu}�������������������1=EMRbjr����������#(08=EJRW_gnsx}�������������0FWj~�������5Pk�������&>CKPUZ_l���������/Dax�������   0 7 < A F K P X ` p x � � � � � � � � � � � � � � � � !!!!!! !%!*!/!4!9!>!C!H!M!_!g!l!t!�!�!�!�!�!�!�!�!�!�!�!""!")"1"9">"F"N"V"^"c"k"s"{"�"�"�"�"�"�"�"�"�"�"�"�"�"�"�"�"##
###"#*#2#:#B#I#N#S#X#]#b#x#�#�#�#�#�#�#�#�#�#$$/$;$H$X$n$r$v$z$~$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$%%%'%/%I%Q%h%p%x%�%�%�%�%�%�%�%�%�%�%�%&
&!&%&9&B&J&R&W&\&a&e&m&u&}&�&�&�&�&�&�&�&�&�&�&�&'''5'='E'^'x'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'(
(((1(5(=(S(y(�(�(�(�(�(�(�(�(�(�())) )%)*)/)4)8)@)D)L)P)`)q)y)~)�)�)�)�)�)�)�)�)�)�)�)�)*
**+*?*D*I*Q*V*]*e*x*}*�*�*�*�*�*�*�*�*�*�*+
++$+0+5+:+B+G+O+T+Y+a+f+n+s+{+�+�+�+�+�+�+�+�+�+�+�+�+�+�+,,,",',/,4,<,A,F,N,S,[,s,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,--'-/-3-;-K-o-t-�-�-�-�-�-�-�-�-�-�-�-.	....#.)./.5.;.A.G.M.S.Y._.e.k.q.x..�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.//// /'/./5/</C/J/Q/X/_/f/m/t/{/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/00000#0*01080?0F0M0T0[0b0i0p0w0~0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�01
1111&1-141;1B1I1P1W1^1e1l1s1z1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�12
222"2)20272>2E2L2S2Z2a2h2o2v2}2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�23	3333%3,333:3A3H3O3V3]3d3k3r3y3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�34444!4(4/464=4D4K4R4Y4`4g4n4u4|4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�455555$5+52595@5G5N5U5\5c5j5q5x55�5�5�5Q6�@KKK\M�O�SV�Y{Q�\�#������	���¹������'�(�I������1�c�v�-����O��8�:�B�!�F�N�V�����@AAABA�D�L�M�M�M�P�P�P�P�R?T@TATTU�V�V�V�W]X^X�Y�Y�Z�v�wXxYxZx[x\x]x&z�{�{�{�|W}�}�}�}�~������7�օ���ԍՍ֍׍ΐؑ^���5�ӛԛ՛֛כ؛ٛڛۛܛݛޛߛ����������m�o�p�q�r�s�t�u�v�w�x�y�z�{�|�}�~��j�k�l��������������������������!�!�!�!�!�!�!�!_%`%a%b%c%d%�&�)�)�)�)�)�)�)�)�)�)�)�)�/�/VJWJXJYJZJ[J\J]J^J_J`JaJbJcJdJeJfJ�}5~T��������_�ͣΣϣУѣңӣԣգ֣ףأ٣ڣۣܣݣ�������������������������������������.�V�������בq�>�Y������s�^����������&������7�����D�[�u��,��6�7_�	�
�
�$2 �$"m!�"�N�m�r�sCA�D�L�M�M�M�P�RBTXU�V�W_X�Y�Z�v�w^x+z�{�|\}�}�~
���<�ׅƆ��؍Ӑّc����:�����r���m�������K����!e%�&�)�/gJ�}:~Y������`�ޣ���������������/�[�������v�C������x�E�c��������������+��������<���������I�`�z�!�1��������������������������������������������������������������������/�����%%Buffer�'�(��Y	����l����=öם��t����Jö�I��öö��ö���=����MaybeUninit���uninit�������B1}-�hn�lם.�l�����J���A��߈��������	����<�}�Ta!N�ם�������>�>SetLenOnDrop��>�	�>�>	local_len��>���rZg�������=öם���Jö�I��ö���������=öם��t�����=öם�����=�������J���A��߈�������������=�������=��ם���=öם���=öם���C�����������<��߈�=���������������<Ŷ߈�<��߈�<��߈��t��t��t��t��t��t��t��t����t����t����t����t��t��t��t��t��t��t��tX�n�����o��q���������t��~���������������t��t�����t��t�����t���5�g�g���h��g�h���g�h��gFPR<?�����5���>�����>�����������������S����-�-���-��*��]�������������������;t���������RÔ�R���R�|�X�{�}�}�X�}�}�X˞˞�=��߈�=Ŷ߈|�l��l��l��l0�l2�l-�l.�l��1�l/�lS�lT�l���lR�lM�lN�l����Shared������^s���o*}��L�lP�lJ�lK�ld�lb�l��l��l��l��l�N�l�����������N���������������������������������������H������LocalHandle���	�xS]�Bj������Guard���	R~�W�k�.������������������������E�E�EAccessError�N����Av�������������������������������;t�������������������;t�������������������������uuAtomic�w��x�ִ'
ǯ�������Position�����1F��#�7�l�88Inner�:front�;back�<�:��vTƅ�l��l��c�c�cStderr����4������������H�HCustom��H�	��Herror��v-�e��������������������lf���]v��߈���������������B�f�����f��
��f�����f���f�������6��������6���5�5	OnceState��5�8mzi�����������������;t������=�Q�Q���Q��:_(&���z3���;�������;���;�;�;�;�����;���
�+���������������������������������������C�S�S�S��S�_'��H$����C�������������v���������������r����˞�����������}���������z�z�^�^�^�^�^�y�^��Adapter���������'������^���\�`���^�^��^��[�^���[����e�S������\�`�w����
�\����������\�������l������������lf���]v}}Block���slots��:,��
��l߈�������������lf���]v��߈������������lf���]v
��߈�����|���Owned������KE	�$?ę���	���Os������Simple������
SimpleMessage�������������kU��ѯ���5�5Weak��5��4�5��4>(,A*�����߈�5�5��5��4�5��4>(,A*�����	ScopeData��num_running_threads���a_thread_panicked���main_thread��~G����nO��������������������;t����5�5I�5��4�5È�4�5��4榦������߈���������������������;t����5�5I�5��4�5È�4�5��4榦�������	SpawnHook��hook����� !�
H�A߈�����5�5��5��4�5��4>(,A*�����Packet���-���
������y�Ѡ����?�?��?���:�?�	�:$x��Lk���߈&&RawVec�)�*���3�{�Ŷ߈&&�)�*���3�{���߈�����������lf���]v��߈�����������lf���]v����߈&&�)�*���3�{���߈������������������������g�˰؎�������������������;t��������-�-���-��*��]�����&&�)�*���3�{���߈���������
������������������lf���]v��߈ö�5�5I�5��4�5È�4�5��4榦�������߈�����5�5ArcInner��5strong��4�5��4�5���4�-���
���
��?�?��?���:�?�	�:$x��Lk��߈�����5�5��5��4�5��4>(,A*�������&&�)�*���3�{��߈�����������<�<�<	DropGuard��<��;�~�ʼn7�Ŷ߈�<�<�<���<��;�~�ʼn7���߈�������������lf���]v��߈��������������������E�EThread��E���%��W�F������}˞�����n���?�?��?���:�?�	�:$x��Lk�߈������OB���s���֗�_�_Buf��_��[���<n��������~�q���e�e���e��e���� ��&&�)�*���3�{�߈�}�����|�r
�n�w�E�E
SpawnHooks��Efirst��5�"`B|�sɌ���Repr����������K�����	JoinInner��native������packet��7��S��YC�����������
JoinHandle�����I? �j

�E�EChildSpawnHooks��Ehooks���Eto_run�����9 I�����
�5�5I�5��4�5È�4�5��4榦�����������
�����parker��7��n��>߈������������&&�)�*���3�{��n߈�����=����������������������5�5I�5��4�5È�4�5��4榦�����Ɍ߈�5�5���5���4�5��4�5���4�-���
�������Ŷ�B�B�BDtorUnwindGuard�
f)���&&�)�*���3�{���߈�����5�5���5���4�5��4�5���4�-���
�Ɍ����Pin�����T$l�G�\k�����Ŷ���������
�������w��w��w�+���+���+�+���+�+���+�+�+���`�G�G�G��
�G��cu{����E�E�E�I��ö�����I��ö�����Jם�����Jםö���Jםö���J�������Lם�J����Kם�=ö�����������Kם�=ö�����������Kם�=ö�����������Kם�=ö�����������Kם���Jםם�L��������	����<�}�Ta!N�ם��Ŷ������L��������	����<�}�Ta!N�ם��Ŷ������J�����J�����J�����J�����JϮ���J�����JϮ���J�����J�����J���������Jö�������Jö�������J���������J���J���=ö��������=ö��������=ö���������=�������������=�����������=ö���������Y��Y�Y���Y�Y���Y���Y��Y���Y���Y��Y���Y��Y��Y�Y���˞��}�˞��}�˞��}�ovvSlot�xtask�y�6Gq�3-�=�l�o���h��������P�����*���
��P���P������t���P������t���P���lT�l���P������t���P������t���Q���Q���Q���P���}�P���P���P���P���P���PÔ�P���P���P�l�PÔ�P�l�P����t���P����t���P���W����������W��������������W�����W���W��˞��t���W���}��������W���}�W�����W���}�W�W�W�{�}�����������lf���]v�߈
����}�W�}�����W˞�S�S�v�v�S�����`�w�`���`�w�`�������`�w����
�������Jp/K�\b��]��^���*�����A��߈���A��߈���A��߈�������A��߈�������?��߈�@�n߈�@��߈�@��߈�?��߈�?��߈�?��߈�?��߈�?Ŷ߈�?�n߈�?��߈�@Ŷ߈�@��߈�=�����<Ŷ߈�<��߈�5���5���6�߈�6��߈�6Ɍ߈�6��߈���������Ʉ�Ʉ��w������������}IŶ߈I��߈A��߈i߈a߈q߈U߈�H���H���H����Rev����	�?�����Tם�H���H��������	�5����5H�i��D����H�����������,M�[�}�����������A���AŶ�6��߈�6��߈�AŶ߈�A�n߈�A��߈�A��߈�A��߈�A�߈�A��߈�������7Ɍ߈�7��߈�7â߈�7�߈�7��߈�7��߈���߈�Ʉ߈���߈��߈���߈���߈��߈���߈���߈���߈���߈���߈�7����7�����7Ɍ���7�����@��߈�6��߈�6��߈�^���R���RÔ�[����t��t����t����t����t���f���f���f���=��QŶ߈Q��߈Q�߈Q��߈Q�n߈Q��߈Q��߈�;����Xՠ˞�X���}�X���}?�l�f���@��߈�@��߈�����������l�;��l�����߈�����߈�<Ŷ߈�<��߈�0߈�;�����߈�E�E�;�@Ŷ߈�@��߈�����I����ö�I��Ϯö�;�AŶ߈�A��߈�AŶ߈�A��߈�A��߈�AŶ߈��Ŷ�������Ŷ�������Ŷ������A��߈��{�@�����@������l��l�����������{�?����߈�?����߈�?�����?ם�������CzR��^�kJ��p���]��jI�� ~������iH�o�'M�}����T��L`nRbB|�\���G����m{��[�S�lK��qGG���4���Z���fq��zZ�Hn>�S�/���sG�fq��zZ���6Z�����3��
Zpanic_internals�us�fq��zZ0{�QK~/.$crate::thread::local_impl::thread_local_inner�p�j�qWb��athread_local_internals����
�f�f�fq��zZU�G����]�J�qWbV�����
�f�f�fq��zZ���� �6��fG���fq��zZ��:���Tdebug_assert����:��SZ�ys�fq��zZ�p�0���
��}��core_intrinsics�fmt_helpers_for_derive��_�_�fq��zZ1��[#��NG���fq��zZ���.��̀G���fq��zZ�����t,��}�J���derive_clone_copy����fq��zZw�Gl��>�:��e�f\��	derive_eq������fq��zZO�B0��,t#7���������fq��zZ�A!ʄ�8����=7���fq��zZa�l��\�����d���fq��zZ����2F4������
�fq��zZs�1~�S��G
fmt_internals��fq��zZ$�bkϓ��@cG�fq��zZ��sCF6q6$crate::thread::local_impl::thread_local_process_attrs�$�i��Gb��/$b�����fq��zZx�~]�$crate::const_format_args�����"]���Z��const_fmt_arguments_new����fq��zZ��W?[3����G���fq��zZ�o�<q_����I��Gb������fq��zZrf��щ�^�	��������_�_�fq��zZ
N�1q����G���fq��zZ
�E�2�we����-���Z�����generic_assert_internals����fq��zZ��1����~,$�u����������fq��zZ���t������H���fq��zZm۾m���:���O\������fq��zZ|
Mˠ@~#$����������fq��zZ�Ӯ���B����.����fq��zZ6@�U̚	�G���fq��zZ��Pi��^�@�w�����_�_�fq��zZ4=�xs�'$crate::panic::unreachable_2021�p�1
ՠ]���S�R�fq��zZP刷q���#��m��\�����fq��zZ���>$crate::panic::panic_2021��ɫ�TZ��]����S�R�fq��zZot��w1�$crate::format_args�[�F�$Z��Z�����fq��zZ%8j��_�fG���fq��zZ�'50�V�G�fq��zZ�b=�"����;�"�����_�_�fq��zZ���v>�����S	���fq��zZ�k�/�g$�CG���fq��zZ�2u3��$crate::assert��R�TZ�����������fq��zZ{Ob�8Rd���ɒ01�ys�fq��zZ�a��"v���=�	���fq��zZu��q�n�G�fq��zZ�P���-t+����������fq��zZ	�p��tl�:��������_�_�fq��zZ�qԁZK~���-�
���fq��zZA7f�Q����J�fq��zZ��
?	G�fq��zZa�0f4p�ptr::addr_of�ܲ5�������fq��zZLa0��xO��><�=��j�����fq��zZ
g\ܳ�G��#4����\�����fq��zZ�G
A幱{����TZ����������fq��zZp�.Y�rA0�Ć`G�fq��zZ벍�x[LLL�G���fq��zZq��ܬM�V��G�fq��zZa��?Q��
��
�����_�_�fq��zZ�1[���X���J����fq��zZ��5Cꔄ0���
����fq��zZ�MkOݖ��G���fq��zZx?x�S�
$crate::assert_ne��D�dZ��Z��vs�fq��zZ�Tf#P��L�G�fq��zZ&�^�cc�����
���fq��zZ/��/c�˅~+$���������fq��zZr�K	�P�~:$����������fq��zZ�Т^V{hY�V�������_�_�fq��zZ�K���{�,��������fq��zZiH�Ù9��=�������_�_�fq��zZ�`��NJ��#�#���������fq��zZx���7�g���!e	����������fq��zZ=	Tŀk�ptr::addr_of_mut���4�������fq��zZ�Y�j��!��TG���fq��zZ�����������1r��us�fq��zZ���&�����TZD
����������fq��zZu�$�zE��G���fq��zZu�,���>"���=d���fq��zZ^-5����E��G���fq��zZ�A?���Q����L�TZ����������fq��zZ���䉃!����'�TZH����������fq��zZ�,�:.A�t:7���������fq��zZ��B���W����,t���fq��zZ8�wr+=3������
�fq��zZԤ�6�7X�<�h�����fq��zZ��-m`N~5�,��������fq��zZ!��)��0��<��t�����_�_�fq��zZ�}X�Z������m���fq��zZae��0�h��#_�%������fq��zZ���=$�8��G�����fq��zZd�4P��G�fq��zZ���Al�;��G���fq��zZ���l$GSX�G�fq��zZ/�"��{p��G���fq��zZ�*	���]m�������fq��zZ�|W�%����5<�
a�����fq��zZ��+(wS�GG��fq��zZ�X��W��(�G���fq��zZ
e:b]������-�����������fq��zZ]1�6�z��ܶG���fq��zZ$$o��f�B�$�������_�_�fq��zZ��
��@e�,��*�����_�_�fq��zZ�2^��w��#�G���fq��zZ��5��<	��#��������_�_�fq��zZ3`���p���G\$������e$�ys�fq��zZ�"g�(ek����T�ys�fq��zZR۪C�(�@����o�߃b�����fq��zZˆǞ-�O���3ɩ�TZ�����������fq��zZ؊Y�{��	����Hx�����fq��zZ2�=u��R����/"0�ys�fq��zZk}�g���t�1
Ŭ�Z��s�fq��zZ�'Ĥ��?debug_assert_ne�������cZ{s�fq��zZW��2�3����D���ys�fq��zZo����ek@�&�H�+��/������@��I����%��8��ǫ����L�l�3�/�����.���A�իD�R�ݫZ���<��E��٫��!��[������^��ݪ��%���b����p��ت*�u� ����7����U���g���Ы��	�M��Ҫ3���«�2���P��V�!����z�)��<�	�˫_�~���h�t�C���>���7�%�.�_�̲�޻��ڬ��K��C�:����u��������k���2�e����T��}��h�ٱF���:�S�ƺùд����A���0������d��G����[�Ƕ����p�������|��L���������A���.����y�п�E����C���������S������˵�����ͮ����� ����x�ܭ���s���λ����d�<��[���X�C�K�z��3��۷���m�3�e���6��������������O���د���7���.���������`�u����
�ɱ̭q�3�U�����C���D�l����������1���������h�n����"� �w��T��������X����i�ʬ������q�*�ؼ���*�����������;�ո5�������1���ODHT /���3���g�B�����CL��\!��TcG�|�WS��+0J��M�
J�eQM���`k�
��~�^4�o�����
�$W]�e����z��,�x9�<���r�A�O�!jA��1x�;W���qЁ�Ş�퇩��#�pD���J�% �t�P)&�<M9���&(a�V4Ȯ&��	��8,���.��B-�4#,l�S�/��k�����0�uH@��1��z?�
�/H{W*^`�4X,���a40���08@+�0�I9,: Br��2#;�=�Kd�\<���9��
;()��c;����?Xn|8T�C�@�@�'��e�@0DJU
�: {�a%�H;C�NnytH�AR���G�E�K8a���;���TJ�gGX,���>�G�W&$S3�/Hx�=AS�p�?�6�O���K�R~�q�<�#@|�'<r?p�����l�L�*�~Փ��FH~���ŅeP�q���0Q��06c#��Q؞�$BH�SS����{V�S�t�)Y�]�X���?�Y�=|�O\X0���5�j\PBȈՈ��_�?�$Z��`+B��v�Ba�v5��o��bH�w����_���;�@�d(Sn�:OHeX
B�k�bKf<�
��g�V�m�y�g���"�`��i�R���tj�N���Sgx����ajXZk��m�Vm(~�"'Y��eЇ�
����g�k���nGp�0��{�mp�
a4IKe(h���F=w@mz���y�1�=l}�VzHm2�T`6{h\���={`}�Б�{��ք�!U�}�c"-���{ �Q���W���ãNq�V��PG��w�<&�P�����e��������W�����C�T�(�R���������1)���|{����-�`AC���E�h�N$��� ��;vc�x�֤0{�a��'����gɜ����G7|�F<��J�ן�zQG��֠pj�wi��p�4Ị���qs�6�Hq���SFW�xGqB������{��v� ��,u���ѥ �Y���C�`����ت��&�^����z�2�i�x�G~�W|���2]�������O+�PAIĶlȼ' �߽�Ip�\�����/���'��4�I1���Pн��:m�y������؂d3A���p;�D1d�Dɰ[���вN�P3{��s�`x,�D����;�.t��$����G�Jf�ѐpNm-����`�`dֈ�X�O�R\?��7D_�o�@$���Zj�@c�d#(�x�aGy�$ި\(PX&u�x��'�8�b�(�'S�j���l�87樆 ^���������6�H��\����t>�>��n� YX��QY�py�1�1���g�'q����J����h@�'P��H��(3����F~J������70�
����&
���9}�W�*���������Ѭ�����Y\���n�)X�L\� ���CЂ�r�� w�����܉�1:0+Q�"��+����
�n�*�MX
��#��P�aAN���r>9��@u2Y����l0�J�iR�
�)��1z3A��9�/@$���!4e��&#6�I��3e797U��G��5*�_��A���
��)��k��� Ɋ��@�" �����f#1�xgJ\�&�Js�2��'��c�)�%����+)
�DȢ�,��M�ⸯL,��X+[�ͤ,������T�.�dV ���u09��qh�09�cH�&V�2���]N�jO1���b��A2�R5&�tŇ7A;��yE�>�2,X��FBAҩ����D�@0�	�i�H��L#�hM�K�o�[.��KٟfRo�MQ��l�L��G�}�
O1�d:-jPy��|0N�Ʊ��$l�RA#Yh���L�h�g	T�O��Rԯ�Wq1;�˚uXY��Mr��Yq~ZU6�N�W�����E8[)�Q�')Q\َ�>����_���7ʣ^`��:��`ї4�4%b逥Yc�,�`�0[Tנ��`)V���f9�Q��c�h��3"~��i�`f�׺`l!����=rm٠��C
�n�c��ɼn	�1UMFqɝ�r�d|t��A�Ht��M���R�v!�����;w��u�i�w	����Cqy�v�q�Z�z��u��~�^zYX̀+yy�֖ٚ5�}��3���9����5^�6� a�+D�igG���N��iWI��2m��B��eއ2����CC�Ą9�S�P|���E���ԋ�]�>���e �����~�5����G�R�˒��/���'z"���I������\����Y$����V�B����B�N!�r���ݹ��W����<Yqg�7����Y�9+�l�b���:S��/H��t��=����;)�?�ge�U�է�!��a��שݨH������q	-�9��Ѭ��_�����n�"~zA�IJ���7;�	�bZ���Z�Q7�|u�o����
���]^�?���Y��$�����0���Դ�1(�B/┶����+\��Y���y�˷A�c4�����A��.�v�I����U�6�i5B��dV���m�fq��zZ��0���&l�zLá]W��[z�QnJ������{�Q��|xj�t{����OtN@|Q�a��8>7�˙���A͹&���n���)����u����e~R�yS/�� E��=W*c�����J�e�SСb����HԹ��}��/�Q��dB���Ѽm`��;��	�J�|Z�ىX���v��S3��g��!����
�9�'U�F��E0��!���9↰�o��ߙ3�*� ?ߩ��6M����9�F���8��ɫ�&&�P�)]ʹ&�tQ䁢p(��4%�ـ��������I'����q��4w�S�)�X5O�ʫ�Y|����%푛�%��J$���^|L1M�9���w��}�!;B�� u��F
S;�~�j��AE����ݛq�N7j�	��q�<Z�`��":�sfB(������b�y�Ϭn�sW��\�L��B&����(
��1�=$F�VЅ�$u:=]�i�
"���h�D����+
b�(}���r�Z�X��bsw!±z�l� �Ȼ���t�b
�����=�(�SZ��������$���A�z�n�:�U���:{N@!Ba(%E1$Ri��)�X}%��	���4%j4L\x�de(B�)xK|��.�����d��.�)�#��&0��t
]��1r�*���2B�O"��|2Z%���Zb�4J�IUԌ�4�Z]���z6
beg?�1"�|��8
վOųx�;Z9�uv1;"2��1>B�����f>r&J�A������<�E:�~�@�FZ���	Hz�~��ӊH��r<��K2�=�\+��K�������kK"���"XXKֶp���NұAr,BF�P���{�KP"�Jl����Q�)ځ�m\�S
)�` efAT��1���U����1�
�U��+3��`W��	��OC"Lr|t!��b?Y
3���qՏ[����i2\��3Nݛ�\2�e�Y���br�k�d�ʴ��ѩf���R�eMjg2�$�(�g*��\��7f*9�hg�w;kjySP�{2m����<|�nbz��qo����kO�\o����|�q�^��ˠ,s��ׇ޼ؔw�6a<Δx���R�Yz
�8�$M�{�bE�#�|B}�,��0}
��U(q�~��%�3D�{��F��3�b+:F@��F~�M���C�{�.?Q�w�j�%)6�������)0��ҨC:
�O����Z2G��r��H?���4uIJA��"���9��:�i���`Û�V��k�'���O]F�|A�h�j���j��.cp�!�ʑ:�E(&�
uo"qc��c}�l�Qe�ZDQ��������
�@�b��G���R�-���
(œ\'7�����P�5����b���pL�����a�#�h��
�e�xe�2O��0����b��r+�W��z�P��߫�2@�J����j�<T0��*6u@�/p�Ģ�X�_M���JU���ʒ�K���@���5?���"͓��8nӢ�.��[j�rI�o�χ��Z��4cgx��R=��Yc-���C�����z�����ڂm��\��>����f��Y�\�Y��
�S��o=�:�R��40�������H䒧��g`����X�@�f��zɷݩI��jz{;(5��*)�4b���ۙp$��������?�J�$�6?��j�*�ǦL�"߄}�c_�j`>G���2��}图�"��+ܺX���%1uT.����Ǐ�t�c�Z������+�Ҍ�z�)�LӚʑ{*�s�Y�&X[C�������/l	�w��Z}?	�7r/��+�������
��]�
=�;)w��,�>��e�$s1\kؿ�C�/�:u&@�Y�b���y�E��Y�}�`Vs߭����6���F���9��'��k���B �����y��.k���� ��(T��|!���t[l!�l��=x0#�#���#�2��FS%��ie��:#&���a��"Kj
��@?�'sjQ���E*��������-#�:e�rw.��Cƻ�C/SDž/��M-ۥ���_g/dD�M�?13�$��d�K4�L�_�5X�5kk���3�6{u�����A7Y�hya�8˾�n�9�
9�M�A
W/5����=��|;�.���p�<S:�k�M@�;[�ؙ�Ջ�={�r,8a1Bӷ0���WDw_r�W�$F{��#�ύG�X�C'�0Iっ+3�[]IscG���j-Is+�=u�fP��^�hR���@&MX(KOڽ�[s#�>�-�\K|'S�R\����P�`�KZ��ݾbj�m����c��B�{�b���ހ��c����׬�f�b�3{�zg;RӪH��h�RE��d�gc�Mژg��k��'�k�}c�����hӲ�1����e����Ѓ�nK��?��n�}�Y�l����%v�q�2v��8��qcZ�p}�e�s���O�t�!\��]u;wh��5n�t#�P#I
h�Ĕ���8xC�SxM���xs!��K��9};3��S�3�~[�K!*��
~���(jŤ@�S�%�4aJ~+v�������c�?���ֈ\������ù�W<����J2��ਉ�_����9�Sʤ����J��W�����W��yc��7���]̕+'�w`)x�j�'�?՗�co�,#�S�[�s�����+��P|�T�{���Ô�+�c�p��!���S�� �O	p�{����C�x�Iq�*ӥ3mA��L�����B�c��H�K�~��*F~D@��wD8mY�+�h�A�~�C�!��J����-a9�������V�{��c�x��s�#�����o��Xs@�J���K
-��K�T�{`�-�#	�G�ٻCx�B�:�[�<���ཛ��Ap}�����b���C	vs�������_����h�i�`�3�+�N��9�c���7����M��r���^��� �ϳ(��{���k��8�#���8�4�j��Ӳ\����<�$����$��^�����������1��Q_��K��ѕ����f������p-�����KҬ��$��c{��Ŷ�S����12J��{7�����^�-��߃`T��h}��k�-`}m�Gv�q?���+׬�P��zY2�D�c��S�})_�[�T�s[�À��{�H�����ˌ�3�q��a��,N!�e���u�=�Ɋ��4Af�3���;Ō������6g	D`@O�����k���a������'��i)��Z���e�����6��<� �smU���:��☂�(u/�#�?)�(i��[�b�,�&�
�4H��\����I�Bp�6�{L�W8����j��R���W���%$�xs�轨t;Q���I�<����l�L��; nc
�RN��_��
�(�,J����L	����$n���e�j��I�y8��Q��R�o�d�d�{R.��%	�.xs����l�V��tm4��6t[J�T+VZ���5�4Q�!$wY�[�TL#�}w tx+�#��%s٧y$:V
zR&t}I��.�(�	�JU�)��^�0�)4*��oq
+<�0j�\�/��{�Ӷ7�/������14=T`_0�1<�=�U#�/�L�`g�4�F�8s���4��*m;�p6Ԡ3��]7�����y7$������84F�f��
9�7�%��@�<}81$@$�����`C�N��P��Et���!�P�G�u*�8�QdI���9�L����z>VEM�Y{C���Nka�
'�PND&D[�wa�P�7����^Q�`t�k��R$��F�J�Qܻ{��V�_W�h`��‚Y���Bs��\t�>�[#�]l�Uj��
\$qH�����_Ď�(�;yP_�v���� a�	��}�?a�~��D��c�ᠼ�Bd�d�i������eTa��hcj�G�HdfM[j���O��k|_(��wm��}onXn��y���jn�V��-�-|q��9�B�&sug08�tL�dJ�9t����Svܯu�$�u�w|���!/��u��'��y�G���6Rny��Ա�0��~�M�X�9;|��2��:��R��@��7_�`�߇���� v{j�4��֝���lѴ��2���3���Ջ4�J��⏴]��iNE����s�nZ���qQl�u��y-!�w\���B7àd��ھ��T�{��F�[𰀓�$��=�pq$��~����C��|�� yTK�$H��+�K�|��&d��������7��\�����f�Y��Ġ�����?U��z���2�̴���p�(QZ��ŝ䠛
-HBϩ[���ޙ��4�o��Hi��p���ߖ���D帪�n����׫��ö���<�u��
����լ��h�Z��S�@���Z�n�ױ�����wٮ���lW�	�̖��s�u���ĭ����<jB�6r�e��u2�;v���$��YH���,KU�츶��>����,��X��>�l9ܗ��m���r'(9f���L�i�F/��ìh�,��<e�L|w���"�܃�MM�"�Ԏ��K)�Gδ�m�8'���p����ф�ȓ�#G��,u��)�,�D%J�����t�5��W�ٴ\�u�b���$k�9(���K��X�����C�Iތ���<��TV���و�����l��
�ز����^��z;8�LyI��1&e�����_4�|9�A�L����I����L����r��T,���p��s���,���.���@�����ի_�le�̤���KMA���ԝ�B�1������������l�S�Oq��l�,���TQ����)B�T@�.r��T�n����я��p���EY�	����`l�e����3	�N��s�����f��z�����E-reE��*x<�
��R�LB�
E����Rc
��m��(-���>iB���a9�X�����rta��1�z>[�B]�����!8��[���Wt{5yTtFԝ���R?c��|!��#b3>�D!M�t��8"����A��%�dU�8��M'���;���(�py�TT��(%���ctf2+���PH�-C9i4�-��`h#ޓ.���y����6�<Qpa�6���l��508U<y#ꆖ^9
yg1|�MK7�B�y�P�;����5��<�{W��)<�G,#�4�B�)�u#�C�*����OB]�������E��6n]gB={���n�B��Gv�BK�Np����L5��6	bM
|����gL�y����O��"
�BIR
�B�~6S���P�nUM��L��V-!5�?*Z�����2�[]���LX6�[5ڧ��%�/\ex�/��g\�ѵ.��F_M��K�I`�&eܾ�`�p�E�{�_�7���r�c�^ϥ~,��_E�E��
b�} ���b��t�HW��h�.�6��^i��+�'��j�����k�_����k��fd��9wk���6�`n�UP!eo%c
����xp��&T=�k]�y
Iu�*t->��t�cmB���v�	#E�y 4t���C�6x=��+�z{m��<���|%c�D�({��s��~��(,�Y�SR�:/f�)`큕���u@;��w	�|F��UR�9��R�
7�[����5�{�8���u*�������?��Do��.�*�T築����o͈}#"�pwU�50u�U�c���+K�/��m|0]���E��d#G�����m���*�!r�s���q&�bP�e��:_��h�=oCZє��%�nю\�U\���8��-��l�q��u�:�>�F�U�ՠd�Wۙ��ڊ�����oF���ۜ�����ȝ�ڌgTА���������L��;���Š
?��E��q8R�����K
L|�-�#������5!��D��%w�c���m�s�y)�槕L�r�%d�v����e�v~
�ҥ���{�٬��{ܮp�����Z�ӻ��]�#�
�ŭ���6�2����ޡ�x�dzE(�cw2hN��	��朵�	������S=�h��f����8/���"���p��*�vP�3	�Ea�'|�M���0��k���E8} �ե������B(�U?��eӰ8Ӹ��x����h�ݏ��u�VXɥ�y��X�S�妏�V\}��e*0���F�� ���85�%f��{�������Q��Յf���G�
"��2����gwe�����m��� :s��<1*��M@�5�f��Ca��e����~�u��������|[a�9��U�}k����~:j��[�(6���_ҙ���5�^.0��>�������%����}ީ���q���pZ�����Mm��M�Mo��W��M:U�(�'?��z�w�!�[���
ҿ��� v
���)�y.@҆���|V���%�Tw&�Z8a^�g���vNlb�m�Κ�!��vM�=��J.>Z,�%�
VV;9؅8
6��rg�
�C+�~��vՊ���&��/Ff���+q홫��|�)�L��"���>����tB 6�����c�#�	������$���z��'ޫ�N��=�(�@�/����)
&V�/A�*f��
�m��*��V�l{,f@/>g�?�-	ߌg�69.��)�5��,��m�a��'F~���p1��?�E�36��h���-4���'�a�6���~���7vD�:�# 8N���\\�J7�h8�l�8N��t/��>�5o�A�y�?� ;3��tB�D�����E�,#2���E&L���$RJ^V���0�L.��)��M�2�$����P�r\%��S6�Yp�)8T�!_���V�C24��;JV�������Z�c�x��f\��n(]V&Hb ��_���ǩ�_�����hoaf�6#-���a.����f~��z�k?g�X`L���2h��s����iV�p/���
j��`L���k>�L_�Wb|j��O�����m־�Z�x�j����|<�o��X���2on̞��AqN�n~��Ly�e� w�{��$N=}��<��]����g&�<��U������62c@���~��
<�O���KS��U��i�q�{���L�`�i�&A��Cx� �m���9����$���|p{�����{��َ�5;A\��|��
��&
Ӓ�9�l����F�w�W�n*��u\�6�	�s���;wxA���d��oFQ���Ƿ���1Y��H����uכ6}�c}2���.]`+I
E����vQď=N��8��7٨o��[�J=C
���>��E*Jɧ0]HH7J�f����Z���O����ƪ�
\q�{}���x?CY>��g��R��F�Np��3�v��8]��
�m����s�ݼ�n�V�A7˥޽μ8d	,j��3�{���1�����z[�5
��|����	a��J���3��@�&��h>|��Ǿְ��I������J��Z����y�:|��]I�!�AX�&_K��OJ��ZAo��9��~�x/5rK��֤��O��$��p��^�9�<؝h־�V����1ڮ��������,�U'�U=u�C侒�g�X���D�k�,����q랻@�N����z�y���?����9�6�_��#���V�V��O�1�f6.��,�����c�E��v�AS��Ƕ�&A�F�	���#�TO���p��eR���~x����yJ6A
�w��NG��vq8Uv��QTQ��w	7#��y��
ߦ���#�������7�p����
3��_��Sh�}bHg���dKO&���B��_<r-�31�3G����_��=�؜Q�2�uE��)n�����+c�@o��?�$��O9+R�n����$^�j@?��:�k'~:�<*��"����
oO#ocOHA0m!#W;�Lc���%ϲ��81'7�p|�$�(/^t���)g��B��<�)o������)o���s�BG-'�Z�/$�2�t�D�z3�7��3G���h!��5��_��,6L�����9�뤨�c09W��%v��9�Rd���Z;/N��P��G9�!*}ض�;��0W_IuA�f4eT�?Bg�u���%EOt�pE`G�MC��'BI�t[/�anI���u��K'�ʷ+P�O�_eP���գb�Q�a��)�C�Q���L%�gS�c���`��T���3�I�HTGz���3RU��w��vpV�jR$�	�X���$���O��C�^�Zɉ��$[��9��"4\7���;���]_vFMCtH]�?Y��t��_�F9��oa"eׁ�S(G�oeG.!��I�l���r9"l����;�uo'���R��qGi��Y�{,t�Sn���i�v��S
�:)�y��P�F�z���v�p�{�Bgm4�K|�e�m��k|���2O0��}�Z���~�^!a��G�?��?�+O��T���9�GB�'w�y�ifZ��j��ٙw.#օ�@���wP��G*@ ��z�����}�%��Q*�z���$�pʌ��f9�_��щ�;�ד?46��W�i�� ĕc_�ޙ��z���g@D]�ɻ���R�J�̝{���^���;PÕ:�߷?���K���I����/��-�q�������M����|�և.�gz���)N�uJe$�Ҧ��!�I����v�Ӽ�̗#
��[�X5�����_!X�
���/��'M&��ϯ�����6�O��<�\�d��-M���G�O)�!'�͗�8%��2���-�:������W�/��_���w՟�ԗ����E�����0k����)��s�7��ρ������?����&Z�'��J�YK�gO�Oq̱ٯ!�a����מ+70��ݗ�m?���W����Ak�?�!i�	m�O�{�oL�ݯ�����I��"������7S��޹�7$���jm��m5k�/
��7�Y�+�l[�?Z��~���F?N�_���UZ����E���ި�%���O7rHu�W��ǻ�Y�X+M���G���7�ş�s
y��UW���������oP�����wγĻ{��o�i�%-�ǮR9��u�������B��Ox������'n2�g�j�}�����>T���������Fѣ��o��RoR>�%��}�S+=�Tq	�����h��Cf�������r&P���g�5:+�ON��_�9OU>m%k'yYmz) DOste\���D
�d��O!;^7!S+rO'V5_v5fn����=�WA>k(����QEc�P�R�)���B=�!���'��krv=5�pe�U#=?,BH=�#A}����������$Mh�<���2q�\���=��M8k'"����WM0h�B���VE,��<3TV#�����g�>s���jFs�P	]����^ 6l=��2$
�	P��U[�<��9�y�&,H+H1{D�����������T����&��I3}tX,A��e-`(k��VsR-�(�3��OW1O�	�� &{:eP:,k��Y0#$OZ)"���Q2L������qz$E@��Q��\
B)��B2bT[Xp
1Ek.iSC1]��Q!H�-�+���
R<'Gronhaz�L�6%GsCgO��#Uf8L�$s,l}����J��Z�������ln09GgT�ht\��K���;6��jaKjS0��PY&������{rSjq
-1X_���[
�_���s�?[�]j[ _%m|^:�2����z�Z�j^G�)�_=z]{�k���s�1lE#CI��E�����������K4���f.�[:����>�(��pv�a���Q��g&02k�O(_�����:%��%nf������l���AZnh~
���))m�,[�=��mzo0\���c�ac����itW���HD�.�;`����.^|_+Wy�BKv	4E5�t��uB"�}Cpa^bppvl9����/�S,�Q#F����O�^�����%����-�k!
\ri"^c1ZkQ	o;X
4(J)T���k%bC`�����f%Fe]�+��H��Vq7GS}�����8`�mh	Kn	"4teC��,j����*�A������h�}�'q�}/Z\.zkE���Ef8V=`*
��;�V|L�?K�8�'z F3?^*L�g��8Y
P<(b{'fq�R(E������a,�;
$�_P���=veNt`R�����^�'�`��[��|=0"b:F=���4�p��LH$Z\?P{k����lS
?zU�K�32:^BIj���js��������)/qNZ%i�S(�!_WoM`D�fp@c\T(M���~x@za:V){�`V!c@n4��f�;zU������6�d����W%W5�%Ex�OPJL$
M^rzz�}�r%jEX)pu�hXh��9j�x������a�x6U0Fk������W�
�*)�G�*�<b��@e������g<3Oc+����Jlu���8K>Z��!
����`SThdHFg":�J/3
o<��	6W��jr��9q;XsEvi:Lu8A^^
jm7tFv	�?u\9
KgGHT^P��F�i�)CU
���Gj��Xeu<GQ��X��G��3t�;H�32|-�A��
�-��R���/\O8P������&*r��_��;+��;31T��z�E�������>��[bc��ER��rOy+os6QH�Xa�iA4f���7��k��{���W�nk��.��,/�H��1�$�	tV���L0980&'JB,O�������_�C���h�1}%
&��@r}G��	Z{�[zh0��;�Ii�J��.r'.zW�'K��������t�9 �o|EO��~h�XA����f$ <T�+���V�������~�f��L� �kt/��+��������� U��I8?	t8(OSz8p4��h9#hm�lrj���D'z|�8:c?G�-����B@X��Rx)^��3_��p�!�	]e���HC^}=;)rtDCQ#,�����}�����I�|�K��7�)��	L!Bg/lL!3Lc{fo���p@�h�������b= �)z(��$��������c����q��%��\�t�fX�J^������u'�����Piew@wplhzoUo`,-#aT9B#OXicY��)|'n5#]oR>�%��}�S+=�h/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/broadcast/mod.rs� _�́������4�����*�$*/
MOQQ4F@*.
;6OPP3LL#:;<9"A, L5+0"W#J$QP4)-/A-+7<JIK%<U.
$!$,;C&;<)[ <JIK<N:-CJ
,,ME.()�R��`��we�ie�i/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/broadcast/test.rs� 
�`u#�����#(Rs��B�01@KF2@KI/%KID2%KIB%KIU2%K%JJ"7+KTJ(-%E
/K%JJ59"A7+K%TJ(9-%=1E*
/+%I43")'C+!*(;&%
&+1+%I43&)'C+"*(;&"%
&+1K6I&,OLL'-F@D1@6-46+,keBI�N����{|c/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/join/mod.rs� �&�ʧ~<4w�E;���5�+
C7G9:FFEDDHHINEKI%GGEX*-4#/*+	8B;3<!"

!>>AGGD
G?CF<<G-CCCE:D
D''Y,M4;ABR,''DI(SCFCE#%BB84&+N;-(
(GF#"!	+"�-���@�윂X(�ɹd/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/scope/mod.rs� %�-1R)nޅj����D](4'K.
Q*QO/QC45"%NLPE&QCEEGFFBGCCEIJ==((--44/FE=FGAQ0%%8@A"(#11"AA6666666666GB@?FGCCEHGGHDHB8BE&+B&ONJ+FFEG2&+&(J32NLQ,&+=G(NQI-4R&+U\@PI
FCCBFEE),
"D?EAIGF.JF'-(66'A&,8;00A0HGEEFFHCI9?^
HFHBF@I).0
"H?CEEGFKH
OCLBFNE2% ^%E8/!&7>0XG(0
EAIGF.PM
TCQBKSE7)%c)E</U4DDEC-EE<-G;#   G@K$M($'''F$*
6(0D,E3SR24TSSJ4
O(/D,T6(!U47H"DDEC-CF./
:(0D,E3YT48H<8
TSSJ4
S(/D,T6(!?U@-',49!
D
(2
=
+572%2BO
G.&[B?
CG?W
:+2A9:'RJV=DD
&@DI9.
,A"8.J0A&38.JPQED-D-:$R�9�4l�����Z��iTi/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/sleep/counters.rs� ��Y������i^��k�J�0#IH/@A<SQO2.25+M,JQM,#OKH,1$ $1010$+'?;;<16',(
C@=@1c[3JHSJ+/>OQQ>3;9:DO&"
FJ8#8].TJc**H8=&FE@/].TJc**P.X8^'(B
7"
&&2SP3
;04=41:@:%$:41$K2%"399�<�X��L
������d/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/spawn/mod.rs� �f>��c��
�0�/�\�0�IEBEC!-GBBB&AF%EACHEBG'>KA
VEG<7";4.<D"A>BC5]-&D"@;*-)J
CCBEH!96CG?97+?^>KA
T";93<I"A>BC5]-VQ&3*
�+�,���1,�س&j/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/thread_pool/mod.rs� ��
/;:	}R�T������G;0<?$6
-NLBFLP[\0_]=?/;;\E'2
0$BA!%@>#QJIM#TR $ 1
J9NO==&\2#
'&a.
"-RMOPJQI'%@>GB&&;\SU2=1K3
5
2>?D$=DI301$BE@/GH+$;AI:@G0:4GFD6EG$F<ADGDFDFEBE4+DAG
"".?5,14
0#?L:1;9
4(@5C=
)4N:MB
-9HKO@E $
'>7HKO@O.)
'><STT7.
>>E1P.YV/4<R.YV14!#!A'?.DGCD'D, 7=E6<C,
1
6AE+A8
<
6+-KMBQLCUT&
8!8KJPOUT(
8#4-%%
g.#�ʁ�U�7��R�7k/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/thread_pool/test.rs� P	��7�������ǟz��i�0D,A!K@U,-.0E.#:K@U6J5E.#D;/$.E>38=(KLQQ@*86+ &% @NI5;+86+&$-BCJ?21KII5KJJ =AM-KJJ =19A5=M-KV0 )?-*" !,5&K1JK;I ?."%&)(K(JK-IK5S
.:"UQ) '
 K'$H9
3K:W
2:'UQ) '
 K'$H9
3K"I#R6" K'I(R6 " 0?>-O>(0?>-O>(��&S��C:B_?����r^/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/lib.rs� i=�TtJ��4';дN���5dRPhS�Wv}w^'!4_c^Xcac`d`'Y$POO6B?GIHL
(


	

I*'5C*=1'<'">Wd[b$RCD=GD?" 9<;/*(5+"" V9QIM-18EFHK.1>60./,*@G-U0 G/?GFK1FFK0D%'!#! )"
[WMIE CI;I8FKH A8IA8D>&LX1OJ1W#F?+5*,BI=IG
d
A%%*C8B><F!5PPTSU(W#?7*9G
X,#?7*=85D6/M
VTT/#?);.G<FB@9M)R
Q
34+9/3)/-/
:0 C8)"0&"08+-;08$ 
AD0>8
-8
H?D.F<8;39?EACD?1JJL?(
BbGa`a`F2(
5D">C>:>5@?@F3@
<<
102=,
E3DHH>IIF#A@DD@C=FD/bQ-#
*AD"7NOOF@
.<
@B!6NOOE>
.:
`$/
;I0A8
-:
AH>
CI
<B
@=<
C-5
CI
.B
BG
.@
?16&'^.<-B&$XU:
9e.
-?\_/
>>I<.? $!?#1G)
TPPN,/=84.424$?HF#%"
I#%h�D/��n��$o둽f_/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/test.rs� ��=�ɒ����IAy����1�60KJ03GK2H9"$#+( '#?B<K2H9"$"+( %':?B<K(2H?>#@"?)($#5
( &$''J8:D4F@KJ0W#*K%$%;> "&"&$K3KJNKB( "6KA"*G> }��U�_��W�?-�
c^/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/job.rs� e&���7��0̂d��;�(
 FGFF2HDE(E)GD=&G:
(-
A4)()(FEGD$!
!& !
@/6
7?025(!
),*76!;@D"E 0"EA6C)1A
'!)5CA0!EA6B51@
* )546'+
G;11/#@
1"$
B_`Y")B,'D9#
��{�����
g�C�=`/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/latch.rs� c_�f�.Ío�I�t^�u�0/#LMKEFE
GH9G<*GCGeH*G?GG+OMP)&+-D%@DD.(
GF'.RCF!/UCF!#]
LEF/C))2!,
DD."! GDC.C*)1
NN&E%
) %,'5CDECG*FCDEH?N1AED=F
G-"
Y*01
" 01
'3 D9FCGBFFBF'*
?6-$1F
!,@<GG;TT2TTZVG!:S#*I8@8@
>#S. :-<13-
%H)>':H@)@
'AA=!+""9/KQ
G$ 6!
1$D +'ǰ�W{�:A)����c/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/registry.rs� h�Ƞ�����cx��!���-^
a9(
0VL#K)P0O #$?(0)'3?GCE%BEFC$C,,)
8*
#3FC/*'/C#%,..,AIIP'Y[WVb0"L7-E=<1aW<I-DF'#:3A4_@41$<`]GKN:c_Sd[G:T6%$
*#+1
JW9C0''0"P10"+O*,02997Q+d)661:8:?`V]Y>FHN
8/98"+!
EF'39)08
LC<5
8,II0
0 :6X4<*
EGA-) 
G<.)!
PE4E@H;5[0&
GE28FCD>:4=/:)'3/9-#
LN-Kb=
>JGHL>B?L&
)6
KQOR57
59)(F:DJ0+
8
5RO>%AC."+`X
5J?D6!=?*'/CF@GGBB%CDDG>EDF5LRKGG"%FK[
NRD>GE0D9E=A15&')
L!-;6(=FED^,-#%"!('
'6 FC(5"G39'(;6T*46C9(8AGF<,"
)9-#
)EE%Q+)
:DBEG/0'LA7#P#66']%"[IP.
H.E( B58);,A?9A%&:.!"# !
0&"# !
71D(C4#C.
#:+!3+>3:.**!)
L-5.-%16GD@,882,)772IBEEEE,1

4%@F,&,
C:BP3?I$
$
& .$.*�Եa�$o,l<o��Eb/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/private.rs� Qe�9Ԟ���;6� �FFC7B7(A7FG*
H��K�����t涗�	d/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/sleep/mod.rs� ���W��{�\RX�sn�]�E#"!,8ZVYXCX=FDEDF1@B3$0E1%<
3+W-
K-3
&Q2C7!$25!$=>$!>$!H>
4J$24!
CE%G'"%
AA@DQPM+*!<A
.Q4CS24!KO'1LBOQMN!  L
!AGB6R8GDEN8S:9141EEEE?DN8S1G?PWHKD8
?!<0FG8@02U0
792&* 
;<E!.GEB=FEBD1
5 +5g;��/�{�ꂫq�a/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/unwind.rs� �����9��=eP*����GD0*GFCA0D" A!M�91��!��8ʘ�wk/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/compile_fail/mod.rs� �4NA�6�'�Cz�3J�Aǻ�	��o"ۧ͘�q/home/palash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.13.0/src/compile_fail/rc_return.rs� z$Vȓ�?���<���X��33|Ӂ`@���.S���s��5�6x8�9{=3?x@CbE_I�JnL�NaSTV�VlWx86_64-unknown-linux-gnu�qu���8|�!�f��
rayon_core�-af936d5901b0fce8��fq��zZ����b�2˵���
���R������
�����(�������)��(�
�)��
���
��
�������������)�����������������������������)������������
������0�������H����۰�����Еrust-end-file