
    p h                         d dl Z d dlZd dlmc mZ d Zd Z G d de          Z	 G d de
          Z G d d	e          ZdS )
    Nc                     | rd| vr| S d                     d |                     d          D                       }|d                                         |dd          z   S )N_ c                 6    g | ]}|                                 S  )title).0xs     Q/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/twilio/twiml/__init__.py
<listcomp>zlower_camel.<locals>.<listcomp>
   s     ;;;Aaggii;;;    r      )joinsplitlower)stringresults     r   lower_camelr      sf     S&&WW;;c):):;;;<<F!9??vabbz))r   c                     | s| S t          j        d|           st          d          | dd                                         dz   | dd                                         z   S )zj
    Attempt to format language parameter as 'ww-WW'.

    :param string language: language parameter
    z^[a-zA-Z]{2}[_-][a-zA-Z]{2}$z%Invalid value for language parameter.r      -      )rematchTwiMLExceptionr   upper)languages    r   format_languager      sn      82H== FDEEEAaC=  3&!A#)<)<)>)>>>r   c                       e Zd ZdS )r   N)__name__
__module____qualname__r   r   r   r   r      s        Dr   r   c                   X    e Zd ZddddddZd Zd Zd	 Zd
 ZddZd Z	d Z
d ZddZdS )TwiMLfromzxml:langzinterpret-asforbreak)from_xml_langinterpret_asfor_break_c           	          | j         j        | _        d | _        g | _        i | _        |                                D ]7\  }}|0|| j        t          | j        	                    ||                    <   8d S N)
	__class__r!   namevalueverbsattrsitemsr   MAPget)selfkwargskvs       r   __init__zTwiML.__init__*   sv    N+	


LLNN 	@ 	@DAq}>?
;tx||Aq'9'9::;	@ 	@r   c                 *    |                                  S r/   )to_xmlr8   s    r   __str__zTwiML.__str__4   s    {{}}r   c                     | S r/   r   r?   s    r   	__enter__zTwiML.__enter__7   s    r   c                     dS )NFr   )r8   exc_type	exc_value	tracebacks       r   __exit__zTwiML.__exit__:   s    ur   Tc                     t          j        |                                 d                              d          }|rd                    |          n|S )z
        Return the contents of this verb as an XML string

        :param bool xml_declaration: Include the XML declaration. Defaults to True
        zutf-8)encodingz(<?xml version="1.0" encoding="UTF-8"?>{})ETtostringxmldecodeformat)r8   xml_declarationrL   s      r   r>   zTwiML.to_xml=   sT     k$((**w777>>wGG 6==cBBB	
r   c                 0    |                      |           | S )z^
        Add a TwiML doc

        :param verb: TwiML Document

        :returns: self
        )nestr8   verbs     r   appendzTwiML.appendJ   s     			$r   c                     t          |t                    s$t          |t                    st          d          | j                            |           |S )z
        Add a TwiML doc. Unlike `append()`, this returns the created verb.

        :param verb: TwiML Document

        :returns: the TwiML verb
        z-Only nesting of TwiML and strings are allowed)
isinstancer%   strr   r3   rT   rR   s     r   rQ   z
TwiML.nestU   sS     $&& 	Rz$/D/D 	R !PQQQ
$r   c                    t          j        | j                  }| j                                        }t          |          }|D ]}}| j        |         }t          |t                    r6|                    |t          |          
                                           Z|                    |t          |                     ~| j        rDt          | j        t                    rt          j        | j                  | _        | j        |_        d }| j        D ]R}t          |t                    r|||_        !||_        )|                                }|                    |           S|S r/   )rJ   Elementr1   r4   keyssortedrV   boolsetrW   r   r2   dictjsondumpstextr3   tailrL   rT   )r8   elrZ   ar2   
last_childrS   s          r   rL   z	TwiML.xmlc   sB   Z	""z  d|| 	& 	&AJqME%&& &q#e****,,----q#e**%%%%: 	!$*d++ 4!Z
33
jBG
J 	& 	&D$$$ &)&*JOO"BGG!XXZZ
		*%%%%	r   Nc                 D    |                      t          ||fi |          S r/   )rQ   GenericNode)r8   r1   r2   r9   s       r   	add_childzTwiML.add_child   s&    yyT5;;F;;<<<r   )Tr/   )r!   r"   r#   r6   r<   r@   rB   rG   r>   rT   rQ   rL   rh   r   r   r   r%   r%   !   s        & C@ @ @      
 
 
 
	 	 	    B= = = = = =r   r%   c                        e Zd Z fdZ xZS )rg   c                 d     t          t          |           j        di | || _        || _        d S )Nr   )superrg   r<   r1   r2   )r8   r1   r2   r9   r0   s       r   r<   zGenericNode.__init__   s8    )k4  )33F333	


r   )r!   r"   r#   r<   __classcell__)r0   s   @r   rg   rg      s8                r   rg   )r_   r   xml.etree.ElementTreeetreeElementTreerJ   r   r   	Exceptionr   objectr%   rg   r   r   r   <module>rr      s     				 " " " " " " " " "* * *? ? ?	 	 	 	 	Y 	 	 	d= d= d= d= d=F d= d= d=N    %     r   