
    ~i?                    J    d Z ddlmZ ddlZddlZddlZ G d de          ZdS )z
    advdefence

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)  # noqa: E501

    OpenAPI spec version: common-version
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
    )absolute_importNc                      e Zd ZdZd.dZd Zd Zd Zd Zd Z	d	 Z
d
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d  Z!d! Z"d" Z#d# Z$d$ Z%d% Z&d& Z'd' Z(d( Z)d) Z*d* Z+d+ Z,d, Z-d- Z.dS )/ADVDEFENCEApizNOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    Ref: https://github.com/swagger-api/swagger-codegen
    Nc                 >    |t          j                    }|| _        d S N)volcenginesdkcore	ApiClient
api_client)selfr
   s     s/root/.openclaw/workspace/.venvs/ark-sdk/lib/python3.11/site-packages/volcenginesdkadvdefence/api/advdefence_api.py__init__zADVDEFENCEApi.__init__   s!    *466J$    c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a  add_host_rule  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.add_host_rule(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param AddHostRuleRequest body: (required)
        :return: AddHostRuleResponse
                 If the method is called asynchronously,
                 returns the request thread.
        T_return_http_data_only	async_req)getadd_host_rule_with_http_infor   bodykwargsdatas       r   add_host_rulezADVDEFENCEApi.add_host_rule$   ]     ,0'(::k"" 	444TDDVDDD6T6tFFvFFTKr   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a  add_host_rule  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.add_host_rule_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param AddHostRuleRequest body: (required)
        :return: AddHostRuleResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   _preload_content_request_timeoutr   z?Got an unexpected keyword argument '%s' to method add_host_ruleNzBMissing the required parameter `body` when calling `add_host_rule`application/jsonAcceptContent-TypevolcengineSignz9/AddHostRule/2021-06-15/advdefence/post/application_json/POSTAddHostRuleResponseT
r   post_paramsfilesresponse_typeauth_settingsr   r   r   r   collection_formatsappendlocalssix	iteritems	TypeErrorr
   client_side_validation
