
    >Tf                     r   d dl mZ d dlmZ d dlT d dlT d dlT d dlm	Z	 d dl
mZ d dlmZmZ d dlmZ d dlmZmZ d d	lmZ d d
lmZmZmZ d dlmZmZmZ d dlmZ d dl m!Z! d dl"m#Z#m$Z$ d dl%m&Z& d dl'T dZ( G d de          Z) G d dee          Z* G d dee          Z+ G d deee          Z, G d deee          Z- G d de          Z. G d de          Z/ G d d e/          Z0 G d! d"eee/          Z1 G d# d$e1          Z2 G d% d&ee          Z3 G d' d(ee          Z4 G d) d*e          Z5 G d+ d,e          Z6 G d- d.e          Z7 G d/ d0e          Z8 G d1 d2e	eee          Z9 G d3 d4ee          Z: G d5 d6e	ee          Z; G d7 d8ee          Z< G d9 d:ee          Z= G d; d<ee          Z> G d= d>ee          Z? G d? d@ej@                  ZA G dA dBeA          ZB G dC dDeBe)          ZC G dE dFeBe)          ZD G dG dHeBe)          ZE G dI dJeBe)          ZF G dK dLeBe)          ZG G dM dNeAe)          ZH G dO dPeAe)          ZI G dQ dRe)          ZJ G dS dTe)          ZK G dU dVe)          ZL G dW dXe          ZM G dY dZe          ZN G d[ d\e          ZO G d] d^e          ZPd_S )`    )forms)gettext_lazy)*)LocalConfigContextFilterForm)ConfigTemplate)ASNVRF)NetBoxModelFilterSetForm)ContactModelFilterFormTenancyFilterForm)User)BOOLEAN_WITH_BLANK_CHOICES
FilterFormadd_blank_choice)
ColorFieldDynamicModelMultipleChoiceFieldTagFilterField)FieldSet)NumberWithOptions)ClusterClusterGroup)L2VPN)$CableFilterFormConsoleConnectionFilterFormConsolePortFilterFormConsoleServerPortFilterFormDeviceBayFilterFormDeviceFilterFormDeviceRoleFilterFormDeviceTypeFilterFormFrontPortFilterFormInterfaceConnectionFilterFormInterfaceFilterFormInventoryItemFilterFormInventoryItemRoleFilterFormLocationFilterFormManufacturerFilterFormModuleFilterFormr(   ModuleBayFilterFormModuleTypeFilterFormPlatformFilterFormPowerConnectionFilterFormPowerFeedFilterFormPowerOutletFilterFormPowerPanelFilterFormPowerPortFilterFormRackFilterFormRackElevationFilterFormRackReservationFilterFormRackRoleFilterFormRackTypeFilterFormRearPortFilterFormRegionFilterFormSiteFilterFormSiteGroupFilterFormVirtualChassisFilterFormVirtualDeviceContextFilterFormc            
          e Zd Z ej         ed          d          Z ej         ed          d          Z ee	j
                                        d ed                    Z eej
                                        d ed                    Z eej
                                        ddd	d
 ed                    Z eej
                                        dddi ed                    Z eej
                                        dddd ed                    Z eej
                                        d ed                    Z eej
                                        d ed                    Z eej
                                        d ed                    Z eej
                                        ddddddd ed                    Z ej        ed ed                    ZdS )DeviceComponentFilterFormNameFlabelrequiredLabelRegionquerysetrA   r@   
Site group
$region_id$site_group_id	region_idgroup_idSiterE   rA   query_paramsr@   site_id$site_idLocation$location_idrO   location_idRackzVirtual ChassiszDevice typezDevice rolez$virtual_chassis_idz$device_type_idz$role_id)rO   rT   virtual_chassis_iddevice_type_idrole_idDevicezDevice StatuschoicesrA   r@   N) __name__
__module____qualname__r   	CharField_namer@   r   rC   objectsallrJ   	SiteGroupsite_group_idrL   rO   rQ   rT   rU   rack_idVirtualChassisrV   
DeviceTyperW   
DeviceRoledevice_role_idrY   	device_idMultipleChoiceFieldDeviceStatusChoicesdevice_status     :/var/www/html/netbox-4.1.3/netbox/dcim/forms/filtersets.pyr=   r=   =   s       5?aii  D EOajj  E 0/##%%akk  I
 43"&&((aoo  M
 .-!!##%(
 
 aii  G 21!%%''z
 a
mm  K .-!!##!)
 
 aii  G 98'++--a!""  
 54#''))a  N
 54#''))a  N
 0/##%%!)"7/!
 
 akk  I .E-#a    MMMrp   r=   c            	           e Zd ZeZ edddd           eddd ed          	          fZ eej	        
                                d
 ed                    Z ee          ZdS )r7   q	filter_idtag	parent_idcontactcontact_rolecontact_groupContactsra   FzParent regionrD   N)r\   r]   r^   rC   modelr   r`   	fieldsetsr   rb   rc   rv   r   ru   ro   rp   rq   r7   r7      s        Ek5+66NO!!J--PPPI 0/##%%a    I
 .

CCCrp   r7   c            	           e Zd ZeZ edddd           eddd ed          	          fZ eej	        
                                d
 ed                    Z ee          ZdS )r9   rs   rt   ru   rv   rw   rx   ry   rz   r{   FzParent grouprD   N)r\   r]   r^   rd   r|   r   r`   r}   r   rb   rc   rv   r   ru   ro   rp   rq   r9   r9      s        Ek5+66NO!!J--PPPI 0/"&&((a  I
 .

