+
    {cx=                         ^ RI HtHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIHt ]
P                  R8  d   RtMRt]! ]P"                  ! RRR	7      ]4      tR
 tR tRt ! R R]4      tR# )    )print_functionabsolute_importN)SqliteDatabase3gettextugettextzcommand-not-foundT)fallbackc           	        Rp\        \        V 4      ^,           4       Uu. uF  q RV WR 3NK  	  ppV UUu. uF  w  rEV'       g   K  WER,          ,           NK   	  pppV UUu. uFB  w  rE\        V4      ^8  g   K  WE^,          ,           V^ ,          ,           VR,          ,           NKD  	  pppV UUUu. uF-  w  rEV F"  q'       g   K  WH,           VR,          ,           NK$  	  K/  	  p	pppV UUUu. uF  w  rEV F  qV,           V,           NK  	  K  	  p
ppp\        Wg,           V	,           V
,           4      # u upi u uppi u uppi u upppi u upppi )zk
return a set with spelling1 distance alternative spellings

based on http://norvig.com/spell-correct.html
z&abcdefghijklmnopqrstuvwxyz-_0123456789N:   NN:   NN)rangelenset)wordalphabetisabdeletes
transposescreplacesinsertss   &          A/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.pysimilar_wordsr      s    8H',SY]';<';!r(DH	';A<%&,QTQ!yqR5yyQG,67Fada3q6A:)!d(QqT/AbE))aJF*+C!$!X"X!HC)*=Hq1uqyyHyG=w#h.899 	=,FC=s.   D8D=	D=$E=/E5E	
E	2#Ec                       \         P                  ! 4       p \        P                  ! R 4      ^,          V 9   ;'       g!    \        P                  ! R4      ^,          V 9   #   \         d     R# i ; i)sudoadminF)posix	getgroupsgrpgetgrnamKeyError)groupss    r   user_can_sudor&   +   s`    "V$Q'61 3 3W%a(F2	4 s   ;A  A A.-A.z&/var/lib/command-not-found/commands.dbc                      a  ] tR t^8t o RtRtRtRt]P                  t
RR ltRR ltR tR tR tR	 tR
 tRR ltR tR tR tR tR tR tR tRR ltRtV tR# )CommandNotFoundz
programs.d   z/usr/bin/snapc                r   V P                  4       V n        \        P                  P	                  \
        4      '       dE   \        P                  ! \
        \        P                  4      '       d   \        \
        4      V n	        M\        R 4      h\        4       V n        \        P                  ! 4       V n        R# )zCannot find databaseN)_getSourcesListsources_listospathexistsdbpathaccessR_OKr   dbFileNotFoundErrorr&   r    geteuideuid)selfdata_dirs   &&r   __init__CommandNotFound.__init__K   si     00277>>&!!bii&@&@$V,DG#$:;;*_MMO	    c                    . pV\        V4      u;8:  d   V P                  8:  g    V#  V# \        V4       F3  pV P                  V4      pV F  w  rgpVP	                  WFW34       K  	  K5  	  V# )ztry to correct the spelling )r   max_lenr   get_packagesappend)	r7   r   min_lenpossible_alternativeswpackagespackagevercomps	   &&&      r   spelling_suggestions$CommandNotFound.spelling_suggestionsU   sw     "3t944(( 5((t$A((+H(0$t%,,a$-DE )1 % %$r;   c                8    V P                   P                  V4      # N)r3   lookupr7   commands   &&r   r>   CommandNotFound.get_packages`   s    ww~~g&&r;   c           	        . p. p\         P                  P                  V P                  4      '       g,   \        P
                  ! R V P                  ,          4       . . 3#  \        \         P                  4      ;_uu_ 4       p\        P                  ! V P                  RRRV.VRR7      pRRR4       \        P
                  ! RX,          4        \        P                  ! T4      pT Fu  pTR