ValueErrorselect_header_acceptselect_header_content_typecall_apir   r   r   r   
all_paramsparamskeyvalr(   path_paramsquery_paramsheader_paramsform_paramslocal_var_filesbody_paramsr'   s                  r   r   z*ADVDEFENCEApi.add_host_rule_with_http_info9       X
+&&&2333,---,---fX&677 	 	HC*$$/145   F3KK8?1 	cvV7K7K7=f~7MabbbV .K"&/"F"F #" #"h )-(R(R )" )"n% **''G#!/'jj--#)::.F#G#G#ZZ(:DAA#ZZ(:;;1 ( 3 3 	3r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a  batch_add_host_rule  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.batch_add_host_rule(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param BatchAddHostRuleRequest body: (required)
        :return: BatchAddHostRuleResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r   "batch_add_host_rule_with_http_infor   s       r   batch_add_host_rulez!ADVDEFENCEApi.batch_add_host_rule   ]     ,0'(::k"" 	:4:4JJ6JJJ<T<TLLVLLTKr   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a  batch_add_host_rule  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.batch_add_host_rule_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param BatchAddHostRuleRequest body: (required)
        :return: BatchAddHostRuleResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   zEGot an unexpected keyword argument '%s' to method batch_add_host_ruleNzHMissing the required parameter `body` when calling `batch_add_host_rule`r   r   r   r    z>/BatchAddHostRule/2021-06-15/advdefence/post/application_json/r!   BatchAddHostRuleResponseTr#   r)   r4   s                  r   rA   z0ADVDEFENCEApi.batch_add_host_rule_with_http_info       X
+&&&2333,---,---fX&677 	 	HC*$$57:;   F3KK8?1 	ivV7K7K7=f~7MghhhV .K"&/"F"F #" #"h )-(R(R )" )"n% **''Lf#!4'jj--#)::.F#G#G#ZZ(:DAA#ZZ(:;;1 ( 3 3 	3r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a  batch_del_host_rule  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.batch_del_host_rule(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param BatchDelHostRuleRequest body: (required)
        :return: BatchDelHostRuleResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r   "batch_del_host_rule_with_http_infor   s       r   batch_del_host_rulez!ADVDEFENCEApi.batch_del_host_rule   rC   r   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a  batch_del_host_rule  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.batch_del_host_rule_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param BatchDelHostRuleRequest body: (required)
        :return: BatchDelHostRuleResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   zEGot an unexpected keyword argument '%s' to method batch_del_host_ruleNzHMissing the required parameter `body` when calling `batch_del_host_rule`r   r   r   r    z>/BatchDelHostRule/2021-06-15/advdefence/post/application_json/r!   BatchDelHostRuleResponseTr#   r)   r4   s                  r   rH   z0ADVDEFENCEApi.batch_del_host_rule_with_http_info   rF   r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a	  batch_delete_fwd_rule  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.batch_delete_fwd_rule(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param BatchDeleteFwdRuleRequest body: (required)
        :return: BatchDeleteFwdRuleResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r   $batch_delete_fwd_rule_with_http_infor   s       r   batch_delete_fwd_rulez#ADVDEFENCEApi.batch_delete_fwd_ruleG  ]     ,0'(::k"" 	<4<TLLVLLL>T>tNNvNNTKr   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a  batch_delete_fwd_rule  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.batch_delete_fwd_rule_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param BatchDeleteFwdRuleRequest body: (required)
        :return: BatchDeleteFwdRuleResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   zGGot an unexpected keyword argument '%s' to method batch_delete_fwd_ruleNzJMissing the required parameter `body` when calling `batch_delete_fwd_rule`r   r   r   r    z@/BatchDeleteFwdRule/2021-06-15/advdefence/post/application_json/r!   BatchDeleteFwdRuleResponseTr#   r)   r4   s                  r   rM   z2ADVDEFENCEApi.batch_delete_fwd_rule_with_http_info\      X
+&&&2333,---,---fX&677 	 	HC*$$79<=   F3KK8?1 	kvV7K7K7=f~7MijjjV .K"&/"F"F #" #"h )-(R(R )" )"n% **''NPV#!6'jj--#)::.F#G#G#ZZ(:DAA#ZZ(:;;1 ( 3 3 	3r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a!  batch_switch_backup_servers  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.batch_switch_backup_servers(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param BatchSwitchBackupServersRequest body: (required)
        :return: BatchSwitchBackupServersResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r   *batch_switch_backup_servers_with_http_infor   s       r   batch_switch_backup_serversz)ADVDEFENCEApi.batch_switch_backup_servers  s]     ,0'(::k"" 	B4B4RR6RRRDTDTTTVTTTKr   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a0  batch_switch_backup_servers  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.batch_switch_backup_servers_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param BatchSwitchBackupServersRequest body: (required)
        :return: BatchSwitchBackupServersResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   zMGot an unexpected keyword argument '%s' to method batch_switch_backup_serversNzPMissing the required parameter `body` when calling `batch_switch_backup_servers`r   r   r   r    zF/BatchSwitchBackupServers/2021-06-15/advdefence/post/application_json/r!    BatchSwitchBackupServersResponseTr#   r)   r4   s                  r   rT   z8ADVDEFENCEApi.batch_switch_backup_servers_with_http_info  s    X
