§
    Ý
@gho  ã                  ó²  — d dl mZ d dlmZmZmZ d dlmZ d dlZddl	m
Z
 ddlmZmZmZmZmZ ddlmZmZ dd	lmZ d
dlmZmZmZmZmZmZ ddlmZmZ ddl m!Z!m"Z" ddl#m$Z$m%Z% ddl&m'Z'm(Z( ddl)m*Z*m+Z+m,Z, ddl-m.Z. ddl/m0Z0 ddgZ1 G d„ de¦  «        Z2 G d„ de¦  «        Z3 G d„ d¦  «        Z4 G d„ d¦  «        Z5 G d„ d¦  «        Z6 G d„ d¦  «        Z7dS )é    )Úannotations)ÚUnionÚIterableÚOptional)ÚLiteralNé   )Ú_legacy_response)Ú	NOT_GIVENÚBodyÚQueryÚHeadersÚNotGiven)Úmaybe_transformÚasync_maybe_transform)Úcached_propertyé   )ÚCheckpointsÚAsyncCheckpointsÚCheckpointsWithRawResponseÚAsyncCheckpointsWithRawResponseÚ CheckpointsWithStreamingResponseÚ%AsyncCheckpointsWithStreamingResponse)ÚSyncAPIResourceÚAsyncAPIResource)Úto_streamed_response_wrapperÚ"async_to_streamed_response_wrapper)ÚSyncCursorPageÚAsyncCursorPage)ÚAsyncPaginatorÚmake_request_options)Újob_list_paramsÚjob_create_paramsÚjob_list_events_params)ÚFineTuningJob)ÚFineTuningJobEventÚJobsÚ	AsyncJobsc            
      óÌ   — e Zd Zed.d„¦   «         Zed/d„¦   «         Zed0d„¦   «         Zeeeeeddded	œ	d1d „Zddded!œd2d#„Z	eeddded$œd3d*„Z
