o nnh5 @sddlmZddlmZddlmZddlmZddlm Z ddl m Z ddl m Z e Zddd dZddddZdddZeeZdS) ) annotations)Play)Block)Role)Task)Templar)DisplayTinclude_privateboolreturnset[str]c Cstdd}t|jj}t}t}ttttg}|D]}|j D]\}}|j r/| |q"| |q"qd|vr?| dd|vsGd|vrL| d|rT| |}n|}|d|S)zN this function returns the list of reserved names associated with play objectsN)loaderaction local_actionloopwith_ gather_subset)rset environmentglobalskeysrrrr fattributesitemsprivateaddunionremove) r templarpublicrresult class_listaclassnameattrr$@/usr/local/lib/python3.10/dist-packages/ansible/vars/reserved.pyget_reserved_namess(        r&Nmyvars list[str] additionallist[str] | NoneNonecCsL|durt}nt|}t|}|d||D] }td|qdS)zU this function warns if any variable passed conflicts with internally reserved names Nvarsz&Found variable using reserved name: %s)_RESERVED_NAMESrrdiscard intersectiondisplaywarning)r'r)reservedvarnamesvarnamer$r$r%warn_if_reservedFs  r5r"strcCs|tvSN)r-)r"r$r$r%is_reserved_nameTsr8)T)r r r r r7)r'r(r)r*r r+)r"r6r r ) __future__ransible.playbookransible.playbook.blockransible.playbook.roleransible.playbook.taskransible.templateransible.utils.displayrr0r&r5r8 frozensetr-r$r$r$r%s         (