push-orbita-utils
v1.2.1
Published
Componentes útiles y reutilizables para React con TypeScript
Maintainers
Readme
��#� �=� �p�k�g�-�f�r�o�n�t�e�n�d�-�u�t�i�l�s�
�
�
�
�U�n�a� �b�i�b�l�i�o�t�e�c�a� �c�o�m�p�l�e�t�a� �d�e� �u�t�i�l�i�d�a�d�e�s� �f�r�o�n�t�e�n�d� �p�a�r�a� �R�e�a�c�t� �q�u�e� �i�n�c�l�u�y�e� ���4� �f�e�a�t�u�r�e�s� �p�r�i�n�c�i�p�a�l�e�s��� �d�i�s�e���a�d�a�s� �p�a�r�a� �t�r�a�b�a�j�a�r� �j�u�n�t�a�s� �y� �c�r�e�a�r� �f�o�r�m�u�l�a�r�i�o�s� �d�i�n���m�i�c�o�s� �y� �p�o�t�e�n�t�e�s�.�
�
�
�
�#�#� �=��� �F�e�a�t�u�r�e�s� �P�r�i�n�c�i�p�a�l�e�s�
�
�
�
�#�#�#� �1�.� �<أ� ���H�o�o�k�s� �E�s�e�n�c�i�a�l�e�s��� �(��f�e�a�t�u�r�e�s�/�h�o�o�k�s��)�
�
�-� ��u�s�e�S�e�l�e�c�t�O�p�t�i�o�n�s�� �-� �M�a�n�e�j�o� �d�e� �o�p�c�i�o�n�e�s� �d�e� �s�e�l�e�c�t�
�
�-� ��u�s�e�F�o�r�m�H�a�n�d�l�e�r�� �-� �G�e�s�t�i���n� �d�e� �f�o�r�m�u�l�a�r�i�o�s�
�
�-� ��u�s�e�F�o�r�m�V�a�l�i�d�a�t�i�o�n�� �-� �V�a�l�i�d�a�c�i���n� �e�n� �t�i�e�m�p�o� �r�e�a�l�
�
�-� ��u�s�e�D�e�b�o�u�n�c�e�� �-� �O�p�t�i�m�i�z�a�c�i���n� �d�e� �p�e�r�f�o�r�m�a�n�c�e�
�
�
�
�#�#�#� �2�.� �=�� ���S�i�s�t�e�m�a� �d�e� �A�d�a�p�t�a�d�o�r�e�s��� �(��f�e�a�t�u�r�e�s�/�a�d�a�p�t�e�r�s��)�
�
�-� �T�r�a�n�s�f�o�r�m�a�c�i���n� �d�e� �d�a�t�o�s� �e�n�t�r�e� �d�i�f�e�r�e�n�t�e�s� �f�o�r�m�a�t�o�s�
�
�-� �A�d�a�p�t�a�d�o�r�e�s� �p�a�r�a� �A�P�I�s�,� �F�o�r�m�i�k�,� �y� �m���s�
�
�-� �C�o�n�f�i�g�u�r�a�c�i���n� �f�l�e�x�i�b�l�e� �d�e� �t�r�a�n�s�f�o�r�m�a�c�i�o�n�e�s�
�
�
�
�#�#�#� �3�.� �=��� ���S�i�s�t�e�m�a� �C�R�U�D� �C�o�m�p�l�e�t�o��� �(��f�e�a�t�u�r�e�s�/�c�r�u�d��)�
�
�-� �O�p�e�r�a�c�i�o�n�e�s� �C�R�U�D� �a�u�t�o�m�a�t�i�z�a�d�a�s�
�
�-� �T�a�b�l�a�s� �d�i�n���m�i�c�a�s� �c�o�n� �P�r�i�m�e�R�e�a�c�t�
�
�-� �G�e�s�t�i���n� �d�e� �e�s�t�a�d�o� �d�e� �t�a�b�l�a�s�
�
�
�
�#�#�#� �4�.� �=��� ���S�i�s�t�e�m�a� �d�e� �F�o�r�m�u�l�a�r�i�o�s� �D�i�n���m�i�c�o�s��� �(��f�e�a�t�u�r�e�s�/�f�o�r�m�s��)�
�
�-� �F�o�r�m�u�l�a�r�i�o�s� �b�a�s�a�d�o�s� �e�n� �c�o�n�f�i�g�u�r�a�c�i���n� �J�S�O�N�
�
�-� �V�a�l�i�d�a�c�i�o�n�e�s� �a�v�a�n�z�a�d�a�s� �c�o�n� �Y�u�p�
�
�-� �C�o�m�p�o�n�e�n�t�e�s� �P�r�i�m�e�R�e�a�c�t� �i�n�t�e�g�r�a�d�o�s�
�
�-� �A�r�r�a�y�s� �a�n�i�d�a�d�o�s� �y� �s�e�l�e�c�t�s� �d�e�p�e�n�d�i�e�n�t�e�s�
�
�
�
�-�-�-�
�
�
�
�#�#� �<د� ���E�j�e�m�p�l�o� �C�o�m�p�l�e�t�o�:� �F�o�r�m�u�l�a�r�i�o� �c�o�n� �S�e�l�e�c�t���
�
�
�
�T�e� �m�o�s�t�r�a�r��� �c���m�o� �u�s�a�r� �l�a�s� ���4� �f�e�a�t�u�r�e�s� �j�u�n�t�a�s��� �p�a�r�a� �c�r�e�a�r� �u�n� �f�o�r�m�u�l�a�r�i�o� �c�o�m�p�l�e�j�o� �c�o�n� �s�e�l�e�c�t�s� �d�e�p�e�n�d�i�e�n�t�e�s�.�
�
�
�
�#�#�#� �=��� ���P�a�s�o� �1�:� �I�n�s�t�a�l�a�c�i���n���
�
�
�
����b�a�s�h�
�
�n�p�m� �i�n�s�t�a�l�l� �@�p�u�s�h�-�o�r�b�i�t�a�-�u�t�i�l�s�/�h�o�o�k�s� �@�p�u�s�h�-�o�r�b�i�t�a�-�u�t�i�l�s�/�a�d�a�p�t�e�r�s� �@�p�u�s�h�-�o�r�b�i�t�a�-�u�t�i�l�s�/�c�r�u�d� �@�p�u�s�h�-�o�r�b�i�t�a�-�u�t�i�l�s�/�f�o�r�m�s�
�
����
�
�
�
�#�#�#� �=��� ���P�a�s�o� �2�:� �C�o�n�f�i�g�u�r�a�c�i���n� �d�e�l� �F�o�r�m�u�l�a�r�i�o���
�
�
�
����t�y�p�e�s�c�r�i�p�t�
�
�/�/� �s�r�c�/�c�o�m�p�o�n�e�n�t�s�/�U�s�e�r�F�o�r�m�.�t�s�x�
�
�i�m�p�o�r�t� �R�e�a�c�t� �f�r�o�m� �'�r�e�a�c�t�'�;�
�
�i�m�p�o�r�t� �{� �F�o�r�m�i�k�,� �F�o�r�m� �}� �f�r�o�m� �'�f�o�r�m�i�k�'�;�
�
�i�m�p�o�r�t� �{� �
�
� � � � �D�y�n�a�m�i�c�F�o�r�m�F�i�e�l�d�s�,� �
�
� � � � �F�i�e�l�d�C�o�n�f�i�g� �
�
�}� �f�r�o�m� �'�@�p�u�s�h�-�o�r�b�i�t�a�-�u�t�i�l�s�/�f�o�r�m�s�'�;�
�
�i�m�p�o�r�t� �{� �
�
� � � � �u�s�e�S�e�l�e�c�t�O�p�t�i�o�n�s� �
�
�}� �f�r�o�m� �'�@�p�u�s�h�-�o�r�b�i�t�a�-�u�t�i�l�s�/�h�o�o�k�s�'�;�
�
�i�m�p�o�r�t� �{� �
�
� � � � �c�r�e�a�t�e�A�p�i�A�d�a�p�t�e�r� �
�
�}� �f�r�o�m� �'�@�p�u�s�h�-�o�r�b�i�t�a�-�u�t�i�l�s�/�a�d�a�p�t�e�r�s�'�;�
�
�i�m�p�o�r�t� �{� �
�
� � � � �u�s�e�C�r�u�d�O�p�e�r�a�t�i�o�n�s� �
�
�}� �f�r�o�m� �'�@�p�u�s�h�-�o�r�b�i�t�a�-�u�t�i�l�s�/�c�r�u�d�'�;�
�
�
�
�/�/� �C�o�n�f�i�g�u�r�a�c�i���n� �d�e�l� �f�o�r�m�u�l�a�r�i�o�
�
�c�o�n�s�t� �u�s�e�r�F�o�r�m�C�o�n�f�i�g�:� �F�i�e�l�d�C�o�n�f�i�g�[�]� �=� �[�
�
� � � � �{�
�
� � � � � � � � �n�a�m�e�:� �"�n�o�m�b�r�e�"�,�
�
� � � � � � � � �t�y�p�e�:� �"�t�e�x�t�"�,�
�
� � � � � � � � �l�a�b�e�l�:� �"�N�o�m�b�r�e�"�,�
�
� � � � � � � � �g�r�i�d�S�i�z�e�:� �"�m�e�d�i�u�m�"�,�
�
� � � � � � � � �v�a�l�i�d�a�t�i�o�n�:� �{� �
�
� � � � � � � � � � � � �r�e�q�u�i�r�e�d�:� �t�r�u�e�,� �
�
� � � � � � � � � � � � �m�i�n�L�e�n�g�t�h�:� �2� �
�
� � � � � � � � �}�
�
� � � � �}�,�
�
� � � � �{�
�
� � � � � � � � �n�a�m�e�:� �"�e�m�a�i�l�"�,�
�
� � � � � � � � �t�y�p�e�:� �"�e�m�a�i�l�"�,�
�
� � � � � � � � �l�a�b�e�l�:� �"�E�m�a�i�l�"�,�
�
� � � � � � � � �g�r�i�d�S�i�z�e�:� �"�m�e�d�i�u�m�"�,�
�
� � � � � � � � �v�a�l�i�d�a�t�i�o�n�:� �{� �
�
� � � � � � � � � � � � �r�e�q�u�i�r�e�d�:� �t�r�u�e�,� �
�
� � � � � � � � � � � � �e�m�a�i�l�:� �t�r�u�e� �
�
� � � � � � � � �}�
�
� � � � �}�,�
�
� � � � �{�
�
� � � � � � � � �n�a�m�e�:� �"�p�a�i�s�"�,�
�
� � � � � � � � �t�y�p�e�:� �"�s�e�l�e�c�t�"�,�
�
� � � � � � � � �l�a�b�e�l�:� �"�P�a���s�"�,�
�
� � � � � � � � �s�e�l�e�c�t�K�e�y�:� �"�p�a�i�s�e�s�"�,�
�
� � � � � � � � �g�r�i�d�S�i�z�e�:� �"�m�e�d�i�u�m�"�
�
� � � � �}�,�
�
� � � � �{�
�
� � � � � � � � �n�a�m�e�:� �"�d�e�p�a�r�t�a�m�e�n�t�o�"�,�
�
� � � � � � � � �t�y�p�e�:� �"�s�e�l�e�c�t�-�d�e�p�e�n�d�e�n�c�y�"�,�
�
� � � � � � � � �l�a�b�e�l�:� �"�D�e�p�a�r�t�a�m�e�n�t�o�"�,�
�
� � � � � � � � �d�e�p�e�n�d�e�n�c�y�F�i�e�l�d�:� �"�p�a�i�s�"�,�
�
� � � � � � � � �e�n�t�i�t�y�N�a�m�e�:� �"�d�e�p�a�r�t�a�m�e�n�t�o�s�B�y�P�a�i�s�"�,�
�
� � � � � � � � �g�r�i�d�S�i�z�e�:� �"�m�e�d�i�u�m�"�
�
� � � � �}�,�
�
� � � � �{�
�
� � � � � � � � �n�a�m�e�:� �"�c�i�u�d�a�d�"�,�
�
� � � � � � � � �t�y�p�e�:� �"�s�e�l�e�c�t�-�d�e�p�e�n�d�e�n�c�y�"�,�
�
� � � � � � � � �l�a�b�e�l�:� �"�C�i�u�d�a�d�"�,�
�
� � � � � � � � �d�e�p�e�n�d�e�n�c�y�F�i�e�l�d�:� �"�d�e�p�a�r�t�a�m�e�n�t�o�"�,�
�
� � � � � � � � �e�n�t�i�t�y�N�a�m�e�:� �"�c�i�u�d�a�d�e�s�B�y�D�e�p�a�r�t�a�m�e�n�t�o�"�,�
�
� � � � � � � � �g�r�i�d�S�i�z�e�:� �"�m�e�d�i�u�m�"�
�
� � � � �}�,�
�
� � � � �{�
�
� � � � � � � � �n�a�m�e�:� �"�r�o�l�e�s�"�,�
�
� � � � � � � � �t�y�p�e�:� �"�m�u�l�t�i�s�e�l�e�c�t�"�,�
�
� � � � � � � � �l�a�b�e�l�:� �"�R�o�l�e�s�"�,�
�
� � � � � � � � �s�e�l�e�c�t�K�e�y�:� �"�r�o�l�e�s�"�,�
�
� � � � � � � � �g�r�i�d�S�i�z�e�:� �"�f�u�l�l�"�
�
� � � � �}�,�
�
� � � � �{�
�
� � � � � � � � �n�a�m�e�:� �"�a�c�t�i�v�o�"�,�
�
� � � � � � � � �t�y�p�e�:� �"�c�h�e�c�k�b�o�x�"�,�
�
� � � � � � � � �l�a�b�e�l�:� �"�U�s�u�a�r�i�o� �A�c�t�i�v�o�"�,�
�
� � � � � � � � �g�r�i�d�S�i�z�e�:� �"�q�u�a�r�t�e�r�"�
�
� � � � �}�
�
�]�;�
�
�
�
�/�/� �C�o�m�p�o�n�e�n�t�e� �p�r�i�n�c�i�p�a�l�
�
�c�o�n�s�t� �U�s�e�r�F�o�r�m� �=� �(�)� �=�>� �{�
�
� � � � �/�/� �<أ� �H�o�o�k� �1�:� �u�s�e�S�e�l�e�c�t�O�p�t�i�o�n�s� �p�a�r�a� �o�p�c�i�o�n�e�s� �e�s�t���t�i�c�a�s�
�
� � � � �c�o�n�s�t� �{� �o�p�t�i�o�n�s�:� �p�a�i�s�e�s�O�p�t�i�o�n�s� �}� �=� �u�s�e�S�e�l�e�c�t�O�p�t�i�o�n�s�(�{�
�
� � � � � � � � �k�e�y�:� �'�p�a�i�s�e�s�'�,�
�
� � � � � � � � �a�p�i�S�e�r�v�i�c�e�:� �(�)� �=�>� �f�e�t�c�h�(�'�/�a�p�i�/�p�a�i�s�e�s�'�)�.�t�h�e�n�(�r�e�s� �=�>� �r�e�s�.�j�s�o�n�(�)�)�
�
� � � � �}�)�;�
�
�
�
� � � � �c�o�n�s�t� �{� �o�p�t�i�o�n�s�:� �r�o�l�e�s�O�p�t�i�o�n�s� �}� �=� �u�s�e�S�e�l�e�c�t�O�p�t�i�o�n�s�(�{�
�
� � � � � � � � �k�e�y�:� �'�r�o�l�e�s�'�,�
�
� � � � � � � � �a�p�i�S�e�r�v�i�c�e�:� �(�)� �=�>� �f�e�t�c�h�(�'�/�a�p�i�/�r�o�l�e�s�'�)�.�t�h�e�n�(�r�e�s� �=�>� �r�e�s�.�j�s�o�n�(�)�)�
�
� � � � �}�)�;�
�
�
�
� � � � �/�/� �=�� �A�d�a�p�t�e�r� �2�:� �C�r�e�a�r� �a�d�a�p�t�a�d�o�r� �p�a�r�a� �l�a� �A�P�I�
�
� � � � �c�o�n�s�t� �a�p�i�A�d�a�p�t�e�r� �=� �c�r�e�a�t�e�A�p�i�A�d�a�p�t�e�r�(�{�
�
� � � � � � � � �b�a�s�e�U�R�L�:� �'�/�a�p�i�'�,�
�
� � � � � � � � �t�r�a�n�s�f�o�r�m�R�e�s�p�o�n�s�e�:� �(�d�a�t�a�)� �=�>� �d�a�t�a�.�m�a�p�(�(�i�t�e�m�:� �a�n�y�)� �=�>� �(�{�
�
� � � � � � � � � � � � �v�a�l�u�e�:� �i�t�e�m�.�i�d�,�
�
� � � � � � � � � � � � �l�a�b�e�l�:� �i�t�e�m�.�n�o�m�b�r�e�
�
� � � � � � � � �}�)�)�
�
� � � � �}�)�;�
�
�
�
� � � � �/�/� �=��� �C�R�U�D� �3�:� �O�p�e�r�a�c�i�o�n�e�s� �C�R�U�D� �p�a�r�a� �u�s�u�a�r�i�o�s�
�
� � � � �c�o�n�s�t� �{� �
�
� � � � � � � � �c�r�e�a�t�e�:� �c�r�e�a�t�e�U�s�e�r�,� �
�
� � � � � � � � �u�p�d�a�t�e�:� �u�p�d�a�t�e�U�s�e�r�,�
�
� � � � � � � � �i�s�L�o�a�d�i�n�g� �
�
� � � � �}� �=� �u�s�e�C�r�u�d�O�p�e�r�a�t�i�o�n�s�(�{�
�
� � � � � � � � �e�n�t�i�t�y�:� �'�u�s�u�a�r�i�o�s�'�,�
�
� � � � � � � � �a�d�a�p�t�e�r�:� �a�p�i�A�d�a�p�t�e�r�
�
� � � � �}�)�;�
�
�
�
� � � � �/�/� �=��� �F�o�r�m�s� �4�:� �M�a�n�e�j�o� �d�e�l� �f�o�r�m�u�l�a�r�i�o�
�
� � � � �c�o�n�s�t� �h�a�n�d�l�e�S�u�b�m�i�t� �=� �a�s�y�n�c� �(�v�a�l�u�e�s�:� �a�n�y�)� �=�>� �{�
�
� � � � � � � � �t�r�y� �{�
�
� � � � � � � � � � � � �i�f� �(�v�a�l�u�e�s�.�i�d�)� �{�
�
� � � � � � � � � � � � � � � � �a�w�a�i�t� �u�p�d�a�t�e�U�s�e�r�(�v�a�l�u�e�s�)�;�
�
� � � � � � � � � � � � �}� �e�l�s�e� �{�
�
� � � � � � � � � � � � � � � � �a�w�a�i�t� �c�r�e�a�t�e�U�s�e�r�(�v�a�l�u�e�s�)�;�
�
� � � � � � � � � � � � �}�
�
� � � � � � � � � � � � �c�o�n�s�o�l�e�.�l�o�g�(�'�U�s�u�a�r�i�o� �g�u�a�r�d�a�d�o� �e�x�i�t�o�s�a�m�e�n�t�e�'�)�;�
�
� � � � � � � � �}� �c�a�t�c�h� �(�e�r�r�o�r�)� �{�
�
� � � � � � � � � � � � �c�o�n�s�o�l�e�.�e�r�r�o�r�(�'�E�r�r�o�r� �a�l� �g�u�a�r�d�a�r� �u�s�u�a�r�i�o�:�'�,� �e�r�r�o�r�)�;�
�
� � � � � � � � �}�
�
� � � � �}�;�
�
�
�
� � � � �r�e�t�u�r�n� �(�
�
� � � � � � � � �<�d�i�v� �c�l�a�s�s�N�a�m�e�=�"�u�s�e�r�-�f�o�r�m�-�c�o�n�t�a�i�n�e�r�"�>�
�
� � � � � � � � � � � � �<�h�2�>�F�o�r�m�u�l�a�r�i�o� �d�e� �U�s�u�a�r�i�o�<�/�h�2�>�
�
� � � � � � � � � � � � �
�
� � � � � � � � � � � � �<�F�o�r�m�i�k�
�
� � � � � � � � � � � � � � � � �i�n�i�t�i�a�l�V�a�l�u�e�s�=�{�{�
�
� � � � � � � � � � � � � � � � � � � � �n�o�m�b�r�e�:� �'�'�,�
�
� � � � � � � � � � � � � � � � � � � � �e�m�a�i�l�:� �'�'�,�
�
� � � � � � � � � � � � � � � � � � � � �p�a�i�s�:� �'�'�,�
�
� � � � � � � � � � � � � � � � � � � � �d�e�p�a�r�t�a�m�e�n�t�o�:� �'�'�,�
�
� � � � � � � � � � � � � � � � � � � � �c�i�u�d�a�d�:� �'�'�,�
�
� � � � � � � � � � � � � � � � � � � � �r�o�l�e�s�:� �[�]�,�
�
� � � � � � � � � � � � � � � � � � � � �a�c�t�i�v�o�:� �f�a�l�s�e�
�
� � � � � � � � � � � � � � � � �}�}�
�
� � � � � � � � � � � � � � � � �o�n�S�u�b�m�i�t�=�{�h�a�n�d�l�e�S�u�b�m�i�t�}�
�
� � � � � � � � � � � � �>�
�
� � � � � � � � � � � � � � � � �<�D�y�n�a�m�i�c�F�o�r�m�F�i�e�l�d�s�
�
� � � � � � � � � � � � � � � � � � � � �c�o�n�f�i�g�=�{�u�s�e�r�F�o�r�m�C�o�n�f�i�g�}�
�
� � � � � � � � � � � � � � � � � � � � �m�o�d�u�l�e�K�e�y�=�"�u�s�u�a�r�i�o�s�"�
�
� � � � � � � � � � � � � � � � � � � � �t�i�t�l�e�=�"�C�r�e�a�r�/�E�d�i�t�a�r� �U�s�u�a�r�i�o�"�
�
� � � � � � � � � � � � � � � � � � � � �o�n�C�a�n�c�e�l�=�{�(�)� �=�>� �c�o�n�s�o�l�e�.�l�o�g�(�'�C�a�n�c�e�l�a�d�o�'�)�}�
�
� � � � � � � � � � � � � � � � � � � � �t�=�{�(�k�e�y�)� �=�>� �k�e�y�}� �/�/� �F�u�n�c�i���n� �d�e� �t�r�a�d�u�c�c�i���n�
�
� � � � � � � � � � � � � � � � � � � � �g�e�t�L�a�n�g�M�e�s�s�a�g�e�=�{�(�m�o�d�u�l�e�K�e�y�,� �k�e�y�)� �=�>� ��$�{�m�o�d�u�l�e�K�e�y�}�.�$�{�k�e�y�}��}�
�
� � � � � � � � � � � � � � � � � � � � �u�s�e�S�e�l�e�c�t�O�p�t�i�o�n�s�=�{�u�s�e�S�e�l�e�c�t�O�p�t�i�o�n�s�}�
�
� � � � � � � � � � � � � � � � �/�>�
�
� � � � � � � � � � � � �<�/�F�o�r�m�i�k�>�
�
� � � � � � � � �<�/�d�i�v�>�
�
� � � � �)�;�
�
�}�;�
�
�
�
�e�x�p�o�r�t� �d�e�f�a�u�l�t� �U�s�e�r�F�o�r�m�;�
�
����
�
�
�
�#�#�#� �=��� ���P�a�s�o� �3�:� �C�o�n�f�i�g�u�r�a�c�i���n� �d�e� �A�P�I�s���
�
�
�
����t�y�p�e�s�c�r�i�p�t�
�
�/�/� �s�r�c�/�s�e�r�v�i�c�e�s�/�a�p�i�.�t�s�
�
�e�x�p�o�r�t� �c�o�n�s�t� �a�p�i�S�e�r�v�i�c�e� �=� �{�
�
� � � � �/�/� �O�b�t�e�n�e�r� �p�a���s�e�s�
�
� � � � �g�e�t�P�a�i�s�e�s�:� �(�)� �=�>� �f�e�t�c�h�(�'�/�a�p�i�/�p�a�i�s�e�s�'�)�.�t�h�e�n�(�r�e�s� �=�>� �r�e�s�.�j�s�o�n�(�)�)�,�
�
� � � � �
�
� � � � �/�/� �O�b�t�e�n�e�r� �d�e�p�a�r�t�a�m�e�n�t�o�s� �p�o�r� �p�a���s�
�
� � � � �g�e�t�D�e�p�a�r�t�a�m�e�n�t�o�s�B�y�P�a�i�s�:� �(�p�a�i�s�I�d�:� �s�t�r�i�n�g�)� �=�>� �
�
� � � � � � � � �f�e�t�c�h�(��/�a�p�i�/�d�e�p�a�r�t�a�m�e�n�t�o�s�?�p�a�i�s�I�d�=�$�{�p�a�i�s�I�d�}��)�.�t�h�e�n�(�r�e�s� �=�>� �r�e�s�.�j�s�o�n�(�)�)�,�
�
� � � � �
�
� � � � �/�/� �O�b�t�e�n�e�r� �c�i�u�d�a�d�e�s� �p�o�r� �d�e�p�a�r�t�a�m�e�n�t�o�
�
� � � � �g�e�t�C�i�u�d�a�d�e�s�B�y�D�e�p�a�r�t�a�m�e�n�t�o�:� �(�d�e�p�a�r�t�a�m�e�n�t�o�I�d�:� �s�t�r�i�n�g�)� �=�>� �
�
� � � � � � � � �f�e�t�c�h�(��/�a�p�i�/�c�i�u�d�a�d�e�s�?�d�e�p�a�r�t�a�m�e�n�t�o�I�d�=�$�{�d�e�p�a�r�t�a�m�e�n�t�o�I�d�}��)�.�t�h�e�n�(�r�e�s� �=�>� �r�e�s�.�j�s�o�n�(�)�)�,�
�
� � � � �
�
� � � � �/�/� �O�b�t�e�n�e�r� �r�o�l�e�s�
�
� � � � �g�e�t�R�o�l�e�s�:� �(�)� �=�>� �f�e�t�c�h�(�'�/�a�p�i�/�r�o�l�e�s�'�)�.�t�h�e�n�(�r�e�s� �=�>� �r�e�s�.�j�s�o�n�(�)�)�
�
�}�;�
�
����
�
�
�
�#�#�#� �=��� ���P�a�s�o� �4�:� �C�o�n�f�i�g�u�r�a�c�i���n� �d�e� �A�d�a�p�t�a�d�o�r�e�s���
�
�
�
����t�y�p�e�s�c�r�i�p�t�
�
�/�/� �s�r�c�/�c�o�n�f�i�g�/�a�d�a�p�t�e�r�s�.�t�s�
�
�i�m�p�o�r�t� �{� �c�r�e�a�t�e�A�p�i�A�d�a�p�t�e�r�,� �c�r�e�a�t�e�F�o�r�m�i�k�A�d�a�p�t�e�r� �}� �f�r�o�m� �'�@�p�u�s�h�-�o�r�b�i�t�a�-�u�t�i�l�s�/�a�d�a�p�t�e�r�s�'�;�
�
�
�
�/�/� �A�d�a�p�t�a�d�o�r� �p�a�r�a� �A�P�I�
�
�e�x�p�o�r�t� �c�o�n�s�t� �a�p�i�A�d�a�p�t�e�r� �=� �c�r�e�a�t�e�A�p�i�A�d�a�p�t�e�r�(�{�
�
� � � � �b�a�s�e�U�R�L�:� �'�/�a�p�i�'�,�
�
� � � � �t�r�a�n�s�f�o�r�m�R�e�s�p�o�n�s�e�:� �(�d�a�t�a�)� �=�>� �d�a�t�a�.�m�a�p�(�(�i�t�e�m�:� �a�n�y�)� �=�>� �(�{�
�
� � � � � � � � �v�a�l�u�e�:� �i�t�e�m�.�i�d�,�
�
� � � � � � � � �l�a�b�e�l�:� �i�t�e�m�.�n�o�m�b�r�e�
�
� � � � �}�)�)�,�
�
� � � � �t�r�a�n�s�f�o�r�m�R�e�q�u�e�s�t�:� �(�d�a�t�a�)� �=�>� �(�{�
�
� � � � � � � � �.�.�.�d�a�t�a�,�
�
� � � � � � � � �c�r�e�a�t�e�d�A�t�:� �n�e�w� �D�a�t�e�(�)�.�t�o�I�S�O�S�t�r�i�n�g�(�)�
�
� � � � �}�)�
�
�}�)�;�
�
�
�
�/�/� �A�d�a�p�t�a�d�o�r� �p�a�r�a� �F�o�r�m�i�k�
�
�e�x�p�o�r�t� �c�o�n�s�t� �f�o�r�m�i�k�A�d�a�p�t�e�r� �=� �c�r�e�a�t�e�F�o�r�m�i�k�A�d�a�p�t�e�r�(�{�
�
� � � � �t�r�a�n�s�f�o�r�m�T�o�F�o�r�m�:� �(�d�a�t�a�)� �=�>� �(�{�
�
� � � � � � � � �.�.�.�d�a�t�a�,�
�
� � � � � � � � �r�o�l�e�s�:� �d�a�t�a�.�r�o�l�e�s�?�.�m�a�p�(�(�r�:� �a�n�y�)� �=�>� �r�.�i�d�)� �|�|� �[�]�
�
� � � � �}�)�,�
�
� � � � �t�r�a�n�s�f�o�r�m�F�r�o�m�F�o�r�m�:� �(�d�a�t�a�)� �=�>� �(�{�
�
� � � � � � � � �.�.�.�d�a�t�a�,�
�
� � � � � � � � �r�o�l�e�s�:� �d�a�t�a�.�r�o�l�e�s�?�.�m�a�p�(�(�i�d�:� �s�t�r�i�n�g�)� �=�>� �(�{� �i�d� �}�)�)� �|�|� �[�]�
�
� � � � �}�)�
�
�}�)�;�
�
����
�
�
�
�#�#�#� �=��� ���P�a�s�o� �5�:� �C�o�n�f�i�g�u�r�a�c�i���n� �d�e� �V�a�l�i�d�a�c�i�o�n�e�s���
�
�
�
����t�y�p�e�s�c�r�i�p�t�
�
�/�/� �s�r�c�/�c�o�n�f�i�g�/�v�a�l�i�d�a�t�i�o�n�s�.�t�s�
�
�i�m�p�o�r�t� �{� �c�o�m�m�o�n�V�a�l�i�d�a�t�i�o�n�s�,� �f�i�e�l�d�T�y�p�e�V�a�l�i�d�a�t�i�o�n�s� �}� �f�r�o�m� �'�@�p�u�s�h�-�o�r�b�i�t�a�-�u�t�i�l�s�/�f�o�r�m�s�'�;�
�
�
�
�e�x�p�o�r�t� �c�o�n�s�t� �u�s�e�r�V�a�l�i�d�a�t�i�o�n�s� �=� �{�
�
� � � � �n�o�m�b�r�e�:� �[�
�
� � � � � � � � �c�o�m�m�o�n�V�a�l�i�d�a�t�i�o�n�s�.�r�e�q�u�i�r�e�d�(�'�E�l� �n�o�m�b�r�e� �e�s� �o�b�l�i�g�a�t�o�r�i�o�'�)�,�
�
� � � � � � � � �c�o�m�m�o�n�V�a�l�i�d�a�t�i�o�n�s�.�m�i�n�L�e�n�g�t�h�(�2�,� �'�M���n�i�m�o� �2� �c�a�r�a�c�t�e�r�e�s�'�)�,�
�
� � � � � � � � �c�o�m�m�o�n�V�a�l�i�d�a�t�i�o�n�s�.�m�a�x�L�e�n�g�t�h�(�5�0�,� �'�M���x�i�m�o� �5�0� �c�a�r�a�c�t�e�r�e�s�'�)�
�
� � � � �]�,�
�
� � � � �e�m�a�i�l�:� �[�
�
� � � � � � � � �c�o�m�m�o�n�V�a�l�i�d�a�t�i�o�n�s�.�r�e�q�u�i�r�e�d�(�'�E�l� �e�m�a�i�l� �e�s� �o�b�l�i�g�a�t�o�r�i�o�'�)�,�
�
� � � � � � � � �f�i�e�l�d�T�y�p�e�V�a�l�i�d�a�t�i�o�n�s�.�e�m�a�i�l�(�'�E�m�a�i�l� �i�n�v���l�i�d�o�'�)�
�
� � � � �]�,�
�
� � � � �p�a�i�s�:� �[�
�
� � � � � � � � �c�o�m�m�o�n�V�a�l�i�d�a�t�i�o�n�s�.�r�e�q�u�i�r�e�d�(�'�D�e�b�e� �s�e�l�e�c�c�i�o�n�a�r� �u�n� �p�a���s�'�)�
�
� � � � �]�,�
�
� � � � �d�e�p�a�r�t�a�m�e�n�t�o�:� �[�
�
� � � � � � � � �c�o�m�m�o�n�V�a�l�i�d�a�t�i�o�n�s�.�r�e�q�u�i�r�e�d�(�'�D�e�b�e� �s�e�l�e�c�c�i�o�n�a�r� �u�n� �d�e�p�a�r�t�a�m�e�n�t�o�'�)�
�
� � � � �]�,�
�
� � � � �c�i�u�d�a�d�:� �[�
�
� � � � � � � � �c�o�m�m�o�n�V�a�l�i�d�a�t�i�o�n�s�.�r�e�q�u�i�r�e�d�(�'�D�e�b�e� �s�e�l�e�c�c�i�o�n�a�r� �u�n�a� �c�i�u�d�a�d�'�)�
�
� � � � �]�
�
�}�;�
�
����
�
�
�
�-�-�-�
�
�
�
�#�#� �=�'� ���C�o�n�f�i�g�u�r�a�c�i���n� �A�v�a�n�z�a�d�a���
�
�
�
�#�#�#� ���S�e�l�e�c�t�s� �D�e�p�e�n�d�i�e�n�t�e�s� �c�o�n� �C�a�c�h�����
�
�
�
����t�y�p�e�s�c�r�i�p�t�
�
�/�/� �H�o�o�k� �p�e�r�s�o�n�a�l�i�z�a�d�o� �p�a�r�a� �s�e�l�e�c�t�s� �d�e�p�e�n�d�i�e�n�t�e�s�
�
�c�o�n�s�t� �u�s�e�D�e�p�e�n�d�e�n�t�S�e�l�e�c�t� �=� �(�d�e�p�e�n�d�e�n�c�y�V�a�l�u�e�:� �s�t�r�i�n�g�,� �e�n�t�i�t�y�N�a�m�e�:� �s�t�r�i�n�g�)� �=�>� �{�
�
� � � � �c�o�n�s�t� �{� �o�p�t�i�o�n�s�,� �l�o�a�d�i�n�g�,� �e�r�r�o�r� �}� �=� �u�s�e�S�e�l�e�c�t�O�p�t�i�o�n�s�(�{�
�
� � � � � � � � �k�e�y�:� ��$�{�e�n�t�i�t�y�N�a�m�e�}�_�$�{�d�e�p�e�n�d�e�n�c�y�V�a�l�u�e�}��,�
�
� � � � � � � � �a�p�i�S�e�r�v�i�c�e�:� �(�)� �=�>� �a�p�i�S�e�r�v�i�c�e�[�e�n�t�i�t�y�N�a�m�e�]�(�d�e�p�e�n�d�e�n�c�y�V�a�l�u�e�)�,�
�
� � � � � � � � �e�n�a�b�l�e�d�:� �!�!�d�e�p�e�n�d�e�n�c�y�V�a�l�u�e�,�
�
� � � � � � � � �c�a�c�h�e�T�i�m�e�:� �5� �*� �6�0� �*� �1�0�0�0� �/�/� �5� �m�i�n�u�t�o�s�
�
� � � � �}�)�;�
�
�
�
� � � � �r�e�t�u�r�n� �{� �o�p�t�i�o�n�s�,� �l�o�a�d�i�n�g�,� �e�r�r�o�r� �}�;�
�
�}�;�
�
����
�
�
�
�#�#�#� ���T�r�a�n�s�f�o�r�m�a�c�i�o�n�e�s� �d�e� �D�a�t�o�s���
�
�
�
����t�y�p�e�s�c�r�i�p�t�
�
�/�/� �T�r�a�n�s�f�o�r�m�a�r� �d�a�t�o�s� �a�n�t�e�s� �d�e� �e�n�v�i�a�r�
�
�c�o�n�s�t� �t�r�a�n�s�f�o�r�m�U�s�e�r�D�a�t�a� �=� �(�f�o�r�m�D�a�t�a�:� �a�n�y�)� �=�>� �{�
�
� � � � �r�e�t�u�r�n� �{�
�
� � � � � � � � �.�.�.�f�o�r�m�D�a�t�a�,�
�
� � � � � � � � �n�o�m�b�r�e�:� �f�o�r�m�D�a�t�a�.�n�o�m�b�r�e�.�t�o�U�p�p�e�r�C�a�s�e�(�)�,�
�
� � � � � � � � �r�o�l�e�s�:� �f�o�r�m�D�a�t�a�.�r�o�l�e�s�.�m�a�p�(�(�r�o�l�e�:� �a�n�y�)� �=�>� �r�o�l�e�.�i�d�)�,�
�
� � � � � � � � �f�e�c�h�a�C�r�e�a�c�i�o�n�:� �n�e�w� �D�a�t�e�(�)�.�t�o�I�S�O�S�t�r�i�n�g�(�)�
�
� � � � �}�;�
�
�}�;�
�
����
�
�
�
�#�#�#� ���V�a�l�i�d�a�c�i���n� �e�n� �T�i�e�m�p�o� �R�e�a�l���
�
�
�
����t�y�p�e�s�c�r�i�p�t�
�
�/�/� �V�a�l�i�d�a�c�i���n� �p�e�r�s�o�n�a�l�i�z�a�d�a�
�
�c�o�n�s�t� �c�u�s�t�o�m�V�a�l�i�d�a�t�i�o�n�s� �=� �{�
�
� � � � �e�m�a�i�l�U�n�i�c�o�:� �a�s�y�n�c� �(�e�m�a�i�l�:� �s�t�r�i�n�g�)� �=�>� �{�
�
� � � � � � � � �c�o�n�s�t� �r�e�s�p�o�n�s�e� �=� �a�w�a�i�t� �f�e�t�c�h�(��/�a�p�i�/�u�s�u�a�r�i�o�s�/�c�h�e�c�k�-�e�m�a�i�l�?�e�m�a�i�l�=�$�{�e�m�a�i�l�}��)�;�
�
� � � � � � � � �c�o�n�s�t� �{� �d�i�s�p�o�n�i�b�l�e� �}� �=� �a�w�a�i�t� �r�e�s�p�o�n�s�e�.�j�s�o�n�(�)�;�
�
� � � � � � � � �r�e�t�u�r�n� �d�i�s�p�o�n�i�b�l�e� �|�|� �'�E�s�t�e� �e�m�a�i�l� �y�a� �e�s�t��� �r�e�g�i�s�t�r�a�d�o�'�;�
�
� � � � �}�
�
�}�;�
�
����
�
�
�
�-�-�-�
�
�
�
�#�#� �<ب� ���P�e�r�s�o�n�a�l�i�z�a�c�i���n� �d�e� �E�s�t�i�l�o�s���
�
�
�
����c�s�s�
�
�/�*� �s�r�c�/�s�t�y�l�e�s�/�f�o�r�m�s�.�c�s�s� �*�/�
�
�.�u�s�e�r�-�f�o�r�m�-�c�o�n�t�a�i�n�e�r� �{�
�
� � � � �m�a�x�-�w�i�d�t�h�:� �8�0�0�p�x�;�
�
� � � � �m�a�r�g�i�n�:� �0� �a�u�t�o�;�
�
� � � � �p�a�d�d�i�n�g�:� �2�0�p�x�;�
�
�}�
�
�
�
�.�f�o�r�m�-�g�r�i�d� �{�
�
� � � � �d�i�s�p�l�a�y�:� �g�r�i�d�;�
�
� � � � �g�r�i�d�-�t�e�m�p�l�a�t�e�-�c�o�l�u�m�n�s�:� �r�e�p�e�a�t�(�a�u�t�o�-�f�i�t�,� �m�i�n�m�a�x�(�3�0�0�p�x�,� �1�f�r�)�)�;�
�
� � � � �g�a�p�:� �2�0�p�x�;�
�
�}�
�
�
�
�.�f�o�r�m�-�f�i�e�l�d� �{�
�
� � � � �m�a�r�g�i�n�-�b�o�t�t�o�m�:� �1�5�p�x�;�
�
�}�
�
�
�
�.�f�o�r�m�-�f�i�e�l�d� �l�a�b�e�l� �{�
�
� � � � �d�i�s�p�l�a�y�:� �b�l�o�c�k�;�
�
� � � � �m�a�r�g�i�n�-�b�o�t�t�o�m�:� �5�p�x�;�
�
� � � � �f�o�n�t�-�w�e�i�g�h�t�:� �6�0�0�;�
�
� � � � �c�o�l�o�r�:� �#�3�3�3�;�
�
�}�
�
�
�
�.�f�o�r�m�-�f�i�e�l�d� �i�n�p�u�t�,�
�
�.�f�o�r�m�-�f�i�e�l�d� �s�e�l�e�c�t� �{�
�
� � � � �w�i�d�t�h�:� �1�0�0�%�;�
�
� � � � �p�a�d�d�i�n�g�:� �1�0�p�x�;�
�
� � � � �b�o�r�d�e�r�:� �1�p�x� �s�o�l�i�d� �#�d�d�d�;�
�
� � � � �b�o�r�d�e�r�-�r�a�d�i�u�s�:� �4�p�x�;�
�
� � � � �f�o�n�t�-�s�i�z�e�:� �1�4�p�x�;�
�
�}�
�
�
�
�.�f�o�r�m�-�f�i�e�l�d� �i�n�p�u�t�:�f�o�c�u�s�,�
�
�.�f�o�r�m�-�f�i�e�l�d� �s�e�l�e�c�t�:�f�o�c�u�s� �{�
�
� � � � �o�u�t�l�i�n�e�:� �n�o�n�e�;�
�
� � � � �b�o�r�d�e�r�-�c�o�l�o�r�:� �#�0�0�7�b�f�f�;�
�
� � � � �b�o�x�-�s�h�a�d�o�w�:� �0� �0� �0� �2�p�x� �r�g�b�a�(�0�,� �1�2�3�,� �2�5�5�,� �0�.�2�5�)�;�
�
�}�
�
�
�
�.�f�o�r�m�-�b�u�t�t�o�n�s� �{�
�
� � � � �d�i�s�p�l�a�y�:� �f�l�e�x�;�
�
� � � � �g�a�p�:� �1�0�p�x�;�
�
� � � � �j�u�s�t�i�f�y�-�c�o�n�t�e�n�t�:� �f�l�e�x�-�e�n�d�;�
�
� � � � �m�a�r�g�i�n�-�t�o�p�:� �2�0�p�x�;�
�
�}�
�
�
�
�.�b�t�n� �{�
�
� � � � �p�a�d�d�i�n�g�:� �1�0�p�x� �2�0�p�x�;�
�
� � � � �b�o�r�d�e�r�:� �n�o�n�e�;�
�
� � � � �b�o�r�d�e�r�-�r�a�d�i�u�s�:� �4�p�x�;�
�
� � � � �c�u�r�s�o�r�:� �p�o�i�n�t�e�r�;�
�
� � � � �f�o�n�t�-�s�i�z�e�:� �1�4�p�x�;�
�
� � � � �t�r�a�n�s�i�t�i�o�n�:� �b�a�c�k�g�r�o�u�n�d�-�c�o�l�o�r� �0�.�2�s�;�
�
�}�
�
�
�
�.�b�t�n�-�p�r�i�m�a�r�y� �{�
�
� � � � �b�a�c�k�g�r�o�u�n�d�-�c�o�l�o�r�:� �#�0�0�7�b�f�f�;�
�
� � � � �c�o�l�o�r�:� �w�h�i�t�e�;�
�
�}�
�
�
�
�.�b�t�n�-�p�r�i�m�a�r�y�:�h�o�v�e�r� �{�
�
� � � � �b�a�c�k�g�r�o�u�n�d�-�c�o�l�o�r�:� �#�0�0�5�6�b�3�;�
�
�}�
�
�
�
�.�b�t�n�-�s�e�c�o�n�d�a�r�y� �{�
�
� � � � �b�a�c�k�g�r�o�u�n�d�-�c�o�l�o�r�:� �#�6�c�7�5�7�d�;�
�
� � � � �c�o�l�o�r�:� �w�h�i�t�e�;�
�
�}�
�
�
�
�.�b�t�n�-�s�e�c�o�n�d�a�r�y�:�h�o�v�e�r� �{�
�
� � � � �b�a�c�k�g�r�o�u�n�d�-�c�o�l�o�r�:� �#�5�4�5�b�6�2�;�
�
�}�
�
����
�
�
�
�-�-�-�
�
�
�
�#�#� �>��� ���T�e�s�t�i�n�g���
�
�
�
����t�y�p�e�s�c�r�i�p�t�
�
�/�/� �s�r�c�/�c�o�m�p�o�n�e�n�t�s�/�_�_�t�e�s�t�s�_�_�/�U�s�e�r�F�o�r�m�.�t�e�s�t�.�t�s�x�
�
�i�m�p�o�r�t� �R�e�a�c�t� �f�r�o�m� �'�r�e�a�c�t�'�;�
�
�i�m�p�o�r�t� �{� �r�e�n�d�e�r�,� �s�c�r�e�e�n�,� �f�i�r�e�E�v�e�n�t�,� �w�a�i�t�F�o�r� �}� �f�r�o�m� �'�@�t�e�s�t�i�n�g�-�l�i�b�r�a�r�y�/�r�e�a�c�t�'�;�
�
�i�m�p�o�r�t� �{� �F�o�r�m�i�k� �}� �f�r�o�m� �'�f�o�r�m�i�k�'�;�
�
�i�m�p�o�r�t� �U�s�e�r�F�o�r�m� �f�r�o�m� �'�.�.�/�U�s�e�r�F�o�r�m�'�;�
�
�
�
�/�/� �M�o�c�k� �d�e� �l�a�s� �A�P�I�s�
�
�j�e�s�t�.�m�o�c�k�(�'�.�.�/�.�.�/�s�e�r�v�i�c�e�s�/�a�p�i�'�,� �(�)� �=�>� �(�{�
�
� � � � �a�p�i�S�e�r�v�i�c�e�:� �{�
�
� � � � � � � � �g�e�t�P�a�i�s�e�s�:� �j�e�s�t�.�f�n�(�(�)� �=�>� �P�r�o�m�i�s�e�.�r�e�s�o�l�v�e�(�[�
�
� � � � � � � � � � � � �{� �i�d�:� �'�1�'�,� �n�o�m�b�r�e�:� �'�C�o�l�o�m�b�i�a�'� �}�,�
�
� � � � � � � � � � � � �{� �i�d�:� �'�2�'�,� �n�o�m�b�r�e�:� �'�M���x�i�c�o�'� �}�
�
� � � � � � � � �]�)�)�,�
�
� � � � � � � � �g�e�t�D�e�p�a�r�t�a�m�e�n�t�o�s�B�y�P�a�i�s�:� �j�e�s�t�.�f�n�(�(�)� �=�>� �P�r�o�m�i�s�e�.�r�e�s�o�l�v�e�(�[�
�
� � � � � � � � � � � � �{� �i�d�:� �'�1�'�,� �n�o�m�b�r�e�:� �'�A�n�t�i�o�q�u�i�a�'� �}�,�
�
� � � � � � � � � � � � �{� �i�d�:� �'�2�'�,� �n�o�m�b�r�e�:� �'�C�u�n�d�i�n�a�m�a�r�c�a�'� �}�
�
� � � � � � � � �]�)�)�,�
�
� � � � � � � � �g�e�t�R�o�l�e�s�:� �j�e�s�t�.�f�n�(�(�)� �=�>� �P�r�o�m�i�s�e�.�r�e�s�o�l�v�e�(�[�
�
� � � � � � � � � � � � �{� �i�d�:� �'�1�'�,� �n�o�m�b�r�e�:� �'�A�d�m�i�n�'� �}�,�
�
� � � � � � � � � � � � �{� �i�d�:� �'�2�'�,� �n�o�m�b�r�e�:� �'�U�s�u�a�r�i�o�'� �}�
�
� � � � � � � � �]�)�)�
�
� � � � �}�
�
�}�)�)�;�
�
�
�
�d�e�s�c�r�i�b�e�(�'�U�s�e�r�F�o�r�m�'�,� �(�)� �=�>� �{�
�
� � � � �i�t�(�'�r�e�n�d�e�r�i�z�a� �e�l� �f�o�r�m�u�l�a�r�i�o� �c�o�r�r�e�c�t�a�m�e�n�t�e�'�,� �a�s�y�n�c� �(�)� �=�>� �{�
�
� � � � � � � � �r�e�n�d�e�r�(�<�U�s�e�r�F�o�r�m� �/�>�)�;�
�
� � � � � � � � �
�
� � � � � � � � �e�x�p�e�c�t�(�s�c�r�e�e�n�.�g�e�t�B�y�T�e�x�t�(�'�F�o�r�m�u�l�a�r�i�o� �d�e� �U�s�u�a�r�i�o�'�)�)�.�t�o�B�e�I�n�T�h�e�D�o�c�u�m�e�n�t�(�)�;�
�
� � � � � � � � �e�x�p�e�c�t�(�s�c�r�e�e�n�.�g�e�t�B�y�L�a�b�e�l�T�e�x�t�(�'�N�o�m�b�r�e�'�)�)�.�t�o�B�e�I�n�T�h�e�D�o�c�u�m�e�n�t�(�)�;�
�
� � � � � � � � �e�x�p�e�c�t�(�s�c�r�e�e�n�.�g�e�t�B�y�L�a�b�e�l�T�e�x�t�(�'�E�m�a�i�l�'�)�)�.�t�o�B�e�I�n�T�h�e�D�o�c�u�m�e�n�t�(�)�;�
�
� � � � � � � � �e�x�p�e�c�t�(�s�c�r�e�e�n�.�g�e�t�B�y�L�a�b�e�l�T�e�x�t�(�'�P�a���s�'�)�)�.�t�o�B�e�I�n�T�h�e�D�o�c�u�m�e�n�t�(�)�;�
�
� � � � �}�)�;�
�
�
�
� � � � �i�t�(�'�m�a�n�e�j�a� �s�e�l�e�c�t�s� �d�e�p�e�n�d�i�e�n�t�e�s�'�,� �a�s�y�n�c� �(�)� �=�>� �{�
�
� � � � � � � � �r�e�n�d�e�r�(�<�U�s�e�r�F�o�r�m� �/�>�)�;�
�
� � � � � � � � �
�
� � � � � � � � �/�/� �S�e�l�e�c�c�i�o�n�a�r� �p�a���s�
�
� � � � � � � � �c�o�n�s�t� �p�a�i�s�S�e�l�e�c�t� �=� �s�c�r�e�e�n�.�g�e�t�B�y�L�a�b�e�l�T�e�x�t�(�'�P�a���s�'�)�;�
�
� � � � � � � � �f�i�r�e�E�v�e�n�t�.�c�h�a�n�g�e�(�p�a�i�s�S�e�l�e�c�t�,� �{� �t�a�r�g�e�t�:� �{� �v�a�l�u�e�:� �'�1�'� �}� �}�)�;�
�
� � � � � � � � �
�
� � � � � � � � �/�/� �V�e�r�i�f�i�c�a�r� �q�u�e� �s�e� �c�a�r�g�a�n� �l�o�s� �d�e�p�a�r�t�a�m�e�n�t�o�s�
�
� � � � � � � � �a�w�a�i�t� �w�a�i�t�F�o�r�(�(�)� �=�>� �{�
�
� � � � � � � � � � � � �e�x�p�e�c�t�(�s�c�r�e�e�n�.�g�e�t�B�y�L�a�b�e�l�T�e�x�t�(�'�D�e�p�a�r�t�a�m�e�n�t�o�'�)�)�.�t�o�B�e�I�n�T�h�e�D�o�c�u�m�e�n�t�(�)�;�
�
� � � � � � � � �}�)�;�
�
� � � � �}�)�;�
�
�
�
� � � � �i�t�(�'�v�a�l�i�d�a� �c�a�m�p�o�s� �r�e�q�u�e�r�i�d�o�s�'�,� �a�s�y�n�c� �(�)� �=�>� �{�
�
� � � � � � � � �r�e�n�d�e�r�(�<�U�s�e�r�F�o�r�m� �/�>�)�;�
�
� � � � � � � � �
�
� � � � � � � � �c�o�n�s�t� �s�u�b�m�i�t�B�u�t�t�o�n� �=� �s�c�r�e�e�n�.�g�e�t�B�y�T�e�x�t�(�'�G�u�a�r�d�a�r�'�)�;�
�
� � � � � � � � �f�i�r�e�E�v�e�n�t�.�c�l�i�c�k�(�s�u�b�m�i�t�B�u�t�t�o�n�)�;�
�
� � � � � � � � �
�
� � � � � � � � �a�w�a�i�t� �w�a�i�t�F�o�r�(�(�)� �=�>� �{�
�
� � � � � � � � � � � � �e�x�p�e�c�t�(�s�c�r�e�e�n�.�g�e�t�B�y�T�e�x�t�(�'�E�l� �n�o�m�b�r�e� �e�s� �o�b�l�i�g�a�t�o�r�i�o�'�)�)�.�t�o�B�e�I�n�T�h�e�D�o�c�u�m�e�n�t�(�)�;�
�
� � � � � � � � � � � � �e�x�p�e�c�t�(�s�c�r�e�e�n�.�g�e�t�B�y�T�e�x�t�(�'�E�l� �e�m�a�i�l� �e�s� �o�b�l�i�g�a�t�o�r�i�o�'�)�)�.�t�o�B�e�I�n�T�h�e�D�o�c�u�m�e�n�t�(�)�;�
�
� � � � � � � � �}�)�;�
�
� � � � �}�)�;�
�
�}�)�;�
�
����
�
�
�
�-�-�-�
�
�
�
�#�#� �=� ���E�j�e�c�u�t�a�r� �e�l� �P�r�o�y�e�c�t�o���
�
�
�
����b�a�s�h�
�
�#� �I�n�s�t�a�l�a�r� �d�e�p�e�n�d�e�n�c�i�a�s�
�
�n�p�m� �i�n�s�t�a�l�l�
�
�
�
�#� �E�j�e�c�u�t�a�r� �e�n� �m�o�d�o� �d�e�s�a�r�r�o�l�l�o�
�
�n�p�m� �r�u�n� �d�e�v�
�
�
�
�#� �E�j�e�c�u�t�a�r� �t�e�s�t�s�
�
�n�p�m� �t�e�s�t�
�
�
�
�#� �C�o�n�s�t�r�u�i�r� �p�a�r�a� �p�r�o�d�u�c�c�i���n�
�
�n�p�m� �r�u�n� �b�u�i�l�d�
�
����
�
�
�
�-�-�-�
�
�
�
�#�#� �=�� ���S�i�s�t�e�m�a� �d�e� �C�o�n�t�r�o�l� �d�e� �A�c�c�e�s�o���
�
�
�
��p�u�s�h�-�o�r�b�i�t�a�-�u�t�i�l�s�� �i�n�c�l�u�y�e� �u�n� �s�i�s�t�e�m�a� �d�e� �c�o�n�t�r�o�l� �d�e� �a�c�c�e�s�o� �q�u�e� �p�e�r�m�i�t�e� �r�e�s�t�r�i�n�g�i�r� �e�l� �u�s�o� �d�e�l� �p�a�q�u�e�t�e� �a� �u�s�u�a�r�i�o�s� �a�u�t�o�r�i�z�a�d�o�s� �m�e�d�i�a�n�t�e� �c�l�a�v�e�s� �d�e� �a�c�c�e�s�o�.� �E�s�t�o� �t�e� �p�e�r�m�i�t�e� �m�a�n�t�e�n�e�r� �e�l� �p�a�q�u�e�t�e� �p���b�l�i�c�o� �e�n� �n�p�m� �m�i�e�n�t�r�a�s� �c�o�n�t�r�o�l�a�s� �q�u�i���n� �p�u�e�d�e� �u�s�a�r�l�o�.�
�
�
�
�#�#�#� ���C�a�r�a�c�t�e�r���s�t�i�c�a�s� �d�e�l� �S�i�s�t�e�m�a�:���
�
�
�
�-� �' ���C�o�n�t�r�o�l� �U�n�i�v�e�r�s�a�l���:� �T�o�d�o�s� �l�o�s� �c�o�m�p�o�n�e�n�t�e�s� �t�i�e�n�e�n� �v�e�r�s�i�o�n�e�s� �c�o�n� �y� �s�i�n� �a�c�c�e�s�s� �c�o�n�t�r�o�l�
�
�-� �' ���V�a�l�i�d�a�c�i���n� �A�u�t�o�m���t�i�c�a���:� �V�e�r�i�f�i�c�a�c�i���n� �a�u�t�o�m���t�i�c�a� �d�e� �c�l�a�v�e�s� �d�e� �a�c�c�e�s�o�
�
�-� �' ���M�a�n�e�j�o� �d�e� �E�r�r�o�r�e�s���:� �M�e�n�s�a�j�e�s� �c�l�a�r�o�s� �c�u�a�n�d�o� �e�l� �a�c�c�e�s�o� �e�s� �d�e�n�e�g�a�d�o�
�
�-� �' ���F�l�e�x�i�b�i�l�i�d�a�d���:� �C�o�n�f�i�g�u�r�a�c�i���n� �p�e�r�s�o�n�a�l�i�z�a�b�l�e� �d�e� �c�l�a�v�e�s� �y� �v�a�l�i�d�a�c�i�o�n�e�s�
�
�
�
�#�#�#� ���U�s�o� �B���s�i�c�o�:���
�
�
�
����t�y�p�e�s�c�r�i�p�t�
�
�/�/� �I�m�p�o�r�t�a�r� �u�t�i�l�i�d�a�d�e�s� �d�e� �a�c�c�e�s�s� �c�o�n�t�r�o�l�
�
�i�m�p�o�r�t� �{� �
�
� � �s�e�t�A�c�c�e�s�s�K�e�y�,� �
�
� � �v�a�l�i�d�a�t�e�A�c�c�e�s�s�,� �
�
� � �W�h�a�t�s�A�p�p�B�u�t�t�o�n�W�i�t�h�A�c�c�e�s�s� �
�
�}� �f�r�o�m� �'�p�u�s�h�-�o�r�b�i�t�a�-�u�t�i�l�s�'�;�
�
�
�
�/�/� �E�s�t�a�b�l�e�c�e�r� �c�l�a�v�e� �d�e� �a�c�c�e�s�o�
�
�s�e�t�A�c�c�e�s�s�K�e�y�(�'�m�a�u�r�o�_�t�e�s�t�_�k�e�y�'�)�;�
�
�
�
�/�/� �U�s�a�r� �c�o�m�p�o�n�e�n�t�e�s� �c�o�n� �a�c�c�e�s�s� �c�o�n�t�r�o�l�
�
�c�o�n�s�t� �A�p�p� �=� �(�)� �=�>� �{�
�
� � �r�e�t�u�r�n� �<�W�h�a�t�s�A�p�p�B�u�t�t�o�n�W�i�t�h�A�c�c�e�s�s� �p�h�o�n�e�N�u�m�b�e�r�=�"�1�2�3�4�5�6�7�8�9�"� �/�>�;�
�
�}�;�
�
����
�
�
�
�#�#�#� ���=��� �[�D�o�c�u�m�e�n�t�a�c�i���n� �C�o�m�p�l�e�t�a� �d�e�l� �S�i�s�t�e�m�a� �d�e� �C�o�n�t�r�o�l� �d�e� �A�c�c�e�s�o�]�(�.�/�d�o�c�s�/�A�C�C�E�S�S�_�C�O�N�T�R�O�L�_�C�O�M�P�L�E�T�E�.�m�d�)���
�
�
�
����&� �I�M�P�O�R�T�A�N�T�E���:� �A�l� �f�i�n�a�l�i�z�a�r� �c�a�d�a� �f�e�a�t�u�r�e�,� �S�I�E�M�P�R�E�:�
�
�1�.� ���I�m�p�l�e�m�e�n�t�a�r� �e�l� �s�i�s�t�e�m�a� �d�e� �c�o�n�t�r�o�l� �d�e� �a�c�c�e�s�o���
�
�2�.� ���C�r�e�a�r� �v�e�r�s�i���n� �s�e�g�u�r�a� �d�e�l� �c�o�m�p�o�n�e�n�t�e�/�h�o�o�k�/�a�d�a�p�t�a�d�o�r���
�
�3�.� ���V�e�r�i�f�i�c�a�r� �q�u�e� �t�o�d�a�s� �l�a�s� �e�x�p�o�r�t�a�c�i�o�n�e�s� �e�s�t���n� �c�o�r�r�e�c�t�a�s���
�
�4�.� ���E�j�e�c�u�t�a�r� ��n�p�m� �r�u�n� �b�u�i�l�d�� �p�a�r�a� �c�o�n�f�i�r�m�a�r� �q�u�e� �n�o� �h�a�y� �e�r�r�o�r�e�s���
�
�5�.� ���P�r�o�b�a�r� �l�a�s� �i�m�p�o�r�t�a�c�i�o�n�e�s� �e�n� �u�n� �p�r�o�y�e�c�t�o� �d�e� �e�j�e�m�p�l�o���
�
�
�
�-�-�-�
�
�
�
�#�#� �=��� ���D�o�c�u�m�e�n�t�a�c�i���n� �A�d�i�c�i�o�n�a�l���
�
�
�
�-� �[�=��� �D�o�c�u�m�e�n�t�a�c�i���n� �d�e� �H�o�o�k�s�]�(�.�/�s�r�c�/�f�e�a�t�u�r�e�s�/�h�o�o�k�s�/�d�o�c�s�/�R�E�A�D�M�E�.�m�d�)�
�
�-� �[�=�� �D�o�c�u�m�e�n�t�a�c�i���n� �d�e� �A�d�a�p�t�a�d�o�r�e�s�]�(�.�/�s�r�c�/�f�e�a�t�u�r�e�s�/�a�d�a�p�t�e�r�s�/�d�o�c�s�/�R�E�A�D�M�E�.�m�d�)�
�
�-� �[�=��� �D�o�c�u�m�e�n�t�a�c�i���n� �d�e� �C�R�U�D�]�(�.�/�s�r�c�/�f�e�a�t�u�r�e�s�/�c�r�u�d�/�d�o�c�s�/�R�E�A�D�M�E�.�m�d�)�
�
�-� �[�=��� �D�o�c�u�m�e�n�t�a�c�i���n� �d�e� �F�o�r�m�u�l�a�r�i�o�s�]�(�.�/�s�r�c�/�f�e�a�t�u�r�e�s�/�f�o�r�m�s�/�d�o�c�s�/�R�E�A�D�M�E�.�m�d�)�
�
�
�
�-�-�-�
�
�
�
�#�#� �>�� ���C�o�n�t�r�i�b�u�c�i���n���
�
�
�
�1�.� �F�o�r�k� �e�l� �r�e�p�o�s�i�t�o�r�i�o�
�
�2�.� �C�r�e�a� �u�n�a� �r�a�m�a� �p�a�r�a� �t�u� �f�e�a�t�u�r�e� �(��g�i�t� �c�h�e�c�k�o�u�t� �-�b� �f�e�a�t�u�r�e�/�A�m�a�z�i�n�g�F�e�a�t�u�r�e��)�
�
�3�.� �C�o�m�m�i�t� �t�u�s� �c�a�m�b�i�o�s� �(��g�i�t� �c�o�m�m�i�t� �-�m� �'�A�d�d� �s�o�m�e� �A�m�a�z�i�n�g�F�e�a�t�u�r�e�'��)�
�
�4�.� �P�u�s�h� �a� �l�a� �r�a�m�a� �(��g�i�t� �p�u�s�h� �o�r�i�g�i�n� �f�e�a�t�u�r�e�/�A�m�a�z�i�n�g�F�e�a�t�u�r�e��)�
�
�5�.� �A�b�r�e� �u�n� �P�u�l�l� �R�e�q�u�e�s�t�
�
�
�
�-�-�-�
�
�
�
�#�#� �=��� ���L�i�c�e�n�c�i�a���
�
�
�
�E�s�t�e� �p�r�o�y�e�c�t�o� �e�s�t��� �b�a�j�o� �l�a� �l�i�c�e�n�c�i�a� �M�I�T�.� �V�e�r� �e�l� �a�r�c�h�i�v�o� �[�L�I�C�E�N�S�E�]�(�L�I�C�E�N�S�E�)� �p�a�r�a� �m���s� �d�e�t�a�l�l�e�s�.�
�
�
�
�-�-�-�
�
�
�
�#�#� �<ؘ� ���S�o�p�o�r�t�e���
�
�
�
�S�i� �t�i�e�n�e�s� �a�l�g�u�n�a� �p�r�e�g�u�n�t�a� �o� �n�e�c�e�s�i�t�a�s� �a�y�u�d�a�:�
�
�
�
�-� �=��� �E�m�a�i�l�:� �s�o�p�o�r�t�e�@�p�u�s�h�-�o�r�b�i�t�a�.�c�o�m�
�
�-� �=ج� �D�i�s�c�o�r�d�:� �[�C�a�n�a�l� �d�e� �S�o�p�o�r�t�e�]�(�h�t�t�p�s�:�/�/�d�i�s�c�o�r�d�.�g�g�/�p�u�s�h�-�o�r�b�i�t�a�)�
�
�-� �=��� �D�o�c�u�m�e�n�t�a�c�i���n�:� �[�d�o�c�s�.�p�u�s�h�-�o�r�b�i�t�a�.�c�o�m�]�(�h�t�t�p�s�:�/�/�d�o�c�s�.�p�u�s�h�-�o�r�b�i�t�a�.�c�o�m�)�
�
�
�
�-�-�-�
�
�
�
�����D�i�s�f�r�u�t�a� �c�r�e�a�n�d�o� �f�o�r�m�u�l�a�r�i�o�s� �d�i�n���m�i�c�o�s� �y� �p�o�t�e�n�t�e�s� �c�o�n� �n�u�e�s�t�r�a�s� �4� �f�e�a�t�u�r�e�s� �i�n�t�e�g�r�a�d�a�s�!� �<؉���
�
�
