§
    	tÃjM  ã                   ó˜  — d dl Zd dlmc mZ d dlZd dlZd dlZd dl	Z	d dl
mZ d dlZd dlZd dlmZmZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZmZ d dlm Z  d„ Z!d„ Z"d	„ Z#d
„ Z$ej%         &                    dddg¦  «        d„ ¦   «         Z'ej%         &                    dg d¢¦  «        d„ ¦   «         Z(d„ Z)d„ Z*d„ Z+ej%         &                    dg d¢¦  «        d„ ¦   «         Z,ej%         &                    dg d¢¦  «        d„ ¦   «         Z- G d„ d¦  «        Z. G d„ d¦  «        Z/d7d „Z0ej%         &                    d!e¦  «        d"„ ¦   «         Z1ej%         &                    d#g d$¢¦  «        d%„ ¦   «         Z2d&„ Z3d'„ Z4d(„ Z5ej6        d)„ ¦   «         Z7d*„ Z8d8d,„Z9d-„ Z:d.„ Z;ej%         &                    d/g d0¢¦  «        d1„ ¦   «         Z<d2„ Z=d3„ Z>d4„ Z?d5„ Z@d6„ ZAdS )9é    N)ÚSimpleNamespace)ÚSpeechPreferencesÚspeech_text_cleanupÚlanguage_forÚCloudflareMeloTTSÚSpeechErrorÚaudio_to_pcmÚHaihubSummaryÚSpeechManagerÚCHUNK_BYTESÚMODESÚconfigured_tts)Úwav_pcm)ÚPiSessionRegistryÚPiSessionEvent)ÚCodexAdapterc                 ó*   — t          j        | ¦  «        S ©N)ÚasyncioÚrun)Úcoros    úV/home/lighthouse/esp32-dev/.cache/physical-ui-cleanup-0.6a/server/tests/test_speech.pyr   r      s   € •g”k $Ñ'Ô'Ð'ó    c                 óz  — | dz  dz  }t          |¦  «        }|j        }d}d} |||¦  «        }d}||k    }|sãt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d	œz  }	d
d|	iz  }
t          t          j	        |
¦  «        ¦  «        ‚d x}x}x}x}x}}| 
                    ddd¦  «         | 
                    ddd¦  «         t          |¦  «        }|j        }d}d} |||¦  «        }d}||k    }|�s>t          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        nddt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}x}x}x}x}}|j        }d}d} |||¦  «        }d}||k    }|sãt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d	œz  }	d
d|	iz  }
t          t          j	        |
¦  «        ¦  «        ‚d x}x}x}x}x}}|j        }d}d} |||¦  «        }d}||k    }|sãt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d	œz  }	d
d|	iz  }
t          t          j	        |
¦  «        ¦  «        ‚d x}x}x}x}x}}t          j        }|j        } |¦   «         }|j        } ||¦  «        }d}||k    }|�s>t          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}x}x}x}x}}|j        }|j        } |¦   «         }t!          |¦  «        }t#          |¦  «        }d}||k    }|�s†t          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        t"          ¦  «        rt          j        t"          ¦  «        nddt	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        nddt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœ	z  }d d!|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}x}x}x}x}}t%          j        t(          ¦  «        5  | 
                    dd"d#¦  «         d d d ¦  «         n# 1 swxY w Y   |                     d$¦  «         |j        }d}d"} |||¦  «        }d}||k    }|sãt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d	œz  }	d
d|	iz  }
t          t          j	        |
¦  «        ¦  «        ‚d x}x}x}x}x}}d S )%NÚconfigúspeech.jsonÚdz
agent:pi:aÚOFF©ú==)zS%(py8)s
{%(py8)s = %(py2)s
{%(py2)s = %(py0)s.get
}(%(py4)s, %(py6)s)
} == %(py11)sÚstore)Úpy0Úpy2Úpy4Úpy6Úpy8Úpy11zassert %(py13)sÚpy13zpi:aÚ
AUTO_REPLYzagent:codex:bÚAUTO_SUMMARY)zs%(py11)s
{%(py11)s = %(py5)s
{%(py5)s = %(py3)s
{%(py3)s = %(py0)s(%(py1)s)
}.get
}(%(py7)s, %(py9)s)
} == %(py14)sr   Úpath)r"   Úpy1Úpy3Úpy5Úpy7Úpy9r'   Úpy14úassert %(py16)sÚpy16Úotheri€  )zž%(py11)s
{%(py11)s = %(py2)s
{%(py2)s = %(py0)s.S_IMODE
}(%(py9)s
{%(py9)s = %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = %(py3)s.stat
}()
}.st_mode
})
} == %(py14)sÚstat)r"   r#   r-   r.   r/   r0   r'   r1   é   )z£%(py12)s
{%(py12)s = %(py0)s(%(py10)s
{%(py10)s = %(py1)s(%(py8)s
{%(py8)s = %(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s.parent
}.iterdir
}()
})
})
} == %(py15)sÚlenÚlist)	r"   r,   r#   r$   r%   r&   Úpy10Úpy12Úpy15úassert %(py17)sÚpy17ÚserverÚBADz
{malformed)r   ÚgetÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚsetr5   ÚS_IMODEÚst_modeÚparentÚiterdirr8   r7   ÚpytestÚraisesÚ
ValueErrorÚ
write_text)Útmp_pathr+   r!   Ú@py_assert1Ú@py_assert3Ú@py_assert5Ú@py_assert7Ú@py_assert10Ú@py_assert9Ú@py_format12Ú@py_format14Ú@py_assert2Ú@py_assert4Ú@py_assert6Ú@py_assert8Ú@py_assert13Ú@py_assert12Ú@py_format15Ú@py_format17Ú@py_assert11Ú@py_assert14Ú@py_format16Ú@py_format18s                          r   Ú.test_preferences_private_atomic_and_per_targetrg      s�
  € Ø	�(Ñ	˜=Ñ	(€DÕ0AÀ$Ñ0GÔ0G¨%ØŒ9Ð-�SÐ-˜Ð-ˆ9ˆ9�S˜Ñ&Ô&Ð-¨Ð-Ð&¨Ò-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-Ð&¨Ð-Ñ-Ô-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-ˆ5Ñ-Ô-Ð-Õ-Ô-ˆ5Ñ-Ô-Ð-Ð-Õ-Ô-ˆ9Ñ-Ô-Õ-Ô-�SÑ-Ô-Õ-Ô-˜Ñ-Ô-Õ-Ô-Ð&Ñ-Ô-Õ-Ô-¨Ñ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ø	‡I‚Iˆc�&˜Ñ&Ô&Ð& u§y¢y°°_À^Ñ'TÔ'TÐ'TÝ˜TÑ"Ô"ÐFÐ"Ô&ÐF sÐF¨<ÐFÐ&Ð& s¨<Ñ8Ô8ÐF¸,ÐFÐ8¸,ÒFÐFÐFÑFÕFÔFÐFÐFÐFÐFÐ8¸,ÐFÑFÔFÐFÕFÔFÑFÔFÐFÐFÕFÔFÕÑFÔFÐFÕFÔFÕÑFÔFÐFÐFÐFÕFÔFÑFÔFÐFÐFÕFÔF˜TÑFÔFÐFÕFÔF˜TÑFÔFÐFÐFÕFÔFÐ"ÑFÔFÕFÔFÐ&ÑFÔFÕFÔF sÑFÔFÕFÔF¨<ÑFÔFÕFÔFÐ8ÑFÔFÕFÔF¸,ÑFÔFÐFÐFÑFÐFÐFÐFÐFÐFÑFÐFÕFÕFÔFÐFÑFÔFÑFÔFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFØŒ9Ð9�SÐ9˜Ð9ˆ9ˆ9�S˜Ñ)Ô)Ð9¨>Ð9Ð)¨>Ò9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9Ð)¨>Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9ˆ5Ñ9Ô9Ð9Õ9Ô9ˆ5Ñ9Ô9Ð9Ð9Õ9Ô9ˆ9Ñ9Ô9Õ9Ô9�SÑ9Ô9Õ9Ô9˜Ñ9Ô9Õ9Ô9Ð)Ñ9Ô9Õ9Ô9¨>Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9ØŒ9Ð1�WÐ1˜\Ð1ˆ9ˆ9�W˜\Ñ*Ô*Ð1¨EÐ1Ð*¨EÒ1Ð1Ð1Ð1Õ1Ô1Ð1Ð1Ð1Ð1Ð*¨EÐ1Ñ1Ô1Ð1Õ1Ô1Ñ1Ô1Ð1Ð1Õ1Ô1ˆ5Ñ1Ô1Ð1Õ1Ô1ˆ5Ñ1Ô1Ð1Ð1Õ1Ô1ˆ9Ñ1Ô1Õ1Ô1�WÑ1Ô1Õ1Ô1˜\Ñ1Ô1Õ1Ô1Ð*Ñ1Ô1Õ1Ô1¨EÑ1Ô1Ð1Ð1Ñ1Ð1Ð1Ð1Ð1Ð1Ñ1Ð1Õ1Õ1Ô1Ð1Ñ1Ô1Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1ÝŒ<Ð3˜œ	Ð3˜	˜	™œÐ3˜Ô+Ð3ˆ<ˆ<Ð+Ñ,Ô,Ð3¨eÐ3Ð,¨eÒ3Ð3Ð3Ñ3Õ3Ô3Ð3Ð3Ð3Ð3Ð,¨eÐ3Ñ3Ô3Ð3Õ3Ô3Ñ3Ô3Ð3Ð3Õ3Ô3�4Ñ3Ô3Ð3Õ3Ô3�4Ñ3Ô3Ð3Ð3Õ3Ô3ˆ<Ñ3Ô3Ð3Õ3Ô3Ñ3Ô3Ð3Ð3Õ3Ô3˜Ñ3Ô3Ð3Õ3Ô3˜Ñ3Ô3Ð3Ð3Õ3Ô3˜	Ñ3Ô3Õ3Ô3˜Ñ3Ô3Õ3Ô3Ð+Ñ3Ô3Õ3Ô3Ð,Ñ3Ô3Õ3Ô3¨eÑ3Ô3Ð3Ð3Ñ3Ð3Ð3Ð3Ð3Ð3Ñ3Ð3Õ3Õ3Ô3Ð3Ñ3Ô3Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ø”KÐ.�KÔ'Ð.Ð'Ð'Ñ)Ô)Ð.�tÐ)Ñ*Ô*Ð.�3Ð*Ñ+Ô+Ð.¨QÐ.Ð+¨QÒ.Ð.Ð.Ñ.Õ.Ô.Ð.Ð.Ð.Ð.Ð+¨QÐ.Ñ.Ô.Ð.Õ.Ô.Ñ.Ô.Ð.Ð.Õ.Ô.�3Ñ.Ô.Ð.Õ.Ô.�3Ñ.Ô.Ð.Ð.Ð.Õ.Ô.Ñ.Ô.Ð.Ð.Õ.Ô.�tÑ.Ô.Ð.Õ.Ô.�tÑ.Ô.Ð.Ð.Ð.Õ.Ô.Ñ.Ô.Ð.Ð.Õ.Ô.�DÑ.Ô.Ð.Õ.Ô.�DÑ.Ô.Ð.Ð.Õ.Ô.�KÑ.Ô.Õ.Ô.Ð'Ñ.Ô.Õ.Ô.Ð)Ñ.Ô.Õ.Ô.Ð*Ñ.Ô.Õ.Ô.Ð+Ñ.Ô.Õ.Ô.¨QÑ.Ô.Ð.Ð.Ñ.Ð.Ð.Ð.Ð.Ð.Ñ.Ð.Õ.Õ.Ô.Ð.Ñ.Ô.Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ý	Œ•zÑ	"Ô	"Ð@Ð@ 5§9¢9¨S°¸%Ñ#@Ô#@Ð#@Ð@Ð@Ð@Ñ@Ô@Ð@Ð@Ð@Ð@Ð@Ð@øøøÐ@Ð@Ð@Ð@Ø‡O‚O�LÑ!Ô!Ð!¨%¬)Ð#H°CÐ#H¸Ð#H¨)¨)°C¸Ñ*AÔ*AÐ#HÀ5Ð#HÐ*AÀ5Ò*HÐ#HÐ#HÐ#HÕ#HÔ#HÐ#HÐ#HÐ#HÐ#HÐ*AÀ5Ð#HÑ#HÔ#HÐ#HÕ#HÔ#HÑ#HÔ#HÐ#HÐ#HÕ#HÔ#H¨%Ñ#HÔ#HÐ#HÕ#HÔ#H¨%Ñ#HÔ#HÐ#HÐ#HÕ#HÔ#H¨)Ñ#HÔ#HÕ#HÔ#H°CÑ#HÔ#HÕ#HÔ#H¸Ñ#HÔ#HÕ#HÔ#HÐ*AÑ#HÔ#HÕ#HÔ#HÀ5Ñ#HÔ#HÐ#HÐ#HÑ#HÐ#HÐ#HÐ#HÐ#HÐ#HÑ#HÐ#HÕ#HÕ#HÔ#HÐ#HÑ#HÔ#HÑ#HÔ#HÐ#HÐ#HÐ#HÐ#HÐ#HÐ#HÐ#HÐ#HÐ#HÐ#HÐ#HÐ#HÐ#HÐ#HÐ#Hs   á'bâbâbc                  ó,  ‡"— t          d¦  «        Š"g } d}|‰"v }|}|rd}|‰"v }|}|�sXt          j        d|fd|‰"f¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        ‰"¦  «        rt          j        ‰"¦  «        nddœz  }dd	|iz  }|                      |¦  «         |r‹t          j        d|fd
|‰"f¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        ‰"¦  «        rt          j        ‰"¦  «        nddœz  }dd|iz  }	|                      |	¦  «         t          j        | d¦  «        i z  }
dd|
iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x} x}x}x}}ˆ"fd„dD ¦   «         } t          | ¦  «        }|s•ddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        | ¦  «        t          j        |¦  «        dœz  }t          t          j
        |¦  «        ¦  «        ‚d x} }d}t          |dd¬¦  «        }d}||k    } | s—t          j        d| fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd |iz  }t          t          j
        |¦  «        ¦  «        ‚d x} }d!}d"}||z  }d}d}t          |||¬¦  «        }t          |¦  «        }d}||k    }|�s[t          j        d#|fd$||f¦  «        d%t	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd%d&t	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        nd&t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d'œ	z  }d(d)|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}x}x}x}x}}g } d*}t          |¦  «        }d+}||k    }|}|rd,}t          |¦  «        }d-}||k    }|}|�s¸t          j        d|fd.||f¦  «        d/t	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd/t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d0œz  }d1d2|iz  }|                      |¦  «         |r»t          j        d|fd3||f¦  «        d/t	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd/t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d4œz  }d5d6|iz  }|                      |¦  «         t          j        | d¦  «        i z  } d7d8| iz  }!t          t          j
        |!¦  «        ¦  «        ‚d x}x} x}x}x}x}x}x}x}}d9}d:}t          |¦  «        }||v}|sÇt          j        d;|fd<||f¦  «        t          j        |¦  «        d&t	          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        nd&t          j        |¦  «        t          j        |¦  «        d=œz  }d>d?|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}}d S )@Nuƒ   ## å®Œæˆ�
**ä¿®å¤�** `Codex`ã€‚
```python
private_code()
```
æ–‡ä»¶ /home/lighthouse/foo/bar/baz.pyã€‚https://example.com/a   ðŸ™‚ ÚCodexu   æ–‡ä»¶ baz.py)Úin)z%(py3)s in %(py5)sÚvalue©r-   r.   ú%(py7)sr/   )z%(py10)s in %(py12)s)r9   r:   z%(py14)sr1   r   r<   r=   c              3   ó    •K  — | ]}|‰vV — Œ	d S r   © )Ú.0Úxrk   s     €r   ú	<genexpr>z@test_cleanup_language_and_sentence_boundaries.<locals>.<genexpr>&   s'   øè è € Ð[Ð[ !ˆq˜ˆ~Ð[Ð[Ð[Ð[Ð[Ð[r   )Úprivate_codeÚhttpsz/homez**u   ðŸ™‚ú ú,assert %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}Úall©r"   r#   r$   uç	  ç»“æžœå®Œæˆ�ã€‚éœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜Žéœ€è¦�è¯¦ç»†è¯´æ˜ŽiX  T)Únoticeu?   ç»“æžœå®Œæˆ�ã€‚å›žç­”æ¯”è¾ƒé•¿ï¼Œæ›´å¤šå†…å®¹è¯·æŸ¥çœ‹å±�å¹•ã€‚r   )z%(py0)s == %(py3)sÚlimited)r"   r-   úassert %(py5)sr.   rq   iÜ  )ú<=)zy%(py14)s
{%(py14)s = %(py0)s(%(py12)s
{%(py12)s = %(py1)s((%(py3)s * %(py5)s), %(py8)s, notice=%(py10)s)
})
} <= %(py17)sr7   r   )	r"   r,   r-   r.   r&   r9   r:   r1   r=   úassert %(py19)sÚpy19u   Codex å·²å®Œæˆ� pytestÚzhzAll tests passed.Úen)z0%(py6)s
{%(py6)s = %(py2)s(%(py4)s)
} == %(py9)sr   )r#   r$   r%   r0   ú%(py11)sr'   )z5%(py17)s
{%(py17)s = %(py13)s(%(py15)s)
} == %(py20)s)r(   r;   r=   Úpy20z%(py22)sÚpy22zassert %(py25)sÚpy25Úsecret_valuez)api_key=secret_value Bearer private_value©únot in)z4%(py1)s not in %(py7)s
{%(py7)s = %(py3)s(%(py5)s)
}©r,   r-   r.   r/   úassert %(py9)sr0   )r   rA   rB   rF   rC   rD   rE   ÚappendÚ_format_booloprG   rH   rw   r7   r   )#rS   r[   r\   Ú@py_assert0rX   rc   Ú@py_format6Ú@py_format8Ú@py_format13ra   re   rf   rT   Ú@py_format5Útextrz   Ú@py_format4r]   rV   r_   Ú@py_assert16Ú@py_assert15Ú@py_format20rU   r^   rd   Ú@py_assert19Ú@py_assert18Ú@py_format10rY   Ú@py_format21Ú@py_format23Ú@py_format24Ú@py_format26rk   s#                                     @r   Ú-test_cleanup_language_and_sentence_boundariesr�   #   sÈ  ø€ Ý
ð  lñ  mô  m€EØ8Ð8ˆ7Ð8ˆ7�eÐÐ8Ð8Ð8Ð8Ð8 Ð8 °5Ð 8Ð8Ð8Ð8Ð8Ñ8Õ8Ô8Ð8Ð8Ð8Ð8ˆ7�eÐ8Ñ8Ô8Õ8Ô8ˆ7Ñ8Ô8Ð8Õ8Ô8Ñ8Ô8Ð8Ð8Õ8Ô8�eÑ8Ô8Ð8Õ8Ô8�eÑ8Ô8Ð8Ð8Ð8Ð8Ñ8Ð8Ð8Ð8Ð8Ð8Ñ8Ð8Ð8×8Ò8Ð8Ñ8Ô8Ð8Ð8Ð8Õ8Ô8Ð8Ð8Ð8Ð8 °5Ð8Ñ8Ô8Õ8Ô8 Ñ8Ô8Ð8Õ8Ô8Ñ8Ô8Ð8Ð8Õ8Ô8°5Ñ8Ô8Ð8Õ8Ô8°5Ñ8Ô8Ð8Ð8Ð8Ð8Ñ8Ð8Ð8Ð8Ð8Ð8Ñ8Ð8Ð8×8Ò8Ð8Ñ8Ô8Ð8Õ8Ô8Ð8Ð8Ñ8Ô8Ð8Ñ8Ð8Ð8Ð8Ð8Ð8Ñ8Ð8Õ8Õ8Ô8Ð8Ñ8Ô8Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ø[Ð[Ð[Ð[Ð'ZÐ[Ñ[Ô[Ð[�3Ð[Ñ[Ô[Ð[Ð[Ð[Ð[Ð[Õ[Ô[Ñ[Ô[Ð[Ð[Õ[Ô[�3Ñ[Ô[Ð[Õ[Ô[�3Ñ[Ô[Ð[Ð[Õ[Ô[Ð[Ñ[Ô[Õ[Ô[Ð[Ñ[Ô[Ð[Ð[Ñ[Ð[Õ[Õ[Ô[Ð[Ñ[Ô[Ñ[Ô[Ð[Ð[Ð[Ð[Ð[Ø	3€DÝ  S°Ð5Ñ5Ô5€GØUÐUˆ7ÐUÒUÐUÐUÐUÕUÔUÐUÐUÐUÐUˆ7ÐUÐUÑUÔUÐUÕUÔUÑUÔUÐUÐUÕUÔUˆ7ÑUÔUÐUÕUÔUˆ7ÑUÔUÐUÐUÕUÔUÐUÑUÔUÐUÐUÑUÐUÐUÐUÐUÐUÑUÐUÕUÕUÔUÐUÑUÔUÑUÔUÐUÐUÐUÐUÐUØ#&ÐB tÐB 3 t¡8ÐB¨CÐB°tÐBÕ" 8¨C°tÐ<Ñ<Ô<ÐB�3Ð<Ñ=Ô=ÐB¸sÐBÐ=¸sÒBÐBÐBÑBÕBÔBÐBÐBÐBÐBÐ=¸sÐBÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔB�3ÑBÔBÐBÕBÔB�3ÑBÔBÐBÐBÐBÕBÔBÑBÔBÐBÐBÕBÔBÕ"ÑBÔBÐBÕBÔBÕ"ÑBÔBÐBÐBÕBÔB 3ÑBÔBÕBÔB tÑBÔBÕBÔB¨CÑBÔBÕBÔB°tÑBÔBÕBÔBÐ<ÑBÔBÕBÔBÐ=ÑBÔBÕBÔB¸sÑBÔBÐBÐBÑBÐBÐBÐBÐBÐBÑBÐBÕBÕBÔBÐBÑBÔBÑBÔBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBØcÐcÐ0Ðc�<Ð0Ñ1Ô1Ðc°4ÐcÐ1°4Ò7ÐcÐcÐcÐcÐcÐI\Ðc½LÐI\Ñ<]Ô<]ÐcÐ_cÐcÐ<]Ð_cÒ<cÐcÐcÐcÐcÑcÕcÔcÐcÐcÐcÐcÐ1°4ÐcÑcÔcÐcÕcÔcÑcÔcÐcÐcÕcÔc�<ÑcÔcÐcÕcÔc�<ÑcÔcÐcÐcÕcÔcÐ0ÑcÔcÕcÔcÐ1ÑcÔcÕcÔc°4ÑcÔcÐcÐcÑcÐcÐcÐcÐcÐcÑcÐcÐc×cÒcÐcÑcÔcÐcÐcÐcÕcÔcÐcÐcÐcÐcÐ<]Ð_cÐcÑcÔcÐcÕcÔcÑcÔcÐcÐcÕcÔc½LÑcÔcÐcÕcÔc½LÑcÔcÐcÐcÕcÔcÐI\ÑcÔcÕcÔcÐ<]ÑcÔcÕcÔcÐ_cÑcÔcÐcÐcÑcÐcÐcÐcÐcÐcÑcÐcÐc×cÒcÐcÑcÔcÐcÕcÔcÐcÐcÑcÔcÐcÑcÐcÐcÐcÐcÐcÑcÐcÕcÕcÔcÐcÑcÔcÑcÔcÐcÐcÐcÐcÐcÐcÐcÐcÐcÐcÐcÐcÐcÐcÐcÐcÐcÐcÐcÐcÐcØÐaÐ5`ÐaÕ!4Ð5`Ñ!aÔ!aÐaˆ>Ð!aÐaÐaÐaÐaÕaÔaÐaÐaÐaÐaˆ>Ð!aÐaÑaÔaÕaÔaˆ>ÑaÔaÐaÕaÔaÑaÔaÐaÐaÕaÔaÕ!4ÑaÔaÐaÕaÔaÕ!4ÑaÔaÐaÐaÕaÔaÐ5`ÑaÔaÕaÔaÐ!aÑaÔaÐaÐaÑaÐaÐaÐaÐaÐaÑaÐaÕaÕaÔaÐaÑaÔaÑaÔaÐaÐaÐaÐaÐaÐaÐaÐaÐaÐaÐar   c                 ób   ‡‡— t           j        Š|                      t           dˆˆfd„¦  «         d S )NÚAsyncClientc                  ó@   •—  ‰di | ¤dt          j        ‰¦  «        i¤ŽS )NÚ	transportro   )ÚhttpxÚMockTransport)ÚkwÚclientÚhandlers    €€r   ú<lambda>zmock_http.<locals>.<lambda>1   s.   ø€ ¸¸Ð9lÐ9lÀ"Ð9lÐ9lÍuÔObÐcjÑOkÔOkÐ9lÐ9lÐ9l€ r   )r¢   rŸ   Úsetattr)Úmonkeypatchr¦   r¥   s    `@r   Ú	mock_httprª   /   s7   øø€ ÝÔ€FØ×Ò�˜mÐ,lÐ,lÐ,lÐ,lÐ,lÑmÔmÐmÐmÐmr   ÚencodingÚjsonÚbinaryc                 óB  ‡‡
— t          ddz  ¦  «        Š
ˆ
ˆfd„}t          | |¦  «         t          t          dd¦  «                             dd¦  «        ¦  «        }d}d}||z  }||k    }|sªt          j        d|fd	||f¦  «        d
t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd
t          j
        |¦  «        t          j
        |¦  «        dœz  }dd|iz  }	t          t          j        |	¦  «        ¦  «        ‚d x}x}x}}d S )Ns    é:  c           	      óp  •— t           j        }| j        } ||¦  «        }dddœ}||k    }|�st          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        |¦  «        dt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }d	d
|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}}| j        d         }d}	||	k    }
|
slt          j        d|
fd||	f¦  «        t          j        |¦  «        t          j        |	¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}
}	‰dk    r@t          j        ddg dt          j        ‰¦  «                             ¦   «         idœ¬¦  «        S t          j        d‰ddi¬¦  «        S )Nõ   Codex å®Œæˆ�ã€‚r   )ÚpromptÚlangr   )zi%(py7)s
{%(py7)s = %(py2)s
{%(py2)s = %(py0)s.loads
}(%(py5)s
{%(py5)s = %(py3)s.content
})
} == %(py10)sr¬   Úrequest)r"   r#   r-   r.   r/   r9   úassert %(py12)sr:   ÚauthorizationzBearer private-key©z%(py1)s == %(py4)s©r,   r$   úassert %(py6)sr%   éÈ   TÚaudio)ÚsuccessÚerrorsÚresult©r¬   úcontent-typez
audio/mpeg)ÚcontentÚheaders)r¬   ÚloadsrÁ   rA   rB   rC   rD   rE   rF   rG   rH   rÂ   r¢   ÚResponseÚbase64Ú	b64encodeÚdecode)r´   rS   r\   r]   rX   r^   Ú@py_format11r�   rŒ   rT   r[   r�   Ú@py_format7r»   r«   s                €€r   r¦   z0test_melo_schema_and_pcm_decode.<locals>.handler7   s©  ø€ ÝŒzÐT˜'œ/ÐTˆzˆz˜/Ñ*Ô*ÐTÐ6GÈtÐ,TÐ,TÐTÐ*Ð,TÒTÐTÐTÑTÕTÔTÐTÐTÐTÐTÐ*Ð,TÐTÑTÔTÐTÕTÔTÑTÔTÐTÐTÕTÔT�tÑTÔTÐTÕTÔT�tÑTÔTÐTÐTÕTÔTˆzÑTÔTÐTÕTÔTÑTÔTÐTÐTÕTÔT˜'ÑTÔTÐTÕTÔT˜'ÑTÔTÐTÐTÕTÔT˜/ÑTÔTÕTÔTÐ*ÑTÔTÕTÔTÐ,TÑTÔTÐTÐTÑTÐTÐTÐTÐTÐTÑTÐTÕTÕTÔTÐTÑTÔTÑTÔTÐTÐTÐTÐTÐTÐTÐTÐTÐTÐTÐTØŒ˜Ô/ÐEÐ1EÐEÐ/Ð1EÒEÐEÐEÐEÕEÔEÐEÐEÐEÐEÐ/Ð1EÐEÑEÔEÕEÔEÐ/ÑEÔEÕEÔEÐ1EÑEÔEÐEÐEÑEÐEÐEÐEÐEÐEÑEÐEÕEÕEÔEÐEÑEÔEÑEÔEÐEÐEÐEÐEÐEÐEÐEØ�VÒÐ¥5¤>°#ÀdÐTVÐahÕioÔiyÐzñ  jAô  jA÷  jHò  jHñ  jJô  jJð  aKð  <Lð  <Lð  $Mñ  $Mô  $Mð  MÝŒ~˜c¨%¸ÈÐ8UÐVÑVÔVÐVr   Úaccountúprivate-keyr±   r   r   )z%(py0)s == (%(py3)s * %(py5)s)Úpcm)r"   r-   r.   úassert %(py8)sr&   )r   rª   r   r   Ú
synthesizerA   rB   rC   rD   rE   rF   rG   rH   )r©   r«   r¦   rÌ   r[   r\   r]   rS   rÉ   Ú@py_format9r»   s    `        @r   Útest_melo_schema_and_pcm_decoderÐ   4   si  øø€ å
�+˜dÑ"Ñ
#Ô
#€EðWð Wð Wð Wð Wð Wõ
 ˆk˜'Ñ"Ô"Ð"ÝÕ˜i¨Ñ6Ô6×AÒAÐBSÐTXÑYÔYÑZÔZ€CØÐ ˜DÐ �˜DÑ Ð ˆ3Ð Ò Ð Ð Ð Õ Ô Ð Ð Ð Ð ˆ3Ð Ð Ñ Ô Ð Õ Ô Ñ Ô Ð Ð Õ Ô ˆ3Ñ Ô Ð Õ Ô ˆ3Ñ Ô Ð Ð Õ Ô �Ñ Ô Õ Ô ˜DÑ Ô Ð Ð Ñ Ð Ð Ð Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð r   Úfailure)i‘  i­  iô  i.  Úbad_jsonÚ	bad_audioÚerrorÚnetworkc                 óü   ‡— ˆfd„}t          | |¦  «         t          j        t          d¬¦  «        5  t	          t          dd¦  «                             dd¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó
  •— ‰dk    rt          j        d¦  «        ‚t          ‰t          ¦  «        rt          j        ‰d¬¦  «        S ‰dk    rt          j        ddddi¬¦  «        S t          j        d‰d	k    d
didœ¬¦  «        S )NrÕ   rË   )r‘   rÒ   rº   rÀ   zapplication/json)r‘   rÂ   rÔ   r»   z%%%)r¼   r¾   r¿   )r¢   ÚConnectErrorÚ
isinstanceÚintrÄ   )r´   rÑ   s    €r   r¦   z(test_melo_failures_safe.<locals>.handlerC   s‘   ø€ Ø�IÒÐ¥EÔ$6°}Ñ$EÔ$EÐEÝ�g�cÑ"Ô"ÐT­%¬.¸ÀmÐ*TÑ*TÔ*TÐ#TØ�JÒÐ¥e¤n°S¸mÐUcÐdvÐTwÐ&xÑ&xÔ&xÐxÝŒ~˜c°'¸7Ò2BÈWÐUZÈOÐ'\Ð'\Ð]Ñ]Ô]Ð]r   z^Speech unavailable$)ÚmatchrÊ   rË   zTest.r€   )rª   rN   rO   r   r   r   rÎ   )r©   rÑ   r¦   s    ` r   Útest_melo_failures_saferÜ   A   sê   ø€ ð^ð ^ð ^ð ^ð ^õ
 ˆk˜'Ñ"Ô"Ð"Ý	Œ•{Ð)?Ð	@Ñ	@Ô	@ð Qð QÝÕ˜i¨Ñ6Ô6×AÒAÀ'È$ÑOÔOÑPÔPÐPðQð Qð Qñ Qô Qð Qð Qð Qð Qð Qð Qð Qøøøð Qð Qð Qð Qð Qð Qs   ²2A1Á1A5Á8A5c            	      óx  — t          ddz  ¦  «        } ddiddiddifD ]M}t          j        t          ¦  «        5  t	          t          | fi |¤Ž¦  «         d d d ¦  «         n# 1 swxY w Y   ŒNt          j        t          ¦  «        5  t	          t          d	¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nó     r¯   Ú	max_inputé
   Ú
max_outputéd   Útimeoutgñhãˆµøä>s   broken compressed audio)r   rN   rO   r   r   r	   )r»   Úoptionss     r   Ú!test_ffmpeg_bounds_errors_timeoutrå   M   sý   € Ý
�'˜$‘,Ñ
Ô
€EØ  Ð$ l°3Ð%7¸À6Ð8JÐKð Kð KˆÝŒ]�;Ñ'Ô'ÐJÐJ­­L¸Ð,IÐ,IÀÐ,IÐ,IÑ(JÔ(JÐ(JÐJÐJÐJÑJÔJÐJÐJÐJÐJÐJÐJøøøÐJÐJÐJÐJøÝ	Œ•{Ñ	#Ô	#ÐQÐQ¥C­Ð5OÑ(PÔ(PÑ$QÔ$QÐ$QÐQÐQÐQÑQÔQÐQÐQÐQÐQÐQÐQÐQøøøÐQÐQÐQÐQÐQÐQs#   ¹A Á A$	Á'A$	ÂB/Â/B3Â6B3c                 ó0  — |                       dd¦  «         |                       dd¦  «         |                       dd¦  «         t          ¦   «         }|j        }d}||k    }|sÇt          j        d|fd||f¦  «        d	t          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd	t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d
œz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}}|                      d¦  «         t          ¦   «         }d }||u }|s´t          j        d|fd||f¦  «        d	t          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd	t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}}d S )NÚGATEWAY_TTS_PROVIDERzcloudflare-workers-aiÚGATEWAY_CF_ACCOUNT_IDÚaÚGATEWAY_CF_API_TOKENÚsamer   )zF%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s()
}.api_key
} == %(py7)sr   ©r"   r#   r$   r/   r‰   r0   ©Úis)z)%(py2)s
{%(py2)s = %(py0)s()
} is %(py5)s)r"   r#   r.   úassert %(py7)sr/   )Úsetenvr   Úapi_keyrA   rB   rC   rD   rE   rF   rG   rH   Údelenv)	r©   rS   rT   r]   rU   rŽ   r˜   r\   r�   s	            r   Ú)test_configured_tts_reuses_cloudflare_keyró   T   sH  € Ø×ÒÐ-Ð.EÑFÔFÐFØ×ÒÐ.¨sÑ3Ô3Ð3°K×4FÒ4FÐG]Ð^dÑ4eÔ4eÐ4eÝÑÔÐ+ÐÔ#Ð+ VÐ+Ð# VÒ+Ð+Ð+Ð+Õ+Ô+Ð+Ð+Ð+Ð+Ð# VÐ+Ñ+Ô+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+�>Ñ+Ô+Ð+Õ+Ô+�>Ñ+Ô+Ð+Ð+Õ+Ô+ÐÑ+Ô+Õ+Ô+Ð#Ñ+Ô+Õ+Ô+ VÑ+Ô+Ð+Ð+Ñ+Ð+Ð+Ð+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ø×ÒÐ-Ñ.Ô.Ð.µnÑ6FÔ6FÐ/NÈ$Ð/NÐ6FÈ$Ð6NÐ/NÐ/NÐ/NÕ/NÔ/NÐ/NÐ/NÐ/NÐ/NÐ6FÈ$Ð/NÑ/NÔ/NÐ/NÕ/NÔ/NÑ/NÔ/NÐ/NÐ/NÕ/NÔ/NµnÑ/NÔ/NÐ/NÕ/NÔ/NµnÑ/NÔ/NÐ/NÐ/NÕ/NÔ/NÐ6FÑ/NÔ/NÕ/NÔ/NÈ$Ñ/NÔ/NÐ/NÐ/NÑ/NÐ/NÐ/NÐ/NÐ/NÐ/NÑ/NÐ/NÕ/NÕ/NÔ/NÐ/NÑ/NÔ/NÑ/NÔ/NÐ/NÐ/NÐ/NÐ/NÐ/NÐ/NÐ/NÐ/NÐ/Nr   c                 ó�   — | dz  }|                      t          j        dddddddigd	œii¦  «        ¦  «         t          |¦  «        S )
Nzmodels.jsonÚ	providersÚhaihubzopenai-completionszhttps://api.model.haihub.cn/v1rË   Úidúdeepseek-flash)ÚapiÚbaseUrlÚapiKeyÚmodels)rQ   r¬   Údumpsr
   )rR   r+   s     r   Úsummary_providerrþ   [   sŽ   € Ø	�-Ñ	€D §¢µ´
¸KÈÐYmð  yYð  cpð  |@ð  AQð  {Rð  zSð  STð  STð  IUð  <Vñ  1Wô  1Wñ  !Xô  !Xð  !XÝ˜ÑÔÐr   Ústatus)r¼   ÚpartialÚfailedÚneeds_actionc           	      óÖ  ‡— ˆfd„}t          ||¦  «         t          t          | ¦  «                             ddddd¦  «        ¦  «        }g }|d         }|‰k    }|}|r|j        }	d}
 |	|
