�
oB�]c@s+d�Zd�Zd�Zdd�ZdS(cCsd||fS(s6Return a udev comparison clause, like `ACTION=="add"`.s%s=="%s"((tkeytvalue((s6/usr/lib/python2.7/site-packages/cloudinit/net/udev.pytcompose_udev_equalityscCsd||fS(sBReturn a udev attribute comparison clause, like `ATTR{type}=="1"`.sATTR{%s}=="%s"((t attributeR((s6/usr/lib/python2.7/site-packages/cloudinit/net/udev.pytcompose_udev_attr_equalityscCsd||fS(s4Return a udev assignment clause, like `NAME="eth0"`.s%s="%s"((RR((s6/usr/lib/python2.7/site-packages/cloudinit/net/udev.pytcompose_udev_settingscCsb|sd}ndjtdd�tdd�td|�td|�td |�g�}d
|S(s�Return a udev rule to set the name of network interface with `mac`.
The rule ends up as a single line looking something like:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
ATTR{address}="ff:ee:dd:cc:bb:aa", NAME="eth0"
s?*s, t SUBSYSTEMtnettACTIONtaddtDRIVERStaddresstNAMEs%s
(tjoinRRR(t interfacetmactdrivertrule((s6/usr/lib/python2.7/site-packages/cloudinit/net/udev.pytgenerate_udev_rules N(RRRtNoneR(((s6/usr/lib/python2.7/site-packages/cloudinit/net/udev.pyt<module>s |