+
    oÆFjI  ã                   ót   € R t ^ RIt^ RIt^ RIt^ RIHt ^ RIt ! R R]P                  P                  4      t
R# )z Debian crash database interface.N)ÚAnyc                   óL   a € ] tR t^t o RtV 3R lR ltR tR	R ltR tRt	V t
R# )
ÚCrashDatabasezaDebian crash database.

This is a Apport CrashDB implementation for interacting with Debian BTS.
c                óN   <€ V ^8„  d   QhRS[ R,          RS[S[ S[3,          RR/# )é   Ú	auth_fileNÚoptionsÚreturn)ÚstrÚdictr   )ÚformatÚ__classdict__s   "€Ú</usr/lib/python3/dist-packages/apport/crashdb_impl/debian.pyÚ__annotate__ÚCrashDatabase.__annotate__   s3   ø€ ÷ Añ A¡#¨¥*ð A±t¹CÁ¸Hµ~ð AÈ$ñ Aó    c                ó*  € \         P                  P                  P                  WV4       W n        V P                  P                  R4      '       g   RV P                  R&   V P                  P                  R4      '       g   RV P                  R&   R# R# )z˜Initialize crash database connection.

Debian implementation is pretty basic as most of its bug management
processes revolve around the email interface
Úsmtphostzreportbug.debian.orgÚ	recipientzsubmit@bugs.debian.orgN)ÚapportÚcrashdbr   Ú__init__r   Úget)Úselfr   r   s   &&&r   r   ÚCrashDatabase.__init__   sn   € ô 	�‰×$Ñ$×-Ñ-¨d¸wÔGØŒà�|‰|×Ñ 
×+Ò+Ø'=ˆD�L‰L˜Ñ$à�|‰|×Ñ ×,Ò,Ø(@ˆD�L‰L˜Ó%ñ -r   c                óò   € V P                   P                  R4      '       g   RV9  d   RVR&   RV9   d   VP                  4       '       g   RVR&   \        P                  P
                  P                  W4      # )zaCheck if this report can be uploaded to this database.
Checks for the proper settings of apport.
ÚsenderÚUnreportableReasonz<Please configure sender settings in /etc/apport/crashdb.confÚ
Stacktracez>Incomplete backtrace. Please install the debug symbol packages)r   r   Úhas_useful_stacktracer   r   r   Úaccepts)r   Úreports   &&r   r    ÚCrashDatabase.accepts,   sr   € ð �|‰|×Ñ ×)Ò)Ð.BÈ&Ô.PàNð Ð'Ñ(ð
 ˜6Ô!¨&×*FÑ*F×*HÒ*HàPð Ð'Ñ(ô �~‰~×+Ñ+×3Ñ3°DÓAÐAr   Nc                ó^  € V P                  V4      '       g   Q h VR,          P                  R4      w  rE\        P
                  ! 4       ;_uu_ 4       pTP                  P                  RT R2P                  R4      4       TP                  P                  RT R2P                  R4      4       TP                  P                  R	P                  R4      4        TR
 TP                  T4       TP                  P                  ^ 4       \        P                  P                  P                  TP                  P                  4       P                  R4      4      pRRR4       TR,          XR&   T P                   R,          TR&   T P                   R,          TR&   TP#                  RT P                   R,          4       TP#                  RRTR,          P%                  4        24       \&        P(                  ! T P                   R,          4      pTP+                  T P                   R,          T P                   R,          TP-                  4       P                  R4      4       TP/                  4        R#   \        \        3 d     R# i ; i  \         d     ELºi ; i  + '       g   i     ELK; i)z·Upload given problem report return a handle for it.

In Debian, we use BTS, which is heavily email oriented. This method
crafts the bug into an email report understood by Debian BTS.
ÚPackageÚ Fz	Package: Ú
zUTF-8z	Version: z


z=============================

ÚCoreDumpNÚTitleÚSubjectr   ÚFromr   ÚTozX-Debbugs-CCÚUsertagzapport-ÚProblemTyper   T)r    ÚsplitÚKeyErrorÚ
ValueErrorÚtempfileÚNamedTemporaryFileÚfileÚwriteÚencodeÚseekÚemailÚmimeÚtextÚMIMETextÚreadÚdecoder   Ú
add_headerÚlowerÚsmtplibÚSMTPÚsendmailÚ	as_stringÚquit)	r   r!   Úprogress_callbackÚuser_message_callbackÚbuggy_packageÚbuggy_versionÚtempÚmsgÚsmtps	   &&&&     r   ÚuploadÚCrashDatabase.upload=   s  € ð �|‰|˜F×#Ò#Ð#Ð#ð	Ø+1°)Õ+<×+BÑ+BÀ3Ó+GÑ(ˆMô ×(Ò(×*Ô*¨dØ�I‰I�O‰O˜i¨ °bÐ9×@Ñ@ÀÓIÔJØ�I‰I�O‰O˜i¨ °fÐ=×DÑDÀWÓMÔNØ�I‰I�O‰OÐ@×HÑHÈÓQÔRðØ˜:Ð&ð
 �L‰L˜Ôà�I‰I�N‰N˜1Ôä—*‘*—/‘/×*Ñ*¨4¯9©9¯>©>Ó+;×+BÑ+BÀ7Ó+KÓLˆC÷+ +ð.   �ˆˆI‰Ø—l‘l 8Õ,ˆˆF‰Ø—L‘L Õ-ˆˆD‰	ð 	�‰�~ t§|¡|°HÕ'=Ô>Ø�‰�y G¨F°=Õ,A×,GÑ,GÓ,IÐ+JÐ"KÔLä�|Š|˜DŸL™L¨Õ4Ó5ˆØ�‰Ø�L‰L˜Õ"Ø�L‰L˜Õ%Ø�M‰M‹O×"Ñ" 7Ó+ô	
ð
 	�	‰	ŒÙøôS œ*Ð%ô 	Úð	ûô  ô Úðú÷ +×*Ð*úsC   ›I1 ÁBJÃJ	ÃA<JÉ1JÊJÊ	JÊJÊJÊJÊJ,	c                ó   € R# )a  Return an URL that should be opened after report has been uploaded
and upload() returned handle.

Should return None if no URL should be opened (anonymous filing without
user comments); in that case this function should do whichever
interactive steps it wants to perform.
N© )r   r!   Úhandles   &&&r   Úget_comment_urlÚCrashDatabase.get_comment_urlu   s   € ñ r   )r   )NN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r    rK   rP   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r      s,   ø‡ € ñ÷Að AòBô"6÷pð r   r   )rV   Úemail.mime.textr7   r?   r1   Útypingr   Úapport.crashdbr   r   r   rN   r   r   Ú<module>r\      s1   ðÙ &ó Û Û Ý ã ôi�F—N‘N×0Ñ0ö ir   