+
    ˜qgj˜  ã                   óþ   a € R t0 t R t^ RIt^ RIt^ RIt^ RIHt ^ RIHtH	t	 ^ RI
Ht ^ RIHt ^ RIHt ^ RIHt RtR	tR
t]P*                  ! ]4      tRRRR.R]RR./t] ^ k R R ltR tRR R lltR tR tR tR# )z"Write Files: write arbitrary filesN)ÚOptional)Ú
url_helperÚutil)ÚCloud)ÚConfig)Ú
MetaSchema)ÚPER_INSTANCEi¤  Fz
text/plainÚidÚcc_write_filesÚdistrosÚallÚ	frequencyÚactivate_by_schema_keysÚwrite_filesc          
      óL   € V ^8„  d   QhR\         R\        R\        R\        RR/# )é   ÚnameÚcfgÚcloudÚargsÚreturnN)Ústrr   r   Úlist)Úformats   "ÚA/usr/lib/python3/dist-packages/cloudinit/config/cc_write_files.pyÚ__annotate__r   "   s6   € ÷ Oñ O”ð Oœ6ð O¬%ð O´tð OÀñ Oó    c                 ó`  € VP                  R . 4      pV Uu. uF)  p\        P                  ! VR\        4      '       d   K'  VNK+  	  ppV'       g   \        P                  RV 4       R# \        P                  ! VP                  4      p\        WVP                  P                  V4       R# u upi )r   ÚdeferzESkipping module named %s, no/empty 'write_files' key in configurationN)Úgetr   Úget_cfg_option_boolÚDEFAULT_DEFERÚLOGÚdebugÚfetch_ssl_detailsÚpathsr   ÚdistroÚdefault_owner)r   r   r   r   Ú	file_listÚfÚfiltered_filesÚssl_detailss   &&&&    r   Úhandler,   "   s•   € Ø—‘˜ rÓ*€Iñ óáˆAÜ×'Ò'¨¨7´M×B÷ 	
ˆÙð ð ÷
 Ü�	‰	ð;àô	
ñ
 	Ü×(Ò(¨¯©Ó5€KÜ� e§l¡l×&@Ñ&@À+ÖNùòs   —$B+Á B+c                 ó  € V '       g   R p V P                  4       P                  4       p V R9   d   R.# V R9   d   RR.# V R9   d   R.# V \        8X  d   \        .# V '       d   \        P	                  RV \        4       \        .# )Ú úapplication/x-gzipúapplication/base64z%Unknown encoding type %s, assuming %s)ÚgzÚgzip)z	gz+base64zgzip+base64zgz+b64zgzip+b64)Úb64Úbase64)ÚlowerÚstripÚTEXT_PLAIN_ENCr"   Úwarning)Úencoding_types   &r   Úcanonicalize_extractionr:   4   s�   € ßØˆØ!×'Ñ'Ó)×/Ñ/Ó1€MØ˜Ô&Ø$Ð%Ð%ØÐJÔJØ$Ð&:Ð;Ð;ð
 Ð)Ô)Ø$Ð%Ð%ØœÔ&ÜÐÐßÜ�‰Ø3ØÜô	
ô
 ÐÐr   c                óF   € V ^8„  d   QhR\         R\        \        ,          /# )r   Úownerr+   )r   r   Údict)r   s   "r   r   r   M   s   € ÷ ($ñ ($¤Cð ($´h¼tµnñ ($r   c           
      óR  € V'       g   R # \        V4       EFŒ  w  rEVP                  R4      pV'       g!   \        P                  RV^,           V 4       K?  \        P
                  P                  V4      p\        VP                  RR 4      VVP                  RR 4      VP                  RR 4      4      pVf!   \        P                  RV^,           V 4       KÀ  \        P                  ! VP                  RV4      4      w  r‰\        VP                  R4      \        4      p
\        P                  ! VR	4      '       d   R
MRp\        P                  ! WgWºW‰R7       \        P                  ! WhV	4       \        P                  ! V4      V
8w  g   EKv  \        P                   ! Wj4       EK�  	  R # )NÚpathz3No path provided to write for entry %s in module %sÚsourceÚcontentÚencodingz>No content could be loaded for entry %s in module %s; skippingr<   ÚpermissionsÚappendÚabÚwb)ÚomodeÚmodeÚuserÚgroup)Ú	enumerater   r"   r8   Úosr?   ÚabspathÚread_url_or_decoder   Úextract_usergroupÚdecode_permsÚDEFAULT_PERMSr    Ú
write_fileÚchownbynameÚget_permissionsÚchmod)r   Úfilesr<   r+   ÚiÚf_infor?   ÚcontentsÚuÚgÚpermsrG   s   &&&&        r   r   r   M   sK  € ßÙä˜u×%‰	ˆØ�z‰z˜&Ó!ˆßÜ�K‰KØEØ�A•Øôñ
 Ü�w‰w�‰˜tÓ$ˆä%Ø�J‰J�x Ó&ØØ�J‰J�y $Ó'Ø�J‰J�z 4Ó(ó	