CCCrp   r9   c                      e Zd ZeZ eddd           edddd ed          	           ed
d ed          	           eddd ed          	          fZdZ e	j
         ed          ed          Z eej                                        d ed                    Z eej                                        d ed                    Z eej                                        d ed                    Z ee          ZdS )r8   rs   rt   ru   statusrJ   rK   asn_id
Attributesr{   tenant_group_id	tenant_idTenantrw   rx   ry   rz   )rt   rs   rJ   rK   StatusFr@   r[   rA   rC   rD   rF   ASNsN)r\   r]   r^   rL   r|   r   r`   r}   selector_fieldsr   rl   SiteStatusChoicesr   r   rC   rb   rc   rJ   rd   rK   r   r   r   ru   ro   rp   rq   r8   r8      sp       Ek5));
H11\??SSS"KaakkBBBNO!!J--PPP	I BO&U&akk!  F
 0/##%%akk  I
 /."&&((aoo  H
 -,""aii  F
 .

CCCrp   r8   c                      e Zd ZeZ eddd           edddddd	 ed
                     edd ed                     eddd ed                    fZ ee	j
                                        d ed                    Z eej
                                        d ed                    Z eej
                                        dddd ed                    Z eej
                                        dddd ed                    Z ej         ed          ed           Z ej         ed!          d"          Z ee          Zd#S )$r&   rs   rt   ru   rJ   re   rO   rv   r   facilityr   r{   r   r   r   rw   rx   ry   rz   FrC   rD   rF   rG   rH   rI   rL   rM   rP   )rJ   rO   Parentr   r   Facilityr?   N)r\   r]   r^   rQ   r|   r   r`   r}   r   rC   rb   rc   rJ   rd   re   rL   rO   rv   r   rl   LocationStatusChoicesr   r_   r   r   ru   ro   rp   rq   r&   r&      s       Ek5))oy+xQ[bcbcdpbqbqrrr"KaakkBBBNO!!J--PPP	I 0/##%%akk  I
 43"&&((aoo  M
 .-!!##%(
 
 aii  G 0/!%%''%!
 
 akk  I 'U&akk%  F
 ua
mm  H .

CCCrp   r&   c                   (    e Zd ZeZ ee          ZdS )r4   N)r\   r]   r^   RackRoler|   r   ru   ro   rp   rq   r4   r4      s"        E
.

CCCrp   r4   c                       e Zd Z ej         ed          ed          Z ej         ed          ed          Z	 ej
        dd          Z ej
        dd          Z ej        d ed           ej        e          	          Z ej         ed
           ee          d          Z ej         ed          dd          Z ej
         ed          dd          Z ej         ed           ee          d          ZdS )RackBaseFilterFormzForm factorFr   Width   )rA   	min_valuezDescending unitsr[   rA   r@   widgetAirflowWeight)r@   rA   r   z
Max weightWeight unitN)r\   r]   r^   r   rl   r`   RackFormFactorChoicesform_factorRackWidthChoiceswidthIntegerFieldu_heightstarting_unitNullBooleanFieldSelectr   
desc_unitsr   RackAirflowChoicesairflowDecimalFieldweight
max_weightChoiceFieldWeightUnitChoicesweight_unitro   rp   rq   r   r      s       +%+a%  K
 &E%ajj   E
 "u!  H 'E&  M ('a"##u|.
 
 
  J (e'a	ll  !344  G
  Uakk  F
 $#aoo  J
 $%#a  !233  KKKrp   r   c                   ,   e Zd ZeZ eddd           eddd ed                     ed	d
 ed                     eddd ed                    fZdZ e	e
j                                        d ed                    Z ee          ZdS )r5   rs   rt   ru   r   r   r   z	Rack Typer{   r   r   	Numberingr   r   r   r   rt   rs   manufacturer_idFManufacturerrD   N)r\   r]   r^   RackTyper|   r   r`   r}   r   r   r   rb   rc   r   r   ru   ro   rp   rq   r5   r5   -  s        Ek5))!!K..III,QQ{^^DDD<QQx[[III	I <O55%))++a  O
 .

CCCrp   r5   c                      e Zd ZeZ eddd           edddd ed          	           ed
d ed          	           edddddd ed          	           edddd ed          	           edd ed          	           eddd ed          	           ed d!d" ed#          	          fZd$Z e	e
j                                        d% ed&          '          Z e	ej                                        d%dd(i ed)          *          Z e	ej                                        d% ed+          '          Z e	ej                                        d%d,dd-i ed          .          Z ej         ed/          ed%0          Z e	ej                                        d%d, ed1          2          Z e	ej                                        d% ed3          '          Z e	ej                                        d%dd4i ed5          *          Z ej         ed6          d%7          Z ej         ed8          d%7          Z  e!e          Z"d9S ):r1   rs   rt   ru   rJ   re   rO   rT   rQ   r{   r   r   r   r   rX   r   rack_type_idserial	asset_tagrU   r   r   r   r   Hardwarer   r   r   r   r   r   r   rw   rx   ry   rz   )rt   rs   rJ   re   rO   rT   FrC   rD   rG   rL   rM   rF   NonerP   rE   rA   null_optionrN   r@   r   r   RolerE   rA   r   r@   r   $manufacturer_idz	Rack typeSerialr?   	Asset tagN)#r\   r]   r^   rU   r|   r   r`   r}   r   r   rC   rb   rc   rJ   rL   rO   rd   re   rQ   rT   r   rl   RackStatusChoicesr   r   rX   r   r   r   r   r_   r   r   r   ru   ro   rp   rq   r1   r1   >  sY       Ek5))oy-aaPZmm\\\"KaakkBBB9&7S^efefgmenenoooYQQz]]SSS,QQ{^^DDD<QQx[[IIINO!!J--PPP	I aO//##%%akk  I
 .-!!##
 aii  G 43"&&((aoo  M
 21!%%''z
 a
mm  K 'U&akk!  F
 .-!%%''aii	  G 65%))++a  O
 32!%%''1
 ann  L U_akk  F  ann  I .

CCCrp   r1   c                      e Zd Z eddd           eddddd ed	          
           edd ed          
           edddd ed          
           edd ed          
           eddd ed          
           eddd ed          
          fZ eej        	                                 ed          dd d!d"#          Z
d$S )%r2   rs   rt   ru   rJ   re   rO   rT   idrQ   r{   r   rX   Functiontyper   r   r   r   r   r   r   rw   rx   ry   rz   r   r   r   r   rU   FrP   rR   rS   )rE   r@   rA   rN   N)r\   r]   r^   r   r`   r}   r   rU   rb   rc   r   ro   rp   rq   r2   r2     s*       k5))oy-TUTUV`TaTabbb911Z==999(Kaa
mmLLL"KaakkBBBNO!!J--PPP<QQx[[IIII 
)	(!!##aii!)
 
	
 
 
BBBrp   r2   c                      e Zd ZeZ eddd           ed ed                     eddd	d
d ed                     edd ed                    fZ ee	j
                                        d ed                    Z eej
                                        d ed                    Z eej
                                        dddd ed                    Z eej
                                        dd	di ed          d          Z eej
                                        dddd ed                    Z eej
                                        d ed                    Z ee          ZdS ) r3   rs   rt   ru   user_idr   r{   rJ   re   rO   rT   rf   rU   r   r   r   FrC   rD   rF   rG   rH   rI   rL   rM   rP   rQ   r   )rE   rA   rN   r@   r   rR   rS   N)r\   r]   r^   RackReservationr|   r   r`   r}   r   rC   rb   rc   rJ   rd   re   rL   rO   rQ   rT   rU   rf   r   r   r   ru   ro   rp   rq   r3   r3     s       Ek5))6+++oy-YZYZ[aYbYbccc"KaakkBBB	I 0/##%%akk  I
 43"&&((aoo  M
 .-!!##%(
 
 aii  G 21!%%''z
 a
mm  K .-!!##!)
 
 aii  G .-!!##aii  G
 .

CCCrp   r3   c            	       r    e Zd ZeZ eddd           eddd ed                    fZ ee          Z	d	S )
r'   rs   rt   ru   rw   rx   ry   rz   r{   N)
r\   r]   r^   r   r|   r   r`   r}   r   ru   ro   rp   rq   r'   r'     sZ        Ek5))NO!!J--PPPI .

CCCrp   r'   c                      e Zd ZeZ eddd           eddddd ed	          
           edd ed          
           eddddddddd ed          

  
         edd ed          
          fZdZ e	e