ddded!œd2d+„Zeeddded$œd4d-„ZdS )5r&   Úreturnr   c                ó*   — t          | j        ¦  «        S ©N)r   Ú_client©Úselfs    úZ/var/www/piapp/venv/lib/python3.11/site-packages/openai/resources/fine_tuning/jobs/jobs.pyÚcheckpointszJobs.checkpoints(   s   € å˜4œ<Ñ(Ô(Ð(ó    ÚJobsWithRawResponsec                ó    — t          | ¦  «        S ©a  
        This property can be used as a prefix for any HTTP method call to return the
        the raw response object instead of the parsed content.

        For more information, see https://www.github.com/openai/openai-python#accessing-raw-response-data-eg-headers
        )r2   r-   s    r/   Úwith_raw_responsezJobs.with_raw_response,   s   € õ # 4Ñ(Ô(Ð(r1   ÚJobsWithStreamingResponsec                ó    — t          | ¦  «        S ©zÌ
        An alternative to `.with_raw_response` that doesn't eagerly read the response body.

        For more information, see https://www.github.com/openai/openai-python#with_streaming_response
        )r6   r-   s    r/   Úwith_streaming_responsezJobs.with_streaming_response6   s   € õ )¨Ñ.Ô.Ð.r1   N©	ÚhyperparametersÚintegrationsÚseedÚsuffixÚvalidation_fileÚextra_headersÚextra_queryÚ
extra_bodyÚtimeoutÚmodelúQUnion[str, Literal['babbage-002', 'davinci-002', 'gpt-3.5-turbo', 'gpt-4o-mini']]Útraining_fileÚstrr;   ú,job_create_params.Hyperparameters | NotGivenr<   ú<Optional[Iterable[job_create_params.Integration]] | NotGivenr=   úOptional[int] | NotGivenr>   úOptional[str] | NotGivenr?   r@   úHeaders | NonerA   úQuery | NonerB   úBody | NonerC   ú'float | httpx.Timeout | None | NotGivenr$   c               ó    — |                       dt          |||||||dœt          j        ¦  «        t	          ||	|
|¬¦  «        t
          ¬¦  «        S )á©  
        Creates a fine-tuning job which begins the process of creating a new model from
        a given dataset.

        Response includes details of the enqueued job including job status and the name
        of the fine-tuned models once complete.

        [Learn more about fine-tuning](https://platform.openai.com/docs/guides/fine-tuning)

        Args:
          model: The name of the model to fine-tune. You can select one of the
              [supported models](https://platform.openai.com/docs/guides/fine-tuning#which-models-can-be-fine-tuned).

          training_file: The ID of an uploaded file that contains training data.

              See [upload file](https://platform.openai.com/docs/api-reference/files/create)
              for how to upload a file.

              Your dataset must be formatted as a JSONL file. Additionally, you must upload
              your file with the purpose `fine-tune`.

              The contents of the file should differ depending on if the model uses the
              [chat](https://platform.openai.com/docs/api-reference/fine-tuning/chat-input) or
              [completions](https://platform.openai.com/docs/api-reference/fine-tuning/completions-input)
              format.

              See the [fine-tuning guide](https://platform.openai.com/docs/guides/fine-tuning)
              for more details.

          hyperparameters: The hyperparameters used for the fine-tuning job.

          integrations: A list of integrations to enable for your fine-tuning job.

          seed: The seed controls the reproducibility of the job. Passing in the same seed and
              job parameters should produce the same results, but may differ in rare cases. If
              a seed is not specified, one will be generated for you.

          suffix: A string of up to 64 characters that will be added to your fine-tuned model
              name.

              For example, a `suffix` of "custom-model-name" would produce a model name like
              `ft:gpt-4o-mini:openai:custom-model-name:7p4lURel`.

          validation_file: The ID of an uploaded file that contains validation data.

              If you provide this file, the data is used to generate validation metrics
              periodically during fine-tuning. These metrics can be viewed in the fine-tuning
              results file. The same data should not be present in both train and validation
              files.

              Your dataset must be formatted as a JSONL file. You must upload your file with
              the purpose `fine-tune`.

              See the [fine-tuning guide](https://platform.openai.com/docs/guides/fine-tuning)
              for more details.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        ú/fine_tuning/jobs©rD   rF   r;   r<   r=   r>   r?   ©r@   rA   rB   rC   ©ÚbodyÚoptionsÚcast_to)Ú_postr   r"   ÚJobCreateParamsr    r$   ©r.   rD   rF   r;   r<   r=   r>   r?   r@   rA   rB   rC   s               r/   ÚcreatezJobs.create?   s{   € ðb �zŠzØÝ à"Ø%2Ø'6Ø$0Ø Ø$Ø'6ðð õ "Ô1ñô õ )Ø+¸ÐQ[Ðelðñ ô õ "ð# ñ 
ô 
ð 	
r1   rT   Úfine_tuning_job_idc          	     óŒ   — |st          d|›�¦  «        ‚|                      d|› �t          ||||¬¦  «        t          ¬¦  «        S )á²  
        Get info about a fine-tuning job.

        [Learn more about fine-tuning](https://platform.openai.com/docs/guides/fine-tuning)

        Args:
          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        úAExpected a non-empty value for `fine_tuning_job_id` but received ú/fine_tuning/jobs/rT   ©rW   rX   ©Ú
ValueErrorÚ_getr    r$   ©r.   r]   r@   rA   rB   rC   s         r/   ÚretrievezJobs.retrieve¤   sn   € ð2 "ð 	yÝÐwÐasÐwÐwÑxÔxÐxØ�yŠyØ5Ð!3Ð5Ð5Ý(Ø+¸ÐQ[Ðelðñ ô õ "ð ñ 
ô 
ð 	
r1   ©ÚafterÚlimitr@   rA   rB   rC   ri   ústr | NotGivenrj   úint | NotGivenúSyncCursorPage[FineTuningJob]c               ó¸   — |                       dt          t                   t          ||||t	          ||dœt
          j        ¦  «        ¬¦  «        t          ¬¦  «        S ©aë  
        List your organization's fine-tuning jobs

        Args:
          after: Identifier for the last job from the previous pagination request.

          limit: Number of fine-tuning jobs to retrieve.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        rR   ©ri   rj   ©r@   rA   rB   rC   Úquery©ÚpagerW   rD   )Ú_get_api_listr   r$   r    r   r!   ÚJobListParams©r.   ri   rj   r@   rA   rB   rC   s          r/   Úlistz	Jobs.listÇ   st   € ð8 ×!Ò!ØÝ¥Ô.Ý(Ø+Ø'Ø%ØÝ%à!&Ø!&ðð õ $Ô1ñô ðñ ô õ  ð! "ñ 
ô 
ð 	
r1   c          	     óŽ   — |st          d|›�¦  «        ‚|                      d|› d�t          ||||¬¦  «        t          ¬¦  «        S )áW  
        Immediately cancel a fine-tune job.

        Args:
          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        r`   ra   ú/cancelrT   rb   ©rd   rY   r    r$   rf   s         r/   ÚcancelzJobs.cancelö   sq   € ð. "ð 	yÝÐwÐasÐwÐwÑxÔxÐxØ�zŠzØ<Ð!3Ð<Ð<Ð<Ý(Ø+¸ÐQ[Ðelðñ ô õ "ð ñ 
ô 
ð 	
r1   ú"SyncCursorPage[FineTuningJobEvent]c               óè   — |st          d|›�¦  «        ‚|                      d|› d�t          t                   t	          ||||t          ||dœt          j        ¦  «        ¬¦  «        t          ¬¦  «        S ©aã  
        Get status updates for a fine-tuning job.

        Args:
          after: Identifier for the last event from the previous pagination request.

          limit: Number of events to retrieve.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        r`   ra   z/eventsrp   rq   rs   )rd   ru   r   r%   r    r   r#   ÚJobListEventsParams©r.   r]   ri   rj   r@   rA   rB   rC   s           r/   Úlist_eventszJobs.list_events  s¢   € ð: "ð 	yÝÐwÐasÐwÐwÑxÔxÐxØ×!Ò!Ø<Ð!3Ð<Ð<Ð<ÝÕ 2Ô3Ý(Ø+Ø'Ø%ØÝ%à!&Ø!&ðð õ +Ô>ñô ðñ ô õ %ð! "ñ 
ô 
ð 	
r1   )r)   r   )r)   r2   )r)   r6   ©rD   rE   rF   rG   r;   rH   r<   rI   r=   rJ   r>   rK   r?   rK   r@   rL   rA   rM   rB   rN   rC   rO   r)   r$   ©r]   rG   r@   rL   rA   rM   rB   rN   rC   rO   r)   r$   )ri   rk   rj   rl   r@   rL   rA   rM   rB   rN   rC   rO   r)   rm   )r]   rG   ri   rk   rj   rl   r@   rL   rA   rM   rB   rN   rC   rO   r)   r~   ©Ú__name__Ú
__module__Ú__qualname__r   r0   r5   r9   r
   r\   rg   rx   r}   rƒ   © r1   r/   r&   r&   '   s{  € € € € € Øð)ð )ð )ñ „_ð)ð ð)ð )ð )ñ „_ð)ð ð/ð /ð /ñ „_ð/ð IRØU^Ø)2Ø+4Ø4=ð )-Ø$(Ø"&Ø;Dðc