¦  «        }| }|}|�s_t          j        d	|fd
|‰f¦  «        t          j        |¦  «        dt          j	        ¦   «         v st          j
        ‰¦  «        rt          j        ‰¦  «        nddœz  }dd|iz  }|                     |¦  «         |r’ddt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        ndt          j        |	¦  «        t          j        |
¦  «        t          j        |¦  «        dœz  }|                     |¦  «         t          j        |d¦  «        i z  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}x}	x}
x}}d S )Nc                 ó  •— t          j        | j        ¦  «        }g }|d         }d}||k    }|}|r|d         }ddi}||k    }	|	}|�st          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }
d	d
|
iz  }|                     |¦  «         |r`t          j        d|	fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }|                     |¦  «         t          j        |d¦  «        i z  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}x}x}x}x}x}	}t          j        |d         d         d         ¦  «        }d}d}d}d}t          ||||¬¦  «        }||k    }|�s+t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}x}x}x}}t          j        d d!d"dt          j        ‰d#d$œ¦  «        iigi¬%¦  «        S )&NÚmodelrø   Úresponse_formatÚtypeÚjson_objectr   ©z%(py3)s == %(py6)s©r-   r%   ú%(py8)sr&   )z%(py11)s == %(py14)s)r'   r1   z%(py16)sr3   r   r}   r~   Úmessagesr6   rÁ   ÚcodexÚtestÚDONEúpublic result)ÚagentÚsession_nameÚterminal_stateÚfinal_response)z%(py0)s == %(py12)s
{%(py12)s = %(py2)s(agent=%(py4)s, session_name=%(py6)s, terminal_state=%(py8)s, final_response=%(py10)s)
}ÚsourceÚdict)r"   r#   r$   r%   r&   r9   r:   úassert %(py14)sr1   rº   ÚchoicesÚmessageu-   ä»»åŠ¡ç»“æžœå·²ç»�è¿”å›žï¼Œè¯·æŸ¥çœ‹å±�å¹•ã€‚©rÿ   Úspeechr¿   )r¬   rÃ   rÁ   rA   rB   rF   rŠ   r‹   rG   rH   r  rC   rD   rE   r¢   rÄ   rý   )r´   ÚpayloadrS   r[   rU   r\   rŒ   rW   r_   r`   rÉ   rÏ   ra   rb   rf   r•   r  rT   rV   rX   rc   r�   rÿ   s                         €r   r¦   z:test_summary_structured_and_minimal_input.<locals>.handlerb   sÏ  ø€ Ý”
˜7œ?Ñ+Ô+ˆØhÐhˆw�wÔÐhÐ!1ÐhÐÐ!1Ò1ÐhÐhÐhÐhÐh°gÐ>OÔ6PÐhÐSYÐZgÐRhÐhÐ6PÐRhÒ6hÐhÐhÐhÐhÑhÕhÔhÐhÐhÐhÐhÐÐ!1ÐhÑhÔhÕhÔhÐÑhÔhÕhÔhÐ!1ÑhÔhÐhÐhÑhÐhÐhÐhÐhÐhÑhÐhÐh×hÒhÐhÑhÔhÐhÐhÐhÕhÔhÐhÐhÐhÐhÐ6PÐRhÐhÑhÔhÕhÔhÐ6PÑhÔhÕhÔhÐRhÑhÔhÐhÐhÑhÐhÐhÐhÐhÐhÑhÐhÐh×hÒhÐhÑhÔhÐhÕhÔhÐhÐhÑhÔhÐhÑhÐhÐhÐhÐhÐhÑhÐhÕhÕhÔhÐhÑhÔhÑhÔhÐhÐhÐhÐhÐhÐhÐhÐhÐhÐhÐhÐhÐhÐhÐhÐhÐhÝŒz˜' *Ô-¨aÔ0°Ô;Ñ<Ô<ˆØ")Ðs°vÐsÈVÐsÐcrÐs•t '°vÈVÐcrÐsÑsÔsÐsˆvÐsÒsÐsÐsÑsÕsÔsÐsÐsÐsÐsˆvÐsÐsÑsÔsÐsÕsÔsÑsÔsÐsÐsÕsÔsˆvÑsÔsÐsÕsÔsˆvÑsÔsÐsÐsÐsÕsÔsÑsÔsÐsÐsÕsÔs•tÑsÔsÐsÕsÔs•tÑsÔsÐsÐsÕsÔs 'ÑsÔsÕsÔs°vÑsÔsÕsÔsÈVÑsÔsÕsÔsÐcrÑsÔsÕsÔsÐsÑsÔsÐsÐsÑsÐsÐsÐsÐsÐsÑsÐsÕsÕsÔsÐsÑsÔsÑsÔsÐsÐsÐsÐsÐsÐsÐsÐsÐsÐsÐsÐsÐsÝŒ~˜c¨	°I¸yÍÌÐ^dð  o^ð  U_ð  U_ñ  J`ô  J`ð  ?að  4bð  3cð  (dð  eñ  eô  eð  	er   r  r  r  r  zignored toolsrÿ   Úfallbackr   )z%(py3)s == %(py5)srl   rm   r/   zGnot %(py15)s
{%(py15)s = %(py11)s
{%(py11)s = %(py9)s.get
}(%(py13)s)
}r¾   )r0   r'   r(   r;   r   r}   r~   )rª   r   rþ   Ú	summarizer@   rA   rB   rF   rC   rD   rE   rŠ   r‹   rG   rH   )rR   r©   rÿ   r¦   r¾   rS   r[   r\   rŒ   rW   r`   rd   r“   r�   rŽ   rb   rf   r•   s     `               r   Ú)test_summary_structured_and_minimal_inputr  `   s`  ø€ ðeð eð eð eð eõ ˆk˜'Ñ"Ô"Ð"ÝÕ Ñ)Ô)×3Ò3°G¸FÀ6È/ÐZiÑjÔjÑkÔk€FØBÐBˆ6�(ÔÐBÐ˜VÒ#ÐBÐBÐBÐBÐB¨F¬JÐB°zÐB¨J¨J°zÑ,BÔ,BÐBÐ,BÐ(BÐBÐ(BÐBÐBÑBÕBÔBÐBÐBÐBÐBÐ˜VÐBÑBÔBÕBÔBÐÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔB˜VÑBÔBÐBÕBÔB˜VÑBÔBÐBÐBÐBÐBÑBÐBÐBÐBÐBÐBÑBÐBÐB×BÒBÐBÑBÔBÐBÐBÐBÐBÐBÕBÔBÑBÔBÐBÐBÕBÔB¨FÑBÔBÐBÕBÔB¨FÑBÔBÐBÐBÕBÔB¨JÑBÔBÕBÔB°zÑBÔBÕBÔBÐ,BÑBÔBÐBÐBÑBÐBÐB×BÒBÐBÑBÔBÐBÕBÔBÐBÐBÑBÔBÐBÑBÐBÐBÐBÐBÐBÑBÐBÕBÕBÔBÐBÑBÔBÑBÔBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBr   Úcase)r¬   rÕ   Úsuccess_on_failureÚlongÚ	sentencesÚemptyÚ
bad_statusc                 óš  ‡— ˆfd„}t          ||¦  «         t          t          | ¦  «                             dddd¦  «        ¦  «        }g }|d         }|}|r|d         }d}	||	k    }
|
}|sÐd	d
t	          j        |¦  «        iz  }|                     |¦  «         |r`t	          j        d|
fd||	f¦  «        t	          j        |¦  «        t	          j        |	¦  «        dœz  }dd|iz  }|                     |¦  «         t	          j        |d¦  «        i z  }dd|iz  }t          t	          j
        |¦  «        ¦  «        ‚d x}x}x}x}x}
}	|d         }d}||k    }|slt	          j        d|fd||f¦  «        t	          j        |¦  «        t	          j        |¦  «        dœz  }dd|iz  }t          t	          j
        |¦  «        ¦  «        ‚d x}x}}d S )Nc           	      ó  •— ‰dk    rt          j        d¦  «        ‚‰dk    rdndddœ}‰dk    rd	|d
<   ‰dk    rd|d
<   ‰dk    rd|d
<   ‰dk    rd|d<   t          j        dddd‰dk    rdnt          j        |¦  «        iigi¬¦  «        S )NrÕ   rË   r!  r¼   r  u   ä»»åŠ¡æ²¡æœ‰å®Œæˆ�ã€‚r  r"  uÖ  å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿å¾ˆé•¿r  r#  u$   å¤±è´¥ã€‚å¤±è´¥ã€‚å¤±è´¥ã€‚å¤±è´¥ã€‚r$  Ú r%  Úunknownrÿ   rº   r  r  rÁ   r¬   znot-jsonr¿   )r¢   ÚReadTimeoutrÄ   r¬   rý   )r´   rk   r   s     €r   r¦   z.test_summary_failure_fallback.<locals>.handlero   sÅ   ø€ Ø�Š?ˆ?¥Ô!2°=Ñ!AÔ!AÐAØ%)Ð+?Ò%?Ð%?˜	˜	ÀXÐWnÐoÐoˆØ�Š<ˆ<¨˜˜h™Ø�ÒÐ¨]˜U 8™_Ø�Š=ˆ=¨˜˜x™Ø�ÒÐ¨i˜e H™oÝŒ~˜c¨	°I¸yÐW[Ð]cÒWcÐWcÈÈÕimÔisÐtyÑizÔizÐ>{Ð3|Ð2}Ð'~ÐÑÔÐr   r  r  ÚFAILEDzdependency missingr  rÿ   r  z%(py3)sr-   r   )z%(py6)s == %(py9)s)r%   r0   r�   r'   r   r  r1   r  u9   ä»»åŠ¡æ²¡æœ‰å®Œæˆ�ï¼Œè¯·æŸ¥çœ‹å±�å¹•ä¸Šçš„é”™è¯¯ä¿¡æ�¯ã€‚r·   r¸   r¹   r%   )rª   r   rþ   r  rA   rF   rŠ   rB   r‹   rG   rH   )rR   r©   r   r¦   r¾   rS   r[   rŒ   rU   r^   rV   r’   r˜   rY   r�   ra   rT   r�   rÉ   s     `                r   Útest_summary_failure_fallbackr,  m   sh  ø€ ð@ð @ð @ð @ð @õ ˆk˜'Ñ"Ô"Ð"ÝÕ Ñ)Ô)×3Ò3°G¸FÀ8ÐL`ÑaÔaÑbÔb€FØ<Ð<ˆ6�*ÔÐ<ÐÐ<ÐÐ< &¨Ô"2Ð<°HÐ<Ð"2°HÒ"<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Õ<Ô<ÐÑ<Ô<Ð<Ñ<Ð<Ð<×<Ò<Ð<Ñ<Ô<Ð<ÐÐ<Õ<Ô<Ð<Ð<Ð<Ð<Ð"2°HÐ<Ñ<Ô<Õ<Ô<Ð"2Ñ<Ô<Õ<Ô<°HÑ<Ô<Ð<Ð<Ñ<Ð<Ð<Ð<Ð<Ð<Ñ<Ð<Ð<×<Ò<Ð<Ñ<Ô<Ð<Õ<Ô<Ð<Ð<Ñ<Ô<Ð<Ñ<Ð<Ð<Ð<Ð<Ð<Ñ<Ð<Õ<Õ<Ô<Ð<Ñ<Ô<Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ø�(ÔÐXÐXÐXÐÐXÒXÐXÐXÐXÕXÔXÐXÐXÐXÐXÐÐXÐXÑXÔXÕXÔXÐÑXÔXÕXÔXÐXÑXÔXÐXÐXÑXÐXÐXÐXÐXÐXÑXÐXÕXÕXÔXÐXÑXÔXÑXÔXÐXÐXÐXÐXÐXÐXÐXÐXÐXr   c                   ó   — e Zd Zdd„Zd„ ZdS )ÚFakeTTSé   c                 ó"   — g | _         || _        d S r   )ÚcallsÚframes)Úselfr2  s     r   Ú__init__zFakeTTS.__init__~   s   € ¨B ¤¸6¨t¬{¨{¨{r   c              ƒ   ób   K  — | j                              ||f¦  «         dt          z  | j        z  S )Nó    )r1  rŠ   r   r2  )r3  r‘   Úlanguages      r   rÎ   zFakeTTS.synthesize   s1   è è € ØŒ
×Ò˜4 ˜/Ñ*Ô*Ð*°%½Ñ2CÀDÄKÑ2OÐ+Or   N©r/  )Ú__name__Ú
__module__Ú__qualname__r4  rÎ   ro   r   r   r.  r.  }   s4   € € € € € ØAÐAÐAÐAðPð Pð Pð Pð Pr   r.  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚFakeSummaryc                 ó   — g | _         d S r   )r1  )r3  s    r   r4  zFakeSummary.__init__„   s   €  "�t”z�z�zr   c              ‹   óD   K  — | j                              |¦  «         dddœS )Nr¼   u   ä»»åŠ¡å·²ç»�å®Œæˆ�ã€‚r  )r1  rŠ   )r3  r¤   s     r   r  zFakeSummary.summarize…   s)   è è €  4¤:×#4Ò#4°RÑ#8Ô#8Ð#8È)Ð]tÐ@uÐ@uÐ9ur   N)r9  r:  r;  r4  r  ro   r   r   r=  r=  ƒ   s"   € € € € € Ø$Ð$Ð$ØuÐuÐuÐuÐur   r=  r/  c           
      óê   ‡‡‡	— t          dddhd¬¦  «        }g ŠdgŠ	dgŠˆfd„}t          |¦  «        t          ¦   «         }}t          ||t	          | d	z  ¦  «        ˆ	fd
„|d„ ˆfd„¦  «        }||‰‰	‰fS )Nr   ÚcÚspeech_playbackT)Ú	device_idÚconnection_idÚcapabilitiesÚonlineú
agent:pi:sFc              “   ó€   •K  — ‰                      t          j        ¦   «                              ¦   «         |f¦  «         d S r   )rŠ   r   Úget_running_loopÚtime)r   ÚpÚemitteds     €r   Úsendzmanager.<locals>.send‹   s8   øè è € ˜Ÿš­Ô(@Ñ(BÔ(B×(GÒ(GÑ(IÔ(IÈ!Ð'LÑMÔMÐMÐMÐMr   r   c                 ó   •— ‰d         S ©Nr   ro   )Ú_Útargets    €r   r§   zmanager.<locals>.<lambda>�   s   ø€ ÐSYÐZ[ÔS\€ r   c                 ó   — | j         S r   )rF  )r   s    r   r§   zmanager.<locals>.<lambda>�   s
   € ÐklÔks€ r   c                 ó   •— ‰d         S rO  ro   )rP  Úblockeds    €r   r§   zmanager.<locals>.<lambda>�   s   ø€ ð  ~Eð  FGô  ~H€ r   )r   r.  r=  r   r   )
rR   r2  ÚdevicerM  ÚttsÚsummaryÚmrT  rL  rQ  s
          @@@r   ÚmanagerrY  ˆ   sº   øøø€ Ý S°sÐIZÐH[ÐcgÐhÑhÔh€FØ€G˜�~�°¨w wØMÐMÐMÐMÐMÝ˜‘”¥¡¤ˆ€CÝ�C˜Õ 1°(¸=Ñ2HÑ IÔ IÐJ\ÐJ\ÐJ\ÐJ\Ð]aÐbsÐbsð  uHð  uHð  uHð  uHñ  Iô  I€AØˆV�G˜F 7Ð*Ð*r   Úmodec                 óD   ‡ ‡— ˆˆ fd„}t           |¦   «         ¦  «         d S )Nc               “   óP  •K  — t          ‰ ¦  «        \  } }}}}| j                             dd‰¦  «         |                      |ddddd¦  «         t	          j        t          | j        ¦  «        Ž ƒ d {V —† ‰dv �räg }| }|}|r(| j        }|j	        }| }	|	}|	r| j
        }