j                                        d ed                    Z e	ej                                        d ed                    Z ej         ed           d!          Z ej         ed"           ee          d#          Z ej         ed$           ee          d#          Z ej        d ed%           ej        e&          '          Z ej        d ed(           ej        e&          '          Z ej        d ed)           ej        e&          '          Z ej        d ed*           ej        e&          '          Z ej        d ed+           ej        e&          '          Z  ej        d ed,           ej        e&          '          Z! ej        d ed-           ej        e&          '          Z" ej        d ed.           ej        e&          '          Z# ej        d ed/           ej        e&          '          Z$ ej        d ed0           ej        e&          '          Z% ej        d ed1           ej        e&          '          Z& e'e          Z( ej)         ed          d!          Z* ej+         ed2           ee,          d#          Z-d3S )4r    rs   rt   ru   r   default_platform_idpart_numbersubdevice_roler   r   r{   has_front_imagehas_rear_imageImagesconsole_portsconsole_server_portspower_portspower_outlets
interfacespass_through_portsdevice_baysmodule_baysinventory_items
Componentsr   r   r   r   Fr   rD   zDefault platformPart numberr?   zSubdevice roler   r   zHas a front imager   r   zHas a rear imageHas console portsHas console server portsHas power portsHas power outletsHas interfacesHas pass-through portszHas device bayszHas module bayszHas inventory itemsr   N).r\   r]   r^   rh   r|   r   r`   r}   r   r   r   rb   rc   r   Platformr   r   r_   r   rl   r   SubdeviceRoleChoicesr   DeviceAirflowChoicesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ru   r   r   r   r   r   ro   rp   rq   r    r      sY       Ek5))4mEUW`ghghisgtgt	
 	
 	
 	"$411X;;GGG3]OUa -@QXYXYZfXgXg	
 	
 	
 	=qq{{;;;I <O55%))++a  O
 :9!%%''a"##  
 "%/a  K /U.a !!  !566  N
 (e'a	ll  !566  G
 -e,a#$$u|.
 
 
  O ,U+a"##u|.
 
 
  N +E*a#$$u|.
 
 
  M 251a*++u|.
 
 
   )%(a!""u|.
 
 
  K +E*a#$$u|.
 
 
  M ('a !!u|.
 
 
  J 0/a())u|.
 
 
   )%(a!""u|.
 
 
  K )%(a!""u|.
 
 
  K -e,a%&&u|.
 
 
  O .

CUakk  F $%#a  !233  KKKrp   r    c                   6   e Zd ZeZ eddd           eddd ed                     ed	d
dddd ed                     edd ed                    fZdZ e	e
j                                        d ed                    Z ej         ed          d          Z ej        d ed           ej        e                    Z ej        d ed           ej        e                    Z ej        d ed           ej        e                    Z ej        d ed           ej        e                    Z ej        d ed           ej        e                    Z ej        d ed            ej        e                    Z ee          Z ej         ed!           ee          d"          Z ej          ed          d          Z! ej"         ed#           ee#          d"          Z$d$S )%r*   rs   rt   ru   r   r   r   r   r{   r   r   r   r   r   r   r   r   r   r   r   Fr   rD   r   r?   r   r   r   r   r   r   r   r   r   r   r   N)%r\   r]   r^   
ModuleTyper|   r   r`   r}   r   r   r   rb   rc   r   r   r_   r   r   r   r   r   r   r   r   r   r   r   ru   rl   r   ModuleAirflowChoicesr   r   r   r   r   r   ro   rp   rq   r*   r*   \  sJ       Ek5))"M911Z==QQQ3]OUa qq	
 	
 	
 	=qq{{;;;I <O55%))++a  O
 "%/a  K +E*a#$$u|.
 
 
  M 251a*++u|.
 
 
   )%(a!""u|.
 
 
  K +E*a#$$u|.
 
 
  M ('a !!u|.
 
 
  J 0/a())u|.
 
 
   .

C'e'a	ll  !566  G
  Uakk  F $%#a  !233  KKKrp   r*   c                       e Zd ZeZ eej                                        d e	d                    Z
 ee          ZdS )r   FConfig templaterD   N)r\   r]   r^   ri   r|   r   r   rb   rc   r`   config_template_idr   ru   ro   rp   rq   r   r     s_        E88'++--a!""  
 .

CCCrp   r   c                       e Zd ZeZdZ eej        	                                d e
d                    Z eej        	                                d e
d                    Z ee          ZdS )r+   r   Fr   rD   r   N)r\   r]   r^   r   r|   r   r   r   rb   rc   r`   r   r   r   r   ru   ro   rp   rq   r+   r+     s        E;O55%))++a  O
 98'++--a!""  
 .

CCCrp   r+   c                   
   e Zd ZeZ eddd           eddddd ed	          
           edddddd ed          
           eddd ed          
           edd ed          
           eddd ed          
           edddd d!d" ed#          
           ed$d% ed&          
           ed'd(d)d*d+d, ed-          
          f	Zd.Z e	e
j                                        d/ ed0          1          Z e	ej                                        d/ ed2          1          Z e	ej                                        d/d3d4d5 ed6          7          Z e	ej                                        d/d8dd9i ed	          :          Z e	ej                                        d/d8d9d;d< ed=          :          Z e	ej                                        d/ ed>          1          Z e	ej                                        d/ ed?          1          Z e	ej                                        d/dd@i edA          7          Z e	ej                                        d/d8 edB          C          Z ej         edD          e d/E          Z! ej         edF           e"e#          d/E          Z$ ej%         edG          d/H          Z& ej%         edI          d/H          Z' ej%        d/ edJ          K          Z( e	e)j                                        d/ edL          1          Z* ej+        d/ edM           ej,        e-N          O          Z. ej+        d/ edP           ej,        e-N          O          Z/ ej+        d/ edQ           ej,        e-N          O          Z0 ej+        d/ edR           ej,        e-N          O          Z1 ej+        d/ edS           ej,        e-N          O          Z2 ej+        d/ edT           ej,        e-N          O          Z3 ej+        d/ edU           ej,        e-N          O          Z4 ej+        d/ edV           ej,        e-N          O          Z5 ej+        d/ edW           ej,        e-N          O          Z6 ej+        d/ edX           ej,        e-N          O          Z7 e	e8j                                        d/ ed&          1          Z9 e	e:j                                        d/ edY          1          Z; e<e          Z=dZS )[r   rs   rt   ru   rJ   re   rO   rT   rf   rQ   r{   r   rX   r   r   r   mac_address	Operationr   rW   platform_idr   r   r   r   rw   rx   ry   rz   r   r   r   r   r   r   r   cluster_group_id
cluster_idr   has_primary_ip
has_oob_ipvirtual_chassis_memberr   local_context_datahas_virtual_device_contextMiscellaneous)rt   rs   rJ   re   rO   rT   rf   FrC   rD   rF   rG   rH   rI   rL   rM   r   rP   r   rR   rS   rU   r   r   r   Modelr   r   r   r   r   r   r?   r   MAC addressrA   r@   r   Has a primary IPr   r   zHas an OOB IPzVirtual chassis memberr   r   r   r   r   r   zHas virtual device contextszCluster groupN)>r\   r]   r^   rY   r|   r   r`   r}   r   r   rC   rb   rc   rJ   rd   re   rL   rO   rQ   rT   rU   rf   ri   rX   r   r   rh   rW   r   r   r   rl   rm   r   r   r   r   r_   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ru   ro   rp   rq   r   r     s        Ek5))oy-YZYZ[eYfYfggg9i;\]\]^i\j\jkkk"$4m!!J--XXX"KaakkBBBNO!!J--PPP3]OUacw<	
 	
 	
 	#\)EEEl,DFZ\p(?##	
 	
 	