+&&&2333,---,---fX&677 	 	HC*$$=?BC   F3KK8?1 	qvV7K7K7=f~7MopppV .K"&/"F"F #" #"h )-(R(R )" )"n% **''TV\#!<'jj--#)::.F#G#G#ZZ(:DAA#ZZ(:;;1 ( 3 3 	3r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a  batch_upd_host_rule  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.batch_upd_host_rule(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param BatchUpdHostRuleRequest body: (required)
        :return: BatchUpdHostRuleResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r   "batch_upd_host_rule_with_http_infor   s       r   batch_upd_host_rulez!ADVDEFENCEApi.batch_upd_host_rule	  rC   r   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a  batch_upd_host_rule  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.batch_upd_host_rule_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param BatchUpdHostRuleRequest body: (required)
        :return: BatchUpdHostRuleResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   zEGot an unexpected keyword argument '%s' to method batch_upd_host_ruleNzHMissing the required parameter `body` when calling `batch_upd_host_rule`r   r   r   r    z>/BatchUpdHostRule/2021-06-15/advdefence/post/application_json/r!   BatchUpdHostRuleResponseTr#   r)   r4   s                  r   rY   z0ADVDEFENCEApi.batch_upd_host_rule_with_http_info  rF   r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a  del_host_rule  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.del_host_rule(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DelHostRuleRequest body: (required)
        :return: DelHostRuleResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r   del_host_rule_with_http_infor   s       r   del_host_rulezADVDEFENCEApi.del_host_rulej  r   r   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a  del_host_rule  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.del_host_rule_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DelHostRuleRequest body: (required)
        :return: DelHostRuleResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   z?Got an unexpected keyword argument '%s' to method del_host_ruleNzBMissing the required parameter `body` when calling `del_host_rule`r   r   r   r    z9/DelHostRule/2021-06-15/advdefence/post/application_json/r!   DelHostRuleResponseTr#   r)   r4   s                  r   r^   z*ADVDEFENCEApi.del_host_rule_with_http_info  r?   r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a  desc_atk_alarm_threshold  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.desc_atk_alarm_threshold(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DescAtkAlarmThresholdRequest body: (required)
        :return: DescAtkAlarmThresholdResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r   'desc_atk_alarm_threshold_with_http_infor   s       r   desc_atk_alarm_thresholdz&ADVDEFENCEApi.desc_atk_alarm_threshold  s]     ,0'(::k"" 	?4?OOOOOATA$QQ&QQTKr   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a$  desc_atk_alarm_threshold  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.desc_atk_alarm_threshold_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DescAtkAlarmThresholdRequest body: (required)
        :return: DescAtkAlarmThresholdResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   zJGot an unexpected keyword argument '%s' to method desc_atk_alarm_thresholdNzMMissing the required parameter `body` when calling `desc_atk_alarm_threshold`r   r   r   r    zC/DescAtkAlarmThreshold/2021-06-15/advdefence/post/application_json/r!   DescAtkAlarmThresholdResponseTr#   r)   r4   s                  r   rc   z5ADVDEFENCEApi.desc_atk_alarm_threshold_with_http_info  s    X
+&&&2333,---,---fX&677 	 	HC*$$:<?@   F3KK8?1 	nvV7K7K7=f~7MlmmmV .K"&/"F"F #" #"h )-(R(R )" )"n% **''QSY#!9'jj--#)::.F#G#G#ZZ(:DAA#ZZ(:;;1 ( 3 3 	3r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a  desc_certificate  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.desc_certificate(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DescCertificateRequest body: (required)
        :return: DescCertificateResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r   desc_certificate_with_http_infor   s       r   desc_certificatezADVDEFENCEApi.desc_certificate,  s]     ,0'(::k"" 	747GGGGG9T9$II&IITKr   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a  desc_certificate  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.desc_certificate_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DescCertificateRequest body: (required)
        :return: DescCertificateResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   zBGot an unexpected keyword argument '%s' to method desc_certificateNzEMissing the required parameter `body` when calling `desc_certificate`r   r   r   r    z=/DescCertificate/2021-06-15/advdefence/post/application_json/r!   DescCertificateResponseTr#   r)   r4   s                  r   rh   z-ADVDEFENCEApi.desc_certificate_with_http_infoA  s    X
