__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

���g�h���SrSrSrSrSrSrSSKr\R"SS	5 SS
KJ	r	 SSK
Jr SSK
Jr SS
K
J
r
 SSK
Jr SSK
Jr SSK
Jr SSK
Jr SSK
Jr SSKJr SSKJr SSKJr SSKJr "SS\R65rg)�4Produces speech presentation for accessible objects.z$Id$z
$Revision$z$Date$zrCopyright (c) 2005-2009 Sun Microsystems Inc.Copyright (c) 2010-2011 Orca TeamCopyright (c) 2011-2015 Igalia, S.L.�LGPL�N�Atspiz2.0)r)�debug)�
focus_manager)�input_event_manager)�messages)�object_properties)�settings)�settings_manager)�speech_generator)�AXObject)�AXTable)�AXText)�AXUtilitiesc�^�\rSrSrSr\S5r\U4Sj5r\U4Sj5rU4Sjr	\U4Sj5r
\S5r\U4S	j5r\S
5r
\U4Sj5r\S5r\U4S
j5r\U4Sj5r\U4Sj5r\U4Sj5r\U4Sj5r\S5r\U4Sj5rU4Sjr\U4Sj5r\U4Sj5r\U4Sj5r\U4Sj5r\U4Sj5rU4SjrSrSrU=r $)�SpeechGenerator�8rc�^�U4SjnU$)zDecorator for logging.c�>�T"U0UD6nSTRS3U/n[R"[RUS5 U$)NzWEB SPEECH GENERATOR: �:T)�__name__r�print_tokens�
LEVEL_INFO)�args�kwargs�result�tokens�funcs    ��C/usr/lib/python3/dist-packages/orca/scripts/web/speech_generator.py�wrapper�5SpeechGenerator.log_generator_output.<locals>.wrapper?sF����4�*�6�*�F�.�t�}�}�o�Q�?��H�F����u�/�/���>��M��)rr!s` r �log_generator_output�$SpeechGenerator.log_generator_output;s���	�
�r#c�V>�URSS5S:�a/$[TU]"U40UD6$�N�indexr)�get�super�_generate_old_ancestors��self�objr�	__class__s   �r r,�'SpeechGenerator._generate_old_ancestorsFs0����8�8�G�Q��!�#��I��w�.�s�;�d�;�;r#c�>�URSS5S:�a,URRRU5(d/$[TU]"U40UD6$r()r*�_script�	utilities�isListDescendantr+�_generate_new_ancestorsr-s   �r r6�'SpeechGenerator._generate_new_ancestorsMsK����8�8�G�Q��!�#�D�L�L�,B�,B�,S�,S�TW�,X�,X��I��w�.�s�;�d�;�;r#c�t>�URRRU5(d[TU]"U40UD6$URR5(a)U[R"5R5:Xa/$/nURS5nU(a�URRRU5(a�URRRU5nURRRU5nXV:wa:URRRU5(d[TU]-U5/n[R"U5(dn[R"U5(dQ[R "U5(d6[R""U5(d[R$"U5(aU$URRR'X5(aU$[(R*R,[(R*R.[(R*R0[(R*R2[(R*R4/US'[(R*R6[(R*R8[(R*R:[(R*R<[(R*R>[(R*R@/US'[(R*RB/US'URRREU5(a,USRG[(R*RH5 URK[TU]"U40UD65 U$)N�priorObj�
stop_at_roles�	skipRoles�stop_after_roles)&r3r4�inDocumentContentr+�_generate_ancestors�inSayAllr�get_manager�get_locus_of_focusr*�getDocumentForObject�_generate_accessible_namer�	get_tabler�is_landmark�is_math_related�is_tool_tip�
is_status_bar�isItemForEditableComboBoxr�Role�DOCUMENT_WEB�EMBEDDED�INTERNAL_FRAME�MATH�MENU_BAR�	PARAGRAPH�HEADING�LABEL�LINK�	LIST_ITEM�TEXT�TOOL_BAR�isEditableDescendantOfComboBox�append�	COMBO_BOX�extend)r.r/rr�	prior_obj�	prior_doc�docr0s       �r r>�#SpeechGenerator._generate_ancestorsTs�����|�|�%�%�7�7��<�<��7�.�s�;�d�;�;��<�<� � �"�"�s�m�.G�.G�.I�.\�.\�.^�'^��I����H�H�Z�(�	�����/�/�A�A�)�L�L����.�.�C�C�I�N�I��,�,�(�(�=�=�c�B�C������(>�(>�(S�(S�TW�(X�(X��'�;�C�@�A��� � ��%�%��'�'��,�,��.�.�s�3�3��*�*�3�/�/��,�,�S�1�1��M��<�<�!�!�;�;�C�K�K��M�!&���!8�!8�$�z�z�2�2�$�z�z�8�8�$�z�z���$�z�z�2�2�	!4��_��
#�Z�Z�1�1�"�Z�Z�/�/�"�Z�Z�-�-�"�Z�Z�_�_�"�Z�Z�1�1�"�Z�Z�_�_�.��[��%*�J�J�$7�$7�#8��
� ��<�<�!�!�@�@��E�E����$�$�U�Z�Z�%9�%9�:��
�
�e�g�1�#�>��>�?��
r#c�P>�[R"5RS5(a/$/n[R"U5nURSS5R
5nUS:Xa[R/nO_US:Xa[R/nOGUS:Xa[R/nO/US;a[R/nOUS:Xa[R/nU(a4URUR"[R 4S	U0UD65 U$["TU]H"U40UD6$)
N�onlySpeakDisplayedText�haspopup�false�dialog�grid�listbox)�menu�true�treer/)rr@�get_settingr�get_attributes_dictr*�lowerr	�HAS_POPUP_DIALOG�HAS_POPUP_GRID�HAS_POPUP_LISTBOX�HAS_POPUP_MENU�HAS_POPUP_TREErZ�voicer
�SYSTEMr+�_generate_state_has_popup)r.r/rr�attrs�
popup_typer0s      �r rs�)SpeechGenerator._generate_state_has_popup�s����'�'�)�5�5�6N�O�O��I����,�,�S�1���Y�Y�z�7�3�9�9�;�
���!��/�/�0�F�
�6�
!��-�-�.�F�
�9�
$��0�0�1�F�
�+�
+��-�-�.�F�
�6�
!��-�-�.�F���M�M�$�*�*�%5�%<�%<�N�#�N��N�O��M��w�0��=��=�=r#c���[R"5RS5(a/$URRRU5(d/$[R"U5(a/$URRRU5(d/$[R/nURUR"[R4SU0UD65 U$�Nr`r/)rr@rir3r4r=r�is_feed_article�isClickableElementr
�STATE_CLICKABLErZrqr
rr�r.r/rrs    r �_generate_has_click_action�*SpeechGenerator._generate_has_click_action�s����'�'�)�5�5�6N�O�O��I��|�|�%�%�7�7��<�<��I��&�&�s�+�+��I��|�|�%�%�8�8��=�=��I�#�3�3�4���
�
�d�j�j�!1�!8�!8�J�c�J�T�J�K��
r#c�8>�[R"5RS5(a/$URRRU5(d[TU]"U40UD6$[R"U5(d/$URRRU5(a/$U[R"5R5:waS[R"XRS55(a[TU]"U40UD6$URS5(d/$URS5nUS:XaB[R "U5(a'URR"R$"U40UD6$[R&"XRS55(aUS:wa/$[R("XRS55(a+URR*R-5(a/$[TU]"U40UD6$)Nr`�role�
inMouseReview�
formatType�
basicWhereAmI)rr@rir3r4r=r+� _generate_accessible_descriptionr�is_valid�preferDescriptionOverNamerrAr�is_dialog_or_alertr*�is_live_region�live_region_manager�generateLiveRegionDescription�is_text�is_link�caret_navigation�'last_input_event_was_navigation_command)r.r/r�format_typer0s    �r r��0SpeechGenerator._generate_accessible_description�s�����'�'�)�5�5�6N�O�O��I��|�|�%�%�7�7��<�<��7�;�C�H�4�H�H�� � ��%�%��I��<�<�!�!�;�;�C�@�@��I��-�+�+�-�@�@�B�B��-�-�c�8�8�F�3C�D�D��w�?��L�t�L�L��8�8�O�,�,��	��h�h�|�,���/�)�k�.H�.H��.M�.M��<�<�3�3�Q�Q�RU�^�Y]�^�^����s�H�H�V�$4�5�5�+��:X��I����s�H�H�V�$4�5�5��|�|�,�,�T�T�V�V��I��w�7��D�t�D�Dr#c��[R"5RS5(a/$URRRU5(d/$URRR
U5(d/$[R/nURUR"[R4SU0UD65 U$rx)
rr@rir3r4r=�hasLongDescr
�STATE_HAS_LONGDESCrZrqr
rrr|s    r �_generate_has_long_description�.SpeechGenerator._generate_has_long_description�s����'�'�)�5�5�6N�O�O��I��|�|�%�%�7�7��<�<��I��|�|�%�%�1�1�#�6�6��I�#�6�6�7���
�
�d�j�j�!1�!8�!8�J�c�J�T�J�K��
r#c��>^�[R"5RS5(a/$TRRRU5(d[TT]"U40UD6$[R"U5nU(d/$U4SjnSR[[XC555n[RU-/nURTR "["R$4SU0UD65 U$)Nr`c�~>�[R[R"U5STR	U535$)N� )�str�stripr�get_name�get_localized_role_name)�xr.s �r �
obj_string�9SpeechGenerator._generate_has_details.<locals>.obj_string�s6����9�9�� 1� 1�!� 4�5�Q�t�7S�7S�TU�7V�6W�X�Y�Yr#z, r/)rr@rir3r4r=r+�_generate_has_detailsr�get_details�join�set�mapr
�RELATION_HAS_DETAILSrZrqr
rr)r.r/r�objsr��
to_presentrr0s`      �r r��%SpeechGenerator._generate_has_details�s�����'�'�)�5�5�6N�O�O��I��|�|�%�%�7�7��<�<��7�0��=��=�=��&�&�s�+����I�	Z��Y�Y�s�3�z�#8�9�:�
�#�8�8�:�E�F���
�
�d�j�j�!1�!8�!8�J�c�J�T�J�K��
r#c��[R"5RS5(a/$/nUnU(aCU(d<[R"U5n[
R"U5nU(a	U(dM<U(d/$[RS-/nURUR"[R4SU0UD65 /nUH�nURURU55 URUR"[R4SU0UD65 URR R#U5nUR%5(dM�URU5 URUR"[R&4SU0UD65 URUR)U55 M� U$)Nr`�r/)rr@rirr�r�
get_parentr
r�rZrqr
rrrXr�r3r4�
expandEOCsr��DEFAULT�_generate_pause)r.r/rr��	containerr�o�strings        r �_generate_all_details�%SpeechGenerator._generate_all_details�sa���'�'�)�5�5�6N�O�O��I����	����*�*�9�5�D� �+�+�I�6�I������I�#�8�8�2�=�>���
�
�d�j�j�!1�!8�!8�J�c�J�T�J�K����A��M�M�$�6�6�q�9�:��M�M�$�*�*�%5�%<�%<�N�#�N��N�O��\�\�+�+�6�6�q�9�F��<�<�>�>���M�M�&�!��M�M�$�*�*�%5�%=�%=�O�3�O�$�O�P��M�M�$�.�.�q�1�2���
r#c�>�[R"5RS5(a/$URRRU5(d[T	U]"U40UD6$[R"U5nU(d/$URS5(a/$[R"5nUR5(dURR5(aURS5(a/$UR5(aWURRRU5(a-URS5S[ R""U54;a/$/nUGHnURRR%U5=(d. [&R("U5=(d UR+U5nUR-5n[/U5S:�a	USSS/-nUR1[2R4SR7U5-5 UR9UR:"[<R>4S	U0UD65 UR9UR@"U40UD65 GM U$)
Nr`�leaving�startOffset�	endOffset�rz...r�r/)!rr@rir3r4r=r+�_generate_details_forr�get_is_details_forr*r�'last_event_was_forward_caret_navigationr?�(last_event_was_backward_caret_navigation�treatAsTextObjectr�get_character_countr�rr�r��split�lenrXr
�RELATION_DETAILS_FORr�rZrqr
rrr�)
r.r/rr��managerrr�r��wordsr0s
         �r r��%SpeechGenerator._generate_details_fors�����'�'�)�5�5�6N�O�O��I��|�|�%�%�7�7��<�<��7�0��=��=�=��-�-�c�2����I��8�8�I����I�%�1�1�3���;�;�=�=����AV�AV�AX�AX��x�x�
�&�&��I��;�;�=�=��|�|�%�%�7�7��<�<��x�x��$�T�6�3M�3M�c�3R�,S�S��I����A��\�\�+�+�6�6�q�9�3�X�=N�=N�q�=Q�3��/�/��2�
��L�L�N�E��5�z�A�~��a��
�e�W�,���M�M�+�@�@�3�8�8�E�?�R�S��M�M�$�*�*�%5�%<�%<�N�#�N��N�O��M�M�$�.�.�q�9�D�9�:���
r#c�j>�URRRU5(d[TU]"U40UD6$URRRU5(a�[R"U5(a�[R"XRS55(d�URRRU5(dV[R"XRS55(d,[R"XRS55(d/$XRS5:Xa[R"U5(a/$[R"XRS55(a[ R""U5(a/$[TU]"U40UD6$)Nr�r9)r3r4r=r+�#_generate_accessible_label_and_name�isTextBlockElementr�has_presentable_textrrEr*�
isDocument�is_dpub�
is_suggestion�is_editable�is_labelr�
supports_textr-s   �r r��3SpeechGenerator._generate_accessible_label_and_name7s6����|�|�%�%�7�7��<�<��7�>�s�K�d�K�K��<�<�!�!�4�4�S�9�9��*�*�3�/�/��*�*�3����0@�A�A��<�<�)�)�4�4�S�9�9��&�&�s�H�H�V�,<�=�=��,�,�S�(�(�6�2B�C�C��I��(�(�:�&�&�;�+B�+B�3�+G�+G��I�����X�X�f�%5�6�6�8�;Q�;Q�RU�;V�;V��I��w�:�3�G�$�G�Gr#c��>�URRRU5(d[TU]"U40UD6$URRRU5(a�[R"U5(al[R"XRS55(dB[R"XRS55(dURS5(d/$[R"U5(aURS5(a/$URRRU5(a/$[R"XRS55(a�URS5(atURS5n[R"U5(d%[ R""U[R5nU(aU[R$"U5;a/$[ R&"U5(a�URRR)U5(a[ R*"U5/nOD[ R&"U5n[R,"U5(dUR/5nU/nUR1UR2"[4R64SU0UD65 U$[TU]"U40UD6$)Nr��inFlatReviewr��
ancestorOfr/)r3r4r=r+rCr�rr�rrEr*r�r��hasVisibleCaption�	is_figure�
is_captionr�
find_ancestor�get_is_label_forr�r��get_description�has_explicit_namer�rZrqr
r�)r.r/r�captionr�namer0s      �r rC�)SpeechGenerator._generate_accessible_nameLs����|�|�%�%�7�7��<�<��7�4�S�A�D�A�A��<�<�!�!�4�4�S�9�9��*�*�3�/�/��*�*�3����0@�A�A��&�&�s�H�H�V�,<�=�=��8�8�N�+�+��I����s�#�#�����(:�(:��I��<�<�!�!�3�3�C�8�8��I�� � ��h�h�v�&6�7�7�D�H�H�\�<R�<R��h�h�|�,�G��)�)�'�2�2�"�0�0��+�:P�:P�Q���3�+�">�">�w�"G�G��	����S�!�!��|�|�%�%�?�?��D�D�"�2�2�3�7�8���(�(��-��"�4�4�S�9�9��:�:�<�D�����M�M�$�*�*�%5�%=�%=�O�3�O�$�O�P��M��w�0��=��=�=r#c�H>�URRRU5(d[TU]"U40UD6$URRRU5up4U(a7U/nUR
UR"[R4SU0UD65 U$/$)Nr/)
r3r4r=r+�_generate_accessible_label�
inferLabelForrZrqr
r�)r.r/r�label�_objectsrr0s      �r r��*SpeechGenerator._generate_accessible_labelts�����|�|�%�%�7�7��<�<��7�5�c�B�T�B�B��,�,�0�0�>�>�s�C�����W�F��M�M�$�*�*�%5�%=�%=�O�3�O�$�O�P��M��	r#c�>�[R"5RS5(a/$URS5(d/$URR
R
U5(a�URR
R
[R"5R55(d7S/nURUR"[R4SU0UD65 U$[TU]8"U40UD6$)Nr`r�r�r/)rr@rir*r3r4r=rrArZrqr
rrr+�_generate_leaving)r.r/rrr0s    �r r��!SpeechGenerator._generate_leaving�s�����'�'�)�5�5�6N�O�O��I��x�x�	�"�"��I��<�<�!�!�3�3�C�8�8��<�<�)�)�;�;��(�(�*�=�=�?�A�A��T�F��M�M�$�*�*�%5�%<�%<�N�#�N��N�O��M��w�(��5��5�5r#c��/$�Nr$)r.r/rs   r � _generate_new_radio_button_group�0SpeechGenerator._generate_new_radio_button_group�s	���	r#c��>�[R"5RS5(d6[R"5RS5[R:Xa/$[
RR[
RR[
RRS/nURS[R"U55nXC;a[TU]8"U40UD6$[R "[R""US55nUc�[R$"X5(a/['UR(R*R-U55nOm[R."X5(d[R0"X5(a7['[3[R4"U[R6555nU(d/$[R$"U5(a[8R:"U5/nO5US:Xa[8R<"U5/nO[8R>"U5/nURAURB"[DRF4SU0UD65 U$)Nr`�speechVerbosityLevel�	ROLE_FEEDr�rr/)$rr@rir�VERBOSITY_LEVEL_BRIEFrrJ�DESCRIPTION_LIST�LIST�LIST_BOXr*r�get_roler+�_generate_number_of_childrenr�get_set_size�	get_child�is_description_listr�r3r4�descriptionListTerms�is_list_box�is_list�list�
iter_children�is_list_itemr	�descriptionListTermCount�feedArticleCount�
listItemCountrZrqr
rr)r.r/r�rolesr��set_sizerr0s       �r r��,SpeechGenerator._generate_number_of_children�s�����'�'�)�5�5�6N�O�O��*�*�,�8�8�9O�P��0�0�1��I�
���,�,���������$�$�����x�x��� 1� 1�#� 6�7�����7�7��D�t�D�D��+�+�H�,>�,>�s�A�,F�G�����.�.�s�9�9��t�|�|�5�5�J�J�3�O�P���(�(��3�3�{�7J�7J�3�7U�7U��t�H�$:�$:�3��@X�@X�$Y�Z�[����I��*�*�3�/�/��7�7��A�B�F�
�[�
 ��/�/��9�:�F��,�,�X�6�7�F��
�
�d�j�j�!1�!8�!8�J�c�J�T�J�K��
r#c��>�URRRU5(d[TU]"U40UD6$[
R"U5nU(aU$[TU]"U40UD6$r�)r3r4r=r+r�r�get_role_description)r.r/r�role_descriptionr0s    �r r��'SpeechGenerator.get_localized_role_name�sb����|�|�%�%�7�7��<�<��7�2�3�?�$�?�?�#�8�8��=���#�#��w�.�s�;�d�;�;r#c��>�URRRU5(d[TU]"U40UD6$URRRU5nUR"U40UD6$r�)r3r4r=r+�/_generate_real_active_descendant_displayed_text�realActiveDescendant�_generate_text_content)r.r/r�radr0s    �r r�?SpeechGenerator._generate_real_active_descendant_displayed_text�sd����|�|�%�%�7�7��<�<��7�J�3�W�RV�W�W��l�l�$�$�9�9�#�>���*�*�3�7�$�7�7r#c�>�URRRU5(d[TU]"U40UD6$[
R"U5(aXRS5:Xa/$[R"U5nU(a7U/nURUR"[R4SU0UD65 U$URS[R"U55nURS5nURS5nURSS5nURSS	5n	UR"U40UD6n
UR "U40UD6(dU
(aUR	U
5$/$/n["R$"5n[
R"U5nU(GaURRR'U5(d�UR)5(dURR+5(a	U(a/$UR-5(aHURRR/U5(aUS[0R2"U54;a/$UR5UR6"U40UD65 URUR"[R4SU0UD65 GO)U(a�URRR9U5(a�[R:"U5n
U
(a�[
R"U
5(dfUR=5(dQUR5[>R@5 URUR"[R4SU0UD65 GOXU[BRDRF:XGaX�S	-
:Xd*URRRIU5(d�URRRKU5nU(ajUR5[>RLUR6"U40UD6US
.-5 URUR"[R4SU0UD65 GOqUR5UR6"U40UD65 URUR"[R4SU0UD65 GOURRROU5(Ga�[
RP"[R:"U55(aSUR5[RRT5 URUR"[R4SU0UD65 GOnURRRWU5(aiUR5UR7U[BRDRXS95 URUR"[R4SU0UD65 X�S	-
:Xd*URRRIU5(dTUR5UR6"U40UD65 URUR"[R4SU0UD65 OTUR5UR6"U40UD65 URUR"[R4SU0UD65 U
(aUR	U
5US	S	&U$)Nr9r/r�r�r�r)r�total�)r��level)r�)-r3r4r=r+�_generate_accessible_rolerr�r*rrrZrqr
rrr��_get_ancestor_with_usable_role�_should_speak_rolerr@�$isContentEditableWithEmbeddedObjectsr�r?r�r�rr�rXr�r�r��last_event_was_caret_navigationr
�ROLE_EDITABLE_CONTENTrrJrQ�isFocusableWithMathChild�headingLevel�ROLE_HEADING_LEVEL_SPEECH�isLink�is_imager	�IMAGE_MAP_LINK�hasUselessCanvasDescendant�IMAGE)r.r/r�roledescriptionrr��start�endr)r
�ancestor_with_usable_role�mgrr��parentrr0s               �r r�)SpeechGenerator._generate_accessible_role�sO����|�|�%�%�7�7��<�<��7�4�S�A�D�A�A��"�"�3�'�'�C�8�8�J�3G�,G��I�"�7�7��<���%�&�F��M�M�$�*�*�%5�%<�%<�N�#�N��N�O��M��x�x��� 1� 1�#� 6�7������'���h�h�{�#������!�$������!�$��$(�$G�$G��$T�t�$T�!��&�&�s�3�d�3�(��5�5�6O�P�P��I���!�-�-�/��!�-�-�c�2���t�|�|�5�5�Z�Z�[^�_�_��;�;�=�=����AV�AV�AX�AX�^c��	��;�;�=�=��<�<�)�)�;�;�C�@�@��t�V�%?�%?��%D�E�E��	��M�M�$�6�6�s�C�d�C�D��M�M�$�*�*�%5�%<�%<�N�#�N��N�O�
�T�\�\�3�3�>�>�s�C�C��(�(��-�F��k�5�5�f�=�=��:�:�<�<��
�
�/�E�E�F��
�
�d�j�j�)9�)@�)@�R�c�R�T�R�S��
�U�Z�Z�'�'�
'���	�!����)?�)?�)X�)X�Y\�)]�)]����.�.�;�;�C�@����M�M�"3�"M�"M� $� <� <�S� I�D� I�!&�Q(�#(�)��M�M�$�*�*�-=�-D�-D�"V�#�"V�QU�"V�W��M�M�$�">�">�s�"K�d�"K�L��M�M�$�*�*�-=�-D�-D�"V�#�"V�QU�"V�W��
�\�\�
#�
#�
*�
*�3�
/�
/��#�#�H�$7�$7��$<�=�=��
�
�h�5�5�6��
�
�d�j�j�)9�)@�)@�R�c�R�T�R�S��<�<�)�)�D�D�S�I�I��M�M�$�">�">�s����IY�IY�">�"Z�[��M�M�$�*�*�-=�-D�-D�"V�#�"V�QU�"V�W��A�I�%�T�\�\�-C�-C�-\�-\�]`�-a�-a��M�M�$�">�">�s�"K�d�"K�L��M�M�$�*�*�-=�-D�-D�"V�#�"V�QU�"V�W��
�M�M�$�6�6�s�C�d�C�D��M�M�$�*�*�%5�%<�%<�N�#�N��N�O�$��8�8�9R�S�F�1�Q�K��
r#c�
>�[R"U5(a+URSS5S-URSS5:a/$URS5S;aURS5U:Xa/$[TU]"U40UD6$)Nr)rrr
r�)r��detailedWhereAmIr9)rr�r*r+�_generate_position_in_listr-s   �r r'�*SpeechGenerator._generate_position_in_list"sy����#�#�C�(�(��x�x���#�a�'�$�(�(�7�A�*>�>��	��8�8�L�!�)N�N��x�x�
�#�s�*��	��w�1�#�>��>�>r#c�h>�URR5(d/$[TU]"U40UD6$r�)r3�inFocusModer+�_generate_state_unselectedr-s   �r r+�*SpeechGenerator._generate_state_unselected.s0����|�|�'�'�)�)��I��w�1�#�>��>�>r#c�>�[TU]"U40UD6nURR5(dU$[R
"5R
S5(Ga|[R"U5nU(aEURU5 URUR"[R4SU0UD65 U$[R"U5upVURRR!U5(aWUR["R$US--5 URUR"[R4SU0UD65 URRR'U5(aWUR["R(US--5 URUR"[R4SU0UD65 U$)N�speakCellCoordinatesr/r)r+�_generate_real_table_cellr3r*rr@rir�get_label_for_cell_coordinatesrXrZrqr
rr�get_cell_coordinatesr4�cellRowChangedr	�	TABLE_ROW�cellColumnChanged�TABLE_COLUMN)r.r/rrr��row�colr0s       �r r/�)SpeechGenerator._generate_real_table_cell7sc�����2�3�?�$�?���|�|�'�'�)�)��M��'�'�)�5�5�6L�M�M��:�:�3�?�E���
�
�e�$��
�
�d�j�j�)9�)@�)@�R�c�R�T�R�S��
��3�3�C�8�H�C��|�|�%�%�4�4�S�9�9��
�
�h�0�0�C�!�G�<�=��
�
�d�j�j�)9�)@�)@�R�c�R�T�R�S��|�|�%�%�7�7��<�<��
�
�h�3�3�s�Q�w�?�@��
�
�d�j�j�)9�)@�)@�R�c�R�T�R�S��
r#c
�">�URRRU5(d<SUS/n[R"[R
US5 [TU]"U40UD6$SU/n[R"[R
US5 /nURRRU5(a[RRUS'O�URRRU5(a[RRUS'OkURRRXRS5S9(a[RR US'OUR""U40UD6US'SU;aPURRR%U5nURRR'U5S	US'URSS	5nURS
S5nURRR)XU5uUS'US
'U(d%[+[-S[TU]"U40UD655nSUS/n[R"[R
US5 U$)NzWEB:z=is not in document content. Calling default speech generator.Tz*WEB: Generating speech for document objectr�r�)�offsetr9rr�����language�dialectc��U$r�r$�r�s r �<lambda>�1SpeechGenerator.generate_speech.<locals>.<lambda>ks��1r#z*WEB: Speech generation for document objectz	complete.)r3r4r=rrrr+�generate_speechrrrJrS�
isCustomImager�
treatAsDivr*�SECTION�_get_functional_role�getTopLevelDocumentForObject�getPriorContext�!getLanguageAndDialectForSubstringr��filter)	r.r/rrr�documentrr r0s	        �r rB�SpeechGenerator.generate_speechNs����|�|�%�%�7�7��<�<��c�#b�c�F����u�/�/���>��7�*�3�7�$�7�7�>��D��
���5�+�+�V�T�:����<�<�!�!�(�(��-�-� �:�:�?�?�D��L�
�\�\�
#�
#�
1�
1�#�
6�
6� �:�:�+�+�D��L�
�\�\�
#�
#�
.�
.�s�8�8�M�;R�
.�
S� �:�:�-�-�D��L��4�4�S�A�D�A�D��L��T�!��|�|�-�-�J�J�3�O�H�#�|�|�5�5�E�E�h�O�PQ�R�D��������*���h�h�{�B�'���L�L�"�"�D�D�S�QT�U�	*��Z��$�y�/���&��e�g�.E�c�.R�T�.R�S�T�F�>��[�Q��
���5�+�+�V�T�:��
r#c��U(d/$/nURRRUS5nS[U5S/n[R
"[RUS5 [U5H�upVUupxp�SUS3USUSU	SU
S	3/n[R
"[RUS5 UR"U4X�U
U[U5S
.UD6n[U[5(aSn[[X�55nU(dM�US(dM�URU5 XrS
'M� U(d�URRSS9(d>[R"5R!S5(aUR#S5S:XaSn
O[$R&n
X�R("[*R,40UD6/nU$)NTz(WEB: Generating speech contents (length:�)zITEM z: zstart: z, end: z '�')r�r�r�r)r
c�H�[U[5=(a U(+(+$r�)�
isinstancer�r?s r �is_not_empty_list�<SpeechGenerator.generate_contents.<locals>.is_not_empty_list�s�� *�1�d� 3� =�A��>�>r#rr9F)�treatInterruptedAsIn�speakBlankLinesr��ancestorr�)r3r4�filterContentsForPresentationr�rrr�	enumeraterBrQr�rJrXr?rr@rir*r	�BLANKrqr
r�)
r.�contentsrrr�i�contentr/rr r��	utterancerRs
             r �generate_contents�!SpeechGenerator.generate_contentsqs�����I����<�<�)�)�G�G��RV�W��<�c�(�m�S�Q��
���5�+�+�V�T�:�#�H�-�J�A�&-�#�C���a�S��m�S�G�E�7�'�#��b���PQ�*R�S�F����u�/�/���>��,�,��6�!&�f��s�8�}�6�04�6�I��)�T�*�*�?� ��(9�!E�F�	��y�Y�q�\�\��
�
�i�(�#&�Z� �.���|�|�$�$�%�$�@�&�2�2�4�@�@�AR�S�S��(�(�<�(�J�6���!�����j�j�)9�)A�)A�J�T�J�K�F��
r#r$)!r�
__module__�__qualname__�__firstlineno__�__doc__�staticmethodr%r,r6r>rsr}r�r�r�r�r�r�rCr�r�r�r�r�rrr'r+r/rBr^�__static_attributes__�
__classcell__)r0s@r rr8s����>������<��<��<��<�+�Z�>��>�2����"�E��E�@��������&����>�#��#�J�H��H�(�%>��%>�N�
��
��6��6� �����"��"�H<��8��8��M��M�^�	?��	?��?��?�����,!�F � r#r)rc�__id__�__version__�__date__�
__copyright__�__license__�gi�require_version�
gi.repositoryr�orcarrrr	r
rrr
�orca.ax_objectr�
orca.ax_tabler�orca.ax_textr�orca.ax_utilitiesrrr$r#r �<module>rtsv��8;�������7�
���	����7�E�"����$��"��!�!�#�!��)�Y	�&�6�6�Y	r#

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 365 B 0644
bookmarks.cpython-313.pyc File 6.07 KB 0644
braille_generator.cpython-313.pyc File 14.75 KB 0644
script.cpython-313.pyc File 139.03 KB 0644
script_utilities.cpython-313.pyc File 188.59 KB 0644
speech_generator.cpython-313.pyc File 38.75 KB 0644
Filemanager