I$ lO//##%%akk  I
 43"&&((aoo  M
 .-!!##%(
 
 aii  G 21!%%''z
 a
mm  K .-!!##!)
 
 aii	 	 	G .-#''))aii  G
 65%))++a  O
 54#''))1
 ajj  N 21!%%''a
mm	  K 'U&akk#  F
 (e'a	ll  !566  G
 U_akk  F  ann  I "%/a  K 98'++--a!""  
 ,U+a"##u|.
 
 
  N ('a  u|.
 
 
  J 4U3a())u|.
 
 
   +E*a#$$u|.
 
 
  M 251a*++u|.
 
 
   )%(a!""u|.
 
 
  K +E*a#$$u|.
 
 
  M ('a !!u|.
 
 
  J 0/a())u|.
 
 
   "8!7a-..u|.
 
 
" " " 10$$&&a	ll  J
 76%))++a    
 .

CCCrp   r   c            	          e Zd ZeZ eddd           eddd ed                     ed	d
 ed                    fZ ee	j
                                        d ed                    Z ej         ed          d ee                    Z ej        d ed           ej        e                    Z ee          ZdS )r;   rs   rt   ru   devicer   r   r   r{   r   r   r   FrY   rD   r   r@   rA   r[   r   r   r   N)r\   r]   r^   VirtualDeviceContextr|   r   r`   r}   r   rY   rb   rc   r   r   rl   r   !VirtualDeviceContextStatusChoicesr   r   r   r   r   r   ru   ro   rp   rq   r;   r;     s/        !Ek5))8%5AAlOOLLL"KaakkBBBI
 -,##%%akk  F
 'U&akk  !BCC  F
 ,U+a"##u|.
 
 
  N .

CCCrp   r;   c                      e Zd ZeZ eddd           eddddd ed	          
          fZ ee	j
                                        d ed                    Z eej
                                        dddi ed                    Z ej         ed          ed          Z ej         ed          d          Z ej         ed          d          Z ee          ZdS )r(   rs   rt   ru   r   module_type_idr   r   r   r   r{   Fr   rD   r   TyperM   r   r   r   r?   r   N)r\   r]   r^   Moduler|   r   r`   r}   r   r   rb   rc   r   r   r  r   rl   ModuleStatusChoicesr   r_   r   r   r   ru   ro   rp   rq   r(   r(     sb       Ek5))"$4h+\]\]^h\i\ijjjI 65%))++a  O
 54#''))1
 aii  N 'U&akk#  F
 U_akk  F  ann  I .

CCCrp   r(   c            	          e Zd ZeZ eddd           eddd ed                     ed	d
 ed                    fZ ee	j
                                        d ed                    Z eej
                                        d ed                    Z eej
                                        dddd ed                    Z ee          ZdS )r:   rs   rt   ru   rJ   re   rO   rQ   r{   r   r   r   FrC   rD   rF   rG   rH   rI   rL   rM   N)r\   r]   r^   rg   r|   r   r`   r}   r   rC   rb   rc   rJ   rd   re   rL   rO   r   ru   ro   rp   rq   r:   r:     s2       Ek5))oyqq}}MMM"KaakkBBBI
 0/##%%akk  I
 43"&&((aoo  M
 .-!!##%(
 
 aii  G .

CCCrp   r:   c                   Z   e Zd ZeZ eddd           edddd ed          	           ed
ddddd ed          	           edd ed          	          fZ ee	j
                                        d ed                    Z eej
                                        dddi ed                    Z eej
                                        d ed          dddi          Z eej
                                        d ed          dddd           Z eej
                                        dddd!d"d# ed$                    Z ej         ed%           ee          d&          Z ej         ed'          d ee          (          Z e ed)          d*          Z ej         ed+          d*          Z ej          ed,           ee!          d&          Z" ej#         ed-          d ej$        e%.          /          Z& e'e          Z(d0S )1r   rs   rt   ru   rO   rT   rf   rk   rQ   r{   r   r   colorlengthlength_unitunterminatedr   r   r   r   FrC   rD   rJ   rG   rL   rM   r   rP   )rE   rA   r@   r   rN   rU   rR   rS   z$rack_idz
$tenant_id)rO   rT   rf   r   rY   r  r   r   r   Colorr?   LengthzLength unitUnterminatedr   r@   rA   r   N))r\   r]   r^   Cabler|   r   r`   r}   r   rC   rb   rc   rJ   rL   rO   rQ   rT   rU   rf   rY   rk   r   rl   r   CableTypeChoicesr   LinkStatusChoicesr   r   r	  r   r
  r   CableLengthUnitChoicesr  r   r   r   r  r   ru   ro   rp   rq   r   r     s<       Ek5))M9k*VVV7Hm^Z[Z[\hZiZijjj"KaakkBBB	I 0/##%%akk  I
 .-!!##
 aii  G 21!%%''a
mmz
  K .-!!##aii!)
 
	 	 	G 0/##%%!)!%	
 
 akk
 
 
I %5$aii  !122  D
 'U&akk  !233  F
 Jajj  E  Uakk  F $%#a  !788  K
 *5)au|.
 
 
  L .

CCCrp   r   c            
       &   e Zd ZeZ eddd           edddd ed          	           ed
dd ed          	          fZdZ e	e
j                                        d ed                    Z e	ej                                        d ed                    Z e	ej                                        dddd ed                    Z e	ej                                        ddddi ed                    Z ee          ZdS )r/   rs   rt   ru   rJ   re   rO   rT   rQ   r{   rw   rx   ry   rz   )rt   rs   rO   rT   FrC   rD   rF   rG   rH   rI   rL   rM   r   rP   r   N)r\   r]   r^   
PowerPanelr|   r   r`   r}   r   r   rC   rb   rc   rJ   rd   re   rL   rO   rQ   rT   r   ru   ro   rp   rq   r/   r/   >  s       Ek5))oy-aaPZmm\\\NO!!J--PPPI
 CO//##%%akk  I
 43"&&((aoo  M
 .-!!##%(
 
 aii  G 21!%%''z
 a
mm  K .

CCCrp   r/   c                   r   e Zd ZeZ eddd           eddddd ed	          
           edd ed          
           eddddddd ed          
          fZ ee	j
                                        d ed                    Z eej
                                        d ed                    Z eej
                                        dddi ed                    Z eej
                                        ddddi ed                     Z eej
                                        ddddi ed!                     Z ej         ed"          ed#          Z ej         ed$           ee          d#          Z ej         ed%           ee          d#          Z ej         ed&           ee          d#          Z  ej!         ed'          d(          Z" ej!         ed)          d(          Z# ej!         ed*          d(          Z$ e%e          Z&d+S ),r-   rs   rt   ru   rJ   re   rO   power_panel_idrf   rQ   r{   r   r   r   r   r   supplyphasevoltageamperagemax_utilizationr   FrC   rD   rF   rG   rL   rM   r   rP   zPower panelr   rU   r   r   r  SupplyPhaseVoltager?   AmperagezMax utilizationN)'r\   r]   r^   	PowerFeedr|   r   r`   r}   r   rC   rb   rc   rJ   rd   re   rL   rO   r  r  rU   rf   r   rl   PowerFeedStatusChoicesr   r   r   PowerFeedTypeChoicesr   PowerFeedSupplyChoicesr  PowerFeedPhaseChoicesr  r   r  r  r  r   ru   ro   rp   rq   r-   r-   e  sE       Ek5))oy:JI\]\]^h\i\ijjj"KaakkBBB68WiM^efefgsetetuuu	I 0/##%%akk  I
 43"&&((aoo  M
 .-!!##
 aii  G 54#''))z
 a  N .-!!##z
 aii  G 'U&akk&  F
 5aii  !566  D
 Uakk  !788  F
 Eajj  !677  E
 !e a	ll  G "u!a