|
j	        }| }|}|�sœd	d
dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndiz  }|                     |¦  «         |�r ddt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }|                     |¦  «         |	rddt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |
¦  «        t          j        |¦  «        dœz  }|                     |¦  «         t          j        |d¦  «        i z  }dd|iz  }t%          t          j        |¦  «        ¦  «        ‚d x}x}x}x}x}x}	x}
x}}�n.d„ |D ¦   «         }g d¢}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t%          t          j        |¦  «        ¦  «        ‚d x}x}}|d         d         }|d         d         }||z
  }d}||k    }|st          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d œz  }d!d"|iz  }t%          t          j        |¦  «        ¦  «        ‚d x}x}x}x}}t*          j        }|d         d         } ||¦  «        }|j        } |¦   «         }	t1          |	¦  «        }d#}||k     }|�s[t          j        d$|fd%||f¦  «        d&t          j        ¦   «         v st          j        t0          ¦  «        rt          j        t0          ¦  «        nd&d't          j        ¦   «         v st          j        t*          ¦  «        rt          j        t*          ¦  «        nd't          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |	¦  «        t          j        |¦  «        t          j        |¦  «        d(œ	z  }d)d*|iz  }t%          t          j        |¦  «        ¦  «        ‚d x}x}x}x}x}	x}x}}t2          j        }|d         d         d+         } ||¦  «        }t1          |¦  «        }d,}||k    }	|	�s5t          j        d|	fd-||f¦  «        d&t          j        ¦   «         v st          j        t0          ¦  «        rt          j        t0          ¦  «        nd&d.t          j        ¦   «         v st          j        t2          ¦  «        rt          j        t2          ¦  «        nd.t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d/œz  }d0d1|iz  }t%          t          j        |¦  «        ¦  «        ‚d x}x}x}x}x}	}| j
        }|j	        }t7          |¦  «        }d2}‰|k    }	||	k    }|�sut          j        d|	fd3‰|f¦  «        d4t          j        ¦   «         v st          j        ‰¦  «        rt          j        ‰¦  «        nd4t          j        |¦  «        d5œz  }t          j        d|fd6||	f¦  «        d7t          j        ¦   «         v st          j        t6          ¦  «        rt          j        t6          ¦  «        nd7dt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        |d8œz  }d9d:|iz  }t%          t          j        |¦  «        ¦  «        ‚d x}x}x}x}x}	}|                      ¦   «         ƒ d {V —† d S );Nr   rG  ÚpiÚsr  úFinal answer.r  )r   ÚMANUALznot %(py2)sr#   ÚoutzDnot %(py9)s
{%(py9)s = %(py7)s
{%(py7)s = %(py5)s.provider
}.calls
}rX  )r.   r/   r0   zKnot %(py16)s
{%(py16)s = %(py14)s
{%(py14)s = %(py12)s.summarizer
}.calls
})r:   r1   r3   r   úassert %(py20)sr‚   c                 ó$   — g | ]\  }}|d          ‘ŒS )r  ro   ©rp   rP  rK  s      r   ú
<listcomp>zAtest_terminal_modes_and_pacing.<locals>.check.<locals>.<listcomp>›   s    € Ð-Ð-Ð-¡# ! A�A�f”IÐ-Ð-Ð-r   )Úspeech_startÚspeech_chunkrg  Ú
speech_endr   r·   r¸   r¹   r%   r/  r6   g333333³?)ú>=)z(%(py1)s - %(py3)s) >= %(py7)s)r,   r-   r/   r‰   r0   i'  )ú<)z %(py13)s
{%(py13)s = %(py0)s(%(py11)s
{%(py11)s = %(py9)s
{%(py9)s = %(py7)s
{%(py7)s = %(py3)s
{%(py3)s = %(py1)s.dumps
}(%(py5)s)
}.encode
}()
})
} < %(py16)sr7   r¬   )	r"   r,   r-   r.   r/   r0   r'   r(   r3   zassert %(py18)sÚpy18r»   i�  )zn%(py9)s
{%(py9)s = %(py0)s(%(py7)s
{%(py7)s = %(py3)s
{%(py3)s = %(py1)s.b64decode
}(%(py5)s)
})
} == %(py12)srÅ   )r"   r,   r-   r.   r/   r0   r:   r  r1   r*   )z%(py9)s == %(py12)srZ  )r0   r:   )zn%(py7)s
{%(py7)s = %(py0)s(%(py5)s
{%(py5)s = %(py3)s
{%(py3)s = %(py1)s.summarizer
}.calls
})
} == (%(py14)s)Úbool)r"   r,   r-   r.   r/   r1   r2   r3   )rY  ÚpreferencesrI   Úterminalr   Úgatherr8   ÚtasksÚproviderr1  Ú
summarizerrC   rD   rA   rE   rF   rŠ   r‹   rG   rH   rB   r¬   rý   Úencoder7   rÅ   Ú	b64decoderl  Úclose)!rX  r   ra  rP  rS   rT   rŒ   r]   r^   rW   r_   r”   Ú@py_assert17r’   rÈ   rf   Ú@py_format19r™   r[   r�   rÉ   r\   rU   rŽ   r˜   r`   rd   rb   rc   r�   ra   rZ  rR   s!                                  €€r   Úcheckz-test_terminal_modes_and_pacing.<locals>.check“   s�	  øè è € Ý˜HÑ%Ô%‰ˆˆ!ˆC��!Ø	Œ×Ò˜#˜l¨4Ñ0Ô0Ð0Ø	�
Š
�1�T˜#˜f _°VÑ<Ô<Ð<ÝŒn�d 1¤7™mœmÐ,Ð,Ð,Ð,Ð,Ð,Ð,Ð,ØÐ#Ð#Ñ#ØNÐN�s�7ÐN�7ÐN�7ÐN 1¤:ÐN :Ô#3ÐNÐ#3Ð3ÐNÐ3ÐNÐ3ÐN¸A¼LÐN¸LÔ<NÐNÐ<NÐ8NÐNÐ8NÐNÐNÑNÐNÐNÐNÕNÔNÑNÔNÐNÐNÕNÔN�sÑNÔNÐNÕNÔN�sÑNÔNÐNÐNÐNÑNÐNÐN×NÒNÐNÑNÔNÐN�7ÑNÐNÐNÕNÔNÑNÔNÐNÐNÕNÔN 1ÑNÔNÐNÕNÔN 1ÑNÔNÐNÐNÕNÔN :ÑNÔNÕNÔNÐ#3ÑNÔNÐNÐNÑNÐNÐN×NÒNÐNÑNÔNÐNÐ3ÐNÐNÐNÕNÔNÑNÔNÐNÐNÕNÔN¸AÑNÔNÐNÕNÔN¸AÑNÔNÐNÐNÕNÔN¸LÑNÔNÕNÔNÐ<NÑNÔNÐNÐNÑNÐNÐN×NÒNÐNÑNÔNÐNÕNÔNÐNÐNÑNÔNÐNÑNÐNÐNÐNÐNÐNÑNÐNÕNÕNÔNÐNÑNÔNÑNÔNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÑNà-Ð-¨Ð-Ñ-Ô-ÐjÐ/jÐ/jÐ/jÐjÐ-Ð/jÒjÐjÐjÐjÕjÔjÐjÐjÐjÐjÐ-Ð/jÐjÑjÔjÕjÔjÐ-ÑjÔjÕjÔjÐ/jÑjÔjÐjÐjÑjÐjÐjÐjÐjÐjÑjÐjÕjÕjÔjÐjÑjÔjÑjÔjÐjÐjÐjÐjÐjÐjÐjØ�q”6˜!”9Ð,˜S œV AœYÐ,�9˜YÑ&Ð,¨Ð,Ð&¨Ò,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,Ð&¨Ð,Ñ,Ô,Õ,Ô,�9Ñ,Ô,Õ,Ô,˜YÑ,Ô,Õ,Ô,¨Ñ,Ô,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ý”zÐ< # a¤&¨¤)Ð<�z�z )Ñ,Ô,Ð<Ð,Ô3Ð<Ð3Ð3Ñ5Ô5Ð<•3Ð5Ñ6Ô6Ð<°uÐ<Ð6°uÒ<Ð<Ð<Ñ<Õ<Ô<Ð<Ð<Ð<Ð<Ð6°uÐ<Ñ<Ô<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô<•3Ñ<Ô<Ð<Õ<Ô<•3Ñ<Ô<Ð<Ð<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô<•tÑ<Ô<Ð<Õ<Ô<•tÑ<Ô<Ð<Ð<Õ<Ô<�zÑ<Ô<Õ<Ô< )Ñ<Ô<Õ<Ô<Ð,Ñ<Ô<Õ<Ô<Ð3Ñ<Ô<Õ<Ô<Ð5Ñ<Ô<Õ<Ô<Ð6Ñ<Ô<Õ<Ô<°uÑ<Ô<Ð<Ð<Ñ<Ð<Ð<Ð<Ð<Ð<Ñ<Ð<Õ<Õ<Ô<Ð<Ñ<Ô<Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<ÝÔ'ÐB¨¨A¬¨q¬	°'Ô(:ÐBÐ'Ð'Ð(:Ñ;Ô;ÐB•3Ð;Ñ<Ô<ÐB¸dÐBÐ<¸dÒBÐBÐBÑBÕBÔBÐBÐBÐBÐBÐ<¸dÐBÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔB•3ÑBÔBÐBÕBÔB•3ÑBÔBÐBÐBÐBÕBÔBÑBÔBÐBÐBÕBÔB•vÑBÔBÐBÕBÔB•vÑBÔBÐBÐBÕBÔBÐ'ÑBÔBÕBÔBÐ(:ÑBÔBÕBÔBÐ;ÑBÔBÕBÔBÐ<ÑBÔBÕBÔB¸dÑBÔBÐBÐBÑBÐBÐBÐBÐBÐBÑBÐBÕBÕBÔBÐBÑBÔBÑBÔBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBØœÐC˜Ô*ÐC•4Ð*Ñ+Ô+ÐC°NÐC¨d°NÒ.BÐCÐ+ÐCÒCÐCÐCÑCÕCÔCÐCÐCÐCÐC¨d°NÐCÑCÔCÐCÕCÔCÑCÔCÐCÐCÕCÔC¨dÑCÔCÐCÕCÔC¨dÑCÔCÐCÐCÕCÔC°NÑCÔCÐCÐCÑCÐCÕCÔCÐCÐCÐCÐCÐ+ÐCÐCÑCÔCÐCÕCÔCÑCÔCÐCÐCÕCÔC•4ÑCÔCÐCÕCÔC•4ÑCÔCÐCÐCÐCÕCÔCÑCÔCÐCÐCÕCÔC˜ÑCÔCÐCÕCÔC˜ÑCÔCÐCÐCÕCÔC˜ÑCÔCÕCÔCÐ*ÑCÔCÕCÔCÐ+ÑCÔCÐCÐCÐCÑCÐCÐCÐCÐCÐCÑCÐCÕCÕCÔCÐCÑCÔCÑCÔCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCØ�gŠg‰iŒiˆˆˆˆˆˆˆˆˆr   ©r   )rR   rZ  rx  s   `` r   Útest_terminal_modes_and_pacingrz  ‘   s9   øø€ ðð ð ð ð ð õ ˆˆ‰Œ�L„L€L€L€Lr   Úreason)ÚreplacerQ  Ú
disconnectÚapprovalÚ	recordingÚsettingsÚoverflowc                 óD   ‡ ‡— ˆˆ fd„}t           |¦   «         ¦  «         d S )Nc            	   “   óª
  •‡K  — t          ‰d¦  «        \  } }}}}| j        }d}d} ||||¦  «        }|sïddt          j        ¦   «         v st	          j        | ¦  «        rt	          j        | ¦  «        ndt	          j        |¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j        |¦  «        ndt	          j        |¦  «        t	          j        |¦  «        t	          j        |¦  «        dœz  }	t          t	          j        |	¦  «        ¦  «        ‚d x}x}x}}t          j
        d¦  «        ƒ d {V —† | j        d	         j        Š|                      |t          d
d¬¦  «        ¦  «        ƒ d {V —† | j        d	         }
|
j        }|‰k    }|sªt	          j        d|fd|‰f¦  «        t	          j        |
¦  «        t	          j        |¦  «        dt          j        ¦   «         v st	          j        ‰¦  «        rt	          j        ‰¦  «        nddœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}
x}}‰dk    rd|d<   ‰dk    rd|_        ‰dv rd|d<   ‰dk    r|                      |dd¦  «         n |                      |‰dk    ‰dk    ¬¦  «         t          j
        d¦  «        ƒ d {V —† ˆfd„|D ¦   «         }t%          |¦  «        }| }|s•d d!t          j        ¦   «         v st	          j        t$          ¦  «        rt	          j        t$          ¦  «        nd!t	          j        |¦  «        t	          j        |¦  «        d"œz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}ˆfd#„|D ¦   «         }t'          |¦  «        }d$}||k    }|sÇt	          j        d|fd%||f¦  «        d&t          j        ¦   «         v st	          j        t&          ¦  «        rt	          j        t&          ¦  «        nd&t	          j        |¦  «        t	          j        |¦  «        t	          j        |¦  «        d'œz  }d(d)|iz  }	t          t	          j        |	¦  «        ¦  «        ‚d x}x}x}}‰dk    r¸ˆfd*„|D ¦   «         }t%          |¦  «        }|s•d+d!t          j        ¦   «         v st	          j        t$          ¦  «        rt	          j        t$          ¦  «        nd!t	          j        |¦  «        t	          j        |¦  «        d"œz  }t          t	          j        |¦  «        ¦  «        ‚d x}}|                      ¦   «         ƒ d {V —† d S ),Né   ÚscreenzA public screen.zYassert %(py9)s
{%(py9)s = %(py2)s
{%(py2)s = %(py0)s.start
}(%(py3)s, %(py5)s, %(py7)s)
}rX  r   ©r"   r#   r-   r.   r/   r0   ç{®Gáz„?rA  Úspeech_stopÚstale)r  Ú	speech_idr   )z1%(py3)s
{%(py3)s = %(py1)s.speech_id
} == %(py5)sÚold)r,   r-   r.   rï   r/   rQ  r>   r   r}  F)r~  r  Tr|  ÚreplyzReplacement.)ÚnotifyÚforgetg¸…ëQ¸¾?c              3   óN   •K  — | ]\  }}|d          dk    o|d         ‰k    V — Œ dS )r  rh  rŠ  Nro   ©rp   rP  rK  r‹  s      €r   rr   zAtest_cancellation_and_stale_ids.<locals>.check.<locals>.<genexpr>³   s>   øè è € ÐVÐVÉ3È1ÈQ�q˜”y ,Ò.ÐF°1°[´>À3Ò3FÐVÐVÐVÐVÐVÐVr   ú0assert not %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}Úanyrx   c              3   óN   •K  — | ]\  }}|d          dk    o|d         ‰k    V — Œ dS )r  rg  rŠ  Nro   r�  s      €r   rr   zAtest_cancellation_and_stale_ids.<locals>.check.<locals>.<genexpr>´   s>   øè è € ÐTÐTÉÈÈ1�1�V”9˜nÒ,ÐD°°;´ÀÒ1DÐTÐTÐTÐTÐTÐTr   r6   )z0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} == %(py7)sÚsumrì   r‰   r0   c              3   óN   •K  — | ]\  }}|d          dk    o|d         ‰k    V — Œ dS )r  Úspeech_cancelrŠ  Nro   r�  s      €r   rr   zAtest_cancellation_and_stale_ids.<locals>.check.<locals>.<genexpr>µ   sB   øè è € Ð*mÐ*mÑbeÐbcÐde¨1¨V¬9°oÒ+EÐ+]È!ÈKÌ.ÐZ]ÒJ]Ð*mÐ*mÐ*mÐ*mÐ*mÐ*mr   rv   )rY  ÚstartrC   rD   rA   rE   rF   rG   rH   r   ÚsleepÚactiverŠ  Úhandler  rB   rF  Úcancelr’  r”  ru  )rX  r   ra  rQ  rT  rS   r\   r]   r^   r˜   rŒ   r[   r�   rŽ   rT   rU   r�   r‹  r{  rR   s                    @€€r   rx  z.test_cancellation_and_stale_ids.<locals>.check¦   só  øøè è € Ý& x°Ñ3Ô3Ñˆˆ!ˆC��wØŒwÐ5˜Ð5Ð"4Ð5ˆwˆw�q˜Ð"4Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5ˆqÑ5Ô5Ð5Õ5Ô5ˆqÑ5Ô5Ð5Ð5Õ5Ô5ˆwÑ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5�qÑ5Ô5Ð5Õ5Ô5�qÑ5Ô5Ð5Ð5Õ5Ô5˜Ñ5Ô5Õ5Ô5Ð"4Ñ5Ô5Õ5Ô5Ð5Ñ5Ô5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5ÝŒm˜CÑ Ô Ð Ð Ð Ð Ð Ð Ð ØŒH�SŒMÔ#ˆØ�hŠh�q� =¸7ÐCÑCÔCÑDÔDÐDÐDÐDÐDÐDÐDÐDØŒx˜Œ}Ð+ˆ}Ô&Ð+Ð&¨Ò+Ð+Ð+Ð+Õ+Ô+Ð+Ð+Ð+Ð+Ð&¨Ð+Ñ+Ô+Õ+Ô+ˆ}Ñ+Ô+Õ+Ô+Ð&Ñ+Ô+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+¨Ñ+Ô+Ð+Õ+Ô+¨Ñ+Ô+Ð+Ð+Ð+Ð+Ñ+Ð+Ð+Ð+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ø�8ÒÐ x˜V A™YØ�<ÒÐ¨% ¤ØÐ-Ð-Ð-¸¨g°a©jØ�9ÒÐ˜QŸWšW Q w¨~Ñ>Ô>Ð>Ð>Ø�XŠX�a˜v |Ò3¸6À<Ò;OˆXÑPÔPÐPÝŒm˜CÑ Ô Ð Ð Ð Ð Ð Ð Ð ØVÐVÐVÐVÐRUÐVÑVÔVÐV•3ÐVÑVÔVÐVÐVÐVÐVÐVÐVÐVÐVÕVÔVÑVÔVÐVÐVÕVÔV•3ÑVÔVÐVÕVÔV•3ÑVÔVÐVÐVÕVÔVÐVÑVÔVÕVÔVÐVÑVÔVÐVÐVÑVÐVÕVÕVÔVÐVÑVÔVÑVÔVÐVÐVÐVÐVÐVÐVÐVØTÐTÐTÐTÐPSÐTÑTÔTÐW�sÐTÑTÔTÐWÐVWÐWÐTÐVWÒWÐWÐWÐWÕWÔWÐWÐWÐWÐWÐTÐVWÐWÑWÔWÐWÕWÔWÑWÔWÐWÐWÕWÔW�sÑWÔWÐWÕWÔW�sÑWÔWÐWÐWÕWÔWÐTÑWÔWÕWÔWÐTÑWÔWÕWÔWÐVWÑWÔWÐWÐWÑWÐWÐWÐWÐWÐWÑWÐWÕWÕWÔWÐWÑWÔWÑWÔWÐWÐWÐWÐWÐWÐWÐWÐWÐWØ�<ÒÐÐ*mÐ*mÐ*mÐ*mÐilÐ*mÑ*mÔ*mÐ m¥sÐ*mÑ'mÔ'mÐ mÐ'mÐ mÐ mÐ mÕ mÔ mÑ mÔ mÐ mÐ mÕ mÔ m¥sÑ mÔ mÐ mÕ mÔ m¥sÑ mÔ mÐ mÐ mÕ mÔ mÐ*mÑ mÔ mÕ mÔ mÐ'mÑ mÔ mÐ mÐ mÑ mÐ mÕ mÕ mÔ mÐ mÑ mÔ mÑ mÔ mÐ mÐ mÐ mÐ mÐ mØ�gŠg‰iŒiˆˆˆˆˆˆˆˆˆr   ry  )rR   r{  rx  s   `` r   Útest_cancellation_and_stale_idsrœ  ¤   s9   øø€ ðð ð ð ð ð õ" ˆˆ‰Œ�L„L€L€L€Lr   c                 ó@   ‡ — ˆ fd„}t           |¦   «         ¦  «         d S )Nc            	   “   óÈ  •K  — t          ‰¦  «        \  } }}}}t          ¦   «         |_        | j        }d}d} ||||¦  «        }| }|sïddt	          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }	t          t          j
        |	¦  «        ¦  «        ‚d x}x}x}x}}|                      |¦  «        ƒ d {V —† | }|seddd	t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd	iz  }
t          t          j
        |
¦  «        ¦  «        ‚d }d
h|_        t          ddddd¬¦  «        }|                      ||¦  «        ƒ d {V —† | j        }| }|sxddt	          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        dœz  }t          t          j
        |¦  «        ¦  «        ‚d x}}|                     dd¬¦  «         |                      ||¦  «        ƒ d {V —† t!          j        t%          | j        ¦  «        Ž ƒ d {V —† |                      ||¦  «        ƒ d {V —† | j        }|j        }t-          |¦  «        }d}||k    }|�st          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        t,          ¦  «        rt          j        t,          ¦  «        nddt	          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }	dd|	iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}}|                      ¦   «         ƒ d {V —† d S )Nr…  zLegacy.z]assert not %(py9)s
{%(py9)s = %(py2)s
{%(py2)s = %(py0)s.start
}(%(py3)s, %(py5)s, %(py7)s)
}rX  r   r†  úassert not %(py0)sr"   ra  rB  Úspeech_requestÚrrG  Á±  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx©r  Ú
request_idrQ  r  r‘   z.assert not %(py2)s
{%(py2)s = %(py0)s.active
})r"   r#   Úr2zRead this screen.)r¤  r‘   r6   r   )zj%(py7)s
{%(py7)s = %(py0)s(%(py5)s
{%(py5)s = %(py3)s
{%(py3)s = %(py1)s.provider
}.calls
})
} == %(py10)sr7   )r"   r,   r-   r.   r/   r9   rµ   r:   )rY  rI   rE  r—  rC   rD   rA   rE   rF   rG   rH   r€  r  rš  r™  Úupdater   ro  r8   rp  rq  r1  r7   rB   ru  )rX  r   ra  rP  rS   r\   r]   r^   rW   rÈ   Ú@py_format2r´   rT   r’   r[   rX   r�   rR   s                    €r   rx  z5test_legacy_and_bounded_manual_request.<locals>.check»   s   øè è € Ý˜HÑ%Ô%‰ˆˆ!ˆC��!Ý‘u”uˆŒØ”7Ð0˜XÐ0 iÐ0�7�7˜1˜X iÑ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0�1Ñ0Ô0Ð0Õ0Ô0�1Ñ0Ô0Ð0Ð0Õ0Ô0�7Ñ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0˜1Ñ0Ô0Ð0Õ0Ô0˜1Ñ0Ô0Ð0Ð0Õ0Ô0˜XÑ0Ô0Õ0Ô0 iÑ0Ô0Õ0Ô0Ð0Ñ0Ô0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ø�jŠj˜‰mŒmÐÐÐÐÐÐÐ s 7˜N 7˜N˜N˜N˜N�NœN™NœN˜N˜N�NœN s™NœN˜N�NœN s™NœN˜N˜N˜N™N˜N�N�NœN˜N™NœN™NœN˜N˜N˜NØ)Ð*ˆŒÝÐ*°cÀÐU]ÐckÐlÑlÔlˆØ�hŠh�q˜Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!¨Q¬XÐ"5¨X¨Ð"5¨Ð"5Ð"5Ð"5Õ"5Ô"5Ñ"5Ô"5Ð"5Ð"5Õ"5Ô"5¨QÑ"5Ô"5Ð"5Õ"5Ô"5¨QÑ"5Ô"5Ð"5Ð"5Õ"5Ô"5¨XÑ"5Ô"5Ð"5Ð"5Ñ"5Ð"5Õ"5Õ"5Ô"5Ð"5Ñ"5Ô"5Ñ"5Ô"5Ð"5Ð"5Ð"5Ð"5Ð"5Ø�Š $Ð,?ˆÑ@Ô@Ð@Ø�hŠh�q˜Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!­¬½¸Q¼W¹¼Ð(FÐ"FÐ"FÐ"FÐ"FÐ"FÐ"FÐ"FØ�hŠh�q˜Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!¨Q¬ZÐ"A¨ZÔ-=Ð"A­Ð-=Ñ)>Ô)>Ð"AÀÐ"AÐ)>ÀÒ)AÐ"AÐ"AÑ"AÕ"AÔ"AÐ"AÐ"AÐ"AÐ"AÐ)>ÀÐ"AÑ"AÔ"AÐ"AÕ"AÔ"AÑ"AÔ"AÐ"AÐ"AÕ"AÔ"A­Ñ"AÔ"AÐ"AÕ"AÔ"A­Ñ"AÔ"AÐ"AÐ"AÐ"AÕ"AÔ"AÑ"AÔ"AÐ"AÐ"AÕ"AÔ"A¨QÑ"AÔ"AÐ"AÕ"AÔ"A¨QÑ"AÔ"AÐ"AÐ"AÕ"AÔ"A¨ZÑ"AÔ"AÕ"AÔ"AÐ-=Ñ"AÔ"AÕ"AÔ"AÐ)>Ñ"AÔ"AÕ"AÔ"AÀÑ"AÔ"AÐ"AÐ"AÑ"AÐ"AÐ"AÐ"AÐ"AÐ"AÑ"AÐ"AÕ"AÕ"AÔ"AÐ"AÑ"AÔ"AÑ"AÔ"AÐ"AÐ"AÐ"AÐ"AÐ"AÐ"AÐ"AÐ"AÐ"AÐ"AÐ"AØ�gŠg‰iŒiˆˆˆˆˆˆˆˆˆr   ry  ©rR   rx  s   ` r   Ú&test_legacy_and_bounded_manual_requestr©  º   ó3   ø€ ðð ð ð ð õ ˆˆ‰Œ�L„L€L€L€Lr   c                  ó  — t          ¦   «         } d„ }|                       |dd¬¦  «        ¦  «         |                       |ddd¬¦  «        ¦  «         |                       |d	dd
¬¦  «        ¦  «        }g }|j        }d
}||k    }|}|r|j        }d}	||	k    }
|
}|�s~t	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        dœz  }dd|iz  }| 
                    |¦  «         |ržt	          j        d|
