VULN_CHECK_I913V6 (faddlmZddlmZddlmZddlZddlmZddlm Z m Z ddl m Z ddlZ ddlZ ddlZddlZddlZddlZddlZddlZddlZddlZddlZej0dZej4j6Zej4j:Zej4j>Z ej4jBZ"eeze ze"zZ#d Z$d Z%d Z&d Z' d$d Z(Gdde)Z*Gdde)Z+Gdde)Z,Gdde,Z-Gdde,Z.Gdde,Z/Gdde,Z0Gdde)Z1Gdde)Z2Gd d!e)Z3Gd"d#e)Z4y)%)absolute_import)print_function)unicode_literalsN) CompsError)_ucd)reducednfc|j|j|jf}ttj t t|SN) categoriesgroups environmentsr operator__add__maplen)comps collectionss ./usr/lib/python3.12/site-packages/dnf/comps.py_internal_comps_lengthr6s8##U\\53E3EFK (""C[$9 ::cF|ytjj|Sr )r utilfirst)seqs r_first_if_iterabler;s { 88>># rctjj|}|Dchc]#}|j|k(s|j|k(s"|%}}|r|S|r3t j tj|j}nBt j tj|t jj}t}|D]}||jr|j|'|j$||jr|j|W|jd||jsw|j||Scc}w)z;Return items from sqn matching either exactly or glob-wise.)flags)r i18nrnameidrecompilefnmatch translatematchIsetaddui_name)patterncase_sensitivesqngexactr'rets r _by_patternr2Ashhll7#G D1qvv0ADDGOQE D   7,,W56<< 7,,W5RTTBHH %C  ; GGAJ VV E!&&M GGAJ YY "uQYY'7 GGAJ  J% Es #E!E!cR|jtjS|jSr ) display_ordersysmaxsize)groups r_fn_display_orderr8Zs"--53;;N5;N;NNrc||||||S)aF Installs a group or an environment identified by grp_or_env_id. This method is preserved for API compatibility. It used to catch an exception thrown when a gorup or env was already installed, which is no longer thrown. `install_fnc` has to be Solver._group_install or Solver._environment_install. ) install_fnc grp_or_env_idtypesexcludestrictexclude_groupss rinstall_or_skiprA^s }eWfn MMrc,eZdZdZdZedZdZy)_Langsz6Get all usable abbreviations for the current language.c d|_d|_yr ) last_localecacheselfs r__init__z_Langs.__init__os rcvtjtj}|dk(rydj|S)N)NNC.)locale getlocale LC_MESSAGESjoin)lcls r_dotted_locale_strz_Langs._dotted_locale_strss1v112 , xx}rcT|j}|j|k(r |jSg|_|g}|dk7r|jd|D]F}t j |D],}||jvs|jj|.H||_|jS)NrK)rRrErFappendgettext _expand_lang)rHcurrent_localelocaleslnlangs rgetz _Langs.getzs002   ~ -::  !" S NN3 A --a0 *JJ%%e,1 *zzrN)__name__ __module__ __qualname____doc__rI staticmethodrRr[r:rrrCrCks#@ rrCc4eZdZdZdZdZdZdZdZdZ dZ y) CompsQueryc<||_||_||_||_yr )rhistorykindsstatus)rHrrfrgrhs rrIzCompsQuery.__init__s    rcLt}|j|jzr)|j|Dchc]}|jc}|j|j zr9|D]4}|j }|s|j|j6|Scc}wr ) r)rh AVAILABLEupdater" INSTALLEDgetCompsGroupItemr* getGroupId)rH available installedresultir7s r _get_groupszCompsQuery._get_groupss ;; ' MM3A1443 4 ;; '++- 5++-.   4B!cLt}|j|jzr)|j|Dchc]}|jc}|j|j zr9|D]4}|j }|s|j|j6|Scc}wr ) r)rhrjrkr"rlgetCompsEnvironmentItemr*getEnvironmentId)rHrorprqrrenvs r _get_envszCompsQuery._get_envss ;; ' MM3A1443 4 ;; '//1 3//12   4rtctjj}g|_g|_|D]}gx}}|j |j zrm|jj|}|jjj|}|j||}|jj||j |jzrm|jj|}|jj j|}|j#||}|jj||r|r|j$|j&k(r"t)dt+|z}t/||j$|j,k(r"t)dt+|z}t/|t)dt+|z}t/||S)N&Module or Group '%s' is not installed.&Module or Group '%s' is not available.z$Module or Group '%s' does not exist.)r rBunchrrrg ENVIRONMENTSrenvironments_by_patternrfrxsearch_by_patternryextendGROUPSgroups_by_patternr7rsrhrlrrrjr) rHpatternsrespatenvsgrpsrorpmsgs rr[zCompsQuery.getshhnn C D4zzD--- JJ>>sC  LL,,>>sC ~~i;  ''-zzDKK' JJ88=  LL..@@E '' 9= !!$';;$..0DECPC !o% [[DNN2DECPC!o%BCc#hNC o%'( rN) r\r]r^rjrlr~rrIrsryr[r:rrrbrbs*IIL F  rrbc>eZdZdZdZdZedZedZy) Forwarderc ||_||_yr )_i_langs)rHiobjlangss rrIzForwarder.__init__s rc.t|j|Sr )getattrr)rHr!s r __getattr__zForwarder.__getattr__stww%%rcr|jjD]}|j|}||cS|Sr )rr[)rHdefaultdctrYts r_ui_textzForwarder._ui_texts5"A A}#rcN|j|j|jSr )rdesc desc_by_langrGs rui_descriptionzForwarder.ui_description}}TYY(9(9::rcN|j|j|jSr )rr! name_by_langrGs rr+zForwarder.ui_namerrN) r\r]r^rIrrpropertyrr+r:rrrrs9&;;;;rrc:eZdZfdZdZdZedZxZS)Categoryc<tt| ||||_yr )superrrI_group_factoryrHrr group_factory __class__s rrIzCategory.__init__s h&tU3+rc|j|j}|&d}t||j|jfz|S)Nz no group '%s' from category '%s'rr! ValueErrorr"rHgrp_idgrprs r _build_groupzCategory._build_groupsB!!&++. ;4CSFKK#99: : rc#TK|jD]}|j|ywr ) group_idsr)rHrs r groups_iterzCategory.groups_iters%nnF##F+ +%s&(c4t|jSr )listrrGs rrzCategory.groupssD$$&''r) r\r]r^rIrrrr __classcell__rs@rrrs&,,((rrcPeZdZfdZdZdZdZedZedZ xZ S) Environmentc<tt| ||||_yr )rrrIrrs rrIzEnvironment.__init__s k4)$6+rc|j|j}|&d}t||j|jfz|S)Nz#no group '%s' from environment '%s'rrs rrzEnvironment._build_groupsB!!&++. ;7CSFKK#99: : rcg}|D]#} |j|j|%|S#t$r}tj |Yd}~Kd}~wwxYwr )rTrrloggererror)rHidsrgies r _build_groupszEnvironment._build_groupssSB  d//34    Q s - AAAc#Ktj|j|jD]} |j |y#t $r}t j|Yd}~=d}~wwxYwwr ) itertoolschainr option_idsrrrr)rHrrs rrzEnvironment.groups_itersXoodnndooFF ''//G  Q s..A2AA2 A/A*%A2*A//A2c8|j|jSr )rrrGs rmandatory_groupszEnvironment.mandatory_groupss!!$..11rc8|j|jSr )rrrGs roptional_groupszEnvironment.optional_groupss!!$//22r) r\r]r^rIrrrrrrrrs@rrrs?, 2233rrczeZdZfdZdZedZedZdZedZ edZ edZ xZ S) Groupc^tt| ||||_|j|_yr )rrrI _pkg_factoryrselected)rHrr pkg_factoryrs rrIzGroup.__init__"s' eT#D%0'  rc`|jDcgc]}|j|k(s|c}Scc}wr )packagestype)rHtype_pkgs r_packages_of_typezGroup._packages_of_type's)#}}B}E0A}BBBs++c@|jtjSr )rlibcompsPACKAGE_TYPE_CONDITIONALrGs rconditional_packageszGroup.conditional_packages*s%%h&G&GHHrc@|jtjSr )rrPACKAGE_TYPE_DEFAULTrGs rdefault_packageszGroup.default_packages.s%%h&C&CDDrcBt|j|jSr )rrrrGs r packages_iterzGroup.packages_iter2s4$$dmm44rc@|jtjSr )rrPACKAGE_TYPE_MANDATORYrGs rmandatory_packageszGroup.mandatory_packages6s%%h&E&EFFrc@|jtjSr )rrPACKAGE_TYPE_OPTIONALrGs roptional_packageszGroup.optional_packages:s%%h&D&DEErc.|jjSr )r uservisiblerGs rvisiblez Group.visible>sww"""r) r\r]r^rIrrrrrrrrrrs@rrr s% CIIEE5GGFF##rrceZdZdZej eejeeje eje iZ dZedZedZy)Packagez#Represents comps package data. :apic||_yr )rrHipkgs rrIzPackage.__init__Ls rc.|jjSr )rr!rGs rr!z Package.nameOsww||rc4|j|jSr )_OPT_MAPrrGs r option_typezPackage.option_typeTs}}TYY''rN)r\r]r^r_rr CONDITIONALrDEFAULTr MANDATORYrOPTIONALrrIrr!rr:rrrrBsg- ))K%%G''I&&H H((rrceZdZdZdZdZdZdZdZdZ e dZ dd Z dd Z d Ze d Zd ZddZddZdZe dZdZddZddZdZy)CompscTtj|_t|_yr )rrrrCrrGs rrIzComps.__init__\s.."h rc,t|jSr )rrrGs r__len__z Comps.__len__`s%dgg..rcDt||j|jSr )rr _group_by_id)rH icategorys r_build_categoryzComps._build_categorycs 4;;0A0ABBrcDt||j|jSr )rrr)rH ienvironments r_build_environmentzComps._build_environmentfs<d6G6GHHrcDt||j|jSr )rr_build_package)rHigroups rrzComps._build_groupisVT[[$*=*=>>rct|Sr )rrs rrzComps._build_packagels t}rctj} |j||xj|z c_y#tj$r+|j }t dj |wxYw)N )rr fromxml_f ParserErrorget_last_errorsrrPr)rHfnrerrorss r_add_from_xml_filenamezComps._add_from_xml_filenameosh  / OOB  5## /**,FSXXf-. . /s =>A;c4t|jSr )rcategories_iterrGs rr zComps.categoriesxsD((*++rc~tjj|sJ|j||}t |Sr )r ris_string_typecategories_by_patternr)rHr,r-catss rcategory_by_patternzComps.category_by_pattern}s7xx&&w///))'>B!$''rcrtjj|sJt|||jSr )r rrr2r )rHr,r-s rrzComps.categories_by_patterns-xx&&w///7NDOODDrcBfdjjDS)Nc3@K|]}j|ywr )r).0crHs r z(Comps.categories_iter..sD1CA$$Q'1C)rr rGs`rrzComps.categories_itersD1C1CDDrc@t|jtSN)key)sortedenvironments_iterr8rGs rrzComps.environmentssd,,.4EFFrctjjsJtjjfd|j DS)Nc3BK|]}|jk(s|ywr r")rr/r"s rrz+Comps._environment_by_id..sP)AAQTTRZa)A)r rrrr)rHr"s `r_environment_by_idzComps._environment_by_ids=xx&&r***xx~~P)?)?)APPPrc~tjj|sJ|j||}t |Sr )r rrrr)rHr,r-rs renvironment_by_patternzComps.environment_by_patterns7xx&&w///++G^D!$''rctjj|sJt|j }t |||}t |tSr)r rrrrr2rr8)rHr,r-r found_envss rrzComps.environments_by_patternsIxx&&w///D**,- .$? j&788rcBfdjjDS)Nc3@K|]}j|ywr )r)rrrHs rrz*Comps.environments_iter..sI4Hq''*4Hr)rrrGs`rrzComps.environments_itersIDGG4H4HIIrc@t|jtSr)rrr8rGs rrz Comps.groupssd&&(.?@@rctjjsJtjjfd|j DS)Nc3BK|]}|jk(s|ywr r")rr/id_s rrz%Comps._group_by_id..sK);Aqtts{a);r#)r rrrr)rHr.s `rrzComps._group_by_ids=xx&&s+++xx~~K)9)9);KKKrc~tjj|sJ|j||}t |Sr )r rrrrrHr,r-rs rgroup_by_patternzComps.group_by_patterns7xx&&w///%%g~>!$''rctjj|sJt||t |j }t |tSr)r rrr2rrrr8r0s rrzComps.groups_by_patternsDxx&&w///7ND9I9I9K4LMd 122rcBfdjjDS)Nc3@K|]}j|ywr )r)rr/rHs rrz$Comps.groups_iter..s=n!!!$nr)rrrGs`rrzComps.groups_iters=dggnn==rN)F)r\r]r^rIrrrrrr rr rrrrr$r&rrrrr1rrr:rrrrYs/CI?,,( E EGGQ( 9JAAL( 3 >rrc$eZdZdZdZdZdZy) CompsTransPkgctjj|rd|_||_d|_d|_yt|tjjrJd|_|j|_|jtjz|_d|_y|j|_|j|_|jtjz|_|j |_y)NFT)r rr basearchonlyr!optionalrequires isinstancelibdnf transactionCompsGroupPackagegetNamegetPackageTyperrr)rH pkg_or_names rrIzCompsTransPkg.__init__s 88 " "; / %D #DI DM DM  V%7%7%I%I J!&D #++-DI'6688;Y;YYDM DM!, 8 8D #((DI',,x/M/MMDM'00DMrc|j|jk(xrO|j|jk(xr4|j|jk(xr|j|jk(Sr )r!r8r9r:rHothers r__eq__zCompsTransPkg.__eq__s\ UZZ'0!!U%7%770 /0 / 1rc|jSr r!rGs r__str__zCompsTransPkg.__str__s yyrcpt|j|j|j|jfSr )hashr!r8r9r:rGs r__hash__zCompsTransPkg.__hash__s1TYY%%MMMM#$ $rN)r\r]r^rIrErHrKr:rrr6r6s101 $rr6ceZdZdZdZdZedZedZ e jdZ edZ e jdZ ed Z e jd Z ed Z e jd Z y )TransactionBunchc|t|_t|_t|_t|_yr )r)_install _install_opt_remove_upgraderGs rrIzTransactionBunch.__init__s' Eu  rcn|jj|j|jj|j|jj|j|j|jz|jz |jz |jz |_|Sr )rOrkrPrRrQrCs r__iadd__zTransactionBunch.__iadd__s U^^,   !3!34 U^^, u}}4 MM --.04 >  rct|jt|jzt|jzt|jzSr )rinstall install_optupgraderemoverGs rrzTransactionBunch.__len__s@4<< 3t'7'7#883t||;LLsSWS^S^O___rc|D]>}t|tr|j|%|jt|@yr )r;r6r*)paramvalitems r _set_valuezTransactionBunch._set_values2D$ . $ --. rc|jS)z Packages to be installed with strict=True - transaction will fail if they cannot be installed due to dependency errors etc. )rOrGs rrVzTransactionBunch.installs }}rc<|j|j|yr )r^rOrHvalues rrVzTransactionBunch.install   u-rc|jS)zw Packages to be installed with strict=False - they will be skipped if they cannot be installed )rPrGs rrWzTransactionBunch.install_opt s    rc<|j|j|yr )r^rPras rrWzTransactionBunch.install_opts ))51rc|jSr )rQrGs rrYzTransactionBunch.removes ||rc<|j|j|yr )r^rQras rrYzTransactionBunch.removes  e,rc|jSr )rRrGs rrXzTransactionBunch.upgrade!s }}rc<|j|j|yr )r^rRras rrXzTransactionBunch.upgrade%rcrN)r\r]r^rIrTrr`r^rrVsetterrWrYrXr:rrrMrMs `// ^^..!!22 ]]-- ^^..rrMceZdZdZedZedZegfdZdZdZ ddZ d Z d Z dd Z d Zd ZdZy)Solverc.||_||_||_yr )rfr _reason_fn)rHrfr reason_fns rrIzSolver.__init__+s  #rcT|jDchc]}|jc}Scc}wr )rr")rxrs r_mandatory_group_setzSolver._mandatory_group_set0s&"%"6"67"63"6777s%c|j|jz|jz|jzDchc]}|j c}Scc}wr )rrrrr?)rrs r_full_package_setzSolver._full_package_set4s^),)?)?$$*%'*'<'<*=((*)**)# *)* **sAcvfd}t}|tzr!|j||j|tzr!|j||j |t zr!|j||j|tzr!|j||j|S)NcJ|Dcgc]}|jvr|c}Scc}wr rG)pkgsrr>s rfilterz$Solver._pkgs_of_type..filter<s2#'04Cxxw.40 00s ) r)rrkrrrrrrr)r7 pkg_typesr>rwrvs ` r _pkgs_of_typezSolver._pkgs_of_type:s 0u y KKu778 9 w  KKu556 7 x  KKu667 8 { " KKu99: ; rctjj|sJ|jjj |Sr )r rrrfr7is_removable_pkg)rHpkg_names r_removable_pkgzSolver._removable_pkgKs5xx&&x000||!!228<r?r@ comps_envswdb_envtrans comps_groups r_environment_installzSolver._environment_installSs,xx&&v...JJ11&9 QDEF ST T<<##''  @Q@QS\]   * "$55K+..N"B T((GVT TE   knndI > 6 %44K+..N"B   knneX >5  rctjj|dusJ|jjj |}|st td|z|jjj|t}t|jDcgc]}|jc}}|D](}|j|s||j|z }*|Scc}w)NTz%Environment id '%s' is not installed.)r rrrfrxr[rrrYrMr) getGroupsrnr _group_remove)rHrrrrrrrs r_environment_removezSolver._environment_removejsxx&&v.$666<<##''/QFG&PQ Q ) "1C1C1EF1EA1EFG !H&&x0 T''1 1E" Gs(C5ctjj|sJ|jj |}|j j j|}|sttd|z|sttd|zt|jDcgc]}|jc}}|j}|j j j|j|j |j"|}t%}|j&D]}|j|vrN|j j(j|jr>||j+|jz }n||j-|j|z }|j/|jdt0|j2D]~}|j|vrM|j j(j|jr||j+|jz }|j/|jdt4|j j j7||Scc}w)Nz"Environment '%s' is not installed.z"Environment '%s' is not available.TF)r rrrr$rfrxr[rrr)rrngetPackageTypesrr"r!r+rMrr7_group_upgraderrrrrrX) rHrrrrrold_setrxrrs r_environment_upgradezSolver._environment_upgradezsxx&&v...JJ11&9 <<##''/QCDvMN NQCDvMN Nx/A/A/CD/C!q||~/CDE,,. <<##'' inniFWFWYbc "$55K~~(<<%%))+..9T00@@E,,[^^YGG   knndI >6%44K~~(T\\-?-?-C-CKNN-S,,[^^<<   knneX > 5   * 1Es+J cRtjj|sJ|jj |}|s t t dt|z|jjj||j|j|}|jD]l}|jjj|jdk7} |j!|j| t"j$|j&n|jjj)|t+} |r/| j(j-|j/||g| S| j0j-|j/||g| S)NzGroup id '%s' does not exist.r:)r>)r rrrrrrrrfr7rr!r+rswdbgetPackageCompsGroups addPackagerrrrVrMrkryrW) rHrrxr>r?r@r swdb_groupr pkg_installedrs rrzSolver._group_installsSxx&&x000jj--h7 Q>?#h-OP P\\''++Hk6F6F H[H[]fg ,,.C LL--CCCHHMQSSM  ! !#((M7;K;KCHH;U V/ "":. "  MM !3!3KTV!3!W X     $ $T%7%7 YXZ%7%[ \ rctjj|sJ|jjj |}|st td|z|jjj|t}|jDchc]$}|j|js#|&c}|_|Scc}w)Nr{) r rrrfr7r[rrrYrM getPackagesr}r?)rHrrrrs rrzSolver._group_removesxx&&x000\\''++H5 QGH8ST T !!*- "'1'='='?f'?4CVCVWZWbWbWdCe'?f  gs !$CCc tjj|sJ|jj |}|j j j|}g}|s'|r |jn|}ttd|z|sttd|z|j}t|jDcgc]}|jc}}|j|||} |j j j!||j"|j|}|j%D]l} |j j&j)| j"dk7} |j+| j"| t,j.| j0n|j j j3|t5} | D chc]} | j"|vs| c} | _|D chc] } | | D cgc]} | j"c} vr| "c} } | _| D chc]} | j"|vs| c} | _| Scc}wcc} wcc} wcc} } wcc} w)Nr{r|r:)r rrrrrfr7r[r+rrrr)rr?ryrr!rrrrrrrrXrMrVrY)rHrrrr>argumentrxrrrnew_setrrrr!s rrzSolver._group_upgrades xx&&x000jj--h7 \\''++H5 .9{**xHQGH8ST TQGH8ST T..0 J,B,B,DE,Dqqyy{,DEF$$[)WE\\''++Hk6F6F H[H[]fg ,,.C LL--CCCHHMQSSM  ! !#((M7;K;KCHH;U V/ "":. "(/K38873JK )0FG'DGSG'DDF (/G388w3FG  FL'DFGs6 I%,I*I* I4I/.I4I:I:/I4c|jjD]}|jj|}|js+t |j t |j z }|jjjj|}|D]}|jj|y)NrG) persistorrr7rpr) full_list pkg_excludesackqueryfilterm_goalrV)rHbaser7p_grpinstalled_pkg_namesinstalled_pkgsrs r'_exclude_packages_from_installed_groupsz.Solver._exclude_packages_from_installed_groupss^^**ENN((/E(3u/@/@+AA$!%!2!!F!FL_!F!`)CJJ&&s+* +rNTN)r\r]r^rIr`rqrsryr}rrrrrrrrr:rrrlrl*st$ 88** 02 ==. !F(:,rrlr)5 __future__rrrlibdnf.transactionr<dnf.exceptionsrdnf.i18nrr functoolsr r dnf.utilr%rUrrrMloggingrr#r5 getLoggerrr=CompsPackageType_CONDITIONALrCompsPackageType_DEFAULTrCompsPackageType_MANDATORYrCompsPackageType_OPTIONALr ALL_TYPESrrr2r8rAobjectrCrbrrrrrrr6rMrlr:rrrs_*'%'%    5 !  ==   99  ;;   :: ' !I - 8 ;  2O@D04 NVB>>B;;.(y(*%3)%3N #I #D(i(.d>Fd>L&$F&$P@.v@.Fv,Vv,r