ˆð ÒÜ�K‰Kðà�A•Øô	ñ ô ×'Ò'¨¯
©
°7¸EÓ(BÓC‰ˆÜ˜VŸZ™Z¨Ó6¼ÓFˆÜ×0Ò0°¸×BÒB‘ÈˆÜ�ŠØ %¸!õ	
ô 	×Ò˜ !Ô$Ü×Ò Ó%¨×.ä�JŠJ�t×#óI &r   c                 óˆ  € V f   V#  \        V \        \        34      '       d   \        V 4      # \        \        V 4      ^4      #   \        \
        3 dm    . pY3 FF  p TP                  RT,          4       K    \         d    TP                  RT,          4        KD  i ; i	  \        P                  ! R.TO5!   Tu # i ; i)Nz%oz%rz0Undecodable permissions %s, returning default %s)	Ú
isinstanceÚintÚfloatr   Ú	TypeErrorÚ
ValueErrorrD   r"   r8   )ÚpermÚdefaultÚrepsÚrs   &&  r   rP   rP   x   s±   € Ø‚|ØˆðÜ�dœS¤%˜L×)Ò)ä�t“9Ðô ”s˜4“y !Ó$Ð$øÜ”zÐ"ô ØˆØ“ˆAð&Ø—‘˜D 1�HÖ%øÜô &Ø—‘˜D 1�H×%ð&úñ !ô
 	�ŠÐFÐNÈÔNØŠðús:   ˆ&A ¯A ÁCÁA8Á6CÁ8#BÂCÂBÂCÃ Cc                 óŠ  € V f   R MV P                  RR 4      p\        V4      pVf   V'       g   R# R pV'       d7    \        P                  ! VV P                  RR 4      ^^VR7      P                  pVe   V'       g   \        V4      p\        W'4      pV#   \
         d"    \        P                  ! \        RT4       Rp LOi ; i)NÚurir.   Úheaders)ri   ÚretriesÚsec_betweenr+   zVFailed to retrieve contents from source "%s"; falling back to data from "contents" keyF)r   Úboolr   Úread_file_or_urlrY   Ú	Exceptionr   Úlogexcr"   r:   Úextract_contents)r@   r+   rA   rB   ÚurlÚuse_urlÚresultÚextractionss   &&&&    r   rN   rN   �   sÂ   € Ø’.‰$ f§j¡j°¸Ó&=€CÜ�3‹i€Gà‚ŸwÙà€Fßð	ô  ×0Ò0ØØŸ
™
 9¨dÓ3ØØØ'ô÷ ‰hð ð" Ò§7ô .¨hÓ7ˆÜ! 'Ó7ˆØ€Møô ô 	Ü�KŠKÜð,àô	ð ŠGð	ús   ½5B Â)CÃCc                 ó¸   € T pV FQ  pVR 8X  d   \         P                  ! VRRR7      pK%  VR8X  d   \        P                  ! V4      pKD  V\        8X  g   KQ  KS  	  V# )r/   F)ÚquietÚdecoder0   )r   Údecomp_gzipr4   Ú	b64decoder7   )rY   Úextraction_typesrs   Úts   &&  r   rp   rp   ²   sY   € Ø€FÛˆØÐ$Ô$Ü×%Ò% f°EÀ%ÔHŠFØÐ&Ô&Ü×%Ò% fÓ-ŠFØ”.Ö Ùñ ð €Mr   c                ó@   € V ^8„  d   Qh/ ^ \         9   d
   \        ;R&   # )r   Úmeta)Ú__conditional_annotations__r   )r   s   "r   r   r      s   € × (Ñ (÷&ò „jñ ò' )r   )N) r~   Ú__doc__r4   ÚloggingrL   Útypingr   Ú	cloudinitr   r   Úcloudinit.cloudr   Úcloudinit.configr   Úcloudinit.config.schemar   Úcloudinit.settingsr   rQ   r!   r7   Ú	getLoggerÚ__name__r"   r}   r,   r:   r   rP   rN   rp   r   )r~   s   @r   Ú<module>r‰      s�   øðö )ã Û Û 	Ý ç &Ý !Ý #Ý .Ý +à€Ø€Ø€à×Ò˜Ó!€ð 	Ð
Ø�ˆwØ�Ø ˜ð	€ó õOò$÷2($òVò*"ôJ	r   