fd||	f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        t	          j	        |	¦  «        dœz  }dd|iz  }| 
                    |¦  «         t	          j        |d¦  «        i z  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}x}x}x}x}x}
}	| j        }d	}d}d} ||||¬¦  «        } ||¦  «        }|j        }
d }|
|u }|�sZt	          j        d|fd|
|f¦  «        dt          j        ¦   «         v st	          j        | ¦  «        rt	          j	        | ¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |
¦  «        t	          j	        |¦  «        dœ
z  }d d!|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}x}x}x}x}x}
x}}|                       |dd"¬¦  «        ¦  «         |                       |d	dd#¬¦  «        ¦  «        }g }|j        }d$}||k    }|}|r|j        }d%}	||	k    }
|
}|�s~t	          j        d|fd&||f¦  «        d't          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        nd't	          j	        |¦  «        t	          j	        |¦  «        dœz  }dd|iz  }| 
                    |¦  «         |ržt	          j        d|
fd(||	f¦  «        d't          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        nd't	          j	        |¦  «        t	          j	        |	¦  «        dœz  }dd|iz  }| 
                    |¦  «         t	          j        |d¦  «        i z  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}x}x}x}x}x}
}	| j        }d	}d"}d)}d*} |||||¬+¦  «        } ||¦  «        }
|
j        }d,}||k    }|�smt	          j        d|fd-||f¦  «        dt          j        ¦   «         v st	          j        | ¦  «        rt	          j	        | ¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |
¦  «        t	          j	        |¦  «        t	          j	        |¦  «        d.œz  }d/d0|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}x}x}x}x}x}
x}x}}d S )1Nc                 ó$   — t          d| ddddœ|¤ŽS )Nr^  r  ú/tmp)ÚeventÚ
session_idÚnameÚcwdro   )r   )Úkindr¤   s     r   r®  z4test_pi_final_turn_identity_and_dedup.<locals>.eventÌ   s"   € ¥Ð e°TÀSÈfÐY_Ð eÐ eÐbdÐ eÐ eÐer   Úagent_startÚone)Úturn_idÚactivityÚtoolz	tool logs©Úactivity_typer¶  Ú	agent_endzFinal only.)rµ  Ú
final_textÚdoner   )z2%(py4)s
{%(py4)s = %(py2)s.final_text
} == %(py7)sÚfirst)r#   r$   r/   z%(py9)sr0   )z@%(py13)s
{%(py13)s = %(py11)s.pending_notification
} == %(py16)s)r'   r(   r3   ú%(py18)srk  r   úassert %(py21)sÚpy21Ú	Duplicaterí   )z¿%(py15)s
{%(py15)s = %(py13)s
{%(py13)s = %(py2)s
{%(py2)s = %(py0)s.apply
}(%(py11)s
{%(py11)s = %(py3)s(%(py5)s, turn_id=%(py7)s, final_text=%(py9)s)
})
}.pending_notification
} is %(py18)sÚregistryr®  )
r"   r#   r-   r.   r/   r0   r'   r(   r;   rk  rb  r‚   ÚtwoÚStaleÚRUNNINGr(  )z-%(py4)s
{%(py4)s = %(py2)s.state
} == %(py7)sr‰  )z6%(py13)s
{%(py13)s = %(py11)s.final_text
} == %(py16)szFailed reply.T)rµ  r»  r  r+  )zÁ%(py17)s
{%(py17)s = %(py15)s
{%(py15)s = %(py2)s
{%(py2)s = %(py0)s.apply
}(%(py13)s
{%(py13)s = %(py3)s(%(py5)s, turn_id=%(py7)s, final_text=%(py9)s, failed=%(py11)s)
})
}.state
} == %(py20)s)r"   r#   r-   r.   r/   r0   r'   r(   r;   r=   r‚   zassert %(py22)srƒ   )r   Úapplyr»  Úpending_notificationrA   rB   rC   rD   rE   rF   rŠ   r‹   rG   rH   Ústate)rÂ  r®  r½  rS   rT   r]   rU   rŒ   r`   r”   rd   rŽ   r˜   rb   rw  r•   Ú@py_format22r\   r^   rW   rv  r“   r™   r‰  r–   r—   rš   s                              r   Ú%test_pi_final_turn_identity_and_deduprÊ  Ê   sË  € ÝÑ Ô €HØeÐeÐeØ‡N‚N�5�5˜¨uÐ5Ñ5Ô5Ñ6Ô6Ð6Ø‡N‚N�5�5˜°&À+ÐNÑNÔNÑOÔOÐOØ
�.Š.˜˜˜{°5ÀMÐRÑRÔRÑ
SÔ
S€EØQÐQˆ5ÔÐQ˜]ÐQÐ˜]Ò*ÐQÐQÐQÐQÐQ¨uÔ/IÐQÈ6ÐQÐ/IÈ6Ò/QÐQÐQÐQÐQÑQÕQÔQÐQÐQÐQÐQÐ˜]ÐQÑQÔQÐQÕQÔQÑQÔQÐQÐQÕQÔQˆ5ÑQÔQÐQÕQÔQˆ5ÑQÔQÐQÐQÕQÔQÐÑQÔQÕQÔQ˜]ÑQÔQÐQÐQÑQÐQÐQÐQÐQÐQÑQÐQÐQ×QÒQÐQÑQÔQÐQÐQÐQÕQÔQÐQÐQÐQÐQÐ/IÈ6ÐQÑQÔQÐQÕQÔQÑQÔQÐQÐQÕQÔQ¨uÑQÔQÐQÕQÔQ¨uÑQÔQÐQÐQÕQÔQÐ/IÑQÔQÕQÔQÈ6ÑQÔQÐQÐQÑQÐQÐQÐQÐQÐQÑQÐQÐQ×QÒQÐQÑQÔQÐQÕQÔQÐQÐQÑQÔQÐQÑQÐQÐQÐQÐQÐQÑQÐQÕQÕQÔQÐQÑQÔQÑQÔQÐQÐQÐQÐQÐQÐQÐQÐQÐQÐQÐQÐQÐQÐQÐQÐQÐQØŒ>Ðo Ðo°EÐoÀ[Ðo˜%˜% °EÀ[ÐQÑQÔQÐoˆ>ˆ>ÐQÑRÔRÐoÐRÔgÐoÐkoÐoÐgÐkoÐoÐoÐoÑoÕoÔoÐoÐoÐoÐoÐgÐkoÐoÑoÔoÐoÕoÔoÑoÔoÐoÐoÕoÔoˆ8ÑoÔoÐoÕoÔoˆ8ÑoÔoÐoÐoÕoÔoˆ>ÑoÔoÐoÕoÔoÑoÔoÐoÐoÕoÔo˜%ÑoÔoÐoÕoÔo˜%ÑoÔoÐoÐoÕoÔo ÑoÔoÕoÔo°EÑoÔoÕoÔoÀ[ÑoÔoÕoÔoÐQÑoÔoÕoÔoÐRÑoÔoÕoÔoÐgÑoÔoÕoÔoÐkoÑoÔoÐoÐoÑoÐoÐoÐoÐoÐoÑoÐoÕoÕoÔoÐoÑoÔoÑoÔoÐoÐoÐoÐoÐoÐoÐoÐoÐoÐoÐoÐoÐoÐoÐoÐoÐoÐoÐoØ‡N‚N�5�5˜¨uÐ5Ñ5Ô5Ñ6Ô6Ð6Ø
�.Š.˜˜˜{°5ÀGÐLÑLÔLÑ
MÔ
M€EØ:Ð:ˆ5Œ;Ð:˜	Ð:ˆ;˜	Ò!Ð:Ð:Ð:Ð:Ð: eÔ&6Ð:¸Ð:Ð&6¸Ò&:Ð:Ð:Ð:Ð:Ñ:Õ:Ô:Ð:Ð:Ð:Ð:ˆ;˜	Ð:Ñ:Ô:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:ˆ5Ñ:Ô:Ð:Õ:Ô:ˆ5Ñ:Ô:Ð:Ð:Õ:Ô:ˆ;Ñ:Ô:Õ:Ô:˜	Ñ:Ô:Ð:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Ð:×:Ò:Ð:Ñ:Ô:Ð:Ð:Ð:Õ:Ô:Ð:Ð:Ð:Ð:Ð&6¸Ð:Ñ:Ô:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô: eÑ:Ô:Ð:Õ:Ô: eÑ:Ô:Ð:Ð:Õ:Ô:Ð&6Ñ:Ô:Õ:Ô:¸Ñ:Ô:Ð:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Ð:×:Ò:Ð:Ñ:Ô:Ð:Õ:Ô:Ð:Ð:Ñ:Ô:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Õ:Õ:Ô:Ð:Ñ:Ô:Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:ØŒ>Ðr Ðr°EÐrÀ_ÐrÐ\`Ðr˜%˜% °EÀ_Ð\`ÐaÑaÔaÐrˆ>ˆ>ÐaÑbÔbÐrÐbÔhÐrÐjrÐrÐhÐjrÒrÐrÐrÑrÕrÔrÐrÐrÐrÐrÐhÐjrÐrÑrÔrÐrÕrÔrÑrÔrÐrÐrÕrÔrˆ8ÑrÔrÐrÕrÔrˆ8Ñ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 ÑrÔrÕrÔr°EÑrÔrÕrÔrÀ_ÑrÔrÕrÔrÐ\`ÑrÔrÕrÔrÐaÑrÔrÕrÔrÐbÑrÔrÕrÔrÐhÑrÔrÕrÔrÐjrÑ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ÐrÐrÐrÐrÐrÐrÐrÐrÐrÐrÐrÐrÐrÐrÐrr   c                  ó:   — d„ } t           | ¦   «         ¦  «         d S )Nc            	   “   óÞ	  ‡‡K  — t          d ¦  «        Šg Šˆfd„‰_        ˆfd„}  | dddi¬¦  «        ƒ d {V —†  | dddd	¬
¦  «        ƒ d {V —†  | dddddd	dœ¬¦  «        ƒ d {V —†  | dddd¬
¦  «        ƒ d {V —†  | dddd¬
¦  «        ƒ d {V —†  | dddd¬
¦  «        ƒ d {V —† ‰ }|sedddt          j        ¦   «         v st	          j        ‰¦  «        rt	          j        ‰¦  «        ndiz  }t          t	          j        |¦  «        ¦  «        ‚d } | ddddœ¬¦  «        ƒ d {V —†  | ddddœ¬¦  «        ƒ d {V —† g }t          ‰¦  «        }d}||k    }|}|r‰d         d         }d}||k    }	|	}|�sˆt	          j
        d |fd!||f¦  «        d"t          j        ¦   «         v st	          j        t          ¦  «        rt	          j        t          ¦  «        nd"dt          j        ¦   «         v st	          j        ‰¦  «        rt	          j        ‰¦  «        ndt	          j        |¦  «        t	          j        |¦  «        d#œz  }
d$d%|
iz  }|                     |¦  «         |r`t	          j
        d |	fd&||f¦  «        t	          j        |¦  «        t	          j        |¦  «        d'œz  }d(d)|iz  }|                     |¦  «         t	          j        |d¦  «        i z  }d*d+|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}x}x}x}x}x}	} | ddd,i¬¦  «        ƒ d {V —†  | ddddœ¬¦  «        ƒ d {V —† t          ‰¦  «        }d}||k    }|sòt	          j
        d |fd-||f¦  «        d"t          j        ¦   «         v st	          j        t          ¦  «        rt	          j        t          ¦  «        nd"dt          j        ¦   «         v st	          j        ‰¦  «        rt	          j        ‰¦  «        ndt	          j        |¦  «        t	          j        |¦  «        d.œz  }d/d0|iz  }
t          t	          j        |
¦  «        ¦  «        ‚d x}x}} | dd,d1dœ¬¦  «        ƒ d {V —† ‰d2         d3d …         }d4}||k    }|slt	          j
        d |fd5||f¦  «        t	          j        |¦  «        t	          j        |¦  «        d6œz  }d7d8|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}d S )9Nc                  ó.   •— ‰                      | ¦  «        S r   ©rŠ   ©ré   r¤   r1  s     €r   r§   zQtest_codex_final_message_only_and_terminal_dedup.<locals>.check.<locals>.<lambda>Ú   ó   ø€ ÈuÏ|Ê|Ð\]ÉÌ€ r   c              ›   óh   •K  — ‰                      t          | ddi|¥¬¦  «        ¦  «        ƒ d {V —† d S )NÚthreadIdr^  ©ÚmethodÚparams)r®  r  )rÔ  rÕ  Úadapters     €r   r®  zNtest_codex_final_message_only_and_terminal_dedup.<locals>.check.<locals>.eventÛ   sJ   øè è € ¨w¯}ª}½TÈÐXbÐcfÐWpÐioÐWpÐ=qÑ=qÔ=qÑ/rÔ/rÐ)rÐ)rÐ)rÐ)rÐ)rÐ)rÐ)rÐ)rÐ)rr   zturn/startedr÷   Út)Úturnzitem/agentMessage/deltaré   zIntermediate thought.)ÚturnIdÚitemIdÚdeltazitem/completedÚagentMessageÚ