+&&&2333,---,---fX&677 	 	HC*$$2478   F3KK8?1 	fvV7K7K7=f~7MdeeeV .K"&/"F"F #" #"h )-(R(R )" )"n% **''KV#!3'jj--#)::.F#G#G#ZZ(:DAA#ZZ(:;;1 ( 3 3 	3r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a	  desc_web_atk_overview  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.desc_web_atk_overview(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DescWebAtkOverviewRequest body: (required)
        :return: DescWebAtkOverviewResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r   $desc_web_atk_overview_with_http_infor   s       r   desc_web_atk_overviewz#ADVDEFENCEApi.desc_web_atk_overview  rO   r   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a  desc_web_atk_overview  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.desc_web_atk_overview_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DescWebAtkOverviewRequest body: (required)
        :return: DescWebAtkOverviewResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   zGGot an unexpected keyword argument '%s' to method desc_web_atk_overviewNzJMissing the required parameter `body` when calling `desc_web_atk_overview`r   r   r   r    z@/DescWebAtkOverview/2021-06-15/advdefence/post/application_json/r!   DescWebAtkOverviewResponseTr#   r)   r4   s                  r   rm   z2ADVDEFENCEApi.desc_web_atk_overview_with_http_info  rR   r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a  desc_web_atk_statistics  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.desc_web_atk_statistics(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DescWebAtkStatisticsRequest body: (required)
        :return: DescWebAtkStatisticsResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r   &desc_web_atk_statistics_with_http_infor   s       r   desc_web_atk_statisticsz%ADVDEFENCEApi.desc_web_atk_statistics  ]     ,0'(::k"" 	>4>tNNvNNN@T@PPPPTKr   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a   desc_web_atk_statistics  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.desc_web_atk_statistics_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DescWebAtkStatisticsRequest body: (required)
        :return: DescWebAtkStatisticsResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   zIGot an unexpected keyword argument '%s' to method desc_web_atk_statisticsNzLMissing the required parameter `body` when calling `desc_web_atk_statistics`r   r   r   r    zB/DescWebAtkStatistics/2021-06-15/advdefence/post/application_json/r!   DescWebAtkStatisticsResponseTr#   r)   r4   s                  r   rr   z4ADVDEFENCEApi.desc_web_atk_statistics_with_http_info  s    X
+&&&2333,---,---fX&677 	 	HC*$$9;>?   F3KK8?1 	mvV7K7K7=f~7MklllV .K"&/"F"F #" #"h )-(R(R )" )"n% **''PRX#!8'jj--#)::.F#G#G#ZZ(:DAA#ZZ(:;;1 ( 3 3 	3r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a  desc_web_atk_top_src_ip  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.desc_web_atk_top_src_ip(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DescWebAtkTopSrcIpRequest body: (required)
        :return: DescWebAtkTopSrcIpResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r   &desc_web_atk_top_src_ip_with_http_infor   s       r   desc_web_atk_top_src_ipz%ADVDEFENCEApi.desc_web_atk_top_src_ipO  rt   r   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a  desc_web_atk_top_src_ip  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.desc_web_atk_top_src_ip_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DescWebAtkTopSrcIpRequest body: (required)
        :return: DescWebAtkTopSrcIpResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   zIGot an unexpected keyword argument '%s' to method desc_web_atk_top_src_ipNzLMissing the required parameter `body` when calling `desc_web_atk_top_src_ip`r   r   r   r    z@/DescWebAtkTopSrcIp/2021-06-15/advdefence/post/application_json/r!   DescWebAtkTopSrcIpResponseTr#   r)   r4   s                  r   rx   z4ADVDEFENCEApi.desc_web_atk_top_src_ip_with_http_infod  s    X