mm  H )e(a!""  O .

CCCrp   r-   c                       e Zd Z ej         ed          d ej        e                    Z ej         ed          d ej        e                    Z	dS )CabledFilterFormCabledFr   r  OccupiedN)
r\   r]   r^   r   r   r`   r   r   cabledoccupiedro   rp   rq   r(  r(    s        #U#akku|.
 
 
  F &u%a
mmu|.
 
 
  HHHrp   r(  c                   d    e Zd Z ej         ed          d ej        e                    ZdS )PathEndpointFilterForm	ConnectedFr   r  N)	r\   r]   r^   r   r   r`   r   r   	connectedro   rp   rq   r.  r.    sN        &&annu|.
 
 
  IIIrp   r.  c                   v   e Zd ZeZ eddd           edddd ed          	           ed
dddd ed          	           eddddd ed          	           eddd ed          	          fZ ej	         ed          e
d          Z ej	         ed          ed          Z ee          ZdS )r   rs   rt   ru   ra   r@   r   speedr   r{   rJ   re   rO   rT   rf   rQ   rW   rj   rk   rn   rV   rY   r+  r0  r,  
Connectionr  Fr   SpeedN)r\   r]   r^   ConsolePortr|   r   r`   r}   r   rl   ConsolePortTypeChoicesr   ConsolePortSpeedChoicesr2  r   ru   ro   rp   rq   r   r     s+       Ek5))&',HHHoy-YZYZ[eYfYfggg._Nbijijksitit	
 	
 	
 	;
<IIII %5$aii&  D
 &E%ajj'  E
 .

CCCrp   r   c                   v   e Zd ZeZ eddd           edddd ed          	           ed
dddd ed          	           eddddd ed          	           eddd ed          	          fZ ej	         ed          e
d          Z ej	         ed          ed          Z ee          ZdS )r   rs   rt   ru   ra   r@   r   r2  r   r{   rJ   re   rO   rT   rf   rQ   rW   rj   rk   rn   rV   rY   r+  r0  r,  r3  r  Fr   r4  N)r\   r]   r^   ConsoleServerPortr|   r   r`   r}   r   rl   r6  r   r7  r2  r   ru   ro   rp   rq   r   r     s'       Ek5))&',HHHoy-YZYZ[eYfYfggg._Nb8	
 	
 	
 	;
<III	I %5$aii&  D
 &E%ajj'  E
 .

CCCrp   r   c                   <   e Zd ZeZ eddd           eddd ed                     ed	d
ddd ed                     eddddd ed                     eddd ed                    fZ ej	         ed          e
d          Z ee          ZdS )r0   rs   rt   ru   ra   r@   r   r   r{   rJ   re   rO   rT   rf   rQ   rW   rj   rk   rn   rV   rY   r+  r0  r,  r3  r  Fr   N)r\   r]   r^   	PowerPortr|   r   r`   r}   r   rl   PowerPortTypeChoicesr   r   ru   ro   rp   rq   r0   r0     s        Ek5))&qq???oy-YZYZ[eYfYfggg._Nbijijksitit	
 	
 	
 	;
<IIII %5$aii$  D
 .

CCCrp   r0   c                   <   e Zd ZeZ eddd           eddd ed                     ed	d
ddd ed                     eddddd ed                     eddd ed                    fZ ej	         ed          e
d          Z ee          ZdS )r.   rs   rt   ru   ra   r@   r   r   r{   rJ   re   rO   rT   rf   rQ   rW   rj   rk   rn   rV   rY   r+  r0  r,  r3  r  Fr   N)r\   r]   r^   PowerOutletr|   r   r`   r}   r   rl   PowerOutletTypeChoicesr   r   ru   ro   rp   rq   r.   r.     s        Ek5))&qq???oy-YZYZ[eYfYfggg._Nb8	
 	
 	
 	;
<III	I %5$aii&  D
 .

CCCrp   r.   c                   L   e Zd ZeZ eddd           edddddd	d
d ed          	  	         edddd ed                     edd ed                     edddd ed                     eddddd ed                      ed!d"d#d$d%d& ed'                     ed(d)d* ed+                    fZd,Z e	e
j                                        d-d#d.i ed/          0          Z ej         ed1          ed-2          Z ej         ed3          ed-2          Z ej         ed4          d- ee5          6          Z ej         ed7          ed-2          Z ej         ed8          d- ej        e9          6          Z ej         ed:          d- ej        e9          6          Z ej        d- ed;          <          Z  ej        d- ed=          <          Z! ej        e"d- ed>          ?          Z# ej        e$d- ed@          ?          Z% ej        e&d- edA          ?          Z' ej        e(d- edB          ?          Z) ej        d- edC          <          Z* ej        d- edD          <          Z+ ej        d- edE          dFdGH          Z, e	e-j                                        d- edI          J          Z. e	e/j                                        d- edK          J          Z0 e1e          Z2dLS )Mr#   rs   rt   ru   ra   r@   kindr   r2  duplexenabled	mgmt_onlyr   r{   vrf_idl2vpn_idr   wwn
Addressingpoe_modepoe_typePoErf_role
rf_channelrf_channel_widthtx_powerWirelessrJ   re   rO   rT   rf   rQ   rW   rj   rk   rn   rV   vdc_idrY   r+  r0  r,  r3  )rt   rs   rk   Fz
$device_idzVirtual Device ContextrM   Kindr   r  r4  )optionsr  DuplexEnabledr   z	Mgmt onlyr   r   WWNzPoE moderZ   zPoE typezWireless rolezWireless channelzChannel frequency (MHz)zChannel width (MHz)zTransmit power (dBm)r      )rA   r@   r   	max_valuer	   rD   r   N)3r\   r]   r^   	Interfacer|   r   r`   r}   r   r   r   rb   rc   rQ  r   rl   InterfaceKindChoicesrA  InterfaceTypeChoicesr   r   r   InterfaceSpeedChoicesr2  InterfaceDuplexChoicesrB  r   r   r   rC  rD  r_   r   rG  InterfacePoEModeChoicesrI  InterfacePoETypeChoicesrJ  WirelessRoleChoicesrL  WirelessChannelChoicesrM  rf_channel_frequencyrN  rO  r	   rE  r   rF  r   ru   ro   rp   rq   r#   r#   +  s       Ek5))&&'8YP[bcbcdpbqbqrrr:}e!!L//RRRZaahh777L*<jqqQ[}}]]]oy-YZYZ[eYfYfggg._Nbdl8	
 	
 	
 	;
<IIII 6O,,%-1133
 a())  F %5$aii$  D
 %5$aii$  D
 Eajj  )
 
 
  E 'U&akk&  F
 %e$a	llu|.
 
 
  G '&annu|.
 
 
  I "%/a  K %/ahh  C )u('a
mm  H
 )u('a
mm  H
 (e'#a    G
 +*&a"##  J
 .5-a)**   *u)a%&&   "u!a&''	  H -,""ahh  F
 /.""$$ajj  H
 .

CCCrp   r#   c                   h   e Zd Z eddd           edddd ed          	           ed
dddd ed          	           eddddd ed          	           edd ed          	          fZeZ ej	         ed          e
d          Z e ed          d          Z ee          ZdS )r!   rs   rt   ru   ra   r@   r   r	  r   r{   rJ   re   rO   rT   rf   rQ   rW   rj   rk   rn   rV   rY   r+  r,  r  r  Fr   r  r?   N)r\   r]   r^   r   r`   r}   	FrontPortr|   r   rl   PortTypeChoicesr   r   r	  r   ru   ro   rp   rq   r!   r!     s#       k5))&',HHHoy-YZYZ[eYfYfggg._Nbijijksitit	
 	
 	
 	:AAgJJ777I E$5$aii  D
 Jajj  E .