commentary)r÷   r  Úphaser‘   )rÙ  Úitemr‰  r‹  z
OLD SECRETÚbzFinal zanswer.rŸ  r"   r1  úturn/completedÚ	completed©r÷   rÿ   r6   r   é   r_  r   )z0%(py5)s
{%(py5)s = %(py2)s(%(py3)s)
} == %(py8)sr7   )r#   r-   r.   r&   z%(py10)sr9   )z%(py13)s == %(py16)s)r(   r3   r¾  rk  r¿  rÀ  Úu)z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)s)r"   r,   r-   r%   rÍ   r&   r  éÿÿÿÿr/  )r+  r(  r·   r¸   r¹   r%   )r   Úon_terminalrC   rD   rA   rE   rF   rG   rH   r7   rB   rŠ   r‹   )r®  rS   r§  r\   rV   r]   rŒ   r`   r”   rd   rÏ   rÈ   rb   rw  r•   rÉ  r[   rU   rÉ   rT   r�   rÖ  r1  s                        @@r   rx  z?test_codex_final_message_only_and_terminal_dedup.<locals>.checkÙ   sÆ  øøè è € Ý˜TÑ"Ô"ˆ¨ 5Ð@^Ð@^Ð@^Ð@^¨GÔ,?ØrÐrÐrÐrÐrØˆe�N¨¨c¨
Ð3Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3ØˆeÐ-°SÀÐJaÐbÑbÔbÐbÐbÐbÐbÐbÐbÐbØˆeÐ$¨C¸3ÀnÐ]ið  rIð  6Jð  6Jð  Kñ  Kô  Kð  	Kð  	Kð  	Kð  	Kð  	Kð  	Kð  	KØˆeÐ-°WÀEÐP\Ð]Ñ]Ô]Ð]Ð]Ð]Ð]Ð]Ð]Ð]ØˆeÐ-°SÀÈ(ÐSÑSÔSÐSÐSÐSÐSÐSÐSÐSØˆeÐ-°SÀÈ)ÐTÑTÔTÐTÐTÐTÐTÐTÐTÐTØˆyÐˆyÐÐÐÐÕÔÑÔÐÐÕÔ�5ÑÔÐÕÔ�5ÑÔÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐØˆeÐ$°¸[Ð*IÐ*IÐJÑJÔJÐJÐJÐJÐJÐJÐJÐJØˆeÐ$°¸[Ð*IÐ*IÐJÑJÔJÐJÐJÐJÐJÐJÐJÐJØ=Ð=�s�5‰zŒzÐ=˜1Ð=ˆz˜1Š}Ð=Ð=Ð=Ð=Ð=  q¤¨!¤Ð=¨oÐ= ¨oÒ!=Ð=Ð=Ð=Ð=Ñ=Õ=Ô=Ð=Ð=Ð=Ð=ˆz˜1Ð=Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=�sÑ=Ô=Ð=Õ=Ô=�sÑ=Ô=Ð=Ð=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=�5Ñ=Ô=Ð=Õ=Ô=�5Ñ=Ô=Ð=Ð=Õ=Ô=ˆzÑ=Ô=Õ=Ô=˜1Ñ=Ô=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Ð=×=Ò=Ð=Ñ=Ô=Ð=Ð=Ð=Õ=Ô=Ð=Ð=Ð=Ð= ¨oÐ=Ñ=Ô=Õ=Ô= Ñ=Ô=Õ=Ô=¨oÑ=Ô=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Ð=×=Ò=Ð=Ñ=Ô=Ð=Õ=Ô=Ð=Ð=Ñ=Ô=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Øˆe�N¨¨c¨
Ð3Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3ØˆeÐ$°¸[Ð*IÐ*IÐJÑJÔJÐJÐJÐJÐJÐJÐJÐJÝ�5‰zŒzÐ˜1Ðˆz˜1Š}ÐÐÐÕÔÐÐÐÐˆz˜1ÐÑÔÐÕÔÑÔÐÐÕÔ�sÑÔÐÕÔ�sÑÔÐÐÐÕÔÑÔÐÐÕÔ�5ÑÔÐÕÔ�5ÑÔÐÐÕÔˆzÑÔÕÔ˜1ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐØˆeÐ$°¸XÐ*FÐ*FÐGÑGÔGÐGÐGÐGÐGÐGÐGÐGØ�RŒy˜˜˜Œ}Ð- Ð-ˆ} Ò-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-ˆ} Ð-Ñ-Ô-Õ-Ô-ˆ}Ñ-Ô-Õ-Ô- Ñ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ð-r   ry  ©rx  s    r   Ú0test_codex_final_message_only_and_terminal_dedupré  Ø   s(   € ð.ð .ð .õ$ ˆˆ‰Œ�L„L€L€L€Lr   c           	   #   ó¢  K  — ddl m} dd lm} ddlm} ddlm} ddlm	}m
} | dz  }|                     t          j        t          ddd	¬
¦  «        ¦  «        ¦  «         |                     |d ||¦  «        ¦  «         |                     |d || dz  ¦  «        ¦  «         |                     |di ¦  «         |                     |dt!          ¦   «         ¦  «         |                     |dd |d| ¦  «        i¦  «         |                     |j        dt%          | dz  ¦  «        ¦  «         |                     |j        dt'          d¦  «        ¦  «         |                     |j        dt)          ¦   «         ¦  «         |                     |j        d |¦   «         ¦  «          ||j        ¦  «        5 }	||	fV — d d d ¦  «         d S # 1 swxY w Y   d S )Nr   )Ú
TestClient)ÚDeviceCredentialStore)ÚTargetStore)Ú	FakeAgentÚFakeSTTzdevice.jsonúspeech-testÚsecretú	pi-secret)rC  Údevice_tokenÚpi_tokenÚcredential_storeÚtarget_storeztargets.jsonÚdevicesÚpi_sessionsÚadaptersr]  rm  r   rq  é   rr  )Úfastapi.testclientrë  Údevice_gateway.appÚappÚdevice_gateway.authrì  Údevice_gateway.staterí  Útest_voice_settingsrî  rï  rQ   r¬   rý   r  r¨   r   Úspeechesr   r.  r=  Úvoices)
rR   r©   rë  Úgatewayrì  rí  rî  rï  Ú
credentialr¥   s
             r   Úspeech_gatewayr  í   s0  è è € à-Ð-Ð-Ð-Ð-Ð-Ø(Ð(Ð(Ð(Ð(Ð(Ø9Ð9Ð9Ð9Ð9Ð9Ø0Ð0Ð0Ð0Ð0Ð0Ø6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ø˜Ñ%€JØ×Ò�$œ*¥T°MÈxÐalÐ%mÑ%mÔ%mÑnÔnÑoÔoÐoØ×Ò˜Ð 2Ð3HÐ3HÈÑ3TÔ3TÑUÔUÐUØ×Ò˜ ¨{¨{¸8ÀNÑ;RÑ/SÔ/SÑTÔTÐTØ×Ò˜ 	¨"Ñ-Ô-Ð-Ø×Ò˜ Õ.?Ñ.AÔ.AÑBÔBÐBØ×Ò˜ 
¨D°°¸4ÀÑ1IÔ1IÐ+JÑKÔKÐKØ×Ò˜Ô(¨Õ7HÈÐR_ÑI_Ñ7`Ô7`ÑaÔaÐaØ×Ò˜Ô(¨µG¸A±J´JÑ?Ô?Ð?Ø×Ò˜Ô(¨µk±m´mÑDÔDÐDØ×Ò˜œ z°'°'±)´)Ñ<Ô<Ð<Ø	ˆ�G”KÑ	 Ô	 Ð? F°¸°Ð+?Ð+?Ð+?Ð?Ð?Ð?Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?øøøÐ?Ð?Ð?Ð?Ð?Ð?s   Æ0GÇGÇGc                 óŒ   — t          d¦  «        D ]&}|                      ¦   «         }|d         |k    r|c S Œ't          |¦  «        ‚)Nrâ   r  )ÚrangeÚreceive_jsonrG   )Úwsr²  rP  r®  s       r   Úrecvr
    sN   € Ý�3‰ZŒZð ,ð ,ˆØ�oŠoÑÔˆØ�Œ=˜$ÒÐ e˜|˜|˜|ÐÝ
˜Ñ
Ô
Ðr   Fc                 óÜ  — t          dddd|rdnd¬¦  «        }|sdg|d	<   |                      |¦  «         t          | d
¦  «         t          | d¦  «         |s”t          | d¦  «        d         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d S d S )NÚhellorð  rñ  Úfakez0.4.0z0.5.0)r  rC  ró  ÚboardÚfirmwarerB  rE  Ú	hello_ackÚtarget_stateÚspeech_settingsrZ  r   r   r·   r¸   r¹   r%   )r  Ú	send_jsonr
  rA   rB   rF   rG   rH   )r	  Úlegacyrk   rŒ   rT   r[   r�   rÉ   s           r   r  r  	  s0  € Ý
�G mÀÐPVÐkqÐ`~Ð`gÐ`gÐw~Ð
Ñ
Ô
€EØÐ;Ð):Ð(;�%˜Ñ'Ø‡L‚L�ÑÔÐ�˜R Ñ,Ô,Ð,­T°"°^Ñ-DÔ-DÐ-DØÐB�˜bÐ!2Ñ3Ô3°FÔ;ÐB¸UÐBÐ;¸UÒBÐBÐBÐBÕBÔBÐBÐBÐBÐBÐ;¸UÐBÑBÔBÕBÔBÐ;ÑBÔBÕBÔB¸UÑBÔBÐBÐBÑBÐBÐBÐBÐBÐBÑBÐBÕBÕBÔBÐBÑBÔBÑBÔBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBÐBr   c                 óÊ  — | \  }}|                      d¦  «        5 }t          |¦  «         |                     t          dddd¬¦  «        ¦  «         t	          |d¦  «        d         }d}||k    }|slt          j        d	|fd
||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|                     t          ddddd¬¦  «        ¦  «         t	          |d¦  «        d         }d}||k    }|slt          j        d	|fd
||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}t	          |d¦  «        d         }d}||k    }|slt          j        d	|fd
||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}t	          |d¦  «        d         }d}||k    }|slt          j        d	|fd
||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|j
        }	|	j        }|j        }
d}d} |
||¦  «        }d}||k    }|�s	t          j        d	|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |	¦  «        t          j        |¦  «        t          j        |
¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd |iz  }t          t          j	        |¦  «        ¦  «        ‚d x}	x}x}
x}x}x}x}}|                     d!¦  «                             ¦   «         d         }g }	|d"         }d}
||
k    }|}|rd#}t           j        } ||¦  «        }||v}|}|�s›t          j        d	|fd$||
f¦  «        t          j        |¦  «        t          j        |
¦  «        d%œz  }d&d'|iz  }|	                     |¦  «         |rùt          j        d(|fd)||f¦  «        t          j        |¦  «        d*t          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        nd*t          j        |¦  «        d+t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd+t          j        |¦  «        d,œz  }d-d.|iz  }|	                     |¦  «         t          j        |	d¦  «        i z  }d/d0|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}	x}x}x}
x}x}x}}|j        }	d1}dd2d3œ}
 |	||
¬4¦  «        }|j        }d5}||k    }|söt          j        d	|fd6||f¦  «        d7t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd7t          j        |	¦  «        t          j        |¦  «        t          j        |
¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d8œz  }d9d:|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}	x}x}
x}x}x}}d d d ¦  «         d S # 1 swxY w Y   d S );Nú
/device/wsÚspeech_settings_setr´  r>   r`  )r  r¤  rQ  rZ  r  rZ  r   r·   r¸   r¹   r%   r   Úreadr…  zCPU 18 percent.r£  rf  r  rg  Úsequencer   rh  Úchunksrú  rð  )z•%(py12)s
{%(py12)s = %(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.speeches
}.preferences
}.get
}(%(py8)s, %(py10)s)
} == %(py15)sr  )r"   r#   r$   r%   r&   r9   r:   r;   r<   r=   z/devicesÚspeech_modezCPU 18 percentr	  r
  r  r&   r†   )zV%(py11)s not in %(py18)s
{%(py18)s = %(py15)s
{%(py15)s = %(py13)s.dumps
}(%(py16)s)
}r¬   rÿ   )r'   r(   r;   r3   rk  z%(py20)sr‚   zassert %(py23)sÚpy23ú$/api/devices/speech-test/speech-testÚ	arbitrary)rQ  r‘   r¿   i¦  ©z|%(py10)s
{%(py10)s = %(py8)s
{%(py8)s = %(py2)s
{%(py2)s = %(py0)s.post
}(%(py4)s, json=%(py6)s)
}.status_code
} == %(py13)sr¥   ©r"   r#   r$   r%   r&   r9   r(   úassert %(py15)sr;   )Úwebsocket_connectr  r  r  r
  rA   rB   rF   rG   rH   r  rm  r@   rC   rD   rE   r¬   rý   rŠ   r‹   ÚpostÚstatus_code)r  r  r¥   r	  rŒ   rT   r[   r�   rÉ   rS   rU   rV   rX   rc   rd   r_   re   rf   rÿ   r\   rW   rv  r`   rÏ   rw  r™   rÉ  r›   rZ   s                                r   Ú&test_authenticated_manual_and_settingsr%    s	  € Ø!�N€GˆFØ	×	!Ò	! ,Ñ	/Ô	/ð @°2Ýˆb‰	Œ	ˆ	Ø
�Š•TÐ4ÀÈXÐ[cÐdÑdÔdÑeÔeÐeÝ�BÐ(Ñ)Ô)¨&Ô1Ð;°8Ð;Ð1°8Ò;Ð;Ð;Ð;Õ;Ô;Ð;Ð;Ð;Ð;Ð1°8Ð;Ñ;Ô;Õ;Ô;Ð1Ñ;Ô;Õ;Ô;°8Ñ;Ô;Ð;Ð;Ñ;Ð;Ð;Ð;Ð;Ð;Ñ;Ð;Õ;Õ;Ô;Ð;Ñ;Ô;Ñ;Ô;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ø
�Š•TÐ/¸6ÈÐYaÐgxÐyÑyÔyÑzÔzÐzÝ�B�~Ñ&Ô& xÔ0Ð:°(Ð:Ð0°(Ò:Ð:Ð:Ð:Õ:Ô:Ð:Ð:Ð:Ð:Ð0°(Ð:Ñ:Ô:Õ:Ô:Ð0Ñ:Ô:Õ:Ô:°(Ñ:Ô:Ð:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Õ:Õ:Ô:Ð:Ñ:Ô:Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ý�B�~Ñ&Ô& zÔ2Ð5°AÐ5Ð2°AÒ5Ð5Ð5Ð5Õ5Ô5Ð5Ð5Ð5Ð5Ð2°AÐ5Ñ5Ô5Õ5Ô5Ð2Ñ5Ô5Õ5Ô5°AÑ5Ô5Ð5Ð5Ñ5Ð5Ð5Ð5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ý�B�|Ñ$Ô$ XÔ.Ð1°Ð1Ð.°Ò1Ð1Ð1Ð1Õ1Ô1Ð1Ð1Ð1Ð1Ð.°Ð1Ñ1Ô1Õ1Ô1Ð.Ñ1Ô1Õ1Ô1°Ñ1Ô1Ð1Ð1Ñ1Ð1Ð1Ð1Ð1Ð1Ñ1Ð1Õ1Õ1Ô1Ð1Ñ1Ô1Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1ØÔÐQÐÔ+ÐQÐ+Ô/ÐQ°ÐQ¸hÐQÐ/Ð/°¸hÑGÔGÐQÈÐQÐGÈÒQÐQÐQÑQÕQÔQÐQÐQÐQÐQÐGÈÐQÑQÔQÐQÕQÔQÑQÔQÐQÐQÕQÔQˆwÑQÔQÐQÕQÔQˆwÑQÔQÐQÐQÕQÔQÐÑQÔQÕQÔQÐ+ÑQÔQÕQÔQÐ/ÑQÔQÕQÔQ°ÑQÔQÕQÔQ¸hÑQÔQÕQÔQÐGÑQÔQÕQÔQÈÑQÔQÐQÐQÑQÐQÐQÐQÐQÐQÑQÐQÕQÕQÔQÐQÑQÔQÑQÔQÐQÐQÐQÐQÐQÐQÐQÐQÐQÐQÐQÐQÐQÐQÐQÐQÐQØ�zŠz˜*Ñ%Ô%×*Ò*Ñ,Ô,¨QÔ/ˆØ]Ð]ˆv�mÔ$Ð] hÐ]Ð$ hÒ.Ð]Ð]Ð]Ð]Ð]Ð3CÐ]Í4Ì:Ð]È:È:ÐV\ÑK]ÔK]Ð]Ð3CÐK]Ð3]Ð]Ð]Ð]Ð]Ñ]Õ]Ô]Ð]Ð]Ð]Ð]Ð$ hÐ]Ñ]Ô]Õ]Ô]Ð$Ñ]Ô]Õ]Ô] hÑ]Ô]Ð]Ð]Ñ]Ð]Ð]Ð]Ð]Ð]Ñ]Ð]Ð]×]Ò]Ð]Ñ]Ô]Ð]Ð]Ð]Õ]Ô]Ð]Ð]Ð]Ð]Ð3CÐK]Ð]Ñ]Ô]Õ]Ô]Ð3CÑ]Ô]Ð]Õ]Ô]Ñ]Ô]Ð]Ð]Õ]Ô]Í4Ñ]Ô]Ð]Õ]Ô]Í4Ñ]Ô]Ð]Ð]Õ]Ô]È:Ñ]Ô]Ð]Õ]Ô]Ñ]Ô]Ð]Ð]Õ]Ô]ÐV\Ñ]Ô]Ð]Õ]Ô]ÐV\Ñ]Ô]Ð]Ð]Õ]Ô]ÐK]Ñ]Ô]Ð]Ð]Ñ]Ð]Ð]Ð]Ð]Ð]Ñ]Ð]Ð]×]Ò]Ð]Ñ]Ô]Ð]Õ]Ô]Ð]Ð]Ñ]Ô]Ð]Ñ]Ð]Ð]Ð]Ð]Ð]Ñ]Ð]Õ]Õ]Ô]Ð]Ñ]Ô]Ñ]Ô]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]ØŒ{ÐÐAÐÐQYÐalÐGmÐGmÐˆ{ˆ{ÐAÐGmÐnÑnÔnÐÐnÔzÐÐ|ÐÐzÐ|ÒÐÐÐÕÔÐÐÐÐÐzÐ|ÐÑÔÐÕÔÑÔÐÐÕÔˆvÑÔÐÕÔˆvÑÔÐÐÕÔˆ{ÑÔÕÔÐAÑÔÕÔÐGmÑÔÕÔÐnÑÔÕÔÐzÑÔÕÔÐ|ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @ð @ð @s   ›\0]Ý]Ý]c                 ó
  — | \  }}|                      d¦  «        5 }t          |d¬¦  «         |j        }d}d}d}t          ||¬¦  «        } |||¬¦  «        }	|	j        }
d	}|
|k    }|�sdt          j        d
|fd|
|f¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        t          j
        |¦  «        dt          j        ¦   «         v st          j	        t          ¦  «        rt          j
        t          ¦  «        ndt          j
        |¦  «        t          j
        |¦  «        t          j
        |¦  «        t          j
        |	¦  «        t          j
        |
¦  «        t          j
        |¦  «        dœ
z  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}x}x}	x}
x}}|j        }d}ddi} |||¬¦  «        }|j        }d}	||	k    }|söt          j        d
|fd||	f¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        t          j
        |¦  «        t          j
        |¦  «        t          j
        |¦  «        t          j
        |¦  «        t          j
        |	¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}x}x}}	|                     ddddœ¬¦  «         	 |                     ¦   «         }|d         }|j        }d} ||¦  «        }| }|ssdt          j
        |¦  «        t          j
        |¦  «        t          j
        |¦  «        t          j
        |¦  «        dœz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}}|d         d k    rnŒÀ	 d d d ¦  «         d S # 1 swxY w Y   d S )!Nr  T)r  ú/api/devices/speech-test/speechr>   r)   ©rQ  rZ  r¿   rº   r   ©z³%(py15)s
{%(py15)s = %(py13)s
{%(py13)s = %(py2)s
{%(py2)s = %(py0)s.post
}(%(py4)s, json=%(py11)s
{%(py11)s = %(py5)s(target=%(py7)s, mode=%(py9)s)
})
}.status_code
} == %(py18)sr¥   r  ©
r"   r#   r$   r.   r/   r0   r'   r(   r;   rk  rb  r‚   r  rQ  é™  r  r   r!  r;   z/devices/speech-test/messageÚsentinelzold device works)ÚtitleÚbodyr  Úspeech_zPassert not %(py7)s
{%(py7)s = %(py3)s
{%(py3)s = %(py1)s.startswith
}(%(py5)s)
}rˆ   Údisplay_message)r"  r  r#  r  r$  rA   rB   rC   rD   rE   rF   rG   rH   r  Ú
startswith)r  rP  r¥   r	  rS   rT   r]   r^   rW   r`   rd   rv  r“   rw  r™   rU   rV   rX   rc   rZ   re   r®  rŒ   r[   r\   rÏ   s                             r   Ú'test_old_firmware_never_receives_speechr2     sÝ  € Ø�H€A€fØ	×	!Ò	! ,Ñ	/Ô	/ð 6°2Ýˆb˜ÐÑÔÐØŒ{Ð{Ð<Ð{ÈhÐ{Ð\hÐ{Å$ÈhÐ\hÐBiÑBiÔBiÐ{ˆ{ˆ{Ð<ÐBiÐjÑjÔjÐ{ÐjÔvÐ{Ðx{Ð{ÐvÐx{Ò{Ð{Ð{Ñ{Õ{Ô{Ð{Ð{Ð{Ð{ÐvÐx{Ð{Ñ{Ô{Ð{Õ{Ô{Ñ{Ô{Ð{Ð{Õ{Ô{ˆvÑ{Ô{Ð{Õ{Ô{ˆvÑ{Ô{Ð{Ð{Õ{Ô{ˆ{Ñ{Ô{Õ{Ô{Ð<Ñ{Ô{Ð{Õ{Ô{Ñ{Ô{Ð{Ð{Õ{Ô{Å$Ñ{Ô{Ð{Õ{Ô{Å$Ñ{Ô{Ð{Ð{Õ{Ô{ÈhÑ{Ô{Õ{Ô{Ð\hÑ{Ô{Õ{Ô{ÐBiÑ{Ô{Õ{Ô{ÐjÑ{Ô{Õ{Ô{ÐvÑ{Ô{Õ{Ô{Ðx{Ñ{Ô{Ð{Ð{Ñ{Ð{Ð{Ð{Ð{Ð{Ñ{Ð{Õ{Õ{Ô{Ð{Ñ{Ô{Ñ{Ô{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{ØŒ{ÐlÐAÐlÈÐQYÐGZÐlˆ{ˆ{ÐAÐGZÐ[Ñ[Ô[ÐlÐ[ÔgÐlÐilÐlÐgÐilÒlÐlÐlÐlÕlÔlÐlÐlÐlÐlÐgÐilÐlÑlÔlÐlÕlÔlÑlÔlÐlÐlÕlÔlˆvÑlÔlÐlÕlÔlˆvÑlÔlÐlÐlÕlÔlˆ{ÑlÔlÕlÔlÐAÑlÔlÕlÔlÐGZÑlÔlÕlÔlÐ[ÑlÔlÕlÔlÐgÑlÔlÕlÔlÐilÑlÔlÐlÐlÑlÐlÐlÐlÐlÐlÑlÐlÕlÕlÔlÐlÑlÔlÑlÔlÐlÐlÐlÐlÐlÐlÐlÐlÐlÐlÐlÐlÐlÐlÐlØ�ŠÐ2ÀÐSeÐ8fÐ8fˆÑgÔgÐgð	6Ø—/’/Ñ#Ô#ˆE¨u°V¬}Ð$R¨}Ô/GÐ$RÈ	Ð$RÐ/GÐ/GÈ	Ñ/RÔ/RÐ$RÐ/RÐ+RÐ$RÐ+RÐ$RÐ$RÕ$RÔ$R¨}Ñ$RÔ$RÕ$RÔ$RÐ/GÑ$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Ð$RÐ$RÐ$RÐ$RÐ$RÐ$RØ�VŒ}Ð/Ò/Ð/°ð	6à05ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð 6ð 6s   ›OO8Ï8O<Ï?O<Úpreempt)Úvoicer~  rQ  r€  c                 ón  ‡— | \  Š}|                      d¦  «        5 }t          |¦  «         |                     dddi¬¦  «         t          |d¦  «         t          |d¦  «         |j        }d}ddi} |||¬¦  «        }|j        }d	}	||	k    }
|
söt          j        d
|
fd||	f¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        t          j
        |¦  «        t          j
        |¦  «        t          j
        |¦  «        t          j
        |¦  «        t          j
        |	¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}x}x}
}	t          |d¦  «        d         }|dk    r(|                     t          ddddd¬¦  «        ¦  «         nh|dk    r|                     dddi¬¦  «         nH|dk    r%|                     t          dd¬¦  «        ¦  «         n|j                             ˆfd„¦  «         t          |d¦  «        d         }||k    }|s—t          j        d
|fd ||f¦  «        t          j
        |¦  «        d!t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd!d"œz  }d#d$|iz  }t          t          j        |¦  «        ¦  «        ‚d x}}‰j        }|j        }| }|s‹d%d&t          j        ¦   «         v st          j	        ‰¦  «        rt          j
        ‰¦  «        nd&t          j
        |¦  «        t          j
        |¦  «        d'œz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d d d ¦  «         d S # 1 swxY w Y   d S )(Nr  ú/devices/speech-test/targetrQ  rG  r¿   Úagent_stater  r  rº   r   r  r¥   r   r!  r;   rf  rŠ  r4  Úvoice_startÚvéD¬  é   r6   )r  Úvoice_idÚsample_rateÚbitsÚchannelsr>   r€  Úsettings_getr¡  )r  r¤  c            
      óH   •— ‰ j                              dddddddd¬¦  «        S )	Nr]  r^  rK  r·  ÚTestr  Úonce)r  r¯  Ú