+&&&2333,---,---fX&677 	 	HC*$$9;>?   F3KK8?1 	mvV7K7K7=f~7MklllV .K"&/"F"F #" #"h )-(R(R )" )"n% **''NPV#!6'jj--#)::.F#G#G#ZZ(:DAA#ZZ(:;;1 ( 3 3 	3r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a  desc_web_atk_top_url  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.desc_web_atk_top_url(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DescWebAtkTopUrlRequest body: (required)
        :return: DescWebAtkTopUrlResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r   #desc_web_atk_top_url_with_http_infor   s       r   desc_web_atk_top_urlz"ADVDEFENCEApi.desc_web_atk_top_url  s]     ,0'(::k"" 	;4;DKKFKKK=T=dMMfMMTKr   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a  desc_web_atk_top_url  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.desc_web_atk_top_url_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DescWebAtkTopUrlRequest body: (required)
        :return: DescWebAtkTopUrlResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   zFGot an unexpected keyword argument '%s' to method desc_web_atk_top_urlNzIMissing the required parameter `body` when calling `desc_web_atk_top_url`r   r   r   r    z>/DescWebAtkTopUrl/2021-06-15/advdefence/post/application_json/r!   DescWebAtkTopUrlResponseTr#   r)   r4   s                  r   r}   z1ADVDEFENCEApi.desc_web_atk_top_url_with_http_info  s    X
+&&&2333,---,---fX&677 	 	HC*$$68;<   F3KK8?1 	jvV7K7K7=f~7MhiiiV .K"&/"F"F #" #"h )-(R(R )" )"n% **''Lf#!4'jj--#)::.F#G#G#ZZ(:DAA#ZZ(:;;1 ( 3 3 	3r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a  desc_web_bps_flow  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.desc_web_bps_flow(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DescWebBpsFlowRequest body: (required)
        :return: DescWebBpsFlowResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r    desc_web_bps_flow_with_http_infor   s       r   desc_web_bps_flowzADVDEFENCEApi.desc_web_bps_flow  ]     ,0'(::k"" 	848HHHHH:T:4JJ6JJTKr   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a  desc_web_bps_flow  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.desc_web_bps_flow_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DescWebBpsFlowRequest body: (required)
        :return: DescWebBpsFlowResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   zCGot an unexpected keyword argument '%s' to method desc_web_bps_flowNzFMissing the required parameter `body` when calling `desc_web_bps_flow`r   r   r   r    z</DescWebBpsFlow/2021-06-15/advdefence/post/application_json/r!   DescWebBpsFlowResponseTr#   r)   r4   s                  r   r   z.ADVDEFENCEApi.desc_web_bps_flow_with_http_info&      X
+&&&2333,---,---fX&677 	 	HC*$$3589   F3KK8?1 	gvV7K7K7=f~7MefffV .K"&/"F"F #" #"h )-(R(R )" )"n% **''JF#!2'jj--#)::.F#G#G#ZZ(:DAA#ZZ(:;;1 ( 3 3 	3r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a  desc_web_qps_flow  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.desc_web_qps_flow(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DescWebQpsFlowRequest body: (required)
        :return: DescWebQpsFlowResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r    desc_web_qps_flow_with_http_infor   s       r   desc_web_qps_flowzADVDEFENCEApi.desc_web_qps_flowr  r   r   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a  desc_web_qps_flow  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.desc_web_qps_flow_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DescWebQpsFlowRequest body: (required)
        :return: DescWebQpsFlowResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   zCGot an unexpected keyword argument '%s' to method desc_web_qps_flowNzFMissing the required parameter `body` when calling `desc_web_qps_flow`r   r   r   r    z</DescWebQpsFlow/2021-06-15/advdefence/post/application_json/r!   DescWebQpsFlowResponseTr#   r)   r4   s                  r   r   z.ADVDEFENCEApi.desc_web_qps_flow_with_http_info  r   r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a  desc_web_resp_code  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.desc_web_resp_code(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DescWebRespCodeRequest body: (required)
        :return: DescWebRespCodeResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r   !desc_web_resp_code_with_http_infor   s       r   desc_web_resp_codez ADVDEFENCEApi.desc_web_resp_code  s]     ,0'(::k"" 	949$II&III;T;DKKFKKTKr   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a  desc_web_resp_code  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.desc_web_resp_code_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param DescWebRespCodeRequest body: (required)
        :return: DescWebRespCodeResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   zDGot an unexpected keyword argument '%s' to method desc_web_resp_codeNzGMissing the required parameter `body` when calling `desc_web_resp_code`r   r   r   r    z=/DescWebRespCode/2021-06-15/advdefence/post/application_json/r!   DescWebRespCodeResponseTr#   r)   r4   s                  r   r   z/ADVDEFENCEApi.desc_web_resp_code_with_http_info  s    X