,          T8X  d4   TP                  TR,          TR
,          TP                  R4      34       KD  TP                  TR
,          TR,          TP                  R4      34       Kw  	  Y#3#   + '       g   i     L; i  \        P                   d,   p\        P
                  ! RT,          4       . . 3u Rp?# Rp?ii ; i  \        P                   d,   p\        P
                  ! R	T,          4       . . 3u Rp?# Rp?ii ; i)z%s not existszadvise-snapz--format=jsonz	--commandT)stderruniversal_newlinesNz.calling snap advice-snap returned an error: %szgot %s from snap advise-snapzcannot decoding json: %sCommandSnapVersion)r-   r.   r/   snap_cmdloggingdebugopendevnull
subprocesscheck_outputCalledProcessErrorjsonloadsJSONDecodeErrorr?   get)	r7   rM   exact_resultmispell_resultrY   outputesnapssnaps	   &&       r   	get_snapsCommandNotFound.get_snapsc   s   ww~~dmm,,MM/DMM9:r6M		bjj!!W#00]]M? '+"'+	- " 	4v=>	JJv&E DI')##T&\4	?DHHYDW$XY%%tIVdhhyFY&Z[	 
 ++) "! ,, 	MMJQNOr6M	 ## 	MM4q89r6M	sZ    !E7 )E$*E7 F: $E4	/E7 4E7 7F7 F2,F72F7:G: G5/G:5G:c                l    \        \        P                  P                  \        P                  ! R R4      R34      4      ;_uu_ 4       pV Uu. uF)  q"P                  4       R8w  g   K  VP                  4       NK+  	  upuuRRR4       # u upi   + '       g   i     R# ; i  \         d    . u # i ; i)HOMEz/rootz.command-not-found.blacklist N)rX   r-   sepjoingetenvstripIOError)r7   	blacklistlines   &  r   getBlacklistCommandNotFound.getBlacklist   s    	bffkk299VW#=?]"^_``dm1:Qjjlb>P