project_idr²  r-  ÚdetailÚownerÚrequest_identity)Ú	approvalsÚcreate)r  s   €r   r§   z/test_authenticated_preemption.<locals>.<lambda>9  sF   ø€  gÔ&7×&>Ò&>ÀTÐUXÐdgÐmsð  {Að  IOð  V\ð  ntÐ&>ñ  'uô  'u€ r   r–  )z%(py1)s == %(py3)sr‹  )r,   r-   r{   r.   úLassert not %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.speeches
}.active
}r  rx   )r"  r  r#  r
  r$  rA   rB   rC   rD   rE   rF   rG   rH   r  r  ÚportalÚcallr  r™  )r  r3  r¥   r	  rS   rT   rU   rV   rX   r`   rc   rZ   re   r‹  rŒ   r[   r’   r�   r  s                     @r   Útest_authenticated_preemptionrM  ,  s�  ø€ à!�N€GˆFØ	×	!Ò	! ,Ñ	/Ô	/ð +°2Ýˆb‰	Œ	ˆ	Ø�ŠÐ1¸ÀÐ7NˆÑOÔOÐOÝˆR�ÑÔÐ�t BÐ'8Ñ9Ô9Ð9ØŒ{ÐpÐAÐpÈÐQ]ÐG^Ðpˆ{ˆ{ÐAÐG^Ð_Ñ_Ô_ÐpÐ_ÔkÐpÐmpÐpÐkÐmpÒpÐpÐpÐpÕpÔpÐpÐpÐpÐpÐkÐmpÐpÑpÔpÐpÕpÔpÑpÔpÐpÐpÕpÔpˆvÑpÔpÐpÕpÔpˆvÑpÔpÐpÐpÕpÔpˆ{ÑpÔpÕpÔpÐAÑpÔpÕpÔpÐG^ÑpÔpÕpÔpÐ_ÑpÔpÕpÔpÐkÑpÔpÕpÔpÐmpÑpÔpÐpÐpÑpÐpÐpÐpÐpÐpÑpÐpÕpÕpÔpÐpÑpÔpÑpÔpÐpÐpÐpÐpÐpÐpÐpÐpÐpÐpÐpÐpÐpÐpÐpÝ��NÑ#Ô# KÔ0ˆØ�GÒÐ˜BŸLšL­°=È#ÐZ_ÐegÐqrÐ)sÑ)sÔ)sÑtÔtÐtÐtØ�hÒÐ˜vŸ{š{Ð+HÈxÐX`ÐNa˜{ÑbÔbÐbÐbØ�jÒ Ð  §¢­d¸ÐRUÐ.VÑ.VÔ.VÑ!WÔ!WÐ!WÐ!WàŒM×Òð   uð   uð   uð   uñ  vô  vð  vÝ�B�Ñ'Ô'¨Ô4Ð9Ð4°cÒ9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9Ð4°cÐ9Ñ9Ô9Õ9Ô9Ð4Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9°cÑ9Ô9Ð9Õ9Ô9°cÑ9Ô9Ð9Ð9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9ØÔ#Ð*Ð#Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Õ*Ô*Ñ*Ô*Ð*Ð*Õ*Ô*�7Ñ*Ô*Ð*Õ*Ô*�7Ñ*Ô*Ð*Ð*Õ*Ô*Ð#Ñ*Ô*Õ*Ô*Ð*Ñ*Ô*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +s   œNN*Î*N.Î1N.c                 ó  ‡— | \  }Š‰                      d¦  «        5 }t          |¦  «         ‰                     dddi¬¦  «         t          |d¦  «         t          |d¦  «         ‰                     dt	          dd	¬
¦  «        ¬¦  «         ˆfd„}d} ||¦  «        }|j        }d}||k    }|sÐt          j        d|fd||f¦  «        dt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }	dd|	iz  }
t          t          j        |
¦  «        ¦  «        ‚d x}x}x}x}} |ddd¬¦  «         |j        }|j        }|j        }| }|sžddt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}} |dd¬¦  «         t          |d¦  «          |dd¬¦  «         |j        }|j        }|j        }d g}||k    }|sÐt          j        d|fd!||f¦  «        dt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }	dd|	iz  }
t          t          j        |
¦  «        ¦  «        ‚d x}x}x}x}}|j        }|j        }|j        }| }|sžd"dt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}}‰j        }d}d#}d$}t	          ||¬
¦  «        } |||¬¦  «        }|j        }d%}||k    }|�sdt          j        d|fd&||f¦  «        d't          j	        ¦   «         v st          j
        ‰¦  «        rt          j        ‰¦  «        nd't          j        |¦  «        t          j        |¦  «        d(t          j	        ¦   «         v st          j
        t          ¦  «        rt          j        t          ¦  «        nd(t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d)œ