+&&&2333,---,---fX&677 	 	HC*$$469:   F3KK8?1 	hvV7K7K7=f~7MfgggV .K"&/"F"F #" #"h )-(R(R )" )"n% **''KV#!3'jj--#)::.F#G#G#ZZ(:DAA#ZZ(:;;1 ( 3 3 	3r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a  get_fwd_rule_lip_list  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.get_fwd_rule_lip_list(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param GetFwdRuleLipListRequest body: (required)
        :return: GetFwdRuleLipListResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r   $get_fwd_rule_lip_list_with_http_infor   s       r   get_fwd_rule_lip_listz#ADVDEFENCEApi.get_fwd_rule_lip_list4  rO   r   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a  get_fwd_rule_lip_list  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.get_fwd_rule_lip_list_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param GetFwdRuleLipListRequest body: (required)
        :return: GetFwdRuleLipListResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   zGGot an unexpected keyword argument '%s' to method get_fwd_rule_lip_listNzJMissing the required parameter `body` when calling `get_fwd_rule_lip_list`r   r   r   r    z?/GetFwdRuleLipList/2021-06-15/advdefence/post/application_json/r!   GetFwdRuleLipListResponseTr#   r)   r4   s                  r   r   z2ADVDEFENCEApi.get_fwd_rule_lip_list_with_http_infoI  s    X
+&&&2333,---,---fX&677 	 	HC*$$79<=   F3KK8?1 	kvV7K7K7=f~7MijjjV .K"&/"F"F #" #"h )-(R(R )" )"n% **''Mv#!5'jj--#)::.F#G#G#ZZ(:DAA#ZZ(:;;1 ( 3 3 	3r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a  get_host_def_status  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.get_host_def_status(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param GetHostDefStatusRequest body: (required)
        :return: GetHostDefStatusResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r   "get_host_def_status_with_http_infor   s       r   get_host_def_statusz!ADVDEFENCEApi.get_host_def_status  rC   r   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a  get_host_def_status  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.get_host_def_status_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param GetHostDefStatusRequest body: (required)
        :return: GetHostDefStatusResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   zEGot an unexpected keyword argument '%s' to method get_host_def_statusNzHMissing the required parameter `body` when calling `get_host_def_status`r   r   r   r    z>/GetHostDefStatus/2021-06-15/advdefence/post/application_json/r!   GetHostDefStatusResponseTr#   r)   r4   s                  r   r   z0ADVDEFENCEApi.get_host_def_status_with_http_info  rF   r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a  set_def_switch  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.set_def_switch(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param SetDefSwitchRequest body: (required)
        :return: SetDefSwitchResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r   set_def_switch_with_http_infor   s       r   set_def_switchzADVDEFENCEApi.set_def_switch  s]     ,0'(::k"" 	545dEEfEEE7T7GGGGTKr   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a  set_def_switch  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.set_def_switch_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param SetDefSwitchRequest body: (required)
        :return: SetDefSwitchResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   z@Got an unexpected keyword argument '%s' to method set_def_switchNzCMissing the required parameter `body` when calling `set_def_switch`r   r   r   r    z:/SetDefSwitch/2021-06-15/advdefence/post/application_json/r!   SetDefSwitchResponseTr#   r)   r4   s                  r   r   z+ADVDEFENCEApi.set_def_switch_with_http_info  s    X