ð c
ð c
ð c
ð c
ð c
ðV )-Ø$(Ø"&Ø;Dð!
ð !
ð !
ð !
ð !
ð !
ðL !*Ø )ð )-Ø$(Ø"&Ø;Dð-
ð -
ð -
ð -
ð -
ð -
ðj )-Ø$(Ø"&Ø;Dð
ð 
ð 
ð 
ð 
ð 
ðJ !*Ø )ð )-Ø$(Ø"&Ø;Dð0
ð 0
ð 0
ð 0
ð 0
ð 0
ð 0
ð 0
r1   c            
      óÌ   — e Zd Zed.d„¦   «         Zed/d„¦   «         Zed0d„¦   «         Zeeeeeddded	œ	d1d „Zddded!œd2d#„Z	eeddded$œd3d*„Z
ddded!œd2d+„Zeeddded$œd4d-„ZdS )5r'   r)   r   c                ó*   — t          | j        ¦  «        S r+   )r   r,   r-   s    r/   r0   zAsyncJobs.checkpointsK  s   € å ¤Ñ-Ô-Ð-r1   ÚAsyncJobsWithRawResponsec                ó    — t          | ¦  «        S r4   )r�   r-   s    r/   r5   zAsyncJobs.with_raw_responseO  s   € õ (¨Ñ-Ô-Ð-r1   ÚAsyncJobsWithStreamingResponsec                ó    — t          | ¦  «        S r8   )r�   r-   s    r/   r9   z!AsyncJobs.with_streaming_responseY  s   € õ .¨dÑ3Ô3Ð3r1   Nr:   rD   rE   rF   rG   r;   rH   r<   rI   r=   rJ   r>   rK   r?   r@   rL   rA   rM   rB   rN   rC   rO   r$   c             ƒ  ó¼   K  — |                       dt          |||||||dœt          j        ¦  «        ƒ d{V —†t	          ||	|
|¬¦  «        t
          ¬¦  «        ƒ d{V —†S )rQ   rR   rS   NrT   rU   )rY   r   r"   rZ   r    r$   r[   s               r/   r\   zAsyncJobs.createb  s»   è è € ðb —Z’ZØÝ,à"Ø%2Ø'6Ø$0Ø Ø$Ø'6ðð õ "Ô1ñô ð ð ð ð ð ð õ )Ø+¸ÐQ[Ðelðñ ô õ "ð#  ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 	