z  }d*d+|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}x}x}x}x}}d d d ¦  «         d S # 1 swxY w Y   d S ),Nr  r6  rQ  rG  r¿   r7  r  r'  r)   r(  c                 óX   •— ‰                      dddit          d
| dddddœ|¤Ž¬	¦  «        S )Nz/integrations/pi/eventszx-device-lab-pi-tokenrò  r^  zpublic testr­  r×  )r®  r¯  r°  r±  rµ  )rÂ   r¬   ro   )r#  r  )r²  Úextrar¥   s     €r   r#  z@test_authenticated_pi_terminal_final_and_duplicate.<locals>.postE  sv   ø€ Ø—;’;Ð8ÐBYÐZeÐAfÕlpð  m~Ðw{ð  HKð  Q^ð  cið  ruð  m~ð  m~ð  x}ð  m~ð  m~�;ñ  ô  ð  r   r³  rº   r   )zQ%(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}.status_code
} == %(py9)sr#  )r"   r#   r$   r%   r0   zassert %(py11)sr'   r¶  r‘   zIntermediate text.r¸  ziassert not %(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.speeches
}.provider
}.calls
}r  )r"   r#   r$   r%   rº  úOnly the final answer.)r»  rh  zDuplicate must not speak.)rQ  r€   )zi%(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.speeches
}.provider
}.calls
} == %(py9)szkassert not %(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.speeches
}.summarizer
}.calls
}zagent:pi:staler`  r+  r)  r¥   r  r*  rb  r‚   )r"  r  r#  r
  r  r$  rA   rB   rC   rD   rE   rF   rG   rH   r  rq  r1  rr  )r  r  r	  r#  rS   rT   rU   r^   rV   r˜   rY   rŽ   r]   rW   r`   rd   rv  r“   rw  r™   r¥   s                       @r   Ú2test_authenticated_pi_terminal_final_and_duplicaterR  >  s;  ø€ Ø!�N€GˆFØ	×	!Ò	! ,Ñ	/Ô	/ð @°2Ýˆb‰	Œ	ˆ	Ø�ŠÐ1¸ÀÐ7NˆÑOÔOÐOÝˆR�ÑÔÐ�t BÐ'8Ñ9Ô9Ð9Ø�ŠÐ5½4À|ÐYeÐ;fÑ;fÔ;fˆÑgÔgÐgð	ð 	ð 	ð 	ð 	à!Ð3ˆtˆt�MÑ"Ô"Ð3Ð"Ô.Ð3°Ð3Ð.°Ò3Ð3Ð3Ð3Õ3Ô3Ð3Ð3Ð3Ð3Ð.°Ð3Ñ3Ô3Ð3Õ3Ô3Ñ3Ô3Ð3Ð3Õ3Ô3ˆtÑ3Ô3Ð3Õ3Ô3ˆtÑ3Ô3Ð3Ð3Õ3Ô3�MÑ3Ô3Õ3Ô3Ð"Ñ3Ô3Õ3Ô3Ð.Ñ3Ô3Õ3Ô3°Ñ3Ô3Ð3Ð3Ñ3Ð3Ð3Ð3Ð3Ð3Ñ3Ð3Õ3Õ3Ô3Ð3Ñ3Ô3Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3ØˆˆZ fÐ6JÐKÑKÔKÐKØÔ#Ð2Ð#Ô,Ð2Ð,Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Õ2Ô2Ñ2Ô2Ð2Ð2Õ2Ô2�7Ñ2Ô2Ð2Õ2Ô2�7Ñ2Ô2Ð2Ð2Õ2Ô2Ð#Ñ2Ô2Õ2Ô2Ð,Ñ2Ô2Õ2Ô2Ð2Ñ2Ô2Ð2Ð2Ñ2Ð2Õ2Õ2Ô2Ð2Ñ2Ô2Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Øˆˆ[Ð$<Ð=Ñ=Ô=Ð=ÝˆR�ÑÔÐØˆˆ[Ð$?Ð@Ñ@Ô@Ð@ØÔÐQÐÔ(ÐQÐ(Ô.ÐQÐ1PÐ0QÐQÐ.Ð0QÒQÐQÐQÐQÕQÔQÐQÐQÐQÐQÐ.Ð0QÐQÑQÔQÐQÕQÔQÑQÔQÐQÐQÕQÔQˆwÑQÔQÐQÕQÔQˆwÑQÔQÐQÐQÕQÔQÐÑQÔQÕQÔQÐ(ÑQÔQÕQÔQÐ.ÑQÔQÕQÔQÐ0QÑQÔQÐQÐQÑQÐQÐQÐQÐQÐQÑQÐQÕQÕQÔQÐQÑQÔQÑQÔQÐQÐQÐQÐQÐQÐQÐQÐQÐQÐQÐQØÔ#Ð4Ð#Ô.Ð4Ð.Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Õ4Ô4Ñ4Ô4Ð4Ð4Õ4Ô4�7Ñ4Ô4Ð4Õ4Ô4�7Ñ4Ô4Ð4Ð4Õ4Ô4Ð#Ñ4Ô4Õ4Ô4Ð.Ñ4Ô4Õ4Ô4Ð4Ñ4Ô4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4ØŒ{ÐÐ<ÐÐN^ÐÐdlÐÅ$ÐN^ÐdlÐBmÑBmÔBmÐˆ{ˆ{Ð<ÐBmÐnÑnÔnÐÐnÔzÐÐ|ÐÐzÐ|ÒÐÐÑÕÔÐÐÐÐÐzÐ|ÐÑÔÐÕÔÑÔÐÐÕÔˆvÑÔÐÕÔˆvÑÔÐÐÕÔˆ{ÑÔÕÔÐ<ÑÔÐÕÔÑÔÐÐÕÔÅ$ÑÔÐÕÔÅ$ÑÔÐÐÕÔÐN^ÑÔÕÔÐdlÑÔÕÔÐBmÑÔÕÔÐnÑÔÕÔÐzÑÔÕÔÐ|ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @ð @ð @s   œWW:×:W>ØW>c                  ó:   — d„ } t           | ¦   «         ¦  «         d S )Nc               “   ó.  ‡K  — t          d ¦  «        } g Šˆfd„| _        |                      ddddidœdœ¦  «        ƒ d {V —† |                      ddd	d
dœdœdœ¦  «        ƒ d {V —† g }| j        d         d         }d}||k    }|}|r‰ }|}|sût	          j        d|fd||f¦  «        t	          j        |¦  «        t	          j        |¦  «        dœz  }dd|iz  }|                     |¦  «         |rYdddt          j	        ¦   «         v st	          j
        ‰¦  «        rt	          j        ‰¦  «        ndiz  }	|                     |	¦  «         t	          j        |d¦  «        i z  }
dd|
iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}x}x}x}}d S )Nc                  ó.   •— ‰                      | ¦  «        S r   rÎ  rÏ  s     €r   r§   z_test_codex_reconnect_terminal_updates_monitor_without_speaking.<locals>.check.<locals>.<lambda>T  rÐ  r   zthread/status/changedr^  r  r™  )rÒ  rÿ   rÓ  rá  zjoined-mid-turnrâ  rã  )rÒ  rØ  rÈ  r  r   r	  r
  r  r&   znot %(py10)sr9   r1  r   r  r1   )r   rç  r®  ÚliverA   rB   rF   rŠ   rC   rD   rE   r‹   rG   rH   )rÖ  rS   r[   rU   r\   rŒ   rc   rÉ   rÏ   rY   r�   ra   r1  s               @r   rx  zMtest_codex_reconnect_terminal_updates_monitor_without_speaking.<locals>.checkS  se  øè è € Ý˜TÑ"Ô"ˆ¨ 5Ð@^Ð@^Ð@^Ð@^¨GÔ,?Ø�mŠmÐ&=ÐSVÐagÐhpÐ`qÐGrÐGrÐsÐsÑtÔtÐtÐtÐtÐtÐtÐtÐtØ�mŠmÐ&6ÈCÐ]nð  yDð  XEð  XEð  AFð  AFð  Gð  Gñ  Hô  Hð  	Hð  	Hð  	Hð  	Hð  	Hð  	Hð  	HØ?Ð?ˆwŒ|˜CÔ  Ô)Ð?¨6Ð?Ð)¨6Ò1Ð?Ð?Ð?Ð?Ð?¸%°iÐ?°iÐ?Ð?Ð?Õ?Ô?Ð?Ð?Ð?Ð?Ð)¨6Ð?Ñ?Ô?Õ?Ô?Ð)Ñ?Ô?Õ?Ô?¨6Ñ?Ô?Ð?Ð?Ñ?Ð?Ð?Ð?Ð?Ð?Ñ?Ð?Ð?×?Ò?Ð?Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Õ?Ô?Ñ?Ô?Ð?Ð?Õ?Ô?¸%Ñ?Ô?Ð?Õ?Ô?¸%Ñ?Ô?Ð?Ð?Ð?Ñ?Ð?Ð?×?Ò?Ð?Ñ?Ô?Ð?Õ?Ô?Ð?Ð?Ñ?Ô?Ð?Ñ?Ð?Ð?Ð?Ð?Ð?Ñ?Ð?Õ?Õ?Ô?Ð?Ñ?Ô?Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?r   ry  rè  s    r   Ú>test_codex_reconnect_terminal_updates_monitor_without_speakingrW  R  s+   € ð@ð @ð @õ
 ˆˆ‰Œ�L„L€L€L€Lr   c                  ó:   — d„ } t           | ¦   «         ¦  «         d S )Nc               “   ó>  K  — t          j        d¦  «        4 ƒd {V —† t          j        t          ¦  «        5  t          t          ddz  dz  ¦  «        d¬¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   d d d ¦  «        ƒd {V —† d S # 1 ƒd {V —†swxY w Y   d S )Nrä  rÞ   r:  é   râ   )rá   )r   rã   rN   rO   r   r	   r   ro   r   r   rx  z<test_large_ffmpeg_output_cancel_reaps_process.<locals>.check\  s¥  è è € Ý”? 1Ñ%Ô%ð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	LÝ”�{Ñ+Ô+ð Lð LÝ"¥7¨7°5©=¸©?Ñ#;Ô#;ÀsÐKÑKÔKÐKÐKÐKÐKÐKÐKÐKðLð Lð Lñ Lô Lð Lð Lð Lð Lð Lð Løøøð Lð Lð Lð Lð	Lð 	Lð 	Lñ 	Lô 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Løøøð 	Lð 	Lð 	Lð 	Lð 	Lð 	Ls4   �B·+A.Á"BÁ.A2	Á2BÁ5A2	Á6BÂ
BÂBry  rè  s    r   Ú-test_large_ffmpeg_output_cancel_reaps_processr[  [  s+   € ðLð Lð Lõ ˆˆ‰Œ�L„L€L€L€Lr   c                 ó"  — | \  }}|                      d¦  «        5 }t          |¦  «         |                     dddi¬¦  «         t          |d¦  «         d d d ¦  «         n# 1 swxY w Y   |j        }|j        }| }|s‹ddt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        t          j
        |¦  «        d	œz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d S )
Nr  r  rQ  r>   r¿   rf  rJ  r  rx   )r"  r  r#  r
  r  r™  rC   rD   rA   rE   rF   rG   rH   )r  r  r¥   r	  rS   rT   rU   r�   s           r   Ú&test_disconnect_clears_active_playbackr]  c  se  € Ø!�N€GˆFØ	×	!Ò	! ,Ñ	/Ô	/ð  °2Ýˆb‰	Œ	ˆ	Ø�ŠÐ:ÀÈ(Ð@SˆÑTÔTÐTÝˆR�ÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð ÔÐ&ÐÔ&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Õ&Ô&Ñ&Ô&Ð&Ð&Õ&Ô&ˆwÑ&Ô&Ð&Õ&Ô&ˆwÑ&Ô&Ð&Ð&Õ&Ô&ÐÑ&Ô&Õ&Ô&Ð&Ñ&Ô&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ð&s   ›9A Á A$Á'A$c                 ó@   ‡ — ˆ fd„}t           |¦   «         ¦  «         d S )Nc               “   ó*  •‡	K  — t          ‰
¦  «        \  } }}}}t          j        ¦   «         Š	 G ˆ	fd„d¦  «        } |¦   «         | _        |                      |dd¦  «         t          j        d¦  «        ƒ d {V —† |                      |¦  «         t          j        ‰	                     ¦   «         d¦  «        ƒ d {V —† d„ |D ¦   «         }t          |¦  «        }| }|s•dd	t          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd	t          j        |¦  «        t          j        |¦  «        d
œz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|                      ¦   «         ƒ d {V —† d S )Nc                   ó   •— e Zd Zˆ fd„ZdS )úJtest_slow_synthesis_cancel_cannot_start_later.<locals>.check.<locals>.Slowc              —   óš   •K  — t          j        d¦  «        ƒ d {V —† ‰                     ¦   «          d S # ‰                     ¦   «          w xY w)Né<   )r   r˜  rI   )r3  ÚargsÚ	cancelleds     €r   rÎ   zUtest_slow_synthesis_cancel_cannot_start_later.<locals>.check.<locals>.Slow.synthesizeq  sL   øè è € Ý!œ-¨Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ø!Ÿš™œ˜˜˜ø˜	Ÿš™œ˜˜øøøs	   „4 ´A
N)r9  r:  r;  rÎ   )re  s   €r   ÚSlowra  p  s.   ø€ € € € € ð(ð (ð (ð (ð (ð (ð (r   rf  r…  zScreen.r‡  r6   c              3   ó4   K  — | ]\  }}|d          dk    V — ŒdS )r  rf  Nro   rd  s      r   rr   zOtest_slow_synthesis_cancel_cannot_start_later.<locals>.check.<locals>.<genexpr>w  s/   è è € Ð@Ð@±S°Q°q�q˜”y .Ò0Ð@Ð@Ð@Ð@Ð@Ð@r   r‘  r’  rx   )rY  r   ÚEventrq  r—  r˜  r›  Úwait_forÚwaitr’  rC   rD   rA   rE   rF   rG   rH   ru  )rX  r   ra  rP  rf  rS   rT   rU   r�   re  rR   s            @€r   rx  z<test_slow_synthesis_cancel_cannot_start_later.<locals>.checkm  sÁ  øøè è € Ý˜HÑ%Ô%‰ˆˆ!ˆC��!Ý”-‘/”/ˆ	ð	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð �4‘6”6ˆŒ
˜!Ÿ'š' ! H¨YÑ7Ô7Ð7ÝŒm˜CÑ Ô Ð Ð Ð Ð Ð Ð Ð  §¢¨!¡¤ ÝÔ˜yŸ~š~Ñ/Ô/°Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ø@Ð@¸CÐ@Ñ@Ô@Ð@•3Ð@Ñ@Ô@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Õ@Ô@Ñ@Ô@Ð@Ð@Õ@Ô@•3Ñ@Ô@Ð@Õ@Ô@•3Ñ@Ô@Ð@Ð@Õ@Ô@Ð@Ñ@Ô@Õ@Ô@Ð@Ñ@Ô@Ð@Ð@Ñ@Ð@Õ@Õ@Ô@Ð@Ñ@Ô@Ñ@Ô@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ø�gŠg‰iŒiˆˆˆˆˆˆˆˆˆr   ry  r¨  s   ` r   Ú-test_slow_synthesis_cancel_cannot_start_laterrk  l  rª  r   r8  )F)BÚbuiltinsrC   Ú_pytest.assertion.rewriteÚ	assertionÚrewriterA   r   rÅ   r¬   r5   Útypesr   r¢   rN   Údevice_gateway.speechr   r   r   r   r   r	   r
   r   r   r   r   Údevice_gateway.voicer   Údevice_gateway.integrations.pir   r   Údevice_gateway.control.codexr   r   rg   r�   rª   ÚmarkÚparametrizerÐ   rÜ   rå   ró   rþ   r  r,  r.  r=  rY  rz  rœ  r©  rÊ  ré  Úfixturer  r
  r  r%  r2  rM  rR  rW  r[  r]  rk  ro   r   r   ú<module>rx     sw  ðØ  € € € € € € € € € € € € €€€€Ø €€€Ø €€€Ø €€€Ø !Ð !Ð !Ð !Ð !Ð !à €€€Ø €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð )Ð (Ð (Ð (Ð (Ð (Ø LÐ LÐ LÐ LÐ LÐ LÐ LÐ LØ 5Ð 5Ð 5Ð 5Ð 5Ð 5ð (Ð 'Ð 'ð
Ið 
Ið 
Ið	bð 	bð 	bðnð nð nð
 „×Ò˜ V¨HÐ$5Ñ6Ô6ð	!ð 	!ñ 7Ô6ð	!ð „×Ò˜Ð#]Ð#]Ð#]Ñ^Ô^ðQð Qñ _Ô^ðQðRð Rð RðOð Oð Oðð ð ð
 „×Ò˜Ð"OÐ"OÐ"OÑPÔPð	Cð 	Cñ QÔPð	Cð „×Ò˜Ð oÐ oÐ oÑpÔpðYð Yñ qÔpðYðPð Pð Pð Pð Pñ Pô Pð Pðvð vð vð vð vñ vô vð vð
+ð +ð +ð +ð „×Ò˜ Ñ&Ô&ðð ñ 'Ô&ðð$ „×Ò˜Ð"pÐ"pÐ"pÑqÔqðð ñ rÔqðð*ð ð ð sð sð sðð ð ð* „ð@ð @ñ „ð@ð(ð ð ðCð Cð Cð Cð@ð @ð @ð 	6ð 	6ð 	6ð „×Ò˜Ð#KÐ#KÐ#KÑLÔLð+ð +ñ MÔLð+ð"@ð @ð @ð(ð ð ðð ð ð'ð 'ð 'ðð ð ð ð r   