CCCrp   r!   c                   h   e Zd ZeZ eddd           edddd ed          	           ed
dddd ed          	           eddddd ed          	           edd ed          	          fZ ej	         ed          e
d          Z e ed          d          Z ee          ZdS )r6   rs   rt   ru   ra   r@   r   r	  r   r{   rJ   re   rO   rT   rf   rQ   rW   rj   rk   rn   rV   rY   r+  r,  r  r  Fr   r  r?   N)r\   r]   r^   RearPortr|   r   r`   r}   r   rl   re  r   r   r	  r   ru   ro   rp   rq   r6   r6     s       Ek5))&',HHHoy-YZYZ[eYfYfggg._Nb8	
 	
 	
 	:AAgJJ777	I %5$aii  D
 Jajj  E .

CCCrp   r6   c                      e Zd ZeZ eddd           eddd ed                     ed	d
ddd ed                     eddddd ed                    fZ ee          Z	 e
j         ed          d          ZdS )r)   rs   rt   ru   ra   r@   positionr   r{   rJ   re   rO   rT   rf   rQ   rW   rj   rk   rn   rV   rY   PositionFr?   N)r\   r]   r^   	ModuleBayr|   r   r`   r}   r   ru   r   r_   ri  ro   rp   rq   r)   r)     s        Ek5))*11\??CCCoy-YZYZ[eYfYfggg._Nb8	
 	
 	
	I .

Cua
mm  HHHrp   r)   c                       e Zd ZeZ eddd           edd ed                     edd	d
dd ed                     eddddd ed                    fZ ee          Z	dS )r   rs   rt   ru   ra   r@   r   r{   rJ   re   rO   rT   rf   rQ   rW   rj   rk   rn   rV   rY   N)
r\   r]   r^   	DeviceBayr|   r   r`   r}   r   ru   ro   rp   rq   r   r     s        Ek5))qq777oy-YZYZ[eYfYfggg._Nb8	
 	
 	
	I .

CCCrp   r   c                   X   e Zd ZeZ eddd           edddddd	d
 ed                     eddddd ed                     eddddd ed                    fZ ee	j
                                        d ed                    Z eej
                                        d ed                    Z ej         ed          d          Z ej         ed          d          Z ej         ed           d ej        e!          "          Z ee          Zd#S )$r$   rs   rt   ru   ra   r@   rX   r   r   r   
discoveredr   r{   rJ   re   rO   rT   rf   rQ   rW   rj   rk   rn   rV   rY   Fr   rD   r   r   r?   r   
Discoveredr   r  N)r\   r]   r^   InventoryItemr|   r   r`   r}   r   InventoryItemRolerb   rc   rX   r   r   r   r_   r   r   r   r   r   ro  r   ru   ro   rp   rq   r$   r$     s       Ek5))GY(98[R^<	
 	
 	
 	oy-YZYZ[eYfYfggg._Nb8	
 	
 	
I .-"*..00aii  G
 65%))++a  O
 U_akk  F  ann  I ('aoou|.
 
 
  J .

CCCrp   r$   c                   (    e Zd ZeZ ee          ZdS )r%   N)r\   r]   r^   rr  r|   r   ru   ro   rp   rq   r%   r%     s"        E
.