r1   rT   r]   c          	   ƒ  óœ   K  — |st          d|›�¦  «        ‚|                      d|› �t          ||||¬¦  «        t          ¬¦  «        ƒ d{V —†S )r_   r`   ra   rT   rb   Nrc   rf   s         r/   rg   zAsyncJobs.retrieveÇ  s�   è è € ð2 "ð 	yÝÐwÐasÐwÐwÑxÔxÐxØ—Y’YØ5Ð!3Ð5Ð5Ý(Ø+¸ÐQ[Ðelðñ ô õ "ð ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 	
r1   rh   ri   rk   rj   rl   ú=AsyncPaginator[FineTuningJob, AsyncCursorPage[FineTuningJob]]c               ó¸   — |                       dt          t                   t          ||||t	          ||dœt
          j        ¦  «        ¬¦  «        t          ¬¦  «        S ro   )ru   r   r$   r    r   r!   rv   rw   s          r/   rx   zAsyncJobs.listê  st   € ð8 ×!Ò!ØÝ ¥Ô/Ý(Ø+Ø'Ø%ØÝ%à!&Ø!&ðð õ $Ô1ñô ðñ ô õ  ð! "ñ 
ô 
ð 	
r1   c          	   ƒ  óž   K  — |st          d|›�¦  «        ‚|                      d|› d�t          ||||¬¦  «        t          ¬¦  «        ƒ d{V —†S )rz   r`   ra   r{   rT   rb   Nr|   rf   s         r/   r}   zAsyncJobs.cancel  s“   è è € ð. "ð 	yÝÐwÐasÐwÐwÑxÔxÐxØ—Z’ZØ<Ð!3Ð<Ð<Ð<Ý(Ø+¸ÐQ[Ðelðñ ô õ "ð  ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 	
r1   úGAsyncPaginator[FineTuningJobEvent, AsyncCursorPage[FineTuningJobEvent]]c               óè   — |st          d|›�¦  «        ‚|                      d|› d�t          t                   t	          ||||t          ||dœt          j        ¦  «        ¬¦  «        t          ¬¦  «        S r€   )rd   ru   r   r%   r    r   r#   r�   r‚   s           r/   rƒ   zAsyncJobs.list_events:  s¢   € ð: "ð 	yÝÐwÐasÐwÐwÑxÔxÐxØ×!Ò!Ø<Ð!3Ð<Ð<Ð<Ý Õ!3Ô4Ý(Ø+Ø'Ø%ØÝ%à!&Ø!&ðð õ +Ô>ñô ðñ ô õ %ð! "ñ 
ô 
ð 	
r1   )r)   r   )r)   r�   )r)   r�   r„   r…   )ri   rk   rj   rl   r@   rL   rA   rM   rB   rN   rC   rO   r)   r“   )r]   rG   ri   rk   rj   rl   r@   rL   rA   rM   rB   rN   rC   rO   r)   r–   r†   rŠ   r1   r/   r'   r'   J  s{  € € € € € Øð.ð .ð .ñ „_ð.ð ð.ð .ð .ñ „_ð.ð ð4ð 4ð 4ñ „_ð4ð IRØU^Ø)2Ø+4Ø4=ð )-Ø$(Ø"&Ø;Dðc
ð c
ð c
ð c
ð c
ð c
ðV )-Ø$(Ø"&Ø;Dð!
ð !
ð !
ð !
ð !
ð !
ðL !*Ø )ð )-Ø$(Ø"&Ø;Dð-
ð -
ð -
ð -
ð -
ð -
ðj )-Ø$(Ø"&Ø;Dð
ð 
ð 
ð 
ð 
ð 
ðJ !*Ø )ð )-Ø$(Ø"&Ø;Dð0
ð 0
ð 0
ð 0
ð 0
ð 0
ð 0
ð 0
r1   c                  ó.   — e Zd Zd	d„Zed
d„¦   «         ZdS )r2   Újobsr&   r)   ÚNonec                ó@  — || _         t          j        |j        ¦  «        | _        t          j        |j        ¦  «        | _        t          j        |j        ¦  «        | _        t          j        |j        ¦  «        | _        t          j        |j        ¦  «        | _        d S r+   )Ú_jobsr	   Úto_raw_response_wrapperr\   rg   rx   r}   rƒ   ©r.   r™   s     r/   Ú__init__zJobsWithRawResponse.__init__n  s–   € ØˆŒ
å&Ô>ØŒKñ
ô 
ˆŒõ )Ô@ØŒMñ
ô 
ˆŒõ %Ô<ØŒIñ
ô 
ˆŒ	õ 'Ô>ØŒKñ
ô 
ˆŒõ ,ÔCØÔñ
ô 
ˆÔÐÐr1   r   c                ó4   — t          | j        j        ¦  «        S r+   )r   rœ   r0   r-   s    r/   r0   zJobsWithRawResponse.checkpoints�  s   € å)¨$¬*Ô*@ÑAÔAÐAr1   N©r™   r&   r)   rš   )r)   r   ©r‡   rˆ   r‰   rŸ   r   r0   rŠ   r1   r/   r2   r2   m  sN   € € € € € ð
ð 
ð 
ð 
ð& ðBð Bð Bñ „_ðBð Bð Br1   r2   c                  ó.   — e Zd Zd	d„Zed
d„¦   «         ZdS )r�   r™   r'   r)   rš   c                ó@  — || _         t          j        |j        ¦  «        | _        t          j        |j        ¦  «        | _        t          j        |j        ¦  «        | _        t          j        |j        ¦  «        | _        t          j        |j        ¦  «        | _        d S r+   )rœ   r	   Úasync_to_raw_response_wrapperr\   rg   rx   r}   rƒ   rž   s     r/   rŸ   z!AsyncJobsWithRawResponse.__init__‡  s–   € ØˆŒ
å&ÔDØŒKñ
ô 
ˆŒõ )ÔFØŒMñ
ô 
ˆŒõ %ÔBØŒIñ
ô 
ˆŒ	õ 'ÔDØŒKñ
ô 
ˆŒõ ,ÔIØÔñ
ô 
ˆÔÐÐr1   r   c                ó4   — t          | j        j        ¦  «        S r+   )r   rœ   r0   r-   s    r/   r0   z$AsyncJobsWithRawResponse.checkpointsš  s   € å.¨t¬zÔ/EÑFÔFÐFr1   N©r™   r'   r)   rš   )r)   r   r¢   rŠ   r1   r/   r�   r�   †  sN   € € € € € ð
ð 
ð 
ð 
ð& ðGð Gð Gñ „_ðGð Gð Gr1   r�   c                  ó.   — e Zd Zd	d„Zed
d„¦   «         ZdS )r6   r™   r&   r)   rš   c                ó  — || _         t          |j        ¦  «        | _        t          |j        ¦  «        | _        t          |j        ¦  «        | _        t          |j        ¦  «        | _        t          |j        ¦  «        | _        d S r+   )rœ   r   r\   rg   rx   r}   rƒ   rž   s     r/   rŸ   z"JobsWithStreamingResponse.__init__   s‡   € ØˆŒ
å2ØŒKñ
ô 
ˆŒõ 5ØŒMñ
ô 
ˆŒõ 1ØŒIñ
ô 
ˆŒ	õ 3ØŒKñ
ô 
ˆŒõ 8ØÔñ
ô 
ˆÔÐÐr1   r   c                ó4   — t          | j        j        ¦  «        S r+   )r   rœ   r0   r-   s    r/   r0   z%JobsWithStreamingResponse.checkpoints³  s   € å/°´
Ô0FÑGÔGÐGr1   Nr¡   )r)   r   r¢   rŠ   r1   r/   r6   r6   Ÿ  sN   € € € € € ð
ð 
ð 
ð 
ð& ðHð Hð Hñ „_ðHð Hð Hr1   r6   c                  ó.   — e Zd Zd	d„Zed
d„¦   «         ZdS )r�   r™   r'   r)   rš   c                ó  — || _         t          |j        ¦  «        | _        t          |j        ¦  «        | _        t          |j        ¦  «        | _        t          |j        ¦  «        | _        t          |j        ¦  «        | _        d S r+   )rœ   r   r\   rg   rx   r}   rƒ   rž   s     r/   rŸ   z'AsyncJobsWithStreamingResponse.__init__¹  s‡   € ØˆŒ
å8ØŒKñ
ô 
ˆŒõ ;ØŒMñ
ô 
ˆŒõ 7ØŒIñ
ô 
ˆŒ	õ 9ØŒKñ
ô 
ˆŒõ >ØÔñ
ô 
ˆÔÐÐr1   r   c                ó4   — t          | j        j        ¦  «        S r+   )r   rœ   r0   r-   s    r/   r0   z*AsyncJobsWithStreamingResponse.checkpointsÌ  s   € å4°T´ZÔ5KÑLÔLÐLr1   Nr§   )r)   r   r¢   rŠ   r1   r/   r�   r�   ¸  sN   € € € € € ð
ð 
ð 
ð 
ð& ðMð Mð Mñ „_ðMð Mð Mr1   r�   )8Ú
__future__r   Útypingr   r   r   Útyping_extensionsr   ÚhttpxÚ r	   Ú_typesr
   r   r   r   r   Ú_utilsr   r   Ú_compatr   r0   r   r   r   r   r   r   Ú	_resourcer   r   Ú	_responser   r   Ú
