Ë rYÖ¬Žk‰ãó.—dZddlZddlZddlZddlZ ddlZejZ e ej«dddœZdd„ZGd„d e«ZGd „d e«ZGd „d e«ZGd„de«Zy#e $rddlZejZYŒawxYw#e $rd„Z YŒlwxYw)z7New implementation of Visual Studio project generation.éNcó—||kD||kz S©N©)ÚaÚbs ú0/usr/lib/python3.12/site-packages/gyp/MSVSNew.pyÚcmpr s€Ø �‰E�a˜!‘eÑ Ðóz&{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}z&{2150E333-8FDC-42A3-9474-1A3956D46DE8})ÚprojectÚfoldercó—t|«t|«z}|jd«}t|«j«j «}d|ddzdz|ddzdz|ddzdz|ddzdz|dd zd z}|S) a#Returns a GUID for the specified target name. Args: name: Target name. seed: Seed for MD5 hash. Returns: A GUID-line string calculated from the name and seed. This generates something which looks like a GUID, but depends only on the name and seed. This means the same name/seed will always generate the same GUID, so that projects and solutions which refer to each other can explicitly determine the GUID to refer to explicitly. It also means that the GUID will not change when the project for a target is rebuilt. zutf-8Ú{NéÚ-é ééé Ú})ÚstrÚencodeÚ_new_md5Ú hexdigestÚupper)ÚnameÚseedÚto_hashÚdÚguids rÚMakeGuidr -s¢€ô �‹Iœ˜D› Ñ !€'Ø �N‰N˜7Ó #€'äˆwÓ×!Ñ!Ó#×)Ñ)Ó+€!à ��"�1�‰+˜Ñ ˜a  "˜gÑ %¨Ñ +¨a°°2¨hÑ 6¸Ñ <¸qÀÀB¸xÑ GØ ñ Ø�B�r�(ñ Ø ñ !€$à €+r có—eZdZd„Zd„Zy)ÚMSVSSolutionEntrycó‚—t|j|j«f|j|j«f«Sr)r rÚget_guid©ÚselfÚothers rÚ__cmp__zMSVSSolutionEntry.__cmp__Js.€ä �— ‘ ˜4Ÿ=™=›?Ð+¨e¯j©j¸%¿.¹.Ó:JÐ-KÓ LÐLr cót—|j|j«f|j|j«fkSr)rr$r%s rÚ__lt__zMSVSSolutionEntry.__lt__Ns,€Ø �I‰I�t—}‘}“Ð '¨5¯:©:°u·~±~Ó7GÐ*HÑ HÐHr N)Ú__name__Ú __module__Ú __qualname__r(r*rr rr"r"Is„òMóIr r"có"—eZdZdZ dd„Zd„Zy)Ú MSVSFolderz.Folder in a Visual Studio project or solution.Ncóú—|r||_n$tjj|«|_||_||_t t |xsg««|_t |xsg«|_td|_ y)aÄInitializes the folder. Args: path: Full path to the folder. name: Name of the folder. entries: List of folder entries to nest inside this folder. May contain Folder or Project objects. May be None, if the folder is empty. guid: GUID to use for folder, if not None. items: List of solution items to include in the folder project. May be None, if the folder does not directly contain items. r N) rÚosÚpathÚbasenamerÚsortedÚlistÚentriesÚitemsÚENTRY_TYPE_GUIDSÚentry_type_guid)r&r2rr6rr7s rÚ__init__zMSVSFolder.__init__Tsh€ñ Ø€d…iô—'‘'×"Ñ" 4Ó(€d„ià€D„IØ€D„Iôœ$˜wš}¨"Ó-Ó.€D„LÜ�e’k˜rÓ"€D„Jä+¨HÑ5€DÕr cój—|j€t|jd¬«|_|jS)NÚ msvs_folder)r)rr r2©r&s rr$zMSVSFolder.get_guidps(€Ø ‡y�yÐä˜4Ÿ9™9¨=Ô9€d„iØ �9‰9Ðr )NNNN)r+r,r-Ú__doc__r:r$rr rr/r/Qs„Ù6à26Ø$(ó6ó8r r/có0—eZdZdZ dd„Zd„Zd„Zd„Zy)Ú MSVSProjectzVisual Studio project.Nc óN—||_||_||_||_|xs?tjj tjj |««d|_t|xsg«|_ td|_ |r||_ ni|_ ||_ d|_y)a¹Initializes the project. Args: path: Absolute path to the project file. name: Name of project. If None, the name will be the same as the base name of the project file. dependencies: List of other Project objects this project is dependent upon, if not None. guid: GUID to use for project, if not None. spec: Dictionary specifying how to build this project. build_file: Filename of the .gyp file that the vcproj file comes from. config_platform_overrides: optional dict of configuration platforms to used in place of the default for this target. fixpath_prefix: the path used to adjust the behavior of _fixpath rr N)r2rÚspecÚ build_filer1Úsplitextr3rr5Ú dependenciesr8r9Úconfig_platform_overridesÚfixpath_prefixÚmsbuild_toolset) r&r2rrErrBrCrFrGs rr:zMSVSProject.__init__}s“€ð$€D„IØ€D„IØ€D„IØ €D„OàÒCœŸ™×(Ñ(¬¯©×)9Ñ)9¸$Ó)?Ó@ÀÑC€D„Iô˜\Ò/¨RÓ0€DÔä+¨IÑ6€DÔá Ø'@€dÕ$à')€dÔ$Ø(€DÔØ€DÕr có,—t|xsg«|_yr)r5rE)r&rEs rÚset_dependencieszMSVSProject.set_dependencies¢s€Ü˜\Ò/¨RÓ0€DÕr cóf—|j€t|j«|_|jSr)rr rr=s rr$zMSVSProject.get_guid¥s(€Ø ‡y�yÐô˜4Ÿ9™9Ó%€d„iØ �9‰9Ðr có—||_yr)rH)r&rHs rÚset_msbuild_toolsetzMSVSProject.set_msbuild_toolset¶s €Ø*€DÕr )NNNNNNN)r+r,r-r>r:rJr$rMrr rr@r@zs#„ÙàDHØKOØ $ó# òJ1òó"+r r@cóN—eZdZdZ dd„Zej jfd„Zy)Ú MSVSSolutionzVisual Studio solution.Ncó¢—||_||_||_t|xsg«|_|r |dd|_n ddg|_|j «y)a¹Initializes the solution. Args: path: Path to solution file. version: Format version to emit. entries: List of entries in solution. May contain Folder or Project objects. May be None, if the folder is empty. variants: List of build variant strings. If none, a default list will be used. websiteProperties: Flag to decide if the website properties section is generated. Nz Debug|Win32z Release|Win32)r2ÚwebsitePropertiesÚversionr5r6ÚvariantsÚWrite)r&r2rRr6rSrQs rr:zMSVSSolution.__init__¿sS€ð€D„IØ.€DÔØ€D„Lô˜š  2Ó&€D„Láà™q�k€d…mð% oÐ6€d„mð ‡J�J…Lr c óú —t«}|jdd}|rI|jd«}||vrŒ|j|«t |t «r||jz }|rŒIt |«}||j«}|jd|jj«z«|jd|jj«z«tjj|j«d}|D�]›}tjj!|j|«}|j#dd«xsd}|jd|j$›d |j&›d |›d |j)«›d � «|j*r|jd «t |t «rW|j,rK|jd «|j,D]} |jd| ›d| ›d�«Œ|jd«t |t.«rs|j0rg|jd«|j0D]6} |jd| j)«›d| j)«›d�«Œ8|jd«|jd«�Œž|jd«|jd«|j2D]} |jd| ›d| ›d�«Œ|jd«g} i} |D]O}t |t.«sŒ| j5|j)««|j6| |j)«<ŒQ| j9«|jd«| D]^}|j2D]M} | |j;| | «}|jd|›d| ›d|›d�«|jd|›d| ›d|›d�«ŒOŒ`|jd«|jd«|jd«|jd«t=|D�cgc]}t |t «sŒ|j‘Œ!c}«r|jd«|D]X}t |t «sŒ|jD]6}|jd|j)«›d|j)«›d�«Œ8ŒZ|jd«|jd«|j?«ycc}w)zfWrites the solution file to disk. Raises: IndexError: An entry appears multiple times. Nrz:Microsoft Visual Studio Solution File, Format Version %s z# %s Ú/Ú\Ú.z Project("z") = "z", "z" z– ProjectSection(WebsiteProperties) = preProject Debug.AspNetCompiler.Debug = "True" Release.AspNetCompiler.Debug = "False" EndProjectSection z- ProjectSection(SolutionItems) = preProject z z = z z EndProjectSection z4 ProjectSection(ProjectDependencies) = postProject z EndProject zGlobal z> GlobalSection(SolutionConfigurationPlatforms) = preSolution z EndGlobalSection z> GlobalSection(ProjectConfigurationPlatforms) = postSolution z .ActiveCfg = z .Build.0 = z2 GlobalSection(SolutionProperties) = preSolution z HideSolutionNode = FALSE z. GlobalSection(NestedProjects) = preSolution z EndGlobal ) Úsetr6ÚpopÚaddÚ isinstancer/r4r2ÚwriterRÚSolutionVersionÚ Descriptionr1ÚsplitÚgypÚcommonÚ RelativePathÚreplacer9rr$rQr7r@rErSÚappendrFÚsortÚgetÚanyÚclose)r&ÚwriterÚ all_entriesÚentries_to_checkÚeÚfÚsln_rootÚ relative_pathÚ folder_nameÚirÚvÚ config_guidsÚconfig_guids_overridesÚgÚnvÚsubentrys rrTzMSVSSolution.Writeås €ô“%€KØ—|‘|¡A�ÐÙ Ø × Ñ ˜qÓ !€að ˆkÑ Øà‡o�o�aÔô �A”zÔ "ؘAŸI™IÑ%Ðò ô˜Ó%€Kñ ˆt�y‰yÓ€A؇G�Gð $Ø&*§l¡l×&BÑ&BÓ&Dñ EôFà‡G�GˆJ˜Ÿ™×1Ñ1Ó3Ñ 3Ô4ô�w‰w�}‰}˜TŸY™YÓ'¨Ñ*€HÜ ˆÜ—j‘j×-Ñ-¨a¯f©f°hÓ?€mð"×)Ñ)¨#¨tÓ4Ò;¸€k؇g‚gØ × Ó Ø �&‹&Ú Ø �*‰*�,ð ô ð × Ò Ø �‰ð*ô +ô �A”zÔ "Ø �7Š7Ø �'‰'ÐDÔ EØ—7”7ˆaØ �GŠGªªAÐ.Õ /ðà �'‰'Ð+Ô ,ä �A”{Ô #Ø �>Š>Ø �'‰'ÐKÔ LØ—>”>ˆaØ �GŠG¨¯©­°q·z±zµ|ÐDÕ Eð"à �'‰'Ð+Ô ,à‡g�gÐÖðCðH‡G�GˆLÔð‡G�GÐ OÔPØ �]Œ]ˆØ‡g‚g¢1¢aÐ(Õ)ðà‡G�GÐ $Ô%ð€LØÐÛ ˆÜ �A”{Õ #Ø×јAŸJ™J›LÔ)Ø/0×/JÑ/JИqŸz™z›|Ò,ðð×ÑÔà‡G�GÐ OÔPÛ ˆØ�}Œ}ˆ!Ø # AÑ &× *Ñ *¨1¨aÓ 0ˆð �ŠÚ Ú Ú ð ô ð �ŠÚ Ú Ú ð õ ñðð"‡G�GÐ $Ô%ð‡G�GÐ CÔD؇G�GÐ .Ô/؇G�GÐ $Ô%ô ™{Ó H™{˜!¬j¸¼JÕ.GˆA�I‹I˜{Ñ HÔI؇g�gÐAÔBÛˆ!ܘ!œZÔ(Ø ØŸ œ ˆHØ �'Š' x×'8Ñ'8Õ':¸A¿J¹J½LÐIÕ Jñ"ðð ‡g�gÐ&Ô'à‡G�GˆOÔà‡G�G…Iùò Is Ð,S8ÑS8)NNT) r+r,r-r>r:rarbÚ WriteOnDiffrTrr rrOrO¼s&„Ùà;?Ø!%ó#ðLŸ™×/Ñ/ô|r rO)Úmsvs_new)r>r1ÚrandomÚsysÚ gyp.commonraÚhashlibÚmd5rÚ ImportErrorÚnewr Ú NameErrorrr8r Úobjectr"r/r@rOrr rÚr„s¼ðñ >ã Û Û ãð ÛØ �[‰[€(ð áð  €‡ � „ ð8Ø6ñÐóô8I˜ôIô#Ð"ô#ôR=+Ð#ô=+ôDe�6õeøðQòÛ Ø �W‰W‚(ðûðòôðús"”A.¥B Á.BÂB BÂB