Q a`Q a`` 	I	sH   AB# 	BB
)B
=B?
B# 
BB 	B#  B# #B32B3c                x    ^ RI p^ RIHp VP                  4        \        . 4      p T! RRR7      pT FO  pTP                  '       d   K  TP                  '       d   K+  TP                   F  pTP                  T4       K  	  KQ  	  T#   \        \
        3 d    . u # i ; i  \         d    T! RR7      p Li ; i)r   N)SourcesListFT)withMatcherdeb822)rw   )apt_pkgaptsources.sourceslistrv   initSystemErrorImportErrorr   	TypeErrordisabledinvalidcompsadd)r7   ry   rv   r,   sourcessource	components   &      r   r+   CommandNotFound._getSourcesList   s    	:LLN 2w	5!eDAG F???6>>>!'I $$Y/ ".   [) 	I	  	5!e4G	5s"   B	 
B" 	BB"B98B9c                   R \         P                  9   g   R# V'       Ed    \        R4      p\        P                  R8  d   \        V4      pR pMgX! V4      p\        P                  P                  '       d@   \        V\        4      '       d*   VP                  \        P                  P                  4      pVP                  4       \        R4      8X  dj   V P                  ^ 8X  d   RpMRpV: RV: 2p\        R	V,          \        P                  R
7       \        P                   ! VP#                  4       RR7       R# R# R# ) COMMAND_NOT_FOUND_INSTALL_PROMPTNz Do you want to install it? (N/y)r   c                     V # rJ    )xs   &r   <lambda>0CommandNotFound.install_prompt.<locals>.<lambda>   s    ar;   yrk   sudo zapt install z%sfileF)shell)r-   environ_sysversioninputstdinencoding
isinstancestrdecodelowerr6   printstdoutrZ   callsplit)r7   package_namepromptanswer	raw_inputcommand_prefixinstall_commands   &&     r   install_promptCommandNotFound.install_prompt   s    1RZZ?<9:F{{c!v'	"6*99%%%*VS*A*A#]]399+=+=>F||~3'99>%'N%,N8F"Ud_,3::> 5 5 7uE ( r;   c                   \        V4      \        V4      ,           V8  dO   \        \        R4      V\        V4      3,          V P                  R7       V P                  P	                  4        R# \        V4      \        V4      ,           ^ 8  d   \        \        R4      V,          V P                  R7       V FC  w  rVpV'       d   RV,          pMRp\        \        R4      WVV3,          V P                  R7       KE  	  V FC  w  rXrV'       d   RV,          pMRp\        \        R4      WXV3,          V P                  R7       KE  	  \        V4      ^ 8  d"   \        \        R	4      V P                  R7       Mq\        V4      ^ 8  db   V P
                  '       d)   \        \        R
4      R,          V P                  R7       M'\        \        R
4      R,          V P                  R7       V P                  P	                  4        R# )z2print spelling suggestions for packages and snaps z6Command '%s' not found, but there are %s similar ones.r   N%Command '%s' not found, did you mean:z (%s)rk   z  command '%s' from snap %s%s  command '%s' from deb %s%s3See 'snap info <snapname>' for additional versions.zTry: %s <deb name>zsudo apt installzapt install)r   r   r   	output_fdflushr&   )
r7   r   mispell_packagesmispell_snapsmax_altrM   rf   rE   rD   rF   s
   &&&&&     r   print_spelling_suggestions*CommandNotFound.print_spelling_suggestions   s    ]!33g=!LMQUWZ[kWlPmmtx  uC  uC  DNN  "!"3}#559!;<tC$..Y(5$!C-CCa78G3;OOVZVdVde )6 2B-4!C-CCa677S:QQX\XfXfg 2B }!!IJQUQ_Q_`!"Q&!!!a,-0BBXa,-=DNNSr;   c                X    \        \        R 4      RV/,          V P                  R7       R# )z;Command '%(command)s' not found, but can be installed with:rM   r   N)r   r   r   rL   s   &&r   _print_exact_header#CommandNotFound._print_exact_header   s)    aMNwR   &*nn	6r;   c                   V P                  V4       V^ ,          pV P                  ^ 8X  d'   \        RV^ ,          ,          V P                  R7       MqV P                  '       d'   \        RV^ ,          ,          V P                  R7       M9\        RV^ ,          ,          V P                  R7       \        \        R4      4       V P                  P                  4        R# )r   zsnap install %sr   zsudo snap install %sPlease ask your administrator.N)r   r6   r   r   r&   r   r   )r7   rM   rC   re   rf   s   &&&& r   advice_single_snap_package*CommandNotFound.advice_single_snap_package   s      )Qx99>#d1g-DNNC(472H#d1g-DNNC!456r;   c                   V P                  V4       V P                  ^ 8X  dM   \        RV^ ,          ^ ,          ,          V P                  R7       V P	                  V^ ,          ^ ,          4       MV P
                  '       dM   \        RV^ ,          ^ ,          ,          V P                  R7       V P	                  V^ ,          ^ ,          4       M\        RV^ ,          ^ ,          ,          V P                  R7       \        \        R4      4       V^ ,          ^,          V P                  9   g6   \        \        R4      V^ ,          ^,          ,          V P                  R7       V P                  P                  4        R# )r   zapt install %sr   zsudo apt install %sr   z1You will have to enable the component called '%s'N)	r   r6   r   r   r   r&   r   r,   r   )r7   rM   rC   re   s   &&&&r   advice_single_deb_package)CommandNotFound.advice_single_deb_package   s     )99>"Xa[^3$..IA/'(1+a.8t~~NA/"Xa[^3$..I!456A;q>T%6%66aKLxXY{[\~]dhdrdrsr;   c                P    V P                   ^ 8w  d   V P                  '       d   R# R# )r   r   rk   )r6   r&   )r7   s   &r   r   CommandNotFound.sudo   s    99>d000r;   c           	     p   V P                  V4       \        W2,            Uu. uF  p\        V^ ,          4      NK  	  up4      p\        V4       EF  w  rgRpV^,          '       d9   V^ 8X  d"   \        V4      ^8  d   RV^,          ,          pMRV^,          ,          pV^,          V P                  9   d9   \        RV P                  4       WW^ ,          V3,          V P                  R7       K  \        RV P                  4       WW^ ,          V3,          R,           \        R4      V^,          ,          ,           R,           V P                  R7       EK  	  V P                  ^ 8w  d3   V P                  '       g!   \        \        R	4      V P                  R7       V P                  P                  4        R
# u upi )r   rk     # version %s, or  # version %sz%sapt install %-*s%sr   z (z-You will have to enable component called '%s')z.Ask your administrator to install one of them.N)r   maxr   	enumerater,   r   r   r   r   r6   r&   r   )	r7   rM   rC   re   r   padr   rD   rE   s	   &&&&     r   advice_multi_deb_package(CommandNotFound.advice_multi_deb_package   s~     )en5n3qt9n56#H-JACqzz6c'lQ..'!*=C*gaj9CqzT...,		S!*c/RRY]YgYgh,		S!*c/RRUYY\]  _N  ]O  RY  Z[  R\  ]\  \  _b  b  im  iw  iw  x  x . 99>$"4"4"4!DEDNN[ 6s   F3c           	     .   V P                  V4       \        W2,            Uu. uF  p\        V^ ,          4      NK  	  up4      p\        V4       F  w  rgRpV^,          '       d9   V^ 8X  d"   \        V4      ^ 8  d   RV^,          ,          pMRV^,          ,          p\	        RV P                  4       WW^ ,          V3,          V P                  R7       K  	  \	        \        R4      V P                  R7       V P                  P                  4        R# u upi )r   rk   r   r   %ssnap install %-*s%sr   r   N	r   r   r   r   r   r   r   r   r   )	r7   rM   rC   re   r   r   r   rf   rE   s	   &&&&     r   advice_multi_snap_packages*CommandNotFound.advice_multi_snap_packages  s      )en5n3qt9n56 'GACAww6c%j1n.a8C*T!W4C)TYY[#Aw,LLSWSaSab ( 	aEFT^^\ 6s   Dc           	     Z   V P                  V4       \        W2,            Uu. uF  p\        V^ ,          4      NK  	  up4      p\        V4       Ft  w  rgRpV^,          '       d)   V^ 8X  d   RV^,          ,          pMRV^,          ,          p\	        RV P                  4       WW^ ,          V3,          V P                  R7       Kv  	  V FZ  p	RpV	^,          '       d   RV	^,          ,          p\	        RV P                  4       WY^ ,          V3,          V P                  R7       K\  	  \        V4      ^8X  d7   \	        \        R4      V^ ,          ^ ,          ,          V P                  R7       M \	        \        R4      V P                  R7       V P                  P                  4        R	# u upi )
r   rk   r   r   r   r   z%sapt  install %-*s%sz+See 'snap info %s' for additional versions.r   Nr   )
r7   rM   rC   re   r   r   r   rf   rE   rD   s
   &&&&      r   advice_multi_mixed_packages+CommandNotFound.advice_multi_mixed_packages  sJ     )en5n3qt9n56 'GACAww6.a8C*T!W4C)TYY[#Aw,LLSWSaSab (  GCqzz&3)TYY[#qz3,OOVZVdVde	  
 u:?!ABU1Xa[PW[WeWef!IJQUQ_Q_`% 6s   F(c           
     R
   R p\        V4      V P                  8  d   R# VP                  R4      '       dJ   \        P                  P                  V4      '       d"   \        P                  P                  V4      .pM-. pM*V P                   Uu. uF  qS! WQ4      '       g   K  VNK  	  ppV'       Ed   V'       Eg   \        V4      ^8X  dR   \        \        R4      RVR\        P                  P                  V^ ,          V4      /,          V P                  R7       Mm\        \        R4      RV/,          V P                  R7       V F>  p\        R	\        P                  P                  WQ4      ,          V P                  R7       K@  	  \        \        V4      \        \        P                  ! R
R4      P                  R4      4      ,
          4      p\        V4      ^ 8  dm   \        \        R4      RP                  V4      ,          V P                  R7       RRP                  V4      9   d!   \        \        R4      V P                  R7       R# \        P                  P                  R4      '       g(   \        P                  P                  R4      '       g   R# WP!                  4       9   d   R# VR8X  dx   \        \        R4      V,          V P                  R7       \        \        R4      R,          V P                  R7       \        \        R4      R,          V P                  R7       R# V P#                  V4      pV P%                  V4      w  r\&        P(                  ! RV: RV: 24       \        V4      ^ 8X  dU   \        V4      ^ 8X  dE   V P+                  V4      p
\        V
4      ^ 8  g   \        V	4      ^ 8  d   V P-                  WV	4       M\        V4      ^ 8X  d$   \        V4      ^8X  d   V P/                  WV4       M\        V4      ^ 8  d$   \        V4      ^ 8X  d   V P1                  WV4       M\        V4      ^8X  d$   \        V4      ^ 8X  d   V P3                  WV4       Me\        V4      ^8  d$   \        V4      ^ 8X  d   V P5                  WV4       M2\        V4      ^ 8  d#   \        V4      ^ 8  d   V P7                  WV4       \        V4      ^ 8  ;'       g;    \        V4      ^ 8  ;'       g%    \        V	4      ^ 8  ;'       g    \        X
4      ^ 8  # u upi )z6give advice where to find the given command to stderr c                   \         P                  P                  \         P                  P                  W4      4      ;'       dB    \         P                  P	                  \         P                  P                  W4      4      '       * # )z>helper that returns if a command is found in the given prefix )r-   r.   r/   rm   isdir)prefixrM   s   &&r   
_in_prefix*CommandNotFound.advise.<locals>._in_prefix+  sQ    GGNN277<<#@A I IGGMM"'',,v*GHHJr;   F/z1Command '%(command)s' is available in '%(place)s'rM   placer   z:Command '%(command)s' is available in the following placesz * %sPATHrk   :z_The command could not be located because '%s' is not included in the PATH environment variable.sbinzfThis is most likely caused by the lack of administrative privileges associated with your user account.z/usr/bin/aptz/usr/bin/aptitudepythonr   r   Tz
got debs: z snaps: )python3r   rk   )r   zpython-is-python3rk   )r   r=   
startswithr-   r.   r/   dirnameprefixesr   r   rm   r   listr   rn   r   rs   r>   rg   rV   rW   rG   r   r   r   r   r   r   )r7   rM   ignore_installedr   r   r   missingrC   re   r   r   s   &&&        r   adviseCommandNotFound.advise)  sf   	J
 w<$,,&c""ww~~g&&GGOOG45-1]]Z]6j>Y]HZ 8,,8}!aKLPY[bdkmomtmtmymy  {C  DE  {F  HO  nP  PQ  Q  X\  Xf  Xf  gaTUYbdkXllsw  tB  tB  C&F'BGGLL$AAW '3x=3ryy/D/J/J3/O+PPQG7|aayz  ~A  ~F  ~F  GN  ~O  O  VZ  Vd  Vd  eSXXg..!  E  F  MQ  M[  M[  \ ~..233''))
 h!;<wFT^^\!236PPW[WeWef!236YY`d`n`no$$W-#~~g6(EBCx=A#e*/#88A#$q(C,>,B//=Y]aCJ!O++GuEZ!^H 2++GuE]aCJ!O**7eD]Q3u:?))'UC]Q3u:>,,WFH! D DSZ!^ D DM"Q&D D*-.>*?!*C	Ek [s   T$"T$)r3   r6   r,   r&   N)z	/snap/binz/binz/usr/binz/usr/local/binz/sbinz	/usr/sbinz/usr/local/sbinz
/usr/games)z/usr/share/command-not-found)   )   )F)__name__
__module____qualname____firstlineno__programs_dirr=   r   rU   r   rP   r   r9   rG   r>   rg   rs   r+   r   r   r   r   r   r   r   r   r   r   __static_attributes____classdictcell__)__classdict__s   @r   r(   r(   8   s     LGH H

I$	%',:*F,:6

$,FE FEr;   r(   )
__future__r   r   r   r"   r]   rV   r-   os.pathr    r   rZ   CommandNotFound.db.dbr   r   _gettext_methodgetattrtranslationr   r   r&   r0   objectr(   r   r;   r   <module>r      s{   
  
   	   
  0;;#O OG 3dC_U: 
2wEf wEr;   