paginationr   r   Ú_base_clientr   r    Útypes.fine_tuningr!   r"   r#   Ú!types.fine_tuning.fine_tuning_jobr$   Ú'types.fine_tuning.fine_tuning_job_eventr%   Ú__all__r&   r'   r2   r�   r6   r�   rŠ   r1   r/   ú<module>r¾      s  ðð #Ð "Ð "Ð "Ð "Ð "à ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø %Ð %Ð %Ð %Ð %Ð %à €€€à !Ð !Ð !Ð !Ð !Ð !Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @ðð ð ð ð ð ð ð ð (Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð <Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø ZÐ ZÐ ZÐ ZÐ ZÐ ZÐ ZÐ ZØ :Ð :Ð :Ð :Ð :Ð :Ð :Ð :ðð ð ð ð ð ð ð ð ]Ð \Ð \Ð \Ð \Ð \Ð \Ð \Ð \Ð \Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø JÐ JÐ JÐ JÐ JÐ Jà�;Ð
€ð`
ð `
ð `
ð `
ð `
ˆ?ñ `
ô `
ð `
ðF	`
ð `
ð `
ð `
ð `
Ð ñ `
ô `
ð `
ðF	Bð Bð Bð Bð Bñ Bô Bð Bð2Gð Gð Gð Gð Gñ Gô Gð Gð2Hð Hð Hð Hð Hñ Hô Hð Hð2Mð Mð Mð Mð Mñ Mô Mð Mð Mð Mr1   