t?|j@|j|j j.g|_!|StE|j@|j|j j.|_#|St1)Nr)r&r(r)r*r+)rr4r+)r(r8r+)rr(r8)$resolveget_dist download_infocanonical_name is_direct isinstanceinfor r$rAr(r)r*r+r r3rr relative_toas_posixr4rBr r8NotImplementedErrorr6rCr%r@r is_wheelr=filenamerEr:rD)clsireqbase_dirdistrJpackagelinks rfrom_install_requirementz Package.from_install_requirement^sX##%}}** }4../ >>-,,g6(&++//%))'4'9'9'L'L+00::!.!;!;  pcM..8$4[):):;< $X.!)--66&**33!!.!;!; %!`EM.. <$))00-//"0%))(--44!.!;!;#>1*++!$,,/GO-,,k:$))00-//M--.==$!% - 1 1#0#5#5#<#<&GN %1!]])--,1188%GM*++r)rUrrVrreturnr) r-r.r/r0r@rArBrCrDrE classmethodrZr1rrr?r?Ns` IGZ"C !)-I&-%)G ")!%E %(,F %,@@rr?ceZdZUdZded<dZded<ejeZ ded<d d Z e d d Z y )Pylockz1.0r% lock_versionpip created_by)default_factoryz list[Package]packagesc^tjtj|tS)N) dict_factory)r dumps dataclassesasdictr")selfs ras_tomlzPylock.as_tomls}}[//CUVWWrc@|tfd|DdS)Nc3JK|]}tj|ywN)r?rZ).0rUrVs r z3Pylock.from_install_requirements..s&44T8Ds #c|jSrmrG)ps rz2Pylock.from_install_requirements..s affr)r )rc)sorted)rTinstall_requirementsrVs `rfrom_install_requirementsz Pylock.from_install_requirementss, 4%   rN)r[r%)rtzIterable[InstallRequirement]rVrr[r) r-r.r/r_r0rargfieldlistrcrjr\rur1rrr^r^saL# J/k//EHmEX  #?  KO      rr^)rrr[r)rzlist[tuple[str, Any]]r[zdict[str, Any])% __future__rrgrcollections.abcrrpathlibrtypingrr pip._vendorr pip._internal.models.direct_urlr r r pip._internal.models.linkr pip._internal.req.req_installrpip._internal.utils.urlsrtyping_extensionsrcompilerrr"r$r3r6r:r=r?r^r1rrrs" $!%II*<0& bjj!;<XV            PP Pf     r