+&&&2333,---,---fX&677 	 	HC*$$0256   F3KK8?1 	dvV7K7K7=f~7MbcccV .K"&/"F"F #" #"h )-(R(R )" )"n% **''H&#!0'jj--#)::.F#G#G#ZZ(:DAA#ZZ(:;;1 ( 3 3 	3r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a  upd_host_rule  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.upd_host_rule(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param UpdHostRuleRequest body: (required)
        :return: UpdHostRuleResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r   upd_host_rule_with_http_infor   s       r   upd_host_rulezADVDEFENCEApi.upd_host_ruleW  r   r   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a  upd_host_rule  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.upd_host_rule_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param UpdHostRuleRequest body: (required)
        :return: UpdHostRuleResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   z?Got an unexpected keyword argument '%s' to method upd_host_ruleNzBMissing the required parameter `body` when calling `upd_host_rule`r   r   r   r    z9/UpdHostRule/2021-06-15/advdefence/post/application_json/r!   UpdHostRuleResponseTr#   r)   r4   s                  r   r   z*ADVDEFENCEApi.upd_host_rule_with_http_infol  r?   r   c                 r    d|d<   |                     d          r | j        |fi |S  | j        |fi |}|S )a  update_atk_alarm_threshold  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.update_atk_alarm_threshold(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param UpdateAtkAlarmThresholdRequest body: (required)
        :return: UpdateAtkAlarmThresholdResponse
                 If the method is called asynchronously,
                 returns the request thread.
        Tr   r   )r   )update_atk_alarm_threshold_with_http_infor   s       r   update_atk_alarm_thresholdz(ADVDEFENCEApi.update_atk_alarm_threshold  s]     ,0'(::k"" 	A4A$QQ&QQQCTCDSSFSSTKr   c                 4   dg}|                     d           |                     d           |                     d           |                     d           t                      }t          j        |d                   D ] \  }}||vrt	          d|z            |||<   !|d= | j        j        rd|vs|d         t          d	          i }i }g }	i }
g }i }d}d|v r|d         }| j                            d
g          |
d<   | j        	                    d
g          |
d<   dg}| j        
                    dd||	|
|||d||                    d          |                    d          |                    dd          |                    d          |          S )a,  update_atk_alarm_threshold  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True
        >>> thread = api.update_atk_alarm_threshold_with_http_info(body, async_req=True)
        >>> result = thread.get()

        :param async_req bool
        :param UpdateAtkAlarmThresholdRequest body: (required)
        :return: UpdateAtkAlarmThresholdResponse
                 If the method is called asynchronously,
                 returns the request thread.
        r   r   r   r   r   r   zLGot an unexpected keyword argument '%s' to method update_atk_alarm_thresholdNzOMissing the required parameter `body` when calling `update_atk_alarm_threshold`r   r   r   r    zE/UpdateAtkAlarmThreshold/2021-06-15/advdefence/post/application_json/r!   UpdateAtkAlarmThresholdResponseTr#   r)   r4   s                  r   r   z7ADVDEFENCEApi.update_atk_alarm_threshold_with_http_info  s    X
+&&&2333,---,---fX&677 	 	HC*$$<>AB   F3KK8?1 	pvV7K7K7=f~7MnoooV .K"&/"F"F #" #"h )-(R(R )" )"n% **''SU[#!;'jj--#)::.F#G#G#ZZ(:DAA#ZZ(:;;1 ( 3 3 	3r   r   )/__name__
__module____qualname____doc__r   r   r   rB   rA   rI   rH   rN   rM   rU   rT   rZ   rY   r_   r^   rd   rc   ri   rh   rn   rm   rs   rr   ry   rx   r~   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r   r   r   r      s        % % % %
  *J3 J3 J3X  *J3 J3 J3X  *J3 J3 J3X  *J3 J3 J3X  *J3 J3 J3X  *J3 J3 J3X  *J3 J3 J3X  *J3 J3 J3X  *J3 J3 J3X  *J3 J3 J3X  *J3 J3 J3X  *J3 J3 J3X  *J3 J3 J3X  *J3 J3 J3X  *J3 J3 J3X  *J3 J3 J3X  *J3 J3 J3X  *J3 J3 J3X  *J3 J3 J3X  *J3 J3 J3X  *J3 J3 J3 J3 J3r   r   )r   
__future__r   rer,   r   objectr   r   r   r   <module>r      s     ' & & & & & 				 


    3 3 3 3 3F 3 3 3 3 3r   