CCCrp   r%   c                   .   e Zd Z eej                                        d ed                    Z ee	j                                        dddi ed                    Z
 eej                                        ddd	i ed
                    ZdS )r   FrC   rD   rJ   rG   rL   rM   rO   rP   rY   Nr\   r]   r^   r   rC   rb   rc   r`   rJ   rL   rO   rY   rk   ro   rp   rq   r   r   $          //##%%akk  I
 .-!!##
 aii  G 0/##%%z
 akk  IIIrp   r   c                   .   e Zd Z eej                                        d ed                    Z ee	j                                        dddi ed                    Z
 eej                                        ddd	i ed
                    ZdS )r,   FrC   rD   rJ   rG   rL   rM   rO   rP   rY   Nru  ro   rp   rq   r,   r,   <  rv  rp   r,   c                   .   e Zd Z eej                                        d ed                    Z ee	j                                        dddi ed                    Z
 eej                                        ddd	i ed
                    ZdS )r"   FrC   rD   rJ   rG   rL   rM   rO   rP   rY   Nru  ro   rp   rq   r"   r"   T  rv  rp   r"   N)Qdjangor   django.utils.translationr   r`   dcim.choicesdcim.constantsdcim.modelsextras.formsr   extras.modelsr   ipam.modelsr   r	   netbox.formsr
   tenancy.formsr   r   users.modelsr   utilities.formsr   r   r   utilities.forms.fieldsr   r   r   utilities.forms.renderingr   utilities.forms.widgetsr   virtualization.modelsr   r   
vpn.modelsr   wireless.choices__all__r=   r7   r9   r8   r&   r4   r   r5   r1   r2   r3   r'   r    r*   r   r+   r   r;   r(   r:   r   r/   r-   Formr(  r.  r   r   r0   r.   r#   r!   r6   r)   r   r$   r%   r   r,   r"   ro   rp   rq   <module>r     s         6 6 6 6 6 6             5 5 5 5 5 5 ( ( ( ( ( (                 1 1 1 1 1 1 C C C C C C C C       T T T T T T T T T T ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ . . . . . . 5 5 5 5 5 5 7 7 7 7 7 7 7 7          %PL L L L L 8 L L L^         -/G               02J               &(>@X      @-  -  -  -  - *,BD\ -  -  - `         1      
- - - - -1 - - -`         +      "H  H  H  H  H &(>@R H  H  H V    n   *2  2  2  2  2  13K 2  2  2 j         35M      } } } } }3 } } }@M M M M M3 M M M`         3               1       C  C  C  C  C  	C  C  C L              <              35FH`         F         02J      :Q  Q  Q  Q  Q ')A Q  Q  Q h$  $  $  $  $ 13K $  $  $ NL  L  L  L  L +-E L  L  L f    uz   "    -            24M      0         "8:S      2         02K      &         24M      (p  p  p  p  p 02K p  p  p f         *,E      .         )+D      0    3   $         3      '  '  '  '  ' 7 '  '  ' \         ":          *   0    
